From 9fd69c43fc50de73478592cc3d32b4ea43ae2194 Mon Sep 17 00:00:00 2001 From: Aleteoryx Date: Mon, 21 Jul 2025 18:07:46 -0400 Subject: [PATCH] hexchat-2.16.2 tree --- .editorconfig | 19 + .github/workflows/flatpak-build.yml | 24 + .github/workflows/msys-build.yml | 47 + .github/workflows/ubuntu-build.yml | 32 + .github/workflows/windows-build.yml | 75 + .gitignore | 29 + .gitmodules | 3 + .lgtm.yml | 5 + .mailmap | 10 + .tx/config | 8 + .tx/howto.md | 65 + COPYING | 340 + Doxyfile | 1904 +++++ data/hexchat.gresource.xml | 24 + data/icons/book.png | Bin 0 -> 841 bytes data/icons/hexchat-b.svg | 610 ++ data/icons/hexchat-shadowless.svg | 63 + data/icons/hexchat.ico | Bin 0 -> 128609 bytes data/icons/hexchat.png | Bin 0 -> 2443 bytes data/icons/hexchat.svg | 58 + data/icons/meson.build | 11 + data/icons/tray_fileoffer.png | Bin 0 -> 2453 bytes data/icons/tray_highlight.png | Bin 0 -> 2821 bytes data/icons/tray_message.png | Bin 0 -> 2170 bytes data/icons/tree_channel.png | Bin 0 -> 422 bytes data/icons/tree_dialog.png | Bin 0 -> 911 bytes data/icons/tree_server.png | Bin 0 -> 568 bytes data/icons/tree_util.png | Bin 0 -> 611 bytes data/icons/ulist_founder.png | Bin 0 -> 660 bytes data/icons/ulist_halfop.png | Bin 0 -> 668 bytes data/icons/ulist_netop.png | Bin 0 -> 593 bytes data/icons/ulist_op.png | Bin 0 -> 691 bytes data/icons/ulist_owner.png | Bin 0 -> 678 bytes data/icons/ulist_voice.png | Bin 0 -> 670 bytes data/man/hexchat.1.in | 55 + data/man/meson.build | 10 + data/meson.build | 11 + .../io.github.Hexchat.Plugin.metainfo.xml.in | 11 + .../io.github.Hexchat.ThemeManager.desktop.in | 8 + data/misc/io.github.Hexchat.ThemeManager.xml | 8 + data/misc/io.github.Hexchat.appdata.xml.in | 163 + data/misc/io.github.Hexchat.desktop.in.in | 19 + data/misc/meson.build | 127 + data/pkgconfig/hexchat-plugin.pc.in | 9 + data/pkgconfig/meson.build | 14 + fedora-mingw64.ini | 14 + flatpak/io.github.Hexchat.json | 78 + flatpak/python3-cffi.json | 19 + flatpak/shared-modules/CODEOWNERS | 18 + flatpak/shared-modules/README.md | 38 + flatpak/shared-modules/SDL/SDL-1.2.15.json | 40 + .../shared-modules/SDL/SDL_image-1.2.12.json | 19 + .../shared-modules/SDL/SDL_mixer-1.2.12.json | 22 + flatpak/shared-modules/SDL/SDL_net-1.2.8.json | 19 + .../shared-modules/SDL/SDL_pango-0.1.2.json | 23 + .../shared-modules/SDL/SDL_ttf-2.0.11.json | 22 + flatpak/shared-modules/cld2/CMakeLists.txt | 155 + flatpak/shared-modules/cld2/cld2.json | 24 + .../shared-modules/dbus-glib/dbus-glib.json | 23 + flatpak/shared-modules/glew/glew.json | 30 + flatpak/shared-modules/glu/glu-9.json | 12 + .../gtk2/gtk2-common-themes.json | 250 + flatpak/shared-modules/gtk2/gtk2.json | 108 + flatpak/shared-modules/gudev/gudev.json | 33 + flatpak/shared-modules/gzdoom/gzdoom.json | 50 + .../intltool/intltool-0.51.json | 15 + flatpak/shared-modules/lame/lame-3.99.5.json | 37 + .../shared-modules/libappindicator/Makefile | 10 + .../libappindicator-gtk2-12.10.json | 129 + .../libappindicator-gtk3-12.10.json | 129 + ...appindicator-gtk3-introspection-12.10.json | 129 + .../libappindicator/libappindicator.json.in | 129 + .../libcanberra/libcanberra.json | 35 + ...humb-2-alternative-code-for-MAD_F_MLN.diff | 34 + flatpak/shared-modules/libmad/libmad.json | 49 + .../shared-modules/libmad/libmad.thumb.diff | 12 + flatpak/shared-modules/libmad/mad.pc | 11 + .../shared-modules/libsecret/libsecret.json | 24 + flatpak/shared-modules/libusb/libusb.json | 19 + flatpak/shared-modules/linux-audio/dssi.json | 29 + .../linux-audio/fftw3f-static.json | 46 + .../shared-modules/linux-audio/fftw3f.json | 41 + .../linux-audio/fluidsynth2-static.json | 29 + .../linux-audio/fluidsynth2.json | 21 + flatpak/shared-modules/linux-audio/jack2.json | 23 + .../shared-modules/linux-audio/ladspa.json | 17 + flatpak/shared-modules/linux-audio/lash.json | 41 + .../linux-audio/libinstpatch.json | 17 + .../linux-audio/liblo-static.json | 27 + flatpak/shared-modules/linux-audio/liblo.json | 17 + flatpak/shared-modules/linux-audio/lilv.json | 100 + flatpak/shared-modules/linux-audio/lrdf.json | 50 + flatpak/shared-modules/linux-audio/lv2.json | 26 + .../linux-audio/patches/stk-install.sh | 54 + flatpak/shared-modules/linux-audio/stk.json | 28 + flatpak/shared-modules/lua5.1/lua-5.1.5.json | 38 + flatpak/shared-modules/lua5.3/lua-5.3.5.json | 46 + flatpak/shared-modules/lua5.3/lua.pc.in | 8 + flatpak/shared-modules/mac/mac.json | 19 + .../shared-modules/pygame/pygame-1.9.6.json | 112 + flatpak/shared-modules/pygtk/pygtk.json | 82 + .../shared-modules/python2.7/python-2.7.json | 52 + .../shared-modules/qt4/qt4-4.8.7-minimal.json | 118 + flatpak/shared-modules/smpeg/smpeg-0.4.5.json | 45 + meson.build | 197 + meson_options.txt | 67 + meson_post_install.py | 24 + osx/Info.plist.in | 30 + osx/gtkrc | 435 ++ osx/hexchat.bundle | 68 + osx/hexchat.icns | Bin 0 -> 136174 bytes osx/launcher.sh | 174 + osx/makebundle.sh | 11 + plugins/checksum/checksum.c | 204 + plugins/checksum/checksum.def | 3 + plugins/checksum/checksum.vcxproj | 59 + plugins/checksum/checksum.vcxproj.filters | 23 + plugins/checksum/meson.build | 7 + plugins/exec/exec.c | 160 + plugins/exec/exec.def | 3 + plugins/exec/exec.vcxproj | 55 + plugins/exec/exec.vcxproj.filters | 23 + plugins/exec/meson.build | 6 + plugins/fishlim/LICENSE | 21 + plugins/fishlim/dh1080.c | 238 + plugins/fishlim/dh1080.h | 24 + plugins/fishlim/fish.c | 563 ++ plugins/fishlim/fish.h | 51 + plugins/fishlim/fishlim.def | 4 + plugins/fishlim/fishlim.vcxproj | 72 + plugins/fishlim/fishlim.vcxproj.filters | 65 + plugins/fishlim/irc.c | 82 + plugins/fishlim/irc.h | 38 + plugins/fishlim/keystore.c | 278 + plugins/fishlim/keystore.h | 38 + plugins/fishlim/meson.build | 23 + plugins/fishlim/plugin_hexchat.c | 839 +++ plugins/fishlim/plugin_hexchat.h | 32 + plugins/fishlim/tests/meson.build | 16 + plugins/fishlim/tests/mock-keystore.c | 51 + plugins/fishlim/tests/tests.c | 285 + plugins/fishlim/utils.c | 151 + plugins/fishlim/utils.h | 39 + plugins/lua/lua.c | 1771 +++++ plugins/lua/lua.vcxproj | 54 + plugins/lua/lua.vcxproj.filters | 14 + plugins/lua/meson.build | 12 + plugins/meson.build | 39 + plugins/perl/generate_header | 58 + plugins/perl/generate_header.py | 29 + plugins/perl/lib/HexChat.pm | 556 ++ plugins/perl/lib/HexChat/Embed.pm | 348 + plugins/perl/lib/HexChat/List/Network.pm | 33 + .../perl/lib/HexChat/List/Network/AutoJoin.pm | 80 + .../perl/lib/HexChat/List/Network/Entry.pm | 106 + plugins/perl/lib/IRC.pm | 257 + plugins/perl/lib/Xchat.pm | 1 + plugins/perl/meson.build | 92 + plugins/perl/perl.c | 1647 +++++ plugins/perl/perl.def | 4 + plugins/perl/perl.vcxproj | 77 + plugins/perl/perl.vcxproj.filters | 23 + plugins/python/_hexchat.py | 386 + plugins/python/generate_plugin.py | 89 + plugins/python/hexchat.py | 1 + plugins/python/meson.build | 32 + plugins/python/python.def | 3 + plugins/python/python.py | 566 ++ plugins/python/python3.vcxproj | 70 + plugins/python/python3.vcxproj.filters | 34 + plugins/python/python_style_guide.md | 26 + plugins/python/xchat.py | 1 + plugins/sysinfo/format.c | 90 + plugins/sysinfo/format.h | 28 + plugins/sysinfo/meson.build | 61 + plugins/sysinfo/osx/backend.m | 275 + plugins/sysinfo/shared/df.c | 53 + plugins/sysinfo/shared/df.h | 23 + plugins/sysinfo/sysinfo-backend.h | 33 + plugins/sysinfo/sysinfo.c | 249 + plugins/sysinfo/sysinfo.def | 3 + plugins/sysinfo/sysinfo.h | 26 + plugins/sysinfo/sysinfo.vcxproj | 71 + plugins/sysinfo/sysinfo.vcxproj.filters | 43 + plugins/sysinfo/unix/backend.c | 170 + plugins/sysinfo/unix/match.c | 98 + plugins/sysinfo/unix/match.h | 29 + plugins/sysinfo/unix/parse.c | 357 + plugins/sysinfo/unix/parse.h | 35 + plugins/sysinfo/unix/pci.c | 171 + plugins/sysinfo/unix/pci.h | 28 + plugins/sysinfo/win32/backend.c | 105 + plugins/upd/meson.build | 9 + plugins/upd/upd.c | 70 + plugins/upd/upd.def | 3 + plugins/upd/upd.vcxproj | 59 + plugins/upd/upd.vcxproj.filters | 23 + plugins/winamp/meson.build | 7 + plugins/winamp/winamp.c | 154 + plugins/winamp/winamp.def | 3 + plugins/winamp/winamp.vcxproj | 57 + plugins/winamp/winamp.vcxproj.filters | 23 + po/LINGUAS | 53 + po/POTFILES | 46 + po/POTFILES.skip | 1 + po/af.po | 6254 ++++++++++++++++ po/am.po | 6254 ++++++++++++++++ po/ast.po | 6255 ++++++++++++++++ po/az.po | 6254 ++++++++++++++++ po/be.po | 6253 ++++++++++++++++ po/bg.po | 6256 ++++++++++++++++ po/ca.po | 6260 ++++++++++++++++ po/cs.po | 6260 ++++++++++++++++ po/da.po | 6265 ++++++++++++++++ po/de.po | 6290 +++++++++++++++++ po/el.po | 6261 ++++++++++++++++ po/en_GB.po | 6269 ++++++++++++++++ po/es.po | 6267 ++++++++++++++++ po/et.po | 6257 ++++++++++++++++ po/eu.po | 6256 ++++++++++++++++ po/fi.po | 6256 ++++++++++++++++ po/fr.po | 6264 ++++++++++++++++ po/gl.po | 6254 ++++++++++++++++ po/gu.po | 6253 ++++++++++++++++ po/hi.po | 6255 ++++++++++++++++ po/hu.po | 6260 ++++++++++++++++ po/id.po | 6257 ++++++++++++++++ po/it.po | 6266 ++++++++++++++++ po/ja_JP.po | 6260 ++++++++++++++++ po/kn.po | 6255 ++++++++++++++++ po/ko.po | 6257 ++++++++++++++++ po/lt.po | 6260 ++++++++++++++++ po/lv.po | 6255 ++++++++++++++++ po/meson.build | 9 + po/mk.po | 6254 ++++++++++++++++ po/ml.po | 6258 ++++++++++++++++ po/ms.po | 6254 ++++++++++++++++ po/nb.po | 6263 ++++++++++++++++ po/nl.po | 6259 ++++++++++++++++ po/no.po | 6254 ++++++++++++++++ po/pa.po | 6255 ++++++++++++++++ po/pl.po | 6269 ++++++++++++++++ po/pt.po | 6259 ++++++++++++++++ po/pt_BR.po | 6265 ++++++++++++++++ po/remove-potcdate.sin | 19 + po/ru.po | 6268 ++++++++++++++++ po/rw.po | 6262 ++++++++++++++++ po/sk.po | 6256 ++++++++++++++++ po/sl.po | 6259 ++++++++++++++++ po/sq.po | 6257 ++++++++++++++++ po/sr.po | 6256 ++++++++++++++++ po/sr@latin.po | 6258 ++++++++++++++++ po/sv.po | 6264 ++++++++++++++++ po/th.po | 6255 ++++++++++++++++ po/tr.po | 6275 ++++++++++++++++ po/uk.po | 6257 ++++++++++++++++ po/validate-textevent-translations | 69 + po/vi.po | 6253 ++++++++++++++++ po/wa.po | 6254 ++++++++++++++++ po/zh_CN.po | 6271 ++++++++++++++++ po/zh_TW.po | 6263 ++++++++++++++++ readme.md | 25 + src/common/cfgfiles.c | 1373 ++++ src/common/cfgfiles.h | 87 + src/common/chanopt.c | 462 ++ src/common/chanopt.h | 29 + src/common/common.vcxproj | 123 + src/common/common.vcxproj.filters | 206 + src/common/ctcp.c | 202 + src/common/ctcp.h | 27 + src/common/dbus/dbus-client.c | 179 + src/common/dbus/dbus-client.h | 27 + src/common/dbus/dbus-plugin.c | 1089 +++ src/common/dbus/dbus-plugin.h | 31 + src/common/dbus/example.c | 203 + src/common/dbus/example.py | 51 + src/common/dbus/meson.build | 56 + .../dbus/org.hexchat.service.service.in | 3 + src/common/dbus/remote-object.xml | 142 + src/common/dcc.c | 2705 +++++++ src/common/dcc.h | 130 + src/common/fe.h | 194 + src/common/hexchat-plugin.h | 459 ++ src/common/hexchat.c | 1144 +++ src/common/hexchat.h | 628 ++ src/common/hexchatc.h | 62 + src/common/history.c | 121 + src/common/history.h | 37 + src/common/ignore.c | 416 ++ src/common/ignore.h | 57 + src/common/inbound.c | 2083 ++++++ src/common/inbound.h | 107 + src/common/inet.h | 67 + src/common/make-te.py | 55 + src/common/marshalers.list | 8 + src/common/meson.build | 112 + src/common/modes.c | 948 +++ src/common/modes.h | 34 + src/common/network.c | 190 + src/common/network.h | 42 + src/common/notify.c | 717 ++ src/common/notify.h | 73 + src/common/outbound.c | 4983 +++++++++++++ src/common/outbound.h | 42 + src/common/plugin-identd.c | 281 + src/common/plugin-identd.h | 28 + src/common/plugin-timer.c | 231 + src/common/plugin-timer.h | 26 + src/common/plugin.c | 2050 ++++++ src/common/plugin.h | 192 + src/common/proto-irc.c | 1702 +++++ src/common/proto-irc.h | 50 + src/common/scram.c | 333 + src/common/scram.h | 51 + src/common/server.c | 1951 +++++ src/common/server.h | 44 + src/common/servlist.c | 1244 ++++ src/common/servlist.h | 132 + src/common/ssl.c | 566 ++ src/common/ssl.h | 85 + src/common/sysinfo/sysinfo.h | 13 + src/common/sysinfo/win32/backend.c | 483 ++ src/common/text.c | 2370 +++++++ src/common/text.h | 75 + src/common/textevents.in | 954 +++ src/common/tree.c | 254 + src/common/tree.h | 40 + src/common/typedef.h | 44 + src/common/url.c | 685 ++ src/common/url.h | 41 + src/common/userlist.c | 471 ++ src/common/userlist.h | 67 + src/common/util.c | 1557 ++++ src/common/util.h | 83 + src/dirent/dirent-win32.h | 867 +++ src/fe-gtk/ascii.c | 171 + src/fe-gtk/ascii.h | 25 + src/fe-gtk/banlist.c | 854 +++ src/fe-gtk/banlist.h | 75 + src/fe-gtk/chanlist.c | 954 +++ src/fe-gtk/chanlist.h | 25 + src/fe-gtk/chanview-tabs.c | 821 +++ src/fe-gtk/chanview-tree.c | 396 ++ src/fe-gtk/chanview.c | 661 ++ src/fe-gtk/chanview.h | 55 + src/fe-gtk/custom-list.c | 769 ++ src/fe-gtk/custom-list.h | 106 + src/fe-gtk/dccgui.c | 1164 +++ src/fe-gtk/editlist.c | 370 + src/fe-gtk/editlist.h | 25 + src/fe-gtk/fe-gtk.c | 1242 ++++ src/fe-gtk/fe-gtk.h | 191 + src/fe-gtk/fe-gtk.vcxproj | 143 + src/fe-gtk/fe-gtk.vcxproj.filters | 214 + src/fe-gtk/fkeys.c | 1843 +++++ src/fe-gtk/fkeys.h | 38 + src/fe-gtk/gtkutil.c | 807 +++ src/fe-gtk/gtkutil.h | 52 + src/fe-gtk/hexchat.rc.tt | 28 + src/fe-gtk/ignoregui.c | 449 ++ src/fe-gtk/joind.c | 274 + src/fe-gtk/joind.h | 26 + src/fe-gtk/maingui.c | 3920 ++++++++++ src/fe-gtk/maingui.h | 61 + src/fe-gtk/menu.c | 2514 +++++++ src/fe-gtk/menu.h | 71 + src/fe-gtk/meson.build | 91 + .../notifications/notification-backend.h | 27 + src/fe-gtk/notifications/notification-dummy.c | 39 + .../notifications/notification-freedesktop.c | 148 + src/fe-gtk/notifications/notification-osx.m | 54 + .../notifications/notification-windows.c | 87 + .../notifications/notification-winrt.cpp | 130 + .../notifications/notifications-winrt.vcxproj | 64 + .../notifications-winrt.vcxproj.filters | 22 + src/fe-gtk/notifygui.c | 441 ++ src/fe-gtk/notifygui.h | 26 + src/fe-gtk/palette.c | 171 + src/fe-gtk/palette.h | 41 + src/fe-gtk/pixmaps.c | 157 + src/fe-gtk/pixmaps.h | 46 + src/fe-gtk/plugin-notification.c | 253 + src/fe-gtk/plugin-notification.h | 25 + src/fe-gtk/plugin-tray.c | 816 +++ src/fe-gtk/plugin-tray.h | 28 + src/fe-gtk/plugingui.c | 267 + src/fe-gtk/plugingui.h | 26 + src/fe-gtk/rawlog.c | 172 + src/fe-gtk/rawlog.h | 25 + src/fe-gtk/servlistgui.c | 2262 ++++++ src/fe-gtk/servlistgui.h | 25 + src/fe-gtk/setup.c | 2359 +++++++ src/fe-gtk/setup.h | 25 + src/fe-gtk/sexy-iso-codes.c | 226 + src/fe-gtk/sexy-iso-codes.h | 37 + src/fe-gtk/sexy-spell-entry.c | 1683 +++++ src/fe-gtk/sexy-spell-entry.h | 85 + src/fe-gtk/textgui.c | 484 ++ src/fe-gtk/textgui.h | 26 + src/fe-gtk/urlgrab.c | 229 + src/fe-gtk/urlgrab.h | 25 + src/fe-gtk/userlistgui.c | 753 ++ src/fe-gtk/userlistgui.h | 32 + src/fe-gtk/xtext.c | 5077 +++++++++++++ src/fe-gtk/xtext.h | 295 + src/fe-text/fe-text.c | 920 +++ src/fe-text/fe-text.h | 20 + src/fe-text/fe-text.vcxproj | 65 + src/fe-text/fe-text.vcxproj.filters | 23 + src/fe-text/meson.build | 7 + src/htm/Main.Designer.cs | 337 + src/htm/Main.cs | 381 + src/htm/Main.resx | 287 + src/htm/Program.cs | 42 + src/htm/Properties/AssemblyInfo.cs | 59 + src/htm/Properties/Resources.Designer.cs | 63 + src/htm/Properties/Resources.resources | Bin 0 -> 180 bytes src/htm/Properties/Resources.resx | 120 + src/htm/Properties/Settings.Designer.cs | 26 + src/htm/Properties/Settings.settings | 7 + src/htm/README.md | 7 + src/htm/Resources/htm.ico | Bin 0 -> 9662 bytes src/htm/app.config | 3 + src/htm/htm.csproj | 155 + src/htm/meson.build | 33 + src/htm/thememan.HTM.resources | Bin 0 -> 10228 bytes src/htm/thememan.in | 3 + src/libenchant_win8/libenchant_win8.def | 2 + src/libenchant_win8/libenchant_win8.vcxproj | 47 + .../libenchant_win8.vcxproj.filters | 22 + src/libenchant_win8/win8_provider.cpp | 293 + src/meson.build | 13 + src/version-script | 45 + win32/config.h.tt | 14 + win32/copy/changelog.url | 4 + win32/copy/copy.vcxproj | 103 + win32/copy/copy.vcxproj.filters | 3 + win32/copy/readme.url | 4 + win32/copy/share/download.png | Bin 0 -> 703 bytes win32/copy/share/gtkpref.png | Bin 0 -> 323 bytes win32/copy/share/music.png | Bin 0 -> 3577 bytes win32/copy/share/system.png | Bin 0 -> 3578 bytes win32/copy/share/xml/iso-codes/iso_3166.xml | 1708 +++++ win32/copy/share/xml/iso-codes/iso_639.xml | 2169 ++++++ win32/hexchat.exe.manifest | 34 + win32/hexchat.props | 83 + win32/hexchat.sln | 215 + win32/installer/hexchat.iss.tt | 430 ++ win32/installer/installer.vcxproj | 52 + win32/installer/installer.vcxproj.filters | 23 + win32/installer/wizardimage.bmp | Bin 0 -> 154542 bytes win32/installer/wizardsmallimage.bmp | Bin 0 -> 9294 bytes win32/nls/nls.vcxproj | 42 + win32/nls/nls.vcxproj.filters | 2 + win32/spelling/build-spelling.bat | 22 + win32/spelling/hexchat-spelling.skel.iss | 31 + win32/version-template.ps1 | 12 + win32/version.txt | 1 + 458 files changed, 431543 insertions(+) create mode 100644 .editorconfig create mode 100644 .github/workflows/flatpak-build.yml create mode 100644 .github/workflows/msys-build.yml create mode 100644 .github/workflows/ubuntu-build.yml create mode 100644 .github/workflows/windows-build.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .lgtm.yml create mode 100644 .mailmap create mode 100644 .tx/config create mode 100644 .tx/howto.md create mode 100644 COPYING create mode 100644 Doxyfile create mode 100644 data/hexchat.gresource.xml create mode 100644 data/icons/book.png create mode 100644 data/icons/hexchat-b.svg create mode 100644 data/icons/hexchat-shadowless.svg create mode 100644 data/icons/hexchat.ico create mode 100644 data/icons/hexchat.png create mode 100644 data/icons/hexchat.svg create mode 100644 data/icons/meson.build create mode 100644 data/icons/tray_fileoffer.png create mode 100644 data/icons/tray_highlight.png create mode 100644 data/icons/tray_message.png create mode 100644 data/icons/tree_channel.png create mode 100644 data/icons/tree_dialog.png create mode 100644 data/icons/tree_server.png create mode 100644 data/icons/tree_util.png create mode 100644 data/icons/ulist_founder.png create mode 100644 data/icons/ulist_halfop.png create mode 100644 data/icons/ulist_netop.png create mode 100644 data/icons/ulist_op.png create mode 100644 data/icons/ulist_owner.png create mode 100644 data/icons/ulist_voice.png create mode 100644 data/man/hexchat.1.in create mode 100644 data/man/meson.build create mode 100644 data/meson.build create mode 100644 data/misc/io.github.Hexchat.Plugin.metainfo.xml.in create mode 100644 data/misc/io.github.Hexchat.ThemeManager.desktop.in create mode 100644 data/misc/io.github.Hexchat.ThemeManager.xml create mode 100644 data/misc/io.github.Hexchat.appdata.xml.in create mode 100644 data/misc/io.github.Hexchat.desktop.in.in create mode 100644 data/misc/meson.build create mode 100644 data/pkgconfig/hexchat-plugin.pc.in create mode 100644 data/pkgconfig/meson.build create mode 100644 fedora-mingw64.ini create mode 100644 flatpak/io.github.Hexchat.json create mode 100644 flatpak/python3-cffi.json create mode 100644 flatpak/shared-modules/CODEOWNERS create mode 100644 flatpak/shared-modules/README.md create mode 100644 flatpak/shared-modules/SDL/SDL-1.2.15.json create mode 100644 flatpak/shared-modules/SDL/SDL_image-1.2.12.json create mode 100644 flatpak/shared-modules/SDL/SDL_mixer-1.2.12.json create mode 100644 flatpak/shared-modules/SDL/SDL_net-1.2.8.json create mode 100644 flatpak/shared-modules/SDL/SDL_pango-0.1.2.json create mode 100644 flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json create mode 100644 flatpak/shared-modules/cld2/CMakeLists.txt create mode 100644 flatpak/shared-modules/cld2/cld2.json create mode 100644 flatpak/shared-modules/dbus-glib/dbus-glib.json create mode 100644 flatpak/shared-modules/glew/glew.json create mode 100644 flatpak/shared-modules/glu/glu-9.json create mode 100644 flatpak/shared-modules/gtk2/gtk2-common-themes.json create mode 100644 flatpak/shared-modules/gtk2/gtk2.json create mode 100644 flatpak/shared-modules/gudev/gudev.json create mode 100644 flatpak/shared-modules/gzdoom/gzdoom.json create mode 100644 flatpak/shared-modules/intltool/intltool-0.51.json create mode 100644 flatpak/shared-modules/lame/lame-3.99.5.json create mode 100644 flatpak/shared-modules/libappindicator/Makefile create mode 100644 flatpak/shared-modules/libappindicator/libappindicator-gtk2-12.10.json create mode 100644 flatpak/shared-modules/libappindicator/libappindicator-gtk3-12.10.json create mode 100644 flatpak/shared-modules/libappindicator/libappindicator-gtk3-introspection-12.10.json create mode 100644 flatpak/shared-modules/libappindicator/libappindicator.json.in create mode 100644 flatpak/shared-modules/libcanberra/libcanberra.json create mode 100644 flatpak/shared-modules/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff create mode 100644 flatpak/shared-modules/libmad/libmad.json create mode 100644 flatpak/shared-modules/libmad/libmad.thumb.diff create mode 100644 flatpak/shared-modules/libmad/mad.pc create mode 100644 flatpak/shared-modules/libsecret/libsecret.json create mode 100644 flatpak/shared-modules/libusb/libusb.json create mode 100644 flatpak/shared-modules/linux-audio/dssi.json create mode 100644 flatpak/shared-modules/linux-audio/fftw3f-static.json create mode 100644 flatpak/shared-modules/linux-audio/fftw3f.json create mode 100644 flatpak/shared-modules/linux-audio/fluidsynth2-static.json create mode 100644 flatpak/shared-modules/linux-audio/fluidsynth2.json create mode 100644 flatpak/shared-modules/linux-audio/jack2.json create mode 100644 flatpak/shared-modules/linux-audio/ladspa.json create mode 100644 flatpak/shared-modules/linux-audio/lash.json create mode 100644 flatpak/shared-modules/linux-audio/libinstpatch.json create mode 100644 flatpak/shared-modules/linux-audio/liblo-static.json create mode 100644 flatpak/shared-modules/linux-audio/liblo.json create mode 100644 flatpak/shared-modules/linux-audio/lilv.json create mode 100644 flatpak/shared-modules/linux-audio/lrdf.json create mode 100644 flatpak/shared-modules/linux-audio/lv2.json create mode 100644 flatpak/shared-modules/linux-audio/patches/stk-install.sh create mode 100644 flatpak/shared-modules/linux-audio/stk.json create mode 100644 flatpak/shared-modules/lua5.1/lua-5.1.5.json create mode 100644 flatpak/shared-modules/lua5.3/lua-5.3.5.json create mode 100644 flatpak/shared-modules/lua5.3/lua.pc.in create mode 100644 flatpak/shared-modules/mac/mac.json create mode 100644 flatpak/shared-modules/pygame/pygame-1.9.6.json create mode 100644 flatpak/shared-modules/pygtk/pygtk.json create mode 100644 flatpak/shared-modules/python2.7/python-2.7.json create mode 100644 flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json create mode 100644 flatpak/shared-modules/smpeg/smpeg-0.4.5.json create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 meson_post_install.py create mode 100644 osx/Info.plist.in create mode 100644 osx/gtkrc create mode 100644 osx/hexchat.bundle create mode 100644 osx/hexchat.icns create mode 100755 osx/launcher.sh create mode 100755 osx/makebundle.sh create mode 100644 plugins/checksum/checksum.c create mode 100644 plugins/checksum/checksum.def create mode 100644 plugins/checksum/checksum.vcxproj create mode 100644 plugins/checksum/checksum.vcxproj.filters create mode 100644 plugins/checksum/meson.build create mode 100644 plugins/exec/exec.c create mode 100644 plugins/exec/exec.def create mode 100644 plugins/exec/exec.vcxproj create mode 100644 plugins/exec/exec.vcxproj.filters create mode 100644 plugins/exec/meson.build create mode 100644 plugins/fishlim/LICENSE create mode 100644 plugins/fishlim/dh1080.c create mode 100644 plugins/fishlim/dh1080.h create mode 100644 plugins/fishlim/fish.c create mode 100644 plugins/fishlim/fish.h create mode 100644 plugins/fishlim/fishlim.def create mode 100644 plugins/fishlim/fishlim.vcxproj create mode 100644 plugins/fishlim/fishlim.vcxproj.filters create mode 100644 plugins/fishlim/irc.c create mode 100644 plugins/fishlim/irc.h create mode 100644 plugins/fishlim/keystore.c create mode 100644 plugins/fishlim/keystore.h create mode 100644 plugins/fishlim/meson.build create mode 100644 plugins/fishlim/plugin_hexchat.c create mode 100644 plugins/fishlim/plugin_hexchat.h create mode 100644 plugins/fishlim/tests/meson.build create mode 100644 plugins/fishlim/tests/mock-keystore.c create mode 100644 plugins/fishlim/tests/tests.c create mode 100644 plugins/fishlim/utils.c create mode 100644 plugins/fishlim/utils.h create mode 100644 plugins/lua/lua.c create mode 100644 plugins/lua/lua.vcxproj create mode 100644 plugins/lua/lua.vcxproj.filters create mode 100644 plugins/lua/meson.build create mode 100644 plugins/meson.build create mode 100644 plugins/perl/generate_header create mode 100755 plugins/perl/generate_header.py create mode 100644 plugins/perl/lib/HexChat.pm create mode 100644 plugins/perl/lib/HexChat/Embed.pm create mode 100644 plugins/perl/lib/HexChat/List/Network.pm create mode 100644 plugins/perl/lib/HexChat/List/Network/AutoJoin.pm create mode 100644 plugins/perl/lib/HexChat/List/Network/Entry.pm create mode 100644 plugins/perl/lib/IRC.pm create mode 100644 plugins/perl/lib/Xchat.pm create mode 100644 plugins/perl/meson.build create mode 100644 plugins/perl/perl.c create mode 100644 plugins/perl/perl.def create mode 100644 plugins/perl/perl.vcxproj create mode 100644 plugins/perl/perl.vcxproj.filters create mode 100644 plugins/python/_hexchat.py create mode 100755 plugins/python/generate_plugin.py create mode 100644 plugins/python/hexchat.py create mode 100644 plugins/python/meson.build create mode 100644 plugins/python/python.def create mode 100644 plugins/python/python.py create mode 100644 plugins/python/python3.vcxproj create mode 100644 plugins/python/python3.vcxproj.filters create mode 100644 plugins/python/python_style_guide.md create mode 100644 plugins/python/xchat.py create mode 100644 plugins/sysinfo/format.c create mode 100644 plugins/sysinfo/format.h create mode 100644 plugins/sysinfo/meson.build create mode 100644 plugins/sysinfo/osx/backend.m create mode 100644 plugins/sysinfo/shared/df.c create mode 100644 plugins/sysinfo/shared/df.h create mode 100644 plugins/sysinfo/sysinfo-backend.h create mode 100644 plugins/sysinfo/sysinfo.c create mode 100644 plugins/sysinfo/sysinfo.def create mode 100644 plugins/sysinfo/sysinfo.h create mode 100644 plugins/sysinfo/sysinfo.vcxproj create mode 100644 plugins/sysinfo/sysinfo.vcxproj.filters create mode 100644 plugins/sysinfo/unix/backend.c create mode 100644 plugins/sysinfo/unix/match.c create mode 100644 plugins/sysinfo/unix/match.h create mode 100644 plugins/sysinfo/unix/parse.c create mode 100644 plugins/sysinfo/unix/parse.h create mode 100644 plugins/sysinfo/unix/pci.c create mode 100644 plugins/sysinfo/unix/pci.h create mode 100644 plugins/sysinfo/win32/backend.c create mode 100644 plugins/upd/meson.build create mode 100644 plugins/upd/upd.c create mode 100644 plugins/upd/upd.def create mode 100644 plugins/upd/upd.vcxproj create mode 100644 plugins/upd/upd.vcxproj.filters create mode 100644 plugins/winamp/meson.build create mode 100644 plugins/winamp/winamp.c create mode 100644 plugins/winamp/winamp.def create mode 100644 plugins/winamp/winamp.vcxproj create mode 100644 plugins/winamp/winamp.vcxproj.filters create mode 100644 po/LINGUAS create mode 100644 po/POTFILES create mode 100644 po/POTFILES.skip create mode 100644 po/af.po create mode 100644 po/am.po create mode 100644 po/ast.po create mode 100644 po/az.po create mode 100644 po/be.po create mode 100644 po/bg.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/el.po create mode 100644 po/en_GB.po create mode 100644 po/es.po create mode 100644 po/et.po create mode 100644 po/eu.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/gl.po create mode 100644 po/gu.po create mode 100644 po/hi.po create mode 100644 po/hu.po create mode 100644 po/id.po create mode 100644 po/it.po create mode 100644 po/ja_JP.po create mode 100644 po/kn.po create mode 100644 po/ko.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/meson.build create mode 100644 po/mk.po create mode 100644 po/ml.po create mode 100644 po/ms.po create mode 100644 po/nb.po create mode 100644 po/nl.po create mode 100644 po/no.po create mode 100644 po/pa.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/remove-potcdate.sin create mode 100644 po/ru.po create mode 100644 po/rw.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sq.po create mode 100644 po/sr.po create mode 100644 po/sr@latin.po create mode 100644 po/sv.po create mode 100644 po/th.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100755 po/validate-textevent-translations create mode 100644 po/vi.po create mode 100644 po/wa.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.po create mode 100644 readme.md create mode 100644 src/common/cfgfiles.c create mode 100644 src/common/cfgfiles.h create mode 100644 src/common/chanopt.c create mode 100644 src/common/chanopt.h create mode 100644 src/common/common.vcxproj create mode 100644 src/common/common.vcxproj.filters create mode 100644 src/common/ctcp.c create mode 100644 src/common/ctcp.h create mode 100644 src/common/dbus/dbus-client.c create mode 100644 src/common/dbus/dbus-client.h create mode 100644 src/common/dbus/dbus-plugin.c create mode 100644 src/common/dbus/dbus-plugin.h create mode 100644 src/common/dbus/example.c create mode 100644 src/common/dbus/example.py create mode 100644 src/common/dbus/meson.build create mode 100644 src/common/dbus/org.hexchat.service.service.in create mode 100644 src/common/dbus/remote-object.xml create mode 100644 src/common/dcc.c create mode 100644 src/common/dcc.h create mode 100644 src/common/fe.h create mode 100644 src/common/hexchat-plugin.h create mode 100644 src/common/hexchat.c create mode 100644 src/common/hexchat.h create mode 100644 src/common/hexchatc.h create mode 100644 src/common/history.c create mode 100644 src/common/history.h create mode 100644 src/common/ignore.c create mode 100644 src/common/ignore.h create mode 100644 src/common/inbound.c create mode 100644 src/common/inbound.h create mode 100644 src/common/inet.h create mode 100755 src/common/make-te.py create mode 100644 src/common/marshalers.list create mode 100644 src/common/meson.build create mode 100644 src/common/modes.c create mode 100644 src/common/modes.h create mode 100644 src/common/network.c create mode 100644 src/common/network.h create mode 100644 src/common/notify.c create mode 100644 src/common/notify.h create mode 100644 src/common/outbound.c create mode 100644 src/common/outbound.h create mode 100644 src/common/plugin-identd.c create mode 100644 src/common/plugin-identd.h create mode 100644 src/common/plugin-timer.c create mode 100644 src/common/plugin-timer.h create mode 100644 src/common/plugin.c create mode 100644 src/common/plugin.h create mode 100644 src/common/proto-irc.c create mode 100644 src/common/proto-irc.h create mode 100644 src/common/scram.c create mode 100644 src/common/scram.h create mode 100644 src/common/server.c create mode 100644 src/common/server.h create mode 100644 src/common/servlist.c create mode 100644 src/common/servlist.h create mode 100644 src/common/ssl.c create mode 100644 src/common/ssl.h create mode 100644 src/common/sysinfo/sysinfo.h create mode 100644 src/common/sysinfo/win32/backend.c create mode 100644 src/common/text.c create mode 100644 src/common/text.h create mode 100644 src/common/textevents.in create mode 100644 src/common/tree.c create mode 100644 src/common/tree.h create mode 100644 src/common/typedef.h create mode 100644 src/common/url.c create mode 100644 src/common/url.h create mode 100644 src/common/userlist.c create mode 100644 src/common/userlist.h create mode 100644 src/common/util.c create mode 100644 src/common/util.h create mode 100644 src/dirent/dirent-win32.h create mode 100644 src/fe-gtk/ascii.c create mode 100644 src/fe-gtk/ascii.h create mode 100644 src/fe-gtk/banlist.c create mode 100644 src/fe-gtk/banlist.h create mode 100644 src/fe-gtk/chanlist.c create mode 100644 src/fe-gtk/chanlist.h create mode 100644 src/fe-gtk/chanview-tabs.c create mode 100644 src/fe-gtk/chanview-tree.c create mode 100644 src/fe-gtk/chanview.c create mode 100644 src/fe-gtk/chanview.h create mode 100644 src/fe-gtk/custom-list.c create mode 100644 src/fe-gtk/custom-list.h create mode 100644 src/fe-gtk/dccgui.c create mode 100644 src/fe-gtk/editlist.c create mode 100644 src/fe-gtk/editlist.h create mode 100644 src/fe-gtk/fe-gtk.c create mode 100644 src/fe-gtk/fe-gtk.h create mode 100644 src/fe-gtk/fe-gtk.vcxproj create mode 100644 src/fe-gtk/fe-gtk.vcxproj.filters create mode 100644 src/fe-gtk/fkeys.c create mode 100644 src/fe-gtk/fkeys.h create mode 100644 src/fe-gtk/gtkutil.c create mode 100644 src/fe-gtk/gtkutil.h create mode 100644 src/fe-gtk/hexchat.rc.tt create mode 100644 src/fe-gtk/ignoregui.c create mode 100644 src/fe-gtk/joind.c create mode 100644 src/fe-gtk/joind.h create mode 100644 src/fe-gtk/maingui.c create mode 100644 src/fe-gtk/maingui.h create mode 100644 src/fe-gtk/menu.c create mode 100644 src/fe-gtk/menu.h create mode 100644 src/fe-gtk/meson.build create mode 100644 src/fe-gtk/notifications/notification-backend.h create mode 100644 src/fe-gtk/notifications/notification-dummy.c create mode 100644 src/fe-gtk/notifications/notification-freedesktop.c create mode 100644 src/fe-gtk/notifications/notification-osx.m create mode 100644 src/fe-gtk/notifications/notification-windows.c create mode 100644 src/fe-gtk/notifications/notification-winrt.cpp create mode 100644 src/fe-gtk/notifications/notifications-winrt.vcxproj create mode 100644 src/fe-gtk/notifications/notifications-winrt.vcxproj.filters create mode 100644 src/fe-gtk/notifygui.c create mode 100644 src/fe-gtk/notifygui.h create mode 100644 src/fe-gtk/palette.c create mode 100644 src/fe-gtk/palette.h create mode 100644 src/fe-gtk/pixmaps.c create mode 100644 src/fe-gtk/pixmaps.h create mode 100644 src/fe-gtk/plugin-notification.c create mode 100644 src/fe-gtk/plugin-notification.h create mode 100644 src/fe-gtk/plugin-tray.c create mode 100644 src/fe-gtk/plugin-tray.h create mode 100644 src/fe-gtk/plugingui.c create mode 100644 src/fe-gtk/plugingui.h create mode 100644 src/fe-gtk/rawlog.c create mode 100644 src/fe-gtk/rawlog.h create mode 100644 src/fe-gtk/servlistgui.c create mode 100644 src/fe-gtk/servlistgui.h create mode 100644 src/fe-gtk/setup.c create mode 100644 src/fe-gtk/setup.h create mode 100644 src/fe-gtk/sexy-iso-codes.c create mode 100644 src/fe-gtk/sexy-iso-codes.h create mode 100644 src/fe-gtk/sexy-spell-entry.c create mode 100644 src/fe-gtk/sexy-spell-entry.h create mode 100644 src/fe-gtk/textgui.c create mode 100644 src/fe-gtk/textgui.h create mode 100644 src/fe-gtk/urlgrab.c create mode 100644 src/fe-gtk/urlgrab.h create mode 100644 src/fe-gtk/userlistgui.c create mode 100644 src/fe-gtk/userlistgui.h create mode 100644 src/fe-gtk/xtext.c create mode 100644 src/fe-gtk/xtext.h create mode 100644 src/fe-text/fe-text.c create mode 100644 src/fe-text/fe-text.h create mode 100644 src/fe-text/fe-text.vcxproj create mode 100644 src/fe-text/fe-text.vcxproj.filters create mode 100644 src/fe-text/meson.build create mode 100644 src/htm/Main.Designer.cs create mode 100644 src/htm/Main.cs create mode 100644 src/htm/Main.resx create mode 100644 src/htm/Program.cs create mode 100644 src/htm/Properties/AssemblyInfo.cs create mode 100644 src/htm/Properties/Resources.Designer.cs create mode 100644 src/htm/Properties/Resources.resources create mode 100644 src/htm/Properties/Resources.resx create mode 100644 src/htm/Properties/Settings.Designer.cs create mode 100644 src/htm/Properties/Settings.settings create mode 100644 src/htm/README.md create mode 100644 src/htm/Resources/htm.ico create mode 100644 src/htm/app.config create mode 100644 src/htm/htm.csproj create mode 100644 src/htm/meson.build create mode 100644 src/htm/thememan.HTM.resources create mode 100755 src/htm/thememan.in create mode 100644 src/libenchant_win8/libenchant_win8.def create mode 100644 src/libenchant_win8/libenchant_win8.vcxproj create mode 100644 src/libenchant_win8/libenchant_win8.vcxproj.filters create mode 100644 src/libenchant_win8/win8_provider.cpp create mode 100644 src/meson.build create mode 100644 src/version-script create mode 100644 win32/config.h.tt create mode 100644 win32/copy/changelog.url create mode 100644 win32/copy/copy.vcxproj create mode 100644 win32/copy/copy.vcxproj.filters create mode 100644 win32/copy/readme.url create mode 100644 win32/copy/share/download.png create mode 100644 win32/copy/share/gtkpref.png create mode 100644 win32/copy/share/music.png create mode 100644 win32/copy/share/system.png create mode 100644 win32/copy/share/xml/iso-codes/iso_3166.xml create mode 100644 win32/copy/share/xml/iso-codes/iso_639.xml create mode 100644 win32/hexchat.exe.manifest create mode 100644 win32/hexchat.props create mode 100644 win32/hexchat.sln create mode 100644 win32/installer/hexchat.iss.tt create mode 100644 win32/installer/installer.vcxproj create mode 100644 win32/installer/installer.vcxproj.filters create mode 100644 win32/installer/wizardimage.bmp create mode 100644 win32/installer/wizardsmallimage.bmp create mode 100644 win32/nls/nls.vcxproj create mode 100644 win32/nls/nls.vcxproj.filters create mode 100644 win32/spelling/build-spelling.bat create mode 100644 win32/spelling/hexchat-spelling.skel.iss create mode 100644 win32/version-template.ps1 create mode 100644 win32/version.txt diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..3fa759e94df40138ee731760ac0a4577029298fb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,19 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*.{c,cpp,h,hpp,m}] +indent_style = tab +indent_size = 4 +end_of_line = lf + +[*.cs] +indent_style = space +indent_size = 4 +end_of_line = lf + +[{meson.build,meson_options.txt}] +indent_size = 2 +indent_style = space +insert_final_newline = true diff --git a/.github/workflows/flatpak-build.yml b/.github/workflows/flatpak-build.yml new file mode 100644 index 0000000000000000000000000000000000000000..2d4d62bae1415804d698095806efccd19a8aeea0 --- /dev/null +++ b/.github/workflows/flatpak-build.yml @@ -0,0 +1,24 @@ +name: Flatpak Build +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + flatpak_build: + runs-on: ubuntu-latest + container: + image: bilelmoussaoui/flatpak-github-actions:gnome-40 + options: --privileged + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3 + with: + bundle: hexchat.flatpak + manifest-path: flatpak/io.github.Hexchat.json diff --git a/.github/workflows/msys-build.yml b/.github/workflows/msys-build.yml new file mode 100644 index 0000000000000000000000000000000000000000..08c029b1f53a203b64026667029e13d48605d528 --- /dev/null +++ b/.github/workflows/msys-build.yml @@ -0,0 +1,47 @@ +name: MSYS2 Build +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + msys2_build: + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + + steps: + - uses: actions/checkout@v2 + + - uses: msys2/setup-msys2@v2 + with: + install: >- + mingw-w64-x86_64-gcc + mingw-w64-x86_64-pkg-config + mingw-w64-x86_64-python3-cffi + mingw-w64-x86_64-meson + mingw-w64-x86_64-gtk2 + mingw-w64-x86_64-gtk-update-icon-cache + mingw-w64-x86_64-luajit + mingw-w64-x86_64-desktop-file-utils + + - name: Configure + run: >- + meson build + -Dtext-frontend=true + -Ddbus=disabled + -Dwith-upd=false + -Dwith-perl=false + + - name: Build + run: ninja -C build + + - name: Test + run: ninja -C build test + + - name: Install + run: ninja -C build install diff --git a/.github/workflows/ubuntu-build.yml b/.github/workflows/ubuntu-build.yml new file mode 100644 index 0000000000000000000000000000000000000000..cb6b5faa379ae21a0630a1f42e1a5fcc4c77aa3c --- /dev/null +++ b/.github/workflows/ubuntu-build.yml @@ -0,0 +1,32 @@ +name: Ubuntu Build +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + ubuntu_build: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y meson libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libpci-dev libperl-dev libssl-dev python3-dev python3-cffi mono-devel desktop-file-utils + + - name: Configure + run: meson build -Dtext=true -Dtheme-manager=true -Dauto_features=enabled + + - name: Build + run: ninja -C build + + - name: Test + run: ninja -C build test + + - name: Install + run: sudo ninja -C build install diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml new file mode 100644 index 0000000000000000000000000000000000000000..3ba01e8b7f2a82a13c6917086655a230232fe52d --- /dev/null +++ b/.github/workflows/windows-build.yml @@ -0,0 +1,75 @@ +name: Windows Build +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + windows_build: + runs-on: windows-2019 + strategy: + matrix: + platform: [x64, win32] + arch: [x64, x86] + exclude: + - platform: x64 + arch: x86 + - platform: win32 + arch: x64 + fail-fast: false + + steps: + - uses: actions/checkout@v2 + + - name: Install Dependencies + run: | + New-Item -Name "deps" -ItemType "Directory" + + Invoke-WebRequest http://files.jrsoftware.org/is/5/innosetup-5.5.9-unicode.exe -OutFile deps\innosetup-unicode.exe + & deps\innosetup-unicode.exe /VERYSILENT | Out-Null + + Invoke-WebRequest https://dl.hexchat.net/misc/idpsetup-1.5.1.exe -OutFile deps\idpsetup.exe + & deps\idpsetup.exe /VERYSILENT + + Invoke-WebRequest https://dl.hexchat.net/gtk/gtk-${{ matrix.platform }}-2018-08-29-openssl1.1.7z -OutFile deps\gtk-${{ matrix.arch }}.7z + & 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk + + Invoke-WebRequest https://dl.hexchat.net/gtk-win32/gendef-20111031.7z -OutFile deps\gendef.7z + & 7z.exe x deps\gendef.7z -oC:\gtk-build + + Invoke-WebRequest https://dl.hexchat.net/gtk-win32/WinSparkle-20151011.7z -OutFile deps\WinSparkle.7z + & 7z.exe x deps\WinSparkle.7z -oC:\gtk-build\WinSparkle + + Invoke-WebRequest https://dl.hexchat.net/misc/perl/perl-5.20.0-${{ matrix.arch }}.7z -OutFile deps\perl-${{ matrix.arch }}.7z + & 7z.exe x deps\perl-${{ matrix.arch }}.7z -oC:\gtk-build\perl-5.20\${{ matrix.platform }} + + New-Item -Path "c:\gtk-build" -Name "python-3.8" -ItemType "Directory" + New-Item -Path "c:\gtk-build\python-3.8" -Name "${{ matrix.platform }}" -ItemType "SymbolicLink" -Value "C:/hostedtoolcache/windows/Python/3.8.10/${{ matrix.arch }}" + + C:/hostedtoolcache/windows/Python/3.8.10/${{ matrix.arch }}/python.exe -m pip install cffi + shell: powershell + + - name: Build + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" + msbuild win32\hexchat.sln /m /verbosity:minimal /p:Configuration=Release /p:Platform=${{ matrix.platform }} + shell: cmd + + - name: Preparing Artifacts + run: | + move ..\hexchat-build\${{ matrix.platform }}\HexChat*.exe .\ + move ..\hexchat-build .\ + shell: cmd + + - uses: actions/upload-artifact@v2 + with: + name: Installer ${{ matrix.arch }} + path: HexChat*.exe + + - uses: actions/upload-artifact@v2 + with: + name: Build Files ${{ matrix.arch }} + path: hexchat-build diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..92ab91c6d5655e12d792d6ecdbdb0e5c198313e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +/build +builddir/ +doxygen*.tmp +html/ +*.patch +tags +# Win32 generated files +plugins/wmpa/wmpa_h.h +plugins/wmpa/wmpa_i.c +src/htm/obj/* +win32/ipch/* +win32/ext/perl/perl-x86-cache +win32/ext/perl/perl-x86-SetupFiles +win32/ext/perl/perl-x64-cache +win32/ext/perl/perl-x64-SetupFiles +win32/installer/hexchat.iss +resource.h +*.opensdf +*.sdf +*.suo +*.user +*.exe +# OSX +osx/HexChat.app +osx/.HexChat.app +*.zip +*.dmg +*.VC.db +*.VC.opendb diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..ff138137bc33f1757decb5a81d46940f13026672 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "flatpak/shared-modules"] + path = flatpak/shared-modules + url = https://github.com/flathub/shared-modules.git diff --git a/.lgtm.yml b/.lgtm.yml new file mode 100644 index 0000000000000000000000000000000000000000..eb33bb6fbaf48d7cace071cd644f57d0db03174b --- /dev/null +++ b/.lgtm.yml @@ -0,0 +1,5 @@ +extraction: + cpp: + prepare: + packages: + - python3-cffi diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000000000000000000000000000000000000..c075d3bf3dd62160904dd68eded35d869d836202 --- /dev/null +++ b/.mailmap @@ -0,0 +1,10 @@ +Berke Viktor +Berke Viktor +Berke Viktor +Berke Viktor berkeviktor@aol.com +Patrick Griffis TingPing +Patrick Griffis TingPing +Patrick Griffis TingPing +Patrick Griffis TingPing +Arnav Singh Arnavion +Eustachy Kapusta tomek diff --git a/.tx/config b/.tx/config new file mode 100644 index 0000000000000000000000000000000000000000..5cc19705bf9b7fe794bd7e7b7b7ba44a732c163c --- /dev/null +++ b/.tx/config @@ -0,0 +1,8 @@ +[main] +host = https://www.transifex.com + +[hexchat.main] +file_filter = po/.po +source_file = po/hexchat.pot +source_lang = en +type = PO diff --git a/.tx/howto.md b/.tx/howto.md new file mode 100644 index 0000000000000000000000000000000000000000..d9fe5a036139f39b3bc58c647bc02501563054f3 --- /dev/null +++ b/.tx/howto.md @@ -0,0 +1,65 @@ +Go to the [Transifex client documentation](http://help.transifex.com/features/client/index.html) for more info. + +## Initializing a new project on Transifex + +
+tx init
+tx set --auto-local -r hexchat.main "po\.po" --source-lang en --source-file po\hexchat.pot --execute
+
+ +Append `type = PO` to _.tx\config_. + +Push the resources to Transifex: + +
+tx push --source --translation
+
+ + +## Updating online translations with the template + +Regenerate the source file ( _hexchat.pot_ ) on a Unix machine: + +
+rm po/hexchat.pot && ./autogen.sh && ./configure --enable-nls && cd src/common && make textevents.h && cd../.. && make
+
+ +Push the updated source file to Transifex (this automatically updates all translation files): + +
+tx push --source
+
+ + +## Updating the repo with online translations + +Update local copy with Transifex updates: + +
+tx pull
+
+ +Update GitHub repo: + +
git add po/
+git commit
+git push
+
+ + +## Updating just one translation with local changes + +
+tx push --translation --language xy
+
+ +Where _xy_ is the language code. + + +## Forcing translation updates + +
+tx pull --force
+
+ +This might be required when the repo is freshly cloned and thus timestamps are newer than on Transifex. diff --git a/COPYING b/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..48c9fe9b8b65d025faae4c8c94ea58b040790575 --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 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. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000000000000000000000000000000000000..d3ad45789ea5125de122b6658e08ddadea161409 --- /dev/null +++ b/Doxyfile @@ -0,0 +1,1904 @@ +# Doxyfile 1.8.4 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed +# in front of the TAG it is preceding . +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. + +PROJECT_NAME = "HexChat" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = "src/pixmaps/hexchat.png" + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. + +EXTENSION_MAPPING = + +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = "src/common" "src/fe-gtk" + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.c *.h + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C, C++ and Fortran comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser +# for more acurate parsing at the cost of reduced performance. This can be +# particularly helpful with template rich C++ code for which doxygen's built-in +# parser lacks the necessairy type information. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified at INPUT and INCLUDE_PATH. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefor more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. + +GENERATE_TREEVIEW = YES + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to +# the MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. +# However, it is strongly recommended to install a local +# copy of MathJax from http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4 will be used. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load style sheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# pointed to by INCLUDE_PATH will be searched when a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = NO + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = NO + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = NO + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# manageable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = NO + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = NO + +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = NO + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). + +DOT_IMAGE_FORMAT = svg + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = YES + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 1000 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 2 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/data/hexchat.gresource.xml b/data/hexchat.gresource.xml new file mode 100644 index 0000000000000000000000000000000000000000..08b7910ea731acad373631ba27db9fea911a643f --- /dev/null +++ b/data/hexchat.gresource.xml @@ -0,0 +1,24 @@ + + + + icons/hexchat.png + icons/book.png + + icons/ulist_voice.png + icons/ulist_halfop.png + icons/ulist_op.png + icons/ulist_owner.png + icons/ulist_founder.png + icons/ulist_netop.png + + icons/hexchat.png + icons/tray_fileoffer.png + icons/tray_highlight.png + icons/tray_message.png + + icons/tree_channel.png + icons/tree_dialog.png + icons/tree_server.png + icons/tree_util.png + + diff --git a/data/icons/book.png b/data/icons/book.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1e43015e05f9b2e35c65650323a52fee9ab436 GIT binary patch literal 841 zcmV-P1GfB$P)(*1K~#90ZIexJTSXLxpP4(3W9L&Qu_NpdNUhMKBp^k6q(OjG zK!{4HT_J(QiVge%)~E{>`~bEr5J)T#Y$z=#P*PR2QixD7K~O1e>NIWAxW2Y;?wvay zEaIB*@k(bgqchJLz2_XkKP7-ifLS2Re`Np*IA9H^i+?2yE-bzD{jvEcXB%NNn_U0Df)mhc?dA`#M95en9t|9+h}1-ib+$9F?jFs-s7CZ7>(0y-`w3wfUpM`E0teA z{=&<1o44)~wmT#`MQe?<=D-{QnT(>jeS>OcT)gt?$vI%?J|J6}ntrD^d4xu@g)s(` zrlj5K2kr{2j#0Mb0-ST!N0G#tQwysewY^|L@7XsfW*p54B_&e3woJw87#CnhGy<#G%Tj}WJh zAP9(}h~3>CR(|@KE1!K(bJm^*ZUR;Xfg)ch(_~N<9-L-oW(p}K!aJPvcsvc^SYEEN zy1HsQVPgfT0Wm6;PFB_8@uf_uIPNd5Trl5$_30-@ z#~%XMx{Jl(Wm4V90HZ(|cnmnvJ>LYr0Db`Wd+p`_C4rzD!$7`!-vai4-hliCz2{L@ TGlAHS00000NkvXXu0mjfqknqO literal 0 HcmV?d00001 diff --git a/data/icons/hexchat-b.svg b/data/icons/hexchat-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..6f9a87dce71a46d29beb7c5c2599c6972993c967 --- /dev/null +++ b/data/icons/hexchat-b.svg @@ -0,0 +1,610 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Guglielmi David + + + + + + Peter Zelezny + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/hexchat-shadowless.svg b/data/icons/hexchat-shadowless.svg new file mode 100644 index 0000000000000000000000000000000000000000..943510ee50e1dae370838f64d27ab32c5b5ca842 --- /dev/null +++ b/data/icons/hexchat-shadowless.svg @@ -0,0 +1,63 @@ + + + + + + + image/svg+xml + + + + Guglielmi David + + + + + + Peter Zelezny + + + + + Samuel Messner + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/hexchat.ico b/data/icons/hexchat.ico new file mode 100644 index 0000000000000000000000000000000000000000..83ff6a738853cf8088a02c41e0e1f5ba0c4aa204 GIT binary patch literal 128609 zcmeEP2Rv8Z8$b4*3E4!cBnnv>$x5Y7Wwo?JQ<0I32JIq=ww5%hBvRUYN#a ze;(KM`=#FZ^=rTHzw`Ng-E;0e=Q+hNh>MUlgpiOBI;}0p zMP_jmA}L9y$MX`hL70ok%hTy7Awu{ipb!Ks|F$oqtnSyE_5^((bjG(uRutL z8C*n9ukpDSAd@T zPE^*_kanjjqLo9DcDaDF6p;_AhFt1RIaR0KBK8zTH0C{ldmRbkH6Ct%1AjE|M+1K}@J9o` zw+48CJ$?YpgozkH0w4vD2H@NYfpaEA8vx9JiPAqn1)j5mJwMW5z|fV2drVzeFYH*)ef2*Cpwr!%k*#EQwV88MI7`Q=bWx&_!@V`j3e9WWX*!8sI44^xq&Cp51JQb8Pw3A&zto0gx_Y3jphi z1z^2Ffa!qo0OV@`zy@Fp=nVLpw)y|m25>&bt|LQ8qis>Y8Gt*0=YTo@^)JLb;Q2lP z+hGcz!Q~5AY%hHQ;Pd=Me$)l_12{MMuLqpxF}BBdWhbB(@Ncy9*Yf-x^7Q2>_-Ih(r9p7UV%7M!szj|9YMANWtD;D~j-GP=vo7?8kKjm{3Hx7ez$+P(*CV z=MW!35ee@vLu@E3zpx!m2Wbf!Hqr+ASQn2hMYx2&p6|bx8RrZ*k3=0|AIT5+uLSg$ zF}BBf-j{XAEkO|>Q;JBAp@>WnMdVgeL~$oYRI(|e4*RZJr4-SI{nlR&*r(Piqe$B# z;0yMlRbh`?`4~kMw!r@N5{gLsQbgPZWHG1P4VU1T<^5a_4?#EG8g-=#*Z+c_2-`9G zJJ9}ifVY58^&vKpB5H7EpabZ&1K9V!2+d-ODD9(2D}U&-+I}kkr~1IPC-bhfhWNid zFg_k#5CqqCpUN&9Mv+cn^ZzSAJC~XLsUAMn%N)=X(*|(g5)4Rf95x}npz z;Jyw3-yhsR`Zon^ueiT~yxRh>J+tH#>H`uC?Z*91q2e9Ph5u-@QI~3^(w*LcK2RcO*;gx3Th^4QOpu1s>x>SYhzhNA} zcFOeoiy+P>7ZOgZp=n3@miM|?i_WeV zPy=Aeq!36EL$LiHd|3x_Q&_rU*BiZm#Eb*{pwr(qF#Uc9VDLJCC6BlbMY_Yfr#smH zTVe2qB3*rv*>Tj3fOFA%w?-oQ1SUO|r5B6+3Eb7;v!w3e}cBak<5)cQjhs7xp6*)_HPULo%V?t|9&UnD-Xcp zzcsA$%|R|sp)`j@gPq>LDbB?MW5-_3WjBYmFK+fF`Kv*?+y0cT5fOLKYI))U<3M4F0ujFqQ{!yY~yo06NY7r0A-E9 z^%o~Re43ZP4UBu&IhP%EWmEwBjUu1Yqj@<8Jhca)zJCXw0G?MsUhDzy0W{BC+%R7{ zP7y1R^i`CP#nM?;0CY)VEz1n9~p#!IPS%u-i-mh0V4sCfK7nofMNiP zS3xzHBi{dd*->Y0qgnLWX%jLN>O!3>1Ab)?fy$8&)XNzFi(lpG6tM;wz7=LLmlEm7 zqD#n0s0a6wuwH~J0Q;by8E{XAImd)Nm;v$tG@rs9px=A+?Xp|JI3U@BU3Mn^0_rjV zVBNoJE{JP=^+p~(_3w-7fb6iAu>t#k5A^t~4PYOr-&i;5Kn=hP_!$A)JhRThx_bgx z@4mPZ^!Km6kKCv`6Ikc+d~rRn5$eVIaqRus?H{Ua*ptBey902%q}wLWd5q3c#1?q} zp0I>0q+;9KAf`|0hl(R4skxfj|j{f zhpB5IRKjZat(_>+tLn$dZC4BH0eyD4nfPVk0mokCNdWM(f+AFeb&disyue&d4ch)& zia3D%e-v!WVNCpFzYOR2*atCo(SZ2(ZUfS6^syeCd$P_kwQ&Wz!#>`Rk{RimoQJcA zFsEkMHyy{hF!J=X=7RX03f9*Jz#8{(@51OPMS26TKN|MX##&ji>*7A}V&2FX@`i1I zAMiawbK83ZQCx@9^{b4dh$GC?ezeR;Uu8VI%uKu-cwzcLw9StUTtFQASk!SmfZ+jn z8%vQsz~j$?Bb*19|3fInqd2%DJxS~*RAaGGI5*>_6H!JQh*;3aBj`a`A$Nd zsT=zJ6pA>5?SBRO!a7sFABz{-2WSiYF}A~XIwx%a-ya3G@Vl z+>k*Dz?5TbPt)e&g}uGazgAY%vt2&;1irWrI_{b~$=`M2U=_BQYm`0NW{Y>9o>-?ag>Ju%geNsHj{5i9h}`6 z$>;*F*an6I7~5hS5Ct%S4=SW5fx0;cpzA$`hDjz81~wlAhWylOzd#gU9)14n3| zxaY!7hxSp}!9A3Vy|060ivx~{xOVCYC;-rP@Jquu^@1WJpzfApIQYj}ed4#LX>s#Y zq{r@-(`jjaP5Gb=Xv5h-hIiU;HwMz|Z2;q@fV)lk#NnMB@bJg+Wdm~woIA7lqT~2} z*q`ORUafJT)1uELplqsuuL*Kc2+Pk0u;`ntr-(b)o)Z|YW|gODp%0B-Ph;CP+sGL` zPU^3Xp z-j|lr!+b+w4k6HrohB1!#ys4&5|8T`M1Lije z;Jlfpqv=7BQDA#c&=mJb62H-lUC4GQ0Zyjh5th zFN3`a3w9lpft)=6UkcdgRs!h!=x-bbbI_L5!=9&&6?=V5d>YV2n@R!xE}(A=^PxSk zf27NI4WfuQ*q#&E!n~d-PhWA~g?_ca3YPHTEr2ekKbN!mIN=TRTEINE(`2Xv)(D)I zZAt#&@V-cW(jVivhyL@w3-jP1OK^kVT17w?b^lL&0Qw8i{`j8KbcE#K z{eUxV<3MLE#aQS|CA6CJfpflp3OMGV|B5c#3C7HEV4s%O`@7^DdK1nnDznRvbNrV0 zV{xDIL6iJAFGgCN%B9wiy>2ER0Cdr|==b_kVBUQXc*vB2^NbrPG68JQ2~1;H#*oXVu_#VXIDwE*a% zjqzP)4+4+C@u5@`Rc z09xM)Fn6B{w&w&5b%IZqp+R4rA^o*M9SX9>!?yjQ4ZwLHPI&s^dBHASr?bmk4?Lr9 z>0855Ai$#Qw3lg6^BA}Rnt)LNR{nv<;QuIs{W(FGNv!fTtt_DV ztw9wC+y~IK)f^}?8TP(8;p<1`odWY*Z5W#v-st^>f!``{V|g3{Y5yqFZ>KJsCbD4Eu4arV}j^j9w z?>xTy*bdMKhy50vcTgJD@PAaNLmOx*y7@M*Cj;nx&marLSmTqT8MJ|lmh;zAIa-o$ zJhXMWuI%zY2HtePr?8E*aLvx@1C*^fmv`jd=JOKd`!oRGc`<-8AO%3nBiD^0GohcE z3AS%3CO(7xOks9?VB8w;y#s!W!CIf74JN;AIiD?+=kM~3y$^mJO?Fvt08cGh+kdSt z_CY~beZx<4F0a-n{%3|(f1rzdyx0%0e6Isxo-rG2&k2lYGc=hiwyz%%aNnpKfYk_w{ZYXf2s3(xvp3)m;FN!lbFA_#TB$%6-~9(z2@IlnEHt9ia@upcMf znqAI2P=6-?@`HR~+x$`C1Q2el8}=={!N1d-zkfo6VxMsA#+qrZpY5$97lR(-F4K16K)Cjd;H6!C*T@9%j0(ldE|R(YBhzWeS?bZr+? zBpB?^37j`Hr-|bt>OuzaEdk|L0x){Tb0gINdT(Rc0nYg3M5dPH9k!qS93QsHDQvuA z8{pLM4@JHhB;hXV;4Gj~*Dwc|4f`xD;gda&ig|NeB>_#GyVCQ2rS2371^aV?IpyH@ z5o}Jk570y%@BqFxw1I+*?HwUb_kUaryo2T>c>NRq~56yfRnMMy|Fs(e}xsNEoyMPN4gV4-{$d0if-^ zwhusG4`cft5PuAydG57+_}aYvz#iBy(R^ZG>Iz_Fz_FVTz-hp_50>o=z%><3Uq~9p{WqN12jyzto8gbS zCILv53(duB}f4XnGyM@3EkcGoCo% z|6B9+S;okXS3Jiy2*AklHEjU1JVIBO?B{HEU4y;A5M7xUU_Xp*>!;P zmA(L`4X8o9rF|jhLtWrI@EAbTMc+d(%=}xZV8SM|wtpF9mP7N!QnR2}PEG{W*bKGK*K54vvMU0F(u7 z{H4GTH*ubXc@QxGnvNv+Ip)DSmlGa-hrH%f*!A!X;Mo3G0riCW^a0p@ zXj%d=cMpBRxi0iSo15c##J>u-UU>?D^Sg=^SqQ%UXlMg1#gdQke-L0lhT)mM;=7FU zr~sM=d>7OJ_#81EfMXN*+F_nE3)*f=>;9ecEvbj!ejd%P2kgVG0F0cdi@$0E_zd%{ z1+Zw?%;j7c{;-x~txp+R)=-lX`!*yfN@Dbp7PrD+2k<*yL4)c=I-Z-)NyeaP5SBC#_3S zS&Br${u8G%8hSLh#aW>FPXT?G^qfNk_VpG*z008uZ~{%s=JlomO_WO=fb$H5B7m{| zV2IQ5VtXA0=V&>p?|03+6xJ*HpUl1Pft={eVdO^tCh7tM_JwT$_zd;M(&3Oboavs&M$O^DOC-BW-@lMnE2=s6d3uVLgJu|<-v@PHjfG#t5C1-VU z!q>0JyA=Fxot)V9aT8?4brH&rPyk>XkZVj2fh+2ZE+eN6@BIhPb)x;*di*HRY-!+w zj0FJL?}T|rB%H5U1#N&6baY^s8RM4$cn09^o#KJXd@VC8AwlXKoyLSG@T&7wim+YEF$4LBa%27pfx&JZssphzsV0Zw2z ztT`VgK(8~PBOs@NHqzJY4|2j-$qDVR&AS4=@z(->5~F8vIq-Gd|2cIpt$^RB`@~0b z3iv=j9NHdz@MQp+H=G9rT;`lFmlZ78Xj<=qrUu|^0**yAz3w9@5(oC@1W_fh=k(dR z&}g8E{wJEQI_x>F1es2j@(ob$63_F_e0&d%tTzAlFJ*9M%IU_V9skOHBvjE6SB3Hr=y&JSyDqX53W z<>1@ngx=TYje~QI`q0m?baM;htahjdd#bCTkN#TvoRnJv`zvzo*m*e(ys-3wHeB|K zb6#wxvD3sj_9r;s{+3`5g=xB)W)xWuzKsNE11-gxN;oeKz9fbQbCp&GUl#NaEv54< z`Ql-0>Hf)BbRYP^c{lpnvH&!HIt~LWv{x%{_WB=!EUIiu z!9DitP4bzHpa_=v+WI&tx1<<;?@N`PH~6Lq=A|3Jcf<)D%&Y78DINN|No?QWBXj^F z=*Odov=WR<@J=T|oh?No=u^Xp=8qqIdvi~=ylhMB_^W)5GuZX=9ArRQng{F)iU4%p zzH@&be+%z{uU($57x!p`&T(G%gk*LZnYeRvA-^%r@<%(vn7#?@&k2Igz?n&2IIF#z zvvQo&(L8TIup?trLdqeIYtFw4I0t(Lpv#O{_Vf4*zYg=ZR`5H+<2kQ$-J36suQ;dt z-k~)R#64}8)5ANww2&fOpbc<>`R6&y&k613d54Cx+x|81jq9s_3h0}y1km%{sk?q2 zzhM_(tp{_y=5qW~+R=|)PK@Jv5B*3#BFqA!bbUsHDY6yp|2x7He8>!+guH{e1qaIL z3wi0W4(C&IGk#AQQSS?HK%dITE-S_taUd(FS^1$rK7g)s?oo3g)W6lZ?pAHkea&uxxJoXTZ0_SIEmrks(dGQRxhP)KX*z@bf!h z>NfU0uMfayKTZT|mN&FX&Q>tzT?6a2-$6!(hY5+zZI5ZUW-|P!F#eaj!>9>_ibOb3G@ zWM!_{-n+J3tnZRDu1PQ52T&vh?Efne0q2ASMHxNdb@F$SjzvTWqWEsnbr|*q`-4C6 zSICNWh93XYzUmqlyFV?4er4AA#JT$@k_!C&OvJ$cn2031?dSX;>01F^dM^~)f&I9j zD<`AVWbnJmX|T(S@uvXvVg8EX4VBXTv{r%n5$vDrgEsIpumXH0V&F4j>ZiYx_>nqL z0^;a9rt5TD@N?v3*JYn6?D8^koR9yizzr3j0noe*nnjTVVE-SDIPjTDHTq2Hx>x)p z1>jyiy+@DVdreLF@v<_yTmt^n&(HE6{z-EGT{U>F2_!Mtbm75!T3fZrj+0uwZU z9Ze~681}EypbdO)Y=Lh<`CkF^utN>f zSRQF<0VV+GHZLdwd-Z3(zpU)Ka}8*2drVIQ{4N3Kf~5eO&xzoFO$YmbPb5F5h_W`j z9&nH2?`;32_V7LL1vkknE(81ZdEZxFMt5t#_sIL1kM|nXjeXtk6vhHGw0+Pgkd#l6 zqtFJv2liIL@1AvKw>|s0x$kLHPHC-cl38AzBFRs`kGzb|4ne=Kq025e#?kMB=ca$R zfa7j1fabT88AXo4IFJEt;9GDI);v1q&2^9o^&|np0e%2azyN?Xpeuk=J93&I=YbZ0 z{(w6Gnm={$ho{0Byl;`0z3k8#&E>}QGQjT|a1Xr(K=VCy6-6?^{$GnUI5)3n^(7s& zrCBZGcl8gR{EEPA#$X@0X{iE7%|UK2Bw3@*jlp zPENJCT-cuNerLls^2Q6-%K(~xJxkC7=pq~104F#Ido6ZuaMq;BuisoBzjxYa1!wZI z>&DLgOR}x}7ucR*Q6D1o847F%zMzX7u>aQ}1IBSz zzk;>M0_VI5(F8Hqx!rX2X?Bj$df$wrAMGP#yw5P+gg;dZB*BA8lU%cf6 zLb3eA>}}wm;^=P`mxA9=QH9^}fq7&XV~Uu<`(!_aA_Kv{;O;|_G2qujObUVD_yV6F zVh;2%A>a!{geQWJ5d4GxgfQ?qGi3tcObgPPGM}dH3G4Nt@Vf&2J?Xm5?BF-nyTI8r z1^5;Lz8m}}IX-=k>m%$N|DVEO5cbRcz^A(5RG0s@{CS`U+5acQv&o9*=@tNRzYxFI z`?uNdTlqZ%GUM5~KY{)~DY$Ql-)v3>;Mtyy09*^>w-=RwZ`Jp&Dv$kKF(3zk-%X)> z*!KSf&NP6&aO^8lcX;j`&wJtToVWod0A>Rs0a1Wh0O}gCvk|-DdaMzdaJ~39IL?-r zDRUI=A*~$%q>FW6U05g9Jrm#s=mY2uPy^uE^grQ`2L5Q^j|To|;Ex9WXyA_q{%GKj z2L5Q^j|To|;Ex9WXyA_qewhZS?-3ff7igjsLQBKbcmvOWHiTgMMjey3q|^AlSVK^4 zmX@H?_{~*AXsn^AF-aQJSxmaI!lpDAT|R_)PUv(~^0Ra>W@uuU5KBxqvD=t#Vi&$9 z$LDP628Ns1gtLMnW3X4dtL>Ork(V4UtAIK{+}dOlygu zLo8`60G+Ic{Hk;|hAxqyZ!>g>KuANjrZi7O5(Hwi2Ht9(ZmhR4H~ha$Hf!Nc%LZ|p z9urkaGrteP6#@bSpZL2G7MqZeEs?F21 zEX?C3TQD~)o3*b7nV5%g4W@O{bf-~gO=t6%G^_n)HRNq`G-GQ>HwXy%vM@t1tA8lMGz9^# zOud*6!5egdCh&PWi+S46v={*!ZUPxbAXb{qV!#$7V8e4&Ow*FH(rgy9#OG}3U`(@F ztRc;2A$;7Z38dG+KAQlI>8ysj;15^>LlKj1V4p4Bz%CoZjp-(aRU3-47__9*O$-Lp z>Bc6&umd;g8kxt9xqi(>8-$kxr~$Yd{z3%4;G6|LFrtM4-%)`U=EZC#L_oioi1x1| zVsLIl9KLrHgEK!E7q)pz_*8B{o*sWeuQh2krh;^ZvtoL19;j0R3%W1ie{SOaYWO{M zGyI*V)}PT3H#$fx;G0783ivJ&f_Y1O-mSOJahK$lNyE8JrR9)Ui@ z{4_=SK_f%h7Q_GWuv*%fL4YWZI8B^@C+2x4IKKq_UE_0pqV4mHxIsBh;NKa}Ghuun z{HBeZ)q0{e<{BARL*MJM>pkhZsG5v`Z-S)suS0n*BBnNrc$LC8vAd9_8EI`ao4DSB zZ`6RsNRWFxoGHY3kJWDozlbgok@F`WkKruUe#}3Fn9MCDv*EdlRc<3cgvjVDCVp`K z67M4%*Vn=`)yC%n#B5$=!~Hgf7m4MZJQ5Ch+V{b;Dj3wrz=X<%dw3rajP@9u2G4Me zl{|6_oSk|2K!eD|kmx`bGJUn7Yh>3geRQDofKdXfP8 z(=j#+QE+?M9-yh85yBF`MZoro zZOjLN=TV{>5e-)aru_jk0PX-|05gw-=s$)PM9>hv?HmdJ?l zPZS&q$uQ_Mnft?`4^|!gn25J4A|s%W!u#sOQBOk~`H>--E|p{)+#d__Nq5F^Qi|}2 zj3hmw&&2x-hTep;j$nHx?eUxQ4e1unEA@RzGZ~lRf zZ35Oi2|x!Peivf9{$s;4e9jImBhv-XTnIDSiI8kAnFR7+K7BY3Oo$iJ9#Tf;KpG)$ z@aB{JSddS29hnSc0+WZis@bBP&Cg;CAdYYz6!UoBK|7ow+I?@4Fi0cX+P;S}tn*ns z{Da8QGR56Xn& z2L=n$e|c@geSG#M1cILBbq+#adS)gflT8-DJO=YRz`IA=n49PgyiZocy;U$qs+&~7 zeH&sor>fx|-e)l77)2IAyJXUM4Tbkhw*4+BGms1f`{KPQ7$-%faUR0-d5&Znw9gIj zEFc$tr)4;dwb1`yn!$_=XrGcnMB6%##J*$Q$LA4w@c(elKah3MJ~7<`&h0k;#$5}> z?Jdwgx5M*oKpU?NLf}lbxa@o=gP}Ds9rlE5tz$jMd`x-)ykA^Ad+4m6{M99%3qOAL zTeZu;Hmy~dIUQ3#i#Sbs^I6^$;7`-w9b{5tGJbLu5{o7Y(5{%@^NNGMQA!TyPc{HN zzoZFh+ZdlfyugM`Uc8Q&hkBU`_^TjH4DFtfY>+(%@~?!xZ8V%uc7{G0e<#Bl`elUO z2so!a9@=;W{3aLJ0`sne{)3kf=SFl}`l}kS-*uf@PcA~4mf|qe@@_B3iWLO=ml^93}J&~ z<9$50B?b5;0ak(V16ryLsDOXvQ3O*!M3ylR36bO?A&tWXKk;gKf>++g=7-O+BzYS0 zGUbp4(yJquxY{QR`}eaK6IQ@JR?N|%*FbvM;Ua?kaK~+0GAx98A9d_yJ=p)=tAyG9 zgNNM93Vtp&P_0sSk%sNg>w~SVUTPRkPTuW)C*|0OJt>p&-1B8?ce+Zp-WSRz*`Iep z?=IJS&26t9T{)&}p=$Y(xM^h<6ULM!tf&pxP&;Ntz>_Bz69OK*-B6vur}J&$WOQu* z*;yyMbg=Da(@_^a>m%b0n%aF30-Gd8Bs zZ+#kw>8W_SLsS%Z{=o&A*TByRg|<<_=e zknNY0RdROroOx&cUT*Gp*Y(*cX%Z^MbCA!J=T*p1E0H9ztJh0r_D(j-7wo_-PHL6U z$a?Xlo_jr8L_&uvX`7)QF>Z6#nm;h6#9?Q-ZRei7ximzBNG8|N$fGvJAzEb2r9e~P zc3qzds2#|#opFFWUCdRnG{$v7gm>0~vvaRcRgQj>%$p+iE^Pcri!iCp1Cmv(UI>01 zAaY;j-kEDB``D?kdEDR9|F)Dxq*$!v`N*z=4U81C&Si}nli#_cL%;c}G}qn{cMjdc z>oD`Bjiy%5oh9W9g_do*o0yyux`Kc5rqx5N#;(rLH5ETJD>W}Ey;uFv0ep{JZ_FHF zv4dZi_esRjw%*rcd9BQf+9w^4qYQM#yT+Tw%qYJzp+ndH-PWBY{hUI#O?Y#3LPrC~ z@CCeW9-WH`E&E`4UAsfrqTbrN;rpjaiH4u<@6myKQ&wX8`uNIKUFmYG zkz*ytX32ZaNiJVG%s`fFnUD_GT)vV~=Ny;akTpFRG4#?#+ivgkcAAVCXT4Zw{0;8? z*T?FO;FUP09HSIwbHukuTgkkmW!kIxea(vQ6!afbkQD64Ys~k$ZPZ+aFcKy3L_I(7 zsAHcHkAkE^$E%w~W=s@GxOeu-?Yxck4zj}s-^r@#ky`BHnlA0#dHzRx?#zqAUdA(1 zE(~xQEeZ2YiJD0_b$BkDh~61wQZj z(*^w$7IoY-fVhcXylNVkAmsEQw9I5<**074ykOpl0#aL9E_q)hL%uXfAbxx+(m6Cb zCedR{yPWymNBWlcpM66^$@M_%%Qa#C`lU(I@)37eZ;D8d@YI+b#bsfAds6Rqmi$i> zRZ6E0Um!ANfAJQjno2YGOC_P#vI4AzB-g6wY;q)ZQt9?D9vyedN!%Rdaz~^8+*uJj z6iX1cBO29FSe_isfnex&* z6s$Zo-3H}R9hPRNuH-qE6du0vl)tnH3pDVZ8P)E-}FfH z5Dh*o-DA=~w~iZpTCdJrx+*H+#(bL#ea7Ds&Acrq;BTrysv?dShDtB&^yp0Ji5>ka z&xQ_J`9j*uPWYB#SG~o(wT8d)ZzHqTBxp^~kqhf))R)yg5A<<7l994IW%{JfdshVp zkgcu7`mKCyJ8{3J%9M2-k9Cggt4WQtTcul?NYe~Ch8~86>-#Bd0 z_zmjzvm)HuD;=rqQgK?ty>GDXlIxE*mQ7ddwT?Vnyk*jxb%_s4yxvnqt5)_bu-$lA zR$Qf3*!2_}-z`M^vGvrA85V(kJml8g6uX(*XQj-uyTbR<7R<_9c7uQJ%m@qjjZXPj z^QOnNwk~w^RdaE98_XpUv2FXiwkvq8bfilxd(C|F+OZMCORFABwo)NoGzUoE1vd(;~w=-N{M~vt5eslFj#mO^A*G=X5&`RAY)IpznR+5+*l?u3Q|cm75c}wA4t? zQgFR&Y3e?9w^+V@9<_>8dpiFJYT4<9BJb)ynNe+_SaX8EStVRK}NW1eAauLq64-w^L=G= zuWl97shRyObCOHHSK>}V%M+9>$FxZ=guJbrivM_6I)`dOo zJ8<335bt3Yespn}PNC>%)v6;({ya5p+EhgPCPpiE^2^$#U24?sRL)xGtRrF2Xs77T zOI$X^QB2pa>)E;p!y4;$iR}l7 z*2l{GmprIYsUy@emr?vPDtNDUzWH&8RE%9#zbpfpfckmIvW`haEG;c}TzlL1yii5n zs1CiKTem9G@v@M-J4)U3h+Oo;c&diyzM<~Tg164YrPp5--`1rv-+=2`Sg+KG*2UVe zLd@t|-TqY0?(IqLu}`aB+#ag3sEyOsHOB?|F4vSU)UZ32dwzA6&CXV{J$Nb6rt4{d$tpUYOw_Ub?TY@e_ryH;->(RRnhajovk4(RMP zUCA(Jvv8iq?p{^(341T}5Z`{ns?GjAt`BSC_in!U+T&?$N4FH0;x{LDDceUoQEu-N zTP@pZ>QPUQn`UR6u(`47YLKT`@gt=?@dt+sg9nY79>Bfy);-;z7uab(=lcJstnjQTL| zQK;|bqLc#@wulEx&MqsL6wCV9OChj&_OOSxJbefCDv3XI-RDN1G5h0HOD!V9NV-a% z^qYrUM~ob^O0!z&hD40a$&NFRK3^H48zrW>Lf}~Ya}K4m_9}nGUWr%KRR5;Cs4ma3 z>=l<%FPw<;(W@}@HD2{m><}5hNM?AY@LTyA8X28|phIejC^Ay7z6#R^z77`mXilQUHWQi&6!}u(oFtPIVsiPF7*N3`Y0%umbI~e zyX}o=aM}Z(8?&;wddlm_^oBv--{n@MfNsRXar}YDqtuM-7G&K^Nd1_!|D4yDS+4S> znMNUJLL#w|a;qHCxmnO{gL?au>u-&cugrOV)>v?%wcaZ3BA%>Ce0TTp1-|J&rcB_4 zmac5BMCjHLUTH^@Zwj80l-EC}<(@9zA$_*!|Xa@)E(&w5O9y!%Q5x zhO0Y`ydkujq{~F>Se6&^w2vH_>YVBr6?P#qdujYgpAGxZ$!mJU1hrOyJmpc{?4NR3 zQBc)Va*juk*v2941`p18cqu5p%67p=-2=7q!XwvnPqsUJ;(ofn-o={ff^%hhE;{d3 zS&}+8^36fz^wy3`q|4SXdgSBq*7TZ~ta*nWHx(3D-_k3xzMFBy=f%)7h zSS}e=vAtb(u!gpvrt6q3C)b}z+HP9XSM;H2fNgT^^T@I&`^|TX%I_&;)}P2Vsj+_J zk}+?4O2=F6CFgI_@b1E8%B{Mwq9(vwV|{+%%cZI+TePxIhj~2_)~+z(JFRhq_qO`u z?I)v+&R#5kyt_a{S=O9O`G8Hq>8sZ>O&+z*5vH`xL~4|5zPdXz?l^Ca(!!eQC68iK zKg<~>*WJ77Np{5vBcxuyCC$nlY!7=BZJ0Q>uNgQ9Ar^`nt8MoDQBBwNB)IAi=>=~E6td-zC1 zY9l>L->=<(WsB06ZWwjFdYi4NUYm2ikAhCBU%g^#Qd!;ge$4a_CtKUhEGU%QapCY} zZSM{RcX(#|*Y6w4e=$&UMXOT3)7smH@UPDk+14ejcez!u<|%FCwO8LSrxf!NDjpu0 zR1~w1%VUp}{>xteleh-I7biXuI`3r_3sk%DS_xP1NwrgvDj-azq6*`vQHx4MzI3KZh=;8r+VQaGT9K5%B9a}MrD^nmtdViV^ zzeqjzp6fRAW^1hM)^Gl7S?gh|uXtaQdNnmpYM$Oe5*VU!>5k`_obY!3b$PF@$<4gI zx2?e>?&&xEp6pq!ebPC(lin!3=3fA;E{&?Abgx97Kg z&ug)@__X$*!q*cG4~X*h<8$QzMPzhYN62R0D+)uzT0>5>jn(te{{vHXic~1JG`Sp>Jy4y z*(P^%JaS!bUyhRC6RLYpa)0q;xg+{J+nbLb*e8FcPuAYZjraIHQ$qcC)Q(Na*{j%Z zNoj}r#}{r^6{k4ddwym4jEA9;VGC3}Q%v8#>6Knq*+2M0(db>_lRP5hVid&rw(kFE zTDK*_-9=(bw_*pW-S;0K7$&;Hf=ckJFZU7&@jiR8#QWjm#o=vc$B))ocSvQ!`eD@p z!&cW#Ia&1Vz~IDNBI0t{r3L42^pKpQcC}B=6%sr+p(fwo|EximnQxO1UD%@kaa{EY z>L5>w3iq%b?~YAXTkogQXBf9uX5Vz>Wu3F5kLvCWgNmL?+N@HX9TVZ$?xKRBQTof) zXW!kG>Y~%?P}xrPYma9s@vOfiH%lozx^$7jyycNkCMB%RP!_XKjJMA^vFYlCD^nx$ zw`T<`dNj$<=DucDoG*Gll;&k%S}mEk>9A+X+lpTEK- zr?(?_=6avIHp+G1pv;R7JN2I}mG^QBzB^6OXxGXmRrbOIYAzUGlN*4?(zOYXMbYrg&w=YX2mE_Yw$A2CzD_Dq(yBp9m7h)hnHS~rP% z$upHx)F$ho4sP}9T>TE+O%OPt9PY&5>yGS59E}VEypEYZ2#hM(zNS3SVa$%At*T1q-=hxB!FAI}%<8N;0|xq?b#&V;czElH?6T44+qGRjf5QgD$pLNeg}Pk3 zJhgLiZKT?b1%|14=C50ue~ivN{C?}Q6(pyxpxdN8nMD^y=7}d>dbqsLNwJi!N}^nn ziznC4d9^Mmu+t2~jn7K9h55dfIWh3|W*NO^*|n&G7IjGoR9Jq^nUsbwYogbVCqG?oT|;C$H&!s3)z*9o9{V4PV;om81)y99^ST3$1E56_KFKAgQFFxIzY#L8!S zf|p%iK=U3r=uJUH-QEb{kY2sS{5m~cEhEvb++bYoqj<53Rl!60y+3{VfuN0P{N}B( zj?>JSluH!ujx_gqdQHAa4a+^3cQ)!p@|D(O-@_nM?wlF-A-5^wYKeZrl6!Uwmi z%J-~Ou^3*QmN$7!z?*lyDLX^kyzp}K9KYd7^>8WMxm}l(w@=)gd_TB0*i$?$ z!s+}qwKtFF##XeunLJNpcH0gw)(>6z?rhf%gKin07<~BPm1o|8C-S|sV%+Yg7LGfh zqo!K3!-CqZu8_qOrFA`;G80(0eN_5_i)P}^m)_)`>0QKk=EcCGc3GXc&8m&pQ~PU# z7tGxzTy;%fQH~y=JsaD%?_j zka=6bCMPK|+cf9_pIqj)xXEoLYIrnw57r25vhEmnSa?mj-qQo-#tPHwu9VMCx_j-l z{k$hf`(??P>ulvQ&2n;y?Y8*7k(g0U;m1IQVOMq-3s1H(;7SWfeGzMXeMxz%dEG|E z&yc?Rtva zqvz#t#hF|#wZ3`HM6uua4ie=V$2MKL;FB*U|5jS5(~u3i{8O!V*LQrGZYlC&`LxOB zjc@mOe>JT~rCzq@CKtun6RoRS*G!((b;TL$G?zX}+)16JJC#*s?(0$HcVKjK2J|>&gdH#ysi0bpN8`Cmx?XD_88h@68Mo zUy)7kcO+Y_;cauXM<>IW6A63YS>7oN%kLLy9Cqupe9;2giU-a?@rUfY`n}NT&sCwS zX*0PXcuALV~btA^W38yYJxoE?g=Nv+Z4{q4K_Nk za9fnavN*q+PN^sQ&$(w(<1!)Rxbz&moy)Bs?UZ}P`yuJpqSuiQ1{U z_*CvLqamY0DUG<91rAYRK2yW@wHp($FIm+-CMQbHP{6MB!_;kKjZ(O)2CTK{%)f8? zk$$oX%R2VyJ;`xs$GR$)@!lt=P0Szg?4v~AME>@RuMO*EBq>&8tC`)aAbxc5O2>yY zy$w|N%)hgyW=fUrinG@jDi0{0sJz!n@{HD%D^u*xPp!_`ylB84<;;76PuFWk$SOHI--F!yOg%hPlDxM|7^7o4dDk&=UDdH@B4tGbHPoi=jZ6nBUO&&9AE_j(KwD{D%ADzVF2P+V|c! zcBex7-0UazNxOt@rNpeUO50xKzx9f@qGagfK`vK!ab?VRl@D&OE^cv*YkwcXrGY+t z8Q?AR-dp5ho*j`~zrl>lXiVR`GCo|c3)4jtqaz=u?H0}~5O%3rJG@+W<70oVCG(Vr zmJQi(m?zkF#rot_^=`q2_Xewl6}(?E*z{iF#*8HQgUg+2<*B?I(px81Y7{EQ?OCQ( z+s-q(GIsvljb|kTZb&{G*yU+X77RZ(-hMQ?z_)E~U1y0Y&z~Nw*?CxKDfddrSJ~08 zj`%)^@BeVbo8j_(<`}vev!2v0`!WKR&*>E4Q{yjihSsp`~|D?stE3 zKdjcibiavtOrm~@J&%8zrFoVn9^TZ9R{LLO9#OJzdzF@Vg4~(0Xtl#b5zoPGOB2t} zAMhys0iVCIxw1~gOo5_BnYlh6UHu0Q<0*L%QGV#cSc}EgV~S3hynWF(d06Q9`Ir3$ zF76|_F8)D2_|w#sU8brzz8*EZ!cUb9FR~Y@XituE?=4ohovIAF>Q-+v^k&xML3JrJ z#mUkli+t7Gw7E~WNXO|9-e0NrP;Xkw)2CEti7MHX=^odfc9y?9IRDX{*geW0>op#3 z-?T~g+6V4E39ex}atSX<1lN=y(bck6g+^C%7Ody`n4kS9apTQ2;}=485@OqpgSm@L zie&CsYUXBFE?hQpeyekxoQiL}3ySX%?O@VgOZ(<*)m3eI+{RwI8|_dxU_<-cs;lzG zUlhtM6cEwp^{kZ&+?XIm^*H5h8$P|egMI&lazm`TmW>F>Up{ub&r4K2JdSP%nd!OFLI)!q(Ro;e{jO6$Nq*wd-X)I(EM^<%E^C zO{UkaO}TSQGWO?m$>WPVr?+ME>*~$=qtkMxB<9rKbIRV~P!aRyRn(fh%dS6PogN^l zVtsJ*)|xAwrNolbgmh1WoU4ZPe;KfT{6wxy-mF#*+|h;Lf_Q!>cJ%w;lJ>D>!BteJ zGHd1Vs1oOS+O`MDkd7-`M`^y>8P&bq<=OQfx}jyn~zboHq22hu)F-nN5pyimyGUOSIY@ptboIaPlA zO9Ad-FWlcr$$aqGv&VjocE8EvM^wEVIRE9xozqT!jM5xgDSTx8A=`r?DFcQsFi`Rz zBVOl{&-JpCrh)qlGs`{|y(gL-BHMc;%d1|tem~Z?=k)3AA}sb4CkzQX^f*QPWXYk! zf@Qe{Li5vI{r$JRR^|69Rk-V31dY{?dMG03_O5!%8q-8y=gC6YYzjvaLG3_KD!-*uUfy_A!O8`skl zJjdQfpRkWEhDt=$#ALavH@er?Y42aHI9b@Qu%}M1fD6kDW3nSBT|DBMCU$#lY;e|F ziH=;pod-U?6CL2(?P*xxQLe+aDbf6+uKH>vMqH^+8NB)UdhMP{;TcbAZO#<0pRKeb zJ;zJZw)FM+uKunULS1;N9^-x9K9SBim(|MbLCRyFlCq$(+_#qV3)(CkRkVDAcF!z{ zr|SIKg#(1h-n?KhGvhs*U#oJP)tw2>x?*>~?XjKucK6n9?#vrQ(l*sROnZECPPs`2 zUyhfa?LGamhW9tSU+@=`&f7j#`TSqSR-+ON(hIlb1;1BuEjGI^S2S~JVZ!@i(Md9|UUod8aq{|w%Kg(U-AwwP zcZ!^AWqVzJN{{SZ_pO|^6*5@Uc{tgzJpfTwfSa}wQv@E_pd#SnFQ6S&Ds~{@_)c`c;iGGP-{#M5`v%HY4r!`ha{>v3^q)Tc+gN z_H%na$EbsfZux|Mk(M`m-*h|Ut!cKa6}2!sI;YJbkIjB%Dl$8^cbZuAa6;U6-NyruU^IXL8KmznU%L<)yQU zuTO=!*%sw7T8f3&?hUUA>{jpFnP<55c<*4BiOUQV&wIPa)Cj(;G9Tc|^)#sH>a3Gq zY7r0b28rfo?47Wsqut~I!zbtlzV}|RX!w1xRqMDe9Gc}iCu@D}`jtC&m5)26QCt72 z#}&~RUj6KYO&;DEB~(^l?fvTAhnzSkk9T@c+DhzSoA5BpPm24@`HM$R6wi368**(> zQR=-_!y{h4oiz4;?EME^&)@q$j-U44v}tQCHTDI7j{C(xpAUXX{*2GtV0=k26iHy~?=VQSnRe-3KQG z-V^!>7bol)m3nES!{({gEmd`mpS0g!GFANiT=kPwb%thLZT!)Ka^Y10{BLhxdn{%- zTZ+YaB12L6-f>&=Z~jTy8XPxPMI zm{3qWdCk?fnNDnRDiiyrL_C$t3|W1ocx`TwoAH+XW!ks2N>53-wCid!i8-9joUn9$ zZ|TC@rBj@3m4xqhda)=~FSd-x(iIBcDxp5^TG|rX$UuRsInCv^<_$Y{UVdC}ExPHs z*UgD@Q!Nu*r>!4Xa3|mXW^tD6>D5}^haN`lXBTuaGFf5Au|6Y7qh_Z=$YlOwdopI< ze)8CPeMC;F-=*F;$1P|s@BJvFNw51f<>2#=pGAcyJemBVk#4(Q`PM11JBqGwIe(_9 z?EXkA?6f`7-HWVt)!TUW)sl23x;@n*t~2vHSNmT%WzMuZq-m~6?M<89JvkQA=k6q} z+|Ky&3)h}=(O1k$+h!^rUK?`Zpq%mBbmYCeSEY{nZB~c;bdArooSuvhBI=v+M*fKjOx_g?5_ueIb`SQkh;V7N}mo2OLS1&01 z#5l!BFZ+>MS7*gcIqzO{%F`wLtZqwG?7Bu_58m-_ z-l`i!9Uqi-ty})$jwA#B%n-H?a;WQt?xK1r&^4Y6lCIE+xhm(UDoMy4!Q+02`)EU*51R~b-U1fa*<=pd)e9L zHhGzSv>YrwuW#*|hQ8~C&7Ji|ljn=9DWl0c zz;KJb>f*GkW|o)gjC&V9*v>SoY8QP2&35BL2NoMw2Oe_Pp5KI`)QOvM#mZHFLK7+&Fe_u`=2?;q_J`*XT{s-p`PDs3cTyL3DGj+RLEL_q;z`Z7(-H zHSu=CO6lUm{?YAE4evjHPSaIb92+jeSYH(|sl;#tk9ymMi&Hocrq;yg&Q;=la9<># zRf!bx7cG`GG7oE|9aj-$GQU|@*Ndyfo^4O~3C~Ns6Z2+nYEud88@D5t)Be0iadT|@ zb51$i?ye3~)|{Z}f!(xjbYch9x&y9c0N8R>O-9q;nVr7!$=A|*Z@kTsO{EZKns&{qov0fnmC{E&J;}ONi z@R^m}TKvcQ78z}Ly!He06!-o@_5_)ecRGDq+^bKjsC=5;LceTu?3+0+!m2>G%WtiE9wJLk-bL5pSvRhtb?Kya7 z#%Z_w9{M{UIgceBsUy23G()YMfoqox>Dn`Aq0imMi0dXYXS|O1 z2`gO`y;*r@c|urIjfikd!P<7|rv^uwa*8>*M8fu-wb=Dy?LM2`Sw(N(*IL-c9Lkhz zx0EIoik59vMp{Ss&U9W{Q02_KNMao0i|*w5I=cC{Z%Qs=v?9T_NzHfI`4@~64%xJ? zZ0;R;e}PiQ4!r|gn(FE|A1v6w+#J?)-`-MB`;}@ z2-BtrPrums`iolno)m#~TN=-A-`X2Odgm2gNK7s3?0aD#En8T_BIU}xv;S7c_6?_8 zie+xs7V_U~j*1R_x1hXZ{VR#Z+XEYT-Q=^?%N}pwGG$yL+dqYlai4Qj(piotw*@|R zv#8cR?@Y_jKYD?c=$`6*I({5b7=_+`KU+0KOw*;SSxr_V5l?N(M#XpXI ze)-eo7{LY^x4LW5G~=E7%Aaz2rp5_2oZyU4qFvp2t+d%ttBZ9jNq(qPGnws)*1f>% zg_WFq1rKsRX;Zr^Q4er{aHGn4aaqk z(5`AsGg!nOW$YfBXeVpsN%!Hh;py~{%%zRa){1wM3u+lOT0TOBaMJ#DiTmaih1xXlT-?JH%TRl` z_+$NgO>^&$HO+e^Xw;569@5diIQ~Wf_g$&-7@3)`wlSpDmfl!!O3C^**Yryod>;-n z$%-55&#+v|(yvq5#gbFPxI37wyl=Af@+-B4Mb86N3Wau_y!#+?NyP=x&NjV^j$6hG zU#ikBIDO+pP(GiS=V|fy$Qxw$G0Wt8JO!7?zRM!P`og7ZXGZsEjn!Euk~mFDmww*_ zAMWWz5iMNpH@H{x23Mitd_eCa$EspFT^(!`*x`pnTRimNGszpr^O!*!KS1-05zR#Rd)%P>PZbs5{`EE^RdHOO{ znlW(YQSHvB`mK#erzlpG$K}l*Uyfb0QSzaR z$dl?5TgR`}kg_JHDl9{N#p{jW3$k6gYu_-gdhcU^nlDY^dsy>=Or!QD}H zjG;+ls-}wZ{Fnuwq$^$u21_yKg8g`B2Xtm_^1 zc6|Uzp35QNyH$yXpKj|472)E}maV15pGF5VMOn`Fv0s&cem=23E~~r6<*rdpf2XmA z&60AzBC(PR|6_$Ej>+?i_}$oUwAR$`;d*%{;u9ki>!Gr%?@qRPHO@8(tbFJM&W9fmzfKP1Z0w^CIl^xp-bF8GKiM;`*y3@F zm?+)p=Y}^s-mv(wCUp0tBzx*yF?0_)b)aH&1b);%w0IAsigM{ZM#Cq zI&YP!>zMVG->)t3x2pM|Ae_}ri^Q;+m<3G zqixX;H*T?aP~fJE_lrk8QnV9DlScN-6d-w$X3;pmQaml4p1;I#;{Y zmkkX2p2^nS(6_v^;K6yr8;|Jpnuq{CLg*H^-&i|y zTWr5@y1Cy5&d)Zvf+0tHom!k6*=J4}^Y-o1n=jR#2Kr5SbgHcFq5Sa=&P~gw`NXO= z2Z&Fz6jss}W6U#%R&MSb9muLCsUY--HuJS>k4HvMasR9O>w$Egxj||=tqLtW7inB^ zI=)&rUHA_B)MLU~H^MwG7#%LI+c-WU^{DW!?kD^+P1g(0W-PYdwjoG`hDVI8jVq#c zX7+pG@?g#4OZu&IB(9ze5n9)9kTZU9dw{@ln`ezJ%Gs$T$S(1cO~~gVK- z?5q~->Y2G@l~H7;NS*VwRp5-hF%~^R0bKS-c`x)~K>( zG$e>k+~SVsnbCuD#+IF;n+|-= zl;MtsjY?yBr!aZ%YOg&rGnP+YKQk<+S2IDjs&wI*4VR-s6Gb}@GN`wnn`J|H;O*vF zD^ga3Kc5)MpzJl*hkwkSl^gT2ibfY1&#SVq3fb#n#K(8Gx9_4b|Ja8Qd?zKmsyf!h zFtOX%nU<7g>@j?7Sszq3>)`f`ckdnZpVL2Euy~zE$*nc*b>0UmYiYVg^>;GpLXKab z7Z)^@+sy zii@q2T#UA)7uU4E@GpE~BNgA{<8(98;%Q^+1Q%Z|*@K@-(^?x|#q2xs0d_1-*sXXy zUQNC11BYF%>V`Px>h0_|``qYzPo)G;=<*3pY71l9z@uwzHIcWT_>O}G|wYVkQQKaXcIGb*>2S*?#+73O@ZWrD}J zl1FMUm=&b5={iq_zs$9DhYt)=>ojg=nG{qs26lPZylyXds&Q}KDb!*mto8U_;|Wbk z`iT$kKW^tU)ameT-WJ+;qnfS%_U@NlW$iEbX%&(HS@8w;r;+=Tr!O66y~J~e_TuI> zF=PC9m+VaPb-F~uetmPCzp)GHaN8$S^5~9gb@0;n*=3xMF7Y}&j1AR|Tr&AWkK?km zv^RSLm#oh9U!zr*USz;$vdJ~aqs*P z=@LIz|QyOzIMjGvQiE0Y)!GCd#OtL)pXKswFUN*)J_3zpymZj$K zcBV_@UMZbm`5^!3JpSEj^IlyDG#1>?vFdI7^N1~$OS7FP`bHbHYF=q5Y?R%Taq@nf zfqT&SXtVL^iSF$) z5z)1#PEO%-8%q2oFY+&oyi#QqYB;W1H%N!Ev-$c5rgm1|M@{LhDE)w66Rs}rx?k6tf!_gdY&oo3;f9WslSv#<9TJ~PQBVb3Wxr+Y8kxOmf>&QG5k zI@Q2QoZkFOZpnttOE%^^D7+~@x!tApT)c}BO-%IeE#XPJj=LDQneF9Jo=00Rc4zr1 z(I}Uyedf#Ji`zW6%k!Di2nw9y>2x_XspnXw^G&ZMV^cc=Kda??sX0F49G4jX@p&MJ z?*Wd8k0+l@l2T*ObT8?>fA4+UjO>H^6yuq$$XjP{Yxr)>fNAiikGd7~=I`5==O1Eo zo4O=7`ROvPfSlUoMrSoIrrOOZ%bHx?35=cBxMch0wXSl;k_uJ~7q6WWRf<>>(U{;L z?{0KrefFz(+LyVZY<2sdwe@$6>zZ?*P~U8mSe103OrUJbF@a*o7j6<`LoHpmi7uWo zX-mG~Ty5bm9*j9mv!>3{*nh#qU6!N3_^!cHj+K|f>UT~|8DD#ADyxmJ>z)?3-4pld zI|j`=S~H6l)cTW8iP7tL=IJJU&^OpUPNR6ogPmryvtDYviEQx^Vl~bgQ*BMZUB~pv zoCKjJ`(lS^mrZB)9|*g_KF=`C?n*kii_uu=-#Qp?+z}HN3fV%GHXbBI`p199UF61=(YYx@e^2P8(*m zIp7>y4+CVoy2RxcYEy|eyRGL-4-ba`47K|usxk}d@*0col4c#$hR-7=rZ??5pH^a zd=n3C%0ur3RY~{9n;A_#^f-8t+Q(ZV+a>R7OcH#p7_lwdCGl+BmpZeKMdLfNM1^`f z#)qexj+dmrdppSKp}6P03GKHPj=yQYO4EF2)LLOtcK(~obvP%TxRcbpXhOo?>Ri9D zq@dY?xh~Iy#xI!`9&%Tlx&4`1eok82wUttftc14CW7VCZk$90ouk9J{;w!bP)nWD1 z#~&;|#~=01jn4IhP^iL@B17-YSF4O1H{`o8DSvjzYvHnaa{WR5=>*2}Jzt9y*4HHnS#ma!q*C zF_D;vlsvkHVw*n(3JRw-R&^|XKQ?eh-rE=TlC{Z-5l0IRt7NC1Uq1WkB^@za+tvL+O?6=TZGmVb4-Q7CQg@reNG4s^!<=W5a9fMU&+?i#rvo##% zjOTuSlV<)5=lecdN1Yzjgvy2(77SzO(YfBcB{C)@|}tRAr7?yW;Z$S1ldIEgq46<*F^RS{a|7 zXE2O4^||lKlTqAO!?dumj44FM%#ubWW|e8GQn2!Jp*4+VYaM*q$KEb{S;!U0-8p9e z+UK9yV1E9rBKP>Bj&*$uS4%T{-Ucg#f0$=bC+92aU`y|D(u>R1zj$-gn*NdsnJr!_ zv_dm_Hu1fr)fZQja9XF=8tt-9eyiu=n_)}Ffq~GdaOFW;cDHJSu*j0q@aIWFB~_cX zRP#@b37qzU!$03UYzgh1GKKoELdKlFo9*6FlG4h0`>&LDcl#}7@*4fL@NIboQ{z*+ zr(C=idZ&$dtNuXkD> zJ^Or)R9J9wocSo{+jFeBy~b^N0KHypnezV7gF7C5QlINccAwpHV?S+j&m2bktb3Nz zUm9xgUR%)oep2b#UOhG24?b&|b&k>aAKYfl?d(9abrr*SsYe!F73;NDjTW`P5;%h%V!{o0TBP43U*ZfxG- zQWuoGXU*{yvHdTXO{|T+zry}uLvD?WAJ5D!MHg3FzIai*$x|aQ^cv5r{3r`JcSmAAR~z zw%p;kI&p-8>5mtMWzpyA>v_ue-%}njs`3*+5>MkF#p+ zy*LIhJI^ayQXCo+9rJxJx!+~-*z_b9YVfExP05Y1$@^*RCCjy~+Vvdf(j6GP`E;W3 zaprk_kMlT!ZmVS4H@tb06juzH5$>967nP^`YMcp?8xwl`O?K|6%oSsVVx{iI6@|y_ zyCBG5_Totlh^6n8=H3LkWRudaO#VPi(Pw+JDCTZhB)i}Atwal4y=?;gg9nx1Hk24n?7b&#R zXeP(O#-%JYx=&@}H%dnPt~tqk&qXMn@A9!nik^)RA9IGqkPi|P4^aVa?*XzO+UMSGVSf{w$Adx+6)Sw zF10+(NsO|amTtYWFrb9Jm*qUy)1+%Bw{i=uH9ps96C2Kc;ggHTQ~k^v61EO(BIeGn zg31g}^qBKj+!O6#3XQsQ_6V!TiU8ZH;BilH$j5K-*Lo+seurFtkDTv}jX^HECb({3 znOQ3u|KP2}BUzdwjVjWa)~QdtJCw$|8?U?>IPr2)MUYBPSs4E%j^T>4eke>-1ywT;^hjj&>-`e{^(ao~0F=cuMeE68j zt3SqDaA|7C;nY{z`3LR`Fps|VHY_5bW!c(MEZZiBpZKtPOmJP)+#a_0@r6c4>8y;Q zvrXbXbYfpzv9WAj5@!lFR|A*3-{g>t1B^od?Pq=g}>H@$vx@8S?;=CYHv3e`kdLl z=`fEnElH7jlJh)EeDC5N(&Z&v`fgV=Z9N_LX7iC4p&ou3A3yUwcOO4$DH}-OtCdb{ zuvu9;~fh}E3AkO*ylA#U+PZNawk zdIi%~wUI8t&SI`pO>CbVB5sS&ESU9~aff7g+M+X0eDmi$bXhc^@|9cG?78z<3m@7y zo@Ew(<*k}E>Epz!`YBM*D>h#Ga%tl1wVyPuw1Ie#U$K-^5{U2@3b zt1pi{^O|SdoUpaAjOJNl>D_19y3G!?<3HY=!t>(eM%$TZrs$m$n8KL+cDP zy}mQdvLYedM_n{FoiCZwv@cPA1)s}?g;z9}dS)Nwe_PGcw%Kz_tlXh#Tb9$*Kd8Of zChY9T!v0v$dRNApE3eyTusr?1qZyt?NDb2`c2Y2^Dws80qdh8}Ka|Lt7uWWu9O@jb`h@PdmxW#^i#N{57naGIt`J zO6=gnp8}fXv5QtUN-Y;`h*9=3H=lXr41bV(Sj^)0t5<8k&f2)aj4nmW1N$k}^soYZA~`x5m$<9t>Ue`)cpgw&wjv`cfc zzqmDzoqA_c#R^I0*x98y!dC)B8DbBZYDTR;?j`zMSzqyu^&CY9cXJDKK8Xq0r)SQ0 z->)YZmE#j^$nM3W#=B>ykZj?RimPpfg|T5Xch}#0Ca$snQ<86Xir`Jw8&$!Ry=305 zI%eXyztnOXy9W&%ZKYSKw_9qbt;Va}tk>6>dL$JuyRc-GhQHQW>Ckw7wkS1jKB=%8 zqbtWl3q%@Ig0?S^;jK7T`mC+{Xkpr})bI<$`W#Dzxbn^;-D{t%7~j~j-#VaP(k6%Q zSzhVxQ2941;@4-}v$E7Lzv+_4(L8;8%godI5>pK;V+!pK-5$^KCH#&}k)%&xhg^?r z_It&|_=C!sYaKXVj9PheQlm04xUX7H@iIm}j?J4;9F z`o8R7s;MdzYPh-3G%U~;XXz3(-Ns_SucGuCU+QTYdL>7#d31Dn#eGE& zdkYDlSHK&NM6KXUCi@skONpdr8J*|FtXs34*z|W5l__19TOu*L&gGGEwKdP}x@+-I zm6M%lD6rPr^=agErXmUnrPcD+d^@MCE? z3}uaD1kbPvhL1YXel_4w_Jw)7=%(*ltlCm-!?J30Q97M!R?wC&It?@zCwIS(YIn`N z^FF^q+>b%;4NXmCuz}}ffu%f5RURd#7S3i{a_t18UZ2?PH#+<5!M86%H&@;&H=7kl zH#RuSVE^qB&AV1ycRohSN*EP=n9#v6MZAc2w!GTy2`p=64YQ=Rv{@`?hWo$UwToMU zb%j?o;~LF7)t}^Iw={50)Af>d{Ty(J-@A+DhMydJ)Y)m;Y<`oAqeDHyI;`fEOEOK1s!eClA6TP#CAXL-k$&~_TB8Kt z4!?%NErnu+*G`%0-5Ey=lBTk!U%MS{?JIY0o4HEOHXlWesS~%d$5oM~Y6;1T%8Yl% zB&01pvCe5cwy_?QeXK2}n1{4$? z6&Dr_T|a9}-f`7PuemJyWAfTUOrJdySMRD)yjjC77IM@EYDXH+?d@*q)kj-SCzFd& z0SuDSmkp=1%iDMuDav(;^9VPmMO+pq24_MZPPzFwu8Vc99sR*XV>8uTNT>8!u? z`m@QgmbUa9W@2qG>VHUHm0ghaqsbXMMH9LAN69CtWfwlY)O2fL;_Y4dA~1ONJvhaN z{nRKk&Xf)7(%%-b7>JleF9{nZU&-3Rw9IXX)M@Xr>hY_$B_%J4t(vxtMr5nd1>Scb zxVq0g;W(tmLb%gBm}s}M-4(caN(kVuh86w1)DnpRCq+6iZI8#GW6w*qvzOk%6V?WGqY** z#=P+_nr-(#(@+kMHhuGC>oeivFJnEAv8~FTmDjew^zp7`41Nx)%#Vr4$;5Wn9h-1; zC$Gc95A)n!aJBk46{oAQ68PAM?oJ`cvQ#k-jRTQ#%{)rNtt4Awq3h4WR^_yry-{bRvLO$-Q{nb&f#~tLS1<8`K*$) z4Xu%;TUQ>7bdNXlt(ak==x=f;U~)!$XuX`rnuT*|izcz$X9=T+@745#kM~N?uHGhe zkx}T1=I$zuu@Rdrm1wMkUA+Vty(2F-e6IaG;j;Hc&0?2nO0RRLI8{l~)qKcpy>;cP z%qYXTwBi%X#5YPje3sj){jyasu5b&08{byvQ9SNqoI$=f^pj~=wnGo8=&E28@x zeDkAHqlk()9_2-*n_8M=8aZ#2gKKes0pQ!wqm=VX;o1L>5DmnW4eV{^4tOx0Zsrm1JnStfIp?t z;GvW-h{3Uc4se8?HyjlSN7+%1Q03na$CAP^jsm*|pN)be@F>Tra>CJ&X&ks)D`_(DwK zDCX&q?jHbg5L<;uL;C@^h6uoX6^A2R^NHGtA^yI~nN$ej)8G+?#zXv4Zs9m}IEqvc z%F7!33=4>Zly@I^SO>tijf8DWnlNye5nU*=Vf}rTH`WF7;3{BfUBvi%5HV;s_P~p< zc-BuQ?EHRDd5*4pAjSd90(Fx-VIF;rm{k0g*SZzzXxR7X)-7;kEEmRMA%L0$2m@Oq zv4x{foj^W90@^&be^qGLlxNhgIvfp&ZInf%n#_dyN&OD5ZR$a1j7L3nn@lVI{$4!- z{nY@d^DmNUfNog~{tydr`m@?}W_j|@XROA;>09^&0S=oe-1DPTC>goXDB3Hb8;=-x4t@%h3b{_z%i zZ<;)^0Lq4Pyf3x8vKi9NgJ}{6V7?BebHq05yWeS0w+XpU*o7)dFvKSW(vA?-!sn^CSDnHzCA{QXGcMFVy4HoTusIx;4^$qjpf-;*O@bj zr1o2~6Kn+Pca&>aXmd2Q&xzCC@9zVk{?gFYL%>7(Axkm`bW<9Hg9xjHqnx3$L^8p$lcYe~qUNDodqJH~?HPQBJY&XV+J`?zm!0=A+54iOWI*^MAr$I3 zE9WVYK@Xsi88LS2A;%!!M)HTxUAAG^r4&!YxXMI#cF$jqT+RW%h&a%zT>RL+hUOiL zaw7IYeIxo!tOpx_<1_G$N9LbUGzo(Cm=EDmW6xd6G0uwM7j0}&fG_}cJYHj)k0Q&! zE~WN|*LjdH>ZX|X5Wug9jf@`CL{39}EdalW6HpI$1<^mY8MLF&&c?K=$G=-T9d zvOZ<-8tVNpzR)mpDxIG2xa=XpA>_Ae(Cw(HQpn#?!ocqh4Awx z5O;+M7&ev4<0J`8ORNBG5M>H@MF*VSIFcr}dx)9K{fC0OLCWI!0u80nS|3hd9 z4ZIp?+;~A#1iTG2A>g-&i6RT-qI?8~hv6dOJO#oUKr>*vzy)>B4Y&V)M%WgxPNMyd z^_w4nb^-;MdI|);KF7HL#S893%Z3gmxgxZUCTO`KR~{GHwFU*2Q%H6GA%#_4^w_KW6YJZ$^c{ z+zi;*Lh0}m8PGQ%M8IYm1N{dD!Y2oxQ_thz91i|882)q)4Lzn2n$9;{6fXZ3VSimo zSU{%2TNsleKOhwe}`}^9#0qqAWltSCqUf(O-Mk#57rf&j~hB~ z@vHb^`!WU1)J5cByrKnhqd=vqpNJneTL5~0Zo7}0I(Tisbqm%op&&r{3H~hKaQ>;EnZa0+aWuxU6fja- z!TPy~utI&9)dAymh!+B{ZDE{6xu?8|AOyfTqCQs#9e0apqzvy5WmrKO zP|KRIpHj{X!9TXop@eOsmgvIx*8%)fAm;-=)dl%)4{eX~jM|+8@fS3~HW&sF1!xmm zrfQ;he0YBJYY4iWSpeer^gGYoUMLTBjAIpGXuZa|vXSuX!OtK;9bO1B5H@u%R%b## z2Z`uR_&LPR@9!u)=sI?R9`lvv?fMLnas81Ge_m@)Ct{tU z);IEC^S2S3yYLfOAcF!?Gvr5ofwYv2nbAj_VXlDkp4xSRI7)*aw1B>W`Z@LW#Bh*D za}i`=zdHunVJDddV=HQ&G3FR1>Le@+B&^FRWIVM0We_(CX27_FkWPREfI^FjuzoLD z4E2t}_dD)VsJ}|fP~HIm>KqD15D|kPWjRzq{toodn}G@QP!Y9?>QFIgY%j{wjsD3C?D)6PZ6{DAN^3zmr`F_fo(uTQwo02 zZXPa<7{4cE_R$~Z>8!>$VA|Zt)QG{KB;5pYLs;*_cUb-y7iz-#u%Arv|B;{KZzR`p zC&m%mtu%mIZ(x12CQO|DWCQd^6#wC%<3`J49KrxBgiGW#i2&Ue4RJ%@HK!21$M%7` z5eaqXW-?&`%(H-h3h(c_Gow*nE+R7#B3{wQx@Ci0^05C9ABll}gu?Tuu2~4mM13j-Ks~dVu=B%D&OzQ$WW|E+5K%!s zv}Y*9OxQ;?k!WadyC9B;9o;a-P(Z#!fFlvt_(I~q-lDu8&b0(vG`!*GJf=`L2G?z| z%{(FVARnk@Iqb&wm@hakrKW|%)Enl(AZ`?_7|_vOgkQRY#58|@PI*u5S`OsR86q(5 z6Nzp4Iq%egy8nQTQSB#tA-^bcwt>E4ABFK-MIEuP*R+J5@ebJnx+fLlNP*T|n7^y} zeouK$?aqg`JXmhnK4%iiNj+pA%=J<8P+zA&{WX9wz?z~Tc}!tUFlb9t>ipNJeRF0I zjal#$fDpgmg)5W?4b3@_fc+$e++c3JpQJ>Kn~7X45c7q3VHM^8TkG<*jDnBG4IX~6*A1d3=t6TBFCUDQ0C8v zbJu_l82m{pFnCUxC|Sl0K0f4?lbI zxu2APEDF{_oihbHR2k}vH0V)bNf?6&X#5#iU3mrb_-+Iaox}$+a9q%WV5XXND zms%lTB`|JR0VCkGpge3gXk%fz{tLo<5(nTuqewtH;2huv;64?e z!ZiggaE;@6ysrTu-(^54AP$NN9J41F$K6Yli>9^-+*1 z0YEkKZxPN1ECuutdawz(7eT)aw!3gT^vhs#i(Q7bog0IYxC3^=;~yaj<3xNf26i#7 z<%xnlA_D77f_uTn3hq#p3qYAWe0?Xb?M(AEK7Yr8(~)JCvq=g&JwzY{{mxA zz_<-;WkPxZ3jx^P|0#)qfSZI4>>UNjS2c+He+kh9j6b3opbYpY^@tn%L)(IKm4&gd zCd7R>On47_)FEvYC_-JKhRP#YuX+aSoNxPy2FxQ3CxiMK?`%pMP)7`%Z-Ga@MW~zg z0UbnWC9LT|+^L~_eQ?c?c3><)3Geq@8b+w^VqnMW!<^_Q*!vFi4b-wVA)O3@C=2Tm z?h*Jq`bZS~RS*^#SexwVC;AY7YN(dLyafk_fx0mRfaB4CufVqM{uQ27&r$DU+spyn z0>D^sGOV3I`BBTpYXuk^4b~&vM~3?7PYC|uJUAv^LWokefFz|H(uPXr4 zOAGiFVLz<^$Rj*P!>_ecS9+?a+>0DZvEWW(zL8V&z15O&#qG6Tkb77+hm zK_Aut7)N6omIKBD(9Rf2s0$_lZV*w&elip0VSgnT-zyKyn_?O+0e;n%vCS?3l?C;& z9Ofp#|L?;1KD0>zG@JbaVgTwi;5;^tEAJ3#Z;%OdfWIpjc}ES*)nFQ&0Q7*72+O~k zh&#h~0uXm<=si2j(y$a^6gfR_k0GI|03(FJ7thGcjAI z4N=RUdK>yRXp4m01K>D#I6}KNh%kUonFaN39>j+N8<=;%?>IQ+;obA^&nfSzU8{PS ziD)J z>5z6ozwZH?2$yUhv4g${pN|CF2Iw24Fb#!xF+F*-PvppQ-tVUOPMm zyA0MzjG^8QeMf!o2x|`flQ3Q>0BnCa&S@r!&}UNf;k9}&@*%KnSpXE$hl?-79Bj!Y z!1oPM9|g3L{}F(?%v|AnnI7U$OT|m=@9VV()QNAhhIu~^Yz{8y9|z|GsqGvOLdyVq z6l#9-?*?;cY+(Nm&Vk8+i-hStNhB=#$qERA8dKAd7hwe$N)CigsGH1x@S`7U|3AC7 zzX9`K0yxLIc&K2wN8NRwNJ1YmREBX9B~IIb2lI3ipqtEtdg2Z7r@#yHj%OV576L}1 zS@7-9=fC)+$Qa4By$JmU7xqarM-mLrX8@obLprJDV7$1cFkY_#*w^eKlGFQ%Kg69H z=HK$(0C;{zbKpCmF0$b2kN&A;QD2*m}U&Kv?&tfR1S-eGU z8vwM0P|iqX1~1?{lG4A*9}T)~@EeCEMAZ@2cOm}Nu>59sU>zM=2H0+}zqm#W*8k{_ zTE2K!^QOIhK&rPm~|5!S;Y z4HSfTLLW3RhBym6XunVhb+ilszCDF>M?hRCe*VNof0~Oi4Fv#s05gC>m|x=o?}%B% zU*#JFqCd13#Q;d5Wb&$h5(Dw4#>_3qhy5td`JhfihyxB0MbNj=U_(;#|LJu!=n}QL z7)Cxo7C=b@*4YDueRMzB3}YK=xf`KhX5v6U2LKe}CiKj2NHFv#36KT~VxSCo#gO+Z zKmdUHDvn4%pSBhHdUQ0`Mh*a(yHk@&Moc3<+H@cAEp=``rCGAId;pg#mqc0>Z#@C?cY& zuvY`hhdPW64?yogzf8zhz)-?ASx*AWzVB;D1ljv~Vcuy1`e`QIU>ir)|M(txhGH*- zI}!2%$5{h@8ve>N)DM0OC~JUzN&&EMtLU$Ol+5sb3t%Lj=m>ix;CmowTL&Os6a*B4 zUC#-6;MVtNly^hjWJs^pJPaobfcC!!5e8kiy1IH=JnHjpby1*so<`m^sjv6rkP_@)008oWP$v3m}pz z5Dw_)vmk3EEFG`~>p_k>KnQ^S1On$eh62a(^04>d5m~i=WSNw(TnGA3j6crd{VAcH zaF@78!+sNp|8Ve2K|7=u_#y$0fEfT7ufsRSgOCSz8~|-i$}>Z__JqAHT_hxHc)1u> zauxKm1NEi^_))L?9nvJsti9y$BiQ=@GO4lmI?PE7*sz#Ce-F&8(7(X=gjz0M7eE`A z2R%NxoQ!$!PiPNO2V1%X>S7tlrp7t2!}r0sB_bQf7|_?R-q}xHxCRftUm4d=g3`h775F91xI>(-g6#hqiRF}X zy#e9=O4t8x^7IGxVr@I~@9p)eguEDv+(xh$1u*YF0RCyc8Jf1ugpmp61HxhdBGj1@ zu;K1P9R3a99-;l0U_B7}&B3;0KQ!=v;U0BB;#c{D;V{A4i?A5jcQUYE1U8;3*wxx5 zU_;F8C)2=wvv3@A@fu+a{V%>pOfmv{O&R8{ga`Mxeb)gvcluwFC=Sq+E>90p_n zE&vJvSa0tG9s^zhUVpvDdqgb&c@PzVQ-EZ^dH~Mz{*V5b1OI0^&_6)XczW<7b#NPC zQW4!E7_5JFY0wQBSd|&*Xz?HX4Q#-|!958k1iTNdP*L12{G?tC_ct*O?38LJbVaxV z*Fb1OaMrQ`*wHOQ7iI-0ZV2`^U~Pv8!a@aF-FjaSZVCDtMlhin2ovrH-1WF<0i-p+ zI03m>H`?T=E|LA`?@bBgTwkBo(t~KE}3&$eZ zR7AgGEVyC-iC;h*-Xkw!3_t`x8TX(}J^-|&fxR=(!v41H4_^N@!gNal#{EA6=Icn~ za(MNh5+g{L0-!xQ8xRQC3P=H+0IUVL z0n7oa07}09U*`eVdCYrEH`-#LiT}^h3t`p(d;l^4Y!m-igzbA80D7UHq#O69(ec8# zOA_XKz!ql)TYNY$!g?a|An5pE9gX`>^0N=(fHt!@0L$gSCe(AdhJka2gX!a50^bfE zgz-ixocRFrTI1SbKOu~v{wc=68iVu;kXZ%$!HQr^19R^DFz>>(0P<=Kbslv=Tr2?s zfd7){K{&SglK>bW2}1l}9{<1CGx90pR-Be?{0Q1puIqvcWj< z9_&qoa{hk?$OB#%>O43Cal?KV$Hf0Op#?n|@D2d`c2i*;2h#rk8fu-e-$9K!4_qOB zXfOPm!~nuj$CdzKfAXqd?={tcxjwa*um*Sk$33g^pd;j9uQN3iVctdQ*5E!@^n?3Z zHKA-ZA%A}d$~B;eI4F7W9O8(5Bibha7Gb>)1;9QR6<9~=`f*>X4#X3o{sh`2>}wb} z;~7VH!2eG`3-i1z&^K@yf_{azu2?X9xEQw7e(JDNAY3uPztJC{ZD9oX1m~DQ8bRNE zJ0A$brM?zeNF4|2Yt+wgsetn}6g>O-ybWAxKYzW({Lp;*W0>E-)R&#WitoOGI?Px@v%RDnNP0QOmbm#{xY+XC`-3d|G2T)PQ`^D`Jh9t`deMm>pTAPxA_ zJ_++(41oPv=|Gw^VE+1N;Zoko@1xWKbg>N3R{J}I`a=WII#BQR9>QEHr2Tg=6?C64 z%&`vcFJ1sH>dv8SpYUi{!txRaOaxRCMz9BUKsWwQxC1=U4tPOd47Q~Y;OYTb0Dnq2 z4m}P4T@7m|=8*P3!3@X)(S?*eZ~{4)2kd~K5d*x${#ys|kg$w}Icu;d|0G=GML(#k z2J;{XTujTK5RS94?)DK*(DyT8t&;kDtKYr0fc7%h730wfa0B3Y4ejUQ2*;C>00Tfh zVU>XT{`l{Oi}90LLrFi54;%o$J4VE|hh=q#;JJauQ1@&=-rvP6$O8!vj0^5-@&pW* z2iVq7&tgCGlyE_wn>YXcFfp!Hu=c_R!a9h0=Ph9tgmqFF$5EecM!BAl0PEW@i#;i6`1cgPp|0XO zN*-XJhIxSf3)VGTKpWvVfG}aqH`L!q_fvAf?t^|&e8I?m1gBE+;3b5C<5sNSBN6u1 zX#n_k=LnpW26;aebKb!EJ0Hq~c0~jGp|<^%XQ&_Q`|&~O7wv;}0L%ktz$YSV0cikR zo|^Y(*V>TxgXemJj)!b=75Y>;cl3wLChlLuM<)*ey86WMa^|<fUXsdrA zN}k{!>gaGX{_Zo^*D&VR!SI^_sGoO}_zb+-09pX{L8XL|6ZQZ>zf1j11?AdkC&ga@@cxQWhjtLTd2ogz z=roFqzvIrkj^DCi*jE6UzF$!QFhIY&Vfb)YLOHSvQ_`{rc+m#281SP7I@K4-ekgpt zK>mwU{7eDf-y!7tK;-QE3Hl!@^LOs;E`ZL0G8x<-`McvsHsF6vm_XO90NZ7_aHd32 z(t>mMI6h7r_-12eOFs#O^bdtaI)(o-@cu5LjX$Ul6rdgqmHDgt*{7hNVZd;49SQB? zpV=(%`UeVzJNVtMt;2`w{SNGxZ+!vk@j4;}dUYM7eK^R@qNIPQ&i^4$sv9f=Y^N~; zX_yOk@^Es0_6)zH5!S?T8vwchF~INU!C2t!BZBH9hpXyFNmB{%77}^ezkUZ34EceO zF{kii+hPR#j8K=NEgv{w7g?u{ESDmGBsTzbk$?(@T?fztV7gFW{fe+}e>q^EuZQ+N zoP3K!N}6hbciG^1o1fsfHXyx2G4q?wyac>In@hpG!Mf@O=q9ExXE0ROpWX*Rn;bm% z^8v`jeh+Q5pN-+LPd5R;S`^rWBZW6lusKJYor=YU;k?I8m4@Y`Zgc9gSYsom)t(GLQ{7yIfF>zf+j!N3`_k)XG!{rub4 zfiV7J8-;N|U8DfO@R6{;wFmSO5!I2?UZun9ZHy=pU8a3yX{a1h9U;q4VN&* zzbo)!eq$U;2`|*mO)zd4>gQMY5ild9`%gQ0NTPf33@c*d}^2F}L~ss1bPP`^X(1FjCH zV@cMZ`}MDYeH0uRmn?uBAP@j+Q?QqLXgHL6!xfacX9Dj?gnj1+VhcKAAEbXM_CVVZ zQKHDXO_l0rxAYV5x!9<`*Rtq3twT!2YCp=G4ij71sI+ZeXtR!&tRs$Rx*Wo z7SI#a&wl4Rwh`6`#V{^q07@T%cGG#n3+*lr`nlhcL(Q`)8)S+@xr2V9eonbwagvhu zw-63x%nz48CFg;8u<#rGp-2LoXy~(F-EV(J`PT3Xgp4*9HKG2#Iq;i`iEV!_ zdmq@!!-by=dBXQ?-eMVbfWNp#o8~%^)rId8VJ_z=7 zM8N>Qu>>39pM*#8YZ*W(`+Fc8ZR0;7w59rp=K(k`8`A%Gao`Qi&ku}asz4s<*PjvU zrdFa2dOV}|?}v$Tje)&M^o*GPJ^-fW@6chw0k(1~^wU`&^G|UE>YuzG#^Esl?Zn?9 zEnw;(W=sD(JWBjBA@AgLC}n@}cLE)O2konNG8J^;DMfA_ipgjNo+B=`uCW0uAZ_Hsuh2kHex%lHE)`NNw zYD7h}f>`h%2r5E_(u-R0BHD#O5d?oBQfzGst%%7<1+i4YA^2^6Er z_v*JVDDNi756bu1&z7srr9kiH^wRZ8fBGwN)duMn&V!Yb{KlNK3IFwK!8jA>sD#&y zA@`k>?jN8FY+C{DvsO2;HP`t{I&Iw>zW42n!NR`#@Wo?9ifW<`_F`?QYrLnF{+GjB z^dBPM7wT7j@dKCy&%hwK9pNVY2IvEdUA1kYI<Ik$0OP6;XIqg*mq>wI3KY=voJPG z9su7M`r8-qdindPt7X{^YJLUpSr`~&tpIW>bJ$@u@x?|@1Nm{9afXhp-izg z_o~+LoZA-s*?xS(8P;dKLT+Gy_n$rB+MQ-xi!U6W3^C4kCd0V05}tEj)qZG#TwaDX zzDBr@cq^3Kd780Q!uDJICuj%FAl)~g2caFpb5VS3jowy#djK?>bZy)Tj)RN919!nN z$NZOn`F$0v_1U$rsE&9N8Tl913g+LG{uxXL0(vf8Mv z%eLzwC+B#sgIqu6DHH1WF+bpebQRDdAlGsvhziGx79Eka1^u!8qu}P)RsI&x)CZhRryuDwRW9a z`(5vUt+n^5efG(SqR9Ve68^mWrGPArM@9f0&>d$XA5BxrkGCRJ#U+_)kKto%M=5qh zQBOj1=%vPx)!s)S?pu@B!5nYNtr0z&wH zcy-9dvU_%+TStn5I<%!}o)DV6Trv|HL`@C5zTo3sL7(w{DUbe(@VQc46mora$_fbK z&%uT%BNfh?;k4By6E-X{UoXp6o>tX*?WLv<+W5nc_mqyI?SEKwoh64 zw(()|7Kc?>bJANV7<3B(Hf?-D&bPaWv33*pJY1fDF9gq~`lJ0!7C2LAlVIlV6AP&{i5oDnW@@lo;j3PgqI$UOP z`?}ukS}6q5&6$rC`bJw#x^ZR-AFEu2q_}hPA*;}5)s3_2YYbqBj?i%5; zU)~}uSKZI=)~iOJV7)t2`m~lAcP-@ zWP1Jcc+O}h6HkXsIgQyuGsg^6*uNW+(vpjRzk?yu{UiiD5@u?u<1=^YUm52!`BNk4e2Twa|<2>VFzx;5o_ zWt--ncx5VQHc218x`H46ia9UEeY>_|$`Ej4@at3W7D`=UB`;5Q-jHH3`aR6LZ7PTM zl(TFSSqW*`v5&qFi9-8OL7v-Ro2E(c4$=}u-260)-n6@U6YaLnAQTSZXaz+-XV-q~ z(I*NJFJSc0VhdMH6l3Wou9*)e;CrJkGU}O8LVsx~-OGU4JarR;x;r7`e#`u|R^mo% z4!fZBlOx4=VIwy@1xAM4zX9O@nq(&IeE%L%^ecZ-a;~VTwFsXf7g<dXI~Fy?!r=+U@-eVqsqCIw?bkdL?LTqE@P z`nqqh2esoh$NJmjnG%3oCtei4aH2|P{wMex3m~;(M{(ukrAot+l013M ze3j`dZNkvtd$`sZ<@m+g?YvPM_xNsGE^H6RK?eF>aF(?j#*4A4l)($Z)L=NPp8I;I z+)QsSAFcI(P8!YQZ!vM1&A2r9@2$r_2itDw$`DA6EHptgU=~I zl^CU8fi0;m<2Zx78)oX-Vb6N$jnT3@wsb;X_>jL_YDW|q7`%5&Pfl(o`H6VGFAsC5 z93&E0GQaL#HntbII0Wn=J$t@7=HUPAY1r(q*h+O|7Y;fxV{a;^AS3San5a*K2P+x6insP!{a?HFUo}`pkCy7CeQTG-iRNi}DUEj&wMTju2R_6E z=}b|9X4|lmFNQMg;E{ z(?8TR`>RT0Z+lP2=f0ys>?vp9n`}Pp?hyW=<9utc4n+(MVOBiXTdV8ZX%I{Hq{6cv zi_<*R$7X8?US86hYuiZ6XXOldn{7u;4qkJlNANDr%&>AnPwj4LFD(a>^jOE93RSo; z_?I;1hpmOJbBz9=4~5z4<oibQ8`&^xV`Yp$0>}D410*?g$ zY0#Jg&cFx5&(!wCVs!|i4cH_U;XN$Ek(3VCYRl0KE$T`)44>YSdpoGZngd)`Lc}L1 z4mppV%#XX*;NM;-;`%}{7JSZaA5l@`q&X{xJ_Rf~m%Ic3Hmb1H(WJFaY)dnFagJucxGlLQ|%cNyc*E|X`)ysrW`1R-D zg^=$C_&Nogi4S|^DSW+17~E-P-d@J<1pCoFqYlZu@yz=oYFbfWK~CKSilHn zDILQn_z)kY^!n*}(Vc!}vQb+(wT{&aTNcJEcMAE-zg7O+{4Zz9rq7<7Sjzwa002ov JPDHLkV1jJ^y&M1l literal 0 HcmV?d00001 diff --git a/data/icons/hexchat.svg b/data/icons/hexchat.svg new file mode 100644 index 0000000000000000000000000000000000000000..07be27f5c4a832ef2566604febf1a447b74362d1 --- /dev/null +++ b/data/icons/hexchat.svg @@ -0,0 +1,58 @@ + + + + + + + image/svg+xml + + + + Guglielmi David + + + + + + Peter Zelezny + + + + + Samuel Messner + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..710e0045f24b4a44db46e9caffbf109147b5f755 --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,11 @@ +icondir = join_paths(get_option('datadir'), 'icons/hicolor') +install_data( + 'hexchat.png', + rename: 'io.github.Hexchat.png', + install_dir: join_paths(icondir, '48x48/apps') +) +install_data( + 'hexchat.svg', + rename: 'io.github.Hexchat.svg', + install_dir: join_paths(icondir, 'scalable/apps') +) diff --git a/data/icons/tray_fileoffer.png b/data/icons/tray_fileoffer.png new file mode 100644 index 0000000000000000000000000000000000000000..6f6e12b1647b62a137091ac9d746a3c667108fe2 GIT binary patch literal 2453 zcmV;G32OFKV=8_4MKw<(WBy6Ar0f`8*DiRflU}VwNwE_qRh(S>j;)W=YPbc z&->2TUssMg53^|I6)TMJi#A;MFx#{&rS zj{sRw5g5XILZ2ScTPQ3TI+$FhOtS@8;- z`3ZI(CSFv2i>SiBo9+QIK_9)2<44zGyr(BBvX4Vbrh)(e@(Q{RI!@Idr>z9&y3pNt z2Q!o6h#k0remziesTBH6hHDjAfd0Z`_03jb&CIdFd>CLy#Y24|EXa(Hk1u())BNpn z5^d#CpV1_Bp3j)5F!~v_b9e0o@5DoF8a;s&VCD@65apZPD}-V5$2Y(3WgtC~c5(lm zfQ4q690{N7gMWR?4B=(7sKOEV0kq}=B#F1zCV)u->@Mfz?6~Fc@eqCzowb7X z!qXt_uH?P~X;U60a9AIedC%i)IY3umSTO}Atsoqj1EjPX;FqMgcjEcCo&y}TjO2j; z4q9Yl1Z>;~J9C&LyloIwIN#b~E-fV*$S|%aDtPB}b%0(0kQ@cTc;WFuZ2*^f z8AyG54CtKdv*T-<;BX$c=vCmbss87gB_yQS;rR^sXOi@lG~eu3)L8T%o(7=Sb}ajlR8h)(@CM^^0dOb;yB0n7Gs z7zzawhs(f}srPD2_5Kk6N`Z8= zAVTEz4IeOub`TR2lPS!XxS8JuEZTY!E?d>!#`Xb!Zvf);z+>HgwGC;x0zhv4l5xY{ zy?c+-4uXP$%4r#+mk!Lb+Fxlol+^$r>w&H5N0~md8!D#uhxDL<5ru_?TY`gw4K$B| z_VFw*05@c2Wr`O-*CUp?bDe}!+yj?vsY zde_Sh6DLljX6W6pav&~T#@D&(eh%2J7Y%euG{aYGzGv9tAvDs#FBrwwmr7>^t4bGf z$$lPp*pymsgm0_%^UB4TmXmq)l2Os+!`@R*5u)c|rs$8WE+vv1ZR^>$_4IE`Z;EXG&v$ikpi^|ykznz4Sd%<8fTol^&yFGAL; zMnCWU2hRN5xV4vFe-=vGXu)~lLX$1arf|=mdCX6UMRA~r`&cIWPeVe&(}+)-hWRPG z_A}PSkHeSi8ogL6A?14jE(6OnhdGfb2iTDK4LI#Irk3kqgyo-%7%@V!UcFNP3C-@Z z7^CEcr|^|KHC8x3KVQj=9YWygJ*w5P@EBaJ1t6vA)-I!FUXGRWwYlnJ#UuVOs3@Cj zvj;=rX(G&#ED2tNzb=6G5@PrrOS`To+%yo!kB4~UnFpje{ST`5w^(6yE&ykMj26Ea zk|b$PfRQD+kAWDq`1r%jtq?w(631myijpa?o#kfeZyLnh+f(t8ec`|+c=vg*Yj?D# zzJ~3E0E`oUH@9|Ezx;}gsfowvv2hSuu32Gz6vU^~c|;s(!RtsXna9zpL)-`>eV-&g zU=Dgo4119LKLub>%H*I?YL*mY=~WgQ&L!WWjQ;_Hq#ms z5|eI=C%V%l*QdSW1=#x`&2h~RckPG5S{%TAu0B;GyE#bh0{$`W1eB_7=GFRXeJb%2 zq7|pZX`34GDlZ4jL`KFPUXqD9U6$0Fw_2@rTPBZyT_3ugf7TE6<^kT(nAZf*l3Z+~ zF#Z(a&?>JSh8~4AAAOn=7Zva<5$(H*0iAGC}PvYG3-O&2H{Kb;}w;S?7amqtcL z?i#!401MAHKmWc`Sa%VC0$>5|5XsyMcp6YX?kz4O)LPpU#Y;v3mqJ5Bm7JU$$lc>IT!od|UWPcp87J9(4a1I1Tg$?r2c= zI?&fCfYRndR5z#!C;(0YCmVFo^AEaPuZ#g`Dr1vtnwYJ2edpsje*3k`ug!k}3t4ts TUl(d<00000NkvXXu0mjfE9{G< literal 0 HcmV?d00001 diff --git a/data/icons/tray_highlight.png b/data/icons/tray_highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..2199c4f3c9556ac08dbeb86a111c3b901e36e3e4 GIT binary patch literal 2821 zcmV+g3;OhlP)SDu20?)kQ3BnG2t*P{LLlkvWb3`(T$5K_d6TB;7AnolbNc-6 zd-vWKjV#OjFGJ#w#h(TO@E>RdfEb`R5DkO^A&sT{91|0xkByCuGMP-)tgNgnHk-{3 zIFwR;rUAGB)rp=fC*e!#CWAau_L76LsLv2JL!TBc8*PGaIb`t<2TL_{PCa5x+k z7F-}L?F-hdSw%rX5q1ZjPzl^FH09tcgaMxlxC5|_AA!6$4mtHjdB?%cg2k3p&j0oG9rDJ3 z%Zvinz6*=i0B{(%TWGUgcMA#e!NB+Tj-=nmt3Z-)gUCtH{bSGskbbJ34-Q{x6zvUt zVuFaDq$gOXf$Gm8cM3FX`@~g{vKxRDp)K*ZxC$-p*PVXvy#SIEus5rYs~W`{bIrVa zpjr{{9j6PdyzyBDPM6&D1%!-Majstgq%hK(+{D$H3qP&Ys7$V z1Ox=)aLSZlao{gXsvH2^7~QJ{cZUdAmjFO_Ao*7r5YFRzL^JyNnSi5ZNpfKGWAPX6 zPY51Q{BdJo@=ySh1pi>a3h3K{rJ3*s8w)4(~;k;a3@G8>S^BNCIT2$ntuQStDRVe*m5p+B*4?z{=#QXd-p$ zI4unxQm8Ph+QIMksm%j(t%}ob0h?K!#D-a*3!oLS!m9z{aN;c;88c^un&5{V7?lk5 zb!uYD4DNRD2c4DUsW7PcoK|@FHCXq#+CUFIEE*5MOrdeOM*~8<1guy+4YV$Gj8DA} zKb*%lRggPu&E6}^2HDlv4sFA=ek7m+fO4aoOSZ#fsqn#ZE-(KSOqFU4|F{RD+W@du zBj724*%SH_JN{<1`@NZPM3g14jU}_5P(a-Tfm&RkMZSmA2mGU0Pu>?9MU|2xsMK}W8WyX>(nEV zQwqRJL2MP}0H&_k&++vKl;cVa?zZr205_PRx|kO}g;x*q129?eH_(KQE}6>XZc z1Dmh1k~?p8GI8=oQ=Pr0#N8ggCh+>c920Pt;3>NbzYSQv=O-wsQfqst7qn>wK!OB} z>k`(|Wo`ukIZDfL6%!|~Sa~r0d!y`&0j;E=y)thaGGyos!F?I;&;@BBR8ngzuZ0>5 zpscU{AwB#zA|1K;z`kY&N@=FJGR`wGlt7FNA5-+P0hk zrwl-<1Z>)S4lY)yT|UwiB7*>!>t)J4Fj&i>QS$LtJ{WKtEX_4aMMXu2-E$ky+_wX< zbNi`vIe#&b1wbK?CW#nN3pd|xI;nOU0zBRq5HEtPs|WGJLjw3_@4d7gWHG3|;cFR) zxnf}bDEdkoG6c^pc*ZMtb%NLkwXToOLQyRMTZML)L=)C-$bw7NY7_t8AEJT@0@k1w zKRPUs{re^nKCV4boD0@ERgZfcz!Vr+&YO1bo6m*HZTN~Bi<`37*n zv>5nuB9VgcE5SQW;ST~<&guaJBGq~}X2ZEF?n`^QV!(}s@8#l3FH*aHyc_gy3&6Tx zPNEND@4@i|4{xhJjsovDH1~bN<$!`yZvN3xaAYDu(IM;*{0o32(V90c@2}>ss)yv0 z0F(f)s^&sU3Pxbt{A1vmblLC;XY zPD@-o3qVx3ni5d|{nA;FpYN=LqhlaGlfWf6tIv^J2PruKoC8w5?#zi8pVjO5SI#&P zuRfz9A_o1|d|WPg=^az!t4nYTJ|qoH7#zm!eM89KwT>=3lkf*qzJpJS0hliI?z-0Y z`q~N`@$(Jb^xhzRLa_zLe|woM!7fP}%}a4Na5bbFO6ms`5<0a5K4DL>Tm1LH?rW}z zg$64y_x(%op)#PoRZ%UBIto&!KF^EvTtH(ACw?~bQF;vr4Rw??+xSXc@Z|m(C%C-r z!nL`p8(@Am01n^@S-|JbT_I*$I~|YyG#sJ=@rVKoj5&dP-po9~GY+`Fy3R?;-U=?3 z*-=1XfQA`&MlwRQ5MW73Nx5%+V&dktH`DdW&RiAoXCU&hyNFs2sL5 ziO&aK@Ox`fnWHD{E`wdgE#o~<0VOs726X7q;dy|1i;EvGSnvdgQzkQ~0f6xE@L|BT zXdPtNfW@lj7QYjp12O<4C@VGppOFa@AB$GnIWLdtLt8;i5NK8PU%uv2LG;(8zQ%`bN__MWpu9qkE`T6KI~B%ts| zfW~={B!SC?M|4yMlP>Q^bZ*gVY$}6|CIG5{C$IYfhq7XtecFQafjm&2HL5E+6P%95 z!8&$8Ydj%5L~6Vb0FZUeW8Z&W4GW6gnLHxSZMtp)07{HW-`2t8^RV6opH;!xda&An z%4*oM0)YF5hco)tP&ByFxO+Wsik{G53E6ass_n0H$qa^C*iiv56~oMY_^T*~48T$$ ze&6r$nDupF9%`TkLW6W1Jd)0!!Gi&)X>f6|)J8<8mJXtIBn{Z@b|z1rOj=qRUa&)G zn)!P@C)O$kdIH^)>Y|J#f`fxuwrm+mNl8eOI^68+Y~teLFdB_AU{-Dh>4GpD*g@u_fzWCy?jEsyLWzXj~!=L}H@<-!8 XQsj-H+5#Ug00000NkvXXu0mjf`BfCv literal 0 HcmV?d00001 diff --git a/data/icons/tray_message.png b/data/icons/tray_message.png new file mode 100644 index 0000000000000000000000000000000000000000..9f70386facb32301513c5b0cab70c0b0d8003b2d GIT binary patch literal 2170 zcmV-=2!;2FP)hOiMXQ31rD|<$6JM*KHDjWJ8e2P|YBNKeOz@3r zqckiDsZJPDb<%_k=EWI<6PO4F!H9^g@+MYLc42qfXZLwKJu~MY&h!~sS5~Go`Of_2 zKL4HX^<39EbLPIEL=Xi2Ka+HP`C|cTLm&}?aX1|u)AVzd^E(RBqnac=0e?bsF&$zOmM zW}hcBWdf60X$v!M47JsfbafS}q(MQp;vaGMBj6=m9J=Klh4digtMSvz&)59WJQNKZU%#5Sck{$EF2JLh_lXO@ zy;CQcy5gH8ODKtht{y%(NMHXE8K6H;Iz={3HbW*IU7s+5)|08uii5}QVEZn9wcc%E z=bs6?ux4l@6phZLP+;>bOJ%1`5aXrI{Ob?cx{Li?LwS>N%4k+EVsfh(?|sPRxg6}( zfvKTmZm1nta?e$v{5TZE__NbFX(VelDPlP~aR}We&;HzrEq?gglBm_{r!e9yQZ)cdWtOg{voLo3f&~kHm`o-E zMj&kZUO7Vv+9QHg{PUi`Ko zSQXZ|^U2^-IL`%vXxxZD)ZpYf3A7vB-Bh{+^zHnZ0I8&7&ej# zCRH(JJmbFZ9n$4tRDuuvT73Zrw@pESDZp})t7v$^osKy`vqX;yVJ5EvHD zu4QxzXuFr*U2Zt9-HJ8*Vv}!#Zp*_C>^a)U+=C0hEHN^RF@H8X<|f@gC&-Cv96B*0L3WxT}n$6Seyu{)PXsFIoW4tpN2vd zWpQ$4RvzLPJ(L0_Wck_&v}S!Q8j{>Fl9_cR@Ww#&XTeQl39_=QJI*HMrM4LV!+RPc=k}m7sEgy?sN5- z%$x|m6FS#I5^(E{(~X_ni~>=3{XLa|_lqp;#DS7^aT}w?aB>#rdCaG4agNC<5?82i?;QhNugB3w)`OlhRz> z7>(JldznChzuuAB67ZG+^=Lo6Wra3|i^{n0}(;%IKQ-=oHHQ%UaNbCm;=BB|l3f5^Mf> zoeO_73xKMG<4RTh;q~O}Y(E4Z3Y|ZMBmnMO(V_g?cVpi|$DhbW*I^cJ1n=WffFy{z zunEiO|BiA2#p7K-d{^~buhKaH7KW~e0g~d}yQxdh(rqZGAn$VB_-?_{WXp%izAyv3Rt7p~VOCZkhk8 z))mS1yuOAh7jkDaTl(oM8#Yo2CT3~L(07Pc-}T%ce)d1$Wjr(3ZI#&wp8K32`0~gg zczIP2luN;<#;z?vF#oKe>x+UhRRR=nW(C)e+}K(^I_t(QGic6W^kkXf4u*on!ZXWvjZ zcdx)te%!`Y&0@6gWBxk~lnt4dEHfH-`ZTJO0Q8rcwu!fL;L_0Xc^G^F@gi0>r(ONZ z6vkDFQO528-s7#3dW<&qr~17%zux~)Ez zhkWz#_{DWxR?n$fCS+;N4F01pKz~54OfF!5k!|@XZw|1!m+mrH5PE%QIF4Dri`&JK zLMA~vAzF!66p@RhLwSQ?W$1M6a2<5tiMP;(Q==GPB3%kFIKcq9DEhDyZ(vIlYlq>W w`>37C;K*c;xORkWF1%mAW5^%>t#Z8iU-s61O@=3jQvd(}07*qoM6N<$f(|7segFUf literal 0 HcmV?d00001 diff --git a/data/icons/tree_channel.png b/data/icons/tree_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e83254b638a2b939e71f07b182dae793009080 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE9PK^lLGYXua=0dqb|0 z(0Aed#4mEkrXFFQVIkRU)!iwO@P)-K`H`TB-dCnMEei~^#gkV`ducIu)E`>3<^AjG zztK&BfkHBj6^DMzTFe^of29Ve$ooUjD*2X*ObOZ>y?Y%u!-GJf7{-VfofVRNRrl^& zA4u7ByT`KOXwIvCK3V<4ybKHqr#Hn33O05;u<$d!$H2qsdoZIxGtYU;WIu=L8{Rt1 zcMa9-|9(@J`Qv$g`5*Dqb~CuG?wq}|YY~H>BZuJ)ub;a966xg(BCQv{ZcM%SH|N!2 z9dFH+1n23Q)!EOlecrSASW_MIFQcQU1?I~ieR%rw>)mljBv$9#p2l!3b58*Q7;IDui+ui&r$;~AC~$Nu>2&ag&oQMh53JODVWnpw>WFU8GbZ8({Xk{Qr zNlj3Y*^6%g00P@dL_t(I%YBneXk2v^#(($TnR}B-G7U*PrUTYAO-$_~)`SY0g;DBQ zQSd=%U5p#0rCSRvf-7|?=t|wWF(@ulNPHHB5F!+#1Fo1C&nVpwJw|91JDi>Ji-p;#bS}#``x~kI z0s;lstrNJr$VQoFb(`U*UZQL8VVrsiYbTG9I;!@JK0XF~w9jh^tV?~3ribfmSd|S@ zO_SvPLkQO<-ZKQ6fxU4Py?-DMJbITvW^y8%sEzc`E!r50LR{};2bE@{iYVQ}EG*$w zmXWBqZes(pJ{Y;Tw|dLX z?scdEpq)6?|Lf^thfpc=!0`u(^(oXto%ZEX3jb6XN~;9PV|d0fYE`NHIA7G)c8{jh zhcnTwt=xRe1Cf?h+U7~?Gb*x+d~*;%Qp-Pm4X#hWojr5O zP%@Jf(dl6a(_IC?UU->DuDr$<3!A7~oHw6MGxPD6oI5{G*xtbhKWq{Pf{_z_1lOnU zxKMYy5W)f7;sqQGbN<|;A_P_@?OsKBdB%N^wYXy?z{hX9B|AAm%qhztbZF0Qk@v5O2m zI%*||rg7igS9h|o2VVr@J>%<{ ls{n0#&7ONiSw`}me*w>=TB^eO7GMAX002ovPDHLkV1j#Olc4|r literal 0 HcmV?d00001 diff --git a/data/icons/tree_server.png b/data/icons/tree_server.png new file mode 100644 index 0000000000000000000000000000000000000000..acddccc92c6b3729dbcfc0f315f0fa138e022fb6 GIT binary patch literal 568 zcmV-80>}M{P)wa;y%E}Mg#W+jD`(-0w2H^5cUx^7Gweg zH<2|pk@hbTG0}@nch?3x-K(QAd*DKG?>(pLRF&cyPg?8We1O4V@EQ2U9kMK!OYwbQ zeBT$(^Tc&saa~u8F=C97@pvp+YXQDqv9;E6KA*41_XJL-lkE5VPz38zL@C8+H2TN^ ztyU|Ft@n?o(}{Aq{E$4IPBF&(6VO_J0ltS9$z&2^3?hPv5Cj1tg75o(36@0=1flJp zR=3*)px5gGa6BHF&*uP$NR%mzLm_}pr!%ucVu(hg5q%0PP)Z>p7-NXX<0z#7==b|i z)?hGr1zxq*Vp$f$;gHp8MLwUWR4TFEZt;CTsz5}@X0zcwe2cwrlH)iOi$!L$8A>VQ z@i>J-Av%{9Zl)k26bc0U=JjyW7k+ ze7dpVc^*L!MBW|8!Sg&E#{q~&_=ZI6(ZcL@I{-GD4T(g8^?FS#7K=7E+`B6ahr@wP zCIdjFQX!Q}(QGzJrBc*tHPY$yO`=PI=a-k4AN)U_0sa7dP!az6a|M$C0000f=aN=#)Y=sMXW9~6k=xULU18eq^Pwm5>f&c14BZf zYe95nK#JnRiH*==SAxmkLmxdrjL^?BWW`;2x>%z19x#ygF@3}wxCj{ps zol&BI3dr$TBKH?fG@Vgwj@VLE`>*x`sHT~#`1-X0&1|$C>5O7D8g(O`Q4IH5!>UCA z#B@f9T4bxM*W2c190hpr@ILWaLI!dGBA^c595S9hn=kAOg|QenCF1t1xZCGP(7 zj844Dzcfmf65S_zD3%MD6HEfSt3fc5It1c_#+iAee&74H7!|X-x^T}q_i*kN_SBU$=aMa4Mo5K@ zQohFQ#2gQR(r%pW>Qk>WO;ab%r252b+L^9b1EyzI!l$33YZLR_yLr)*JI|~$09Vr- zeSD++d-ti{uGK;i{w`Lfy0#&;%DVIXnCm~?ZTeg5!yohY;L&vS2EYK^ABn$B9`EVO z{wO#XMe6%TJkK~|RIGJW%K;s!cIoxXLob)Z`5@q%j-)x?-G8L7_-i#(gBVX7Xv3+3 zs$h&zTMJxoPY0QkWPld$;65%{3mfZJjVA~S0wRKJC7`Mzf@?d}Mo$NWKvH8uDsteQ z6Olb60ae{ePmM&P5(g6ACX^ZgaUvqy1W;6H2&m8)AkGm2Mhi7&ZGDq?qS?8v6R0Rg zL5%E>R292vY!D2zmWMi%`=vRNAm;nd z^L;{V<>yk4@u}R*=xc5Pi@>S?T)&`l_eJDrWBB#}nX`v=FmS|O=)!#2EsiZP`8CTE uU1gbz~8}t{+T+fV6<|5<(0000K$;3?*S!<$7 zRISg~CRZnb%F&!0t~#4}K0MQXVYpv8?by9%Ev&Gy@WKR(OLuFp*T<8Ou1N6soz(z| zJ3VLmp4?x_p1+meDVL02*_5#AOBnpIs?D>f2d?X=(<@XfOJQx|%SQkWkiB<%Hhu1D z`uEy58)1}o6QZ?am3G9KCPA>x$@E2Obd>YemEs~L^IgS9a+kaNuJxC;){JOGY1ba~ z5QP$jBW;A$l1=sIN#=V-0Z%C}cH?iPXfy*Q+C>0`LPQ}r2oAK)c&T38OlAn>Nxip)hM7!l85USeb>dVc~uS_b{rL4ua0DTCEiwHPQLMj`x_%q8>KuH5N zbHd-$Jza&a%q3|w8d%#9!9@fSadBhq68al#O^?mh-)=tx)-{0n>M!h;K7}S7<~z~@ z5|4M{IG%M}4-++H=hp|erpM-j@t+TYBCyla{9s6`Pv2W|u|j(xH=4+u9gHkV8yRED zrJ_HxJY^QbH^2{I8!*E0@qi4F+AA9ZB_II&{m?(*nBAr`pn%)}0000}_0)uoj;fPgdS88L=!;p%8!x z<^~{ibU=RIeZ+Mb{S0$z3eI(pT}`?lS3R*T5!*Jc@0PYUc5**V*QsG9;RX;^QMl-r zO8B*!65B>Z{(-dG(k@3?Tmj_HI1z z0If=};%{$b#kx!rVA;)(5=^x!Td)qeY8oEq(pj&4Fr@&q9{`}Eol?kTxCe7UUIB%9 zn8-hUOvmss5!-GJ72O$QH~)*pTzPpB(tx7@mf%A*@3=#s-k%Al1|`&g2rCvdI(iU{ zFNKAdyn463JPEh?Yjq2NbP)FdjLgFPYp7(wWMTISd^rtwfD=Fupqu_`Lxq7}AQFgN fAP+b|r7rpd@Nk`3r++qL00000NkvXXu0mjf7=8Mg literal 0 HcmV?d00001 diff --git a/data/icons/ulist_op.png b/data/icons/ulist_op.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3c04cf7dc42970ffe1f7568f5707677fa5db76 GIT binary patch literal 691 zcmV;k0!;mhP)VVj;mUOOUUs_lr0-5jK8|Od0nkIo z-N!dpdiy(5>suS)#@43n6mpU)?z(u)cNYgbtfnnCl3m)ZtWV~r0SsXD!PU22m(Qf; z7ZzO!u#rhThh!x)AjBv>E17^YoQGYWe}m+EWcY=3eLsMVTe{8lvzsT>`u`TBRcd5U_12%t_BXiV4Aa=v~L zNP8$5Ju+N16pb4ws3{@>>W&#e1&d3hF{uL@JfbKcX^5CP^;AR!aG)R}sDh{NFBMsv%uN6}0}jfErEE)g{m8is87Wl{a8V?x$2DSt7gH&0SC|`Lo%uOm zegte9KzXzJZfzl3iMRSgo$VQ^Y4)*%IX__pr9iem6_^`eomqYL>prjy>*xjW71#kn;eXTuX`tccSrs4$lz`$N Z({B}x=vIx>PEY^<002ovPDHLkV1oQpGMfMZ literal 0 HcmV?d00001 diff --git a/data/icons/ulist_owner.png b/data/icons/ulist_owner.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fe13a6b93e53b171c80b20762e79381c4efe0d GIT binary patch literal 678 zcmV;X0$KfuP)MNwE8x@_mF4+tTQs7>vP3Thct(85JVe?XfG z${-4&O%O@TP_Yl85TYiSpdibcoKa^+NAG=F%tTRVbr$D5=kRdEKR9+GwJ(`$K8)x# zqg1UdzkD!SyaSZ}*6BBCOVd4aZTIuOzMdUU0fqpvx>jQRMK*f<>f4z|_ZMzn8qVnI zm2c(&E|0MJ{J8_4dUx$iFD`wJ%GFubR_C?4S~BlL>+j$0H)h;mp-`xf-YSj*cz~0q z_DuHlY)OC5&zKRrAZV6%33JXXwi@NiB3+q{YHh3Soq4-3T`I;O-O=Nz{k^?gcNFG7 zM^YfCgb87Q~-3WH?l-#jHgu&dGxW5>6iQNCJ?>j#OI< z9UUzLKqioL-DWXnvE&jU&>utngAMLT#BzQeus*QZN`{cUNludc#~>s}y}m?j5#U{= zvhp&H%QS~618W#)h#mDqLh?k>vdWc87O1+1_lkEXCO$=}RI4*Hs|)K1$RP6YYo~|*0fTpI9%JMv8&vH}mrfZLZvIlrSQ+qR) zpRIPLZEt6Lw^~|~B*KIx!VpwZE;q~LM<1qc-}reE$O7{MxNxOY*N1;tW)p)$N7_$! zb)^TQcx|1TMN3PI*|DejCyk^WkOw01KaxNOSl?Jy6(|5@VClE$7vRp`?JmNKCIA2c M07*qoM6N<$f?X>puK)l5 literal 0 HcmV?d00001 diff --git a/data/icons/ulist_voice.png b/data/icons/ulist_voice.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc13ad875bca241f58ae15919a33f190af89848 GIT binary patch literal 670 zcmV;P0%84$P)5(_t9LKhOKVb8B-piPmf;nn@XC1%gLU78HV1m!Lnuf-XUaJQaffLWeGO z7DABn5Op$Rq9x>^T&5UKr>^I0i_#)c(M%G4d zS`AR&`K+n?;nN>&9nG=zjgptm?n*9KmVCZ!wa?h|ms_;1i}!A%rQl3F`Us!_uHGH| z)O?{aHveEn7~B=;?ZKO|&PoH2;~xuQ?Uz8oJ(kG2Wg^6+ER8 zqqIG^LxEOcjADCx*G5|#Id$nyKM*w9AG}p`HN{dvX{AwB0031@6e5BRN5X_oHgy9H zMvIEu3Rqhat@NQ+3Pg_DXEYU*4gq1~*@}Y#rIZC^4^RiL?!zLoSFsfj(8?|DOcr-t zLZKQ9RY>;aiaLa}hH|+mrQBu`C@3c}@G3d|&8v$9lm#p5=oV1|0zTuH^`$H;GsB}m zMgg0tuj3Dv7t+MyVKF|zQk5p4H3R~F@>@GBPJBqXsj=5UUIP?Y$EVZFwjiO#o@hh8 z9IN$HQ)8^Z#!z;xq!-ut{(da6HvaetkOZ;@WZw2!YCC&lo%i}9XIi>lkC3(2 zD>=WDD>K8R)lCb)2H*+*M-XTL!qv|z02v?;EU;(3Ko$N&HU07*qoM6N<$ Eg8$?$vH$=8 literal 0 HcmV?d00001 diff --git a/data/man/hexchat.1.in b/data/man/hexchat.1.in new file mode 100644 index 0000000000000000000000000000000000000000..1445cc94fd7e4d66ce8e6bb082f8b0f372179d7f --- /dev/null +++ b/data/man/hexchat.1.in @@ -0,0 +1,55 @@ +.TH HEXCHAT "1" "April 2013" "HexChat @VERSION@" "User Commands" +.SH NAME +HexChat \- IRC Client +.SH DESCRIPTION +.SS "Usage:" +.IP +hexchat [OPTION...] URL +.SS "Help Options:" +.TP +\fB\-h\fR, \fB\-\-help\fR +Show help options +.TP +\fB\-\-help\-all\fR +Show all help options +.TP +\fB\-\-help\-gtk\fR +Show GTK+ Options +.SS "Application Options:" +.TP +\fB\-a\fR, \fB\-\-no\-auto\fR +Don't auto connect to servers +.TP +\fB\-d\fR, \fB\-\-cfgdir\fR=\fIPATH\fR +Use a different config directory +.TP +\fB\-n\fR, \fB\-\-no\-plugins\fR +Don't auto load any plugins +.TP +\fB\-p\fR, \fB\-\-plugindir\fR +Show plugin auto\-load directory +.TP +\fB\-u\fR, \fB\-\-configdir\fR +Show user config directory +.TP +\fB\-\-url\fR=\fIURL\fR +Open an irc://server:port/channel?key URL +.TP +\fB\-c\fR, \fB\-\-command\fR=\fICOMMAND\fR +Execute command: +.TP +\fB\-e\fR, \fB\-\-existing\fR +Open URL or execute command in an existing HexChat +.TP +\fB\-\-minimize\fR=\fIlevel\fR +Begin minimized. Level 0=Normal 1=Iconified 2=Tray +.TP +\fB\-v\fR, \fB\-\-version\fR +Show version information +.TP +\fB\-\-display\fR=\fIDISPLAY\fR +X display to use + +.SH AUTHOR +This manual page was written by Davide Puricelli for the Debian GNU/Linux system (but +may be used by others). diff --git a/data/man/meson.build b/data/man/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..8f07f558344e951f45784fc063b47bb474bf9810 --- /dev/null +++ b/data/man/meson.build @@ -0,0 +1,10 @@ +man_conf = configuration_data() +man_conf.set('VERSION', meson.project_version()) + +configure_file( + input: 'hexchat.1.in', + output: 'hexchat.1', + configuration: man_conf, + install: true, + install_dir: join_paths(get_option('mandir'), 'man1') +) diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..6c6b1a9c3ffa231dac0bfd2caa673a5d61e3f747 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,11 @@ +if get_option('plugin') + subdir('pkgconfig') +endif + +if get_option('gtk-frontend') + subdir('icons') + subdir('misc') + subdir('man') +elif get_option('theme-manager') + subdir('misc') +endif diff --git a/data/misc/io.github.Hexchat.Plugin.metainfo.xml.in b/data/misc/io.github.Hexchat.Plugin.metainfo.xml.in new file mode 100644 index 0000000000000000000000000000000000000000..b32a919150c15766b7643b6969aff658e15b2bce --- /dev/null +++ b/data/misc/io.github.Hexchat.Plugin.metainfo.xml.in @@ -0,0 +1,11 @@ + + + io.github.Hexchat.Plugin.@NAME@ + io.github.Hexchat + @NAME@ Plugin + @SUMMARY@ + https://hexchat.github.io/ + @LICENSE@ + CC0-1.0 + tingping_AT_fedoraproject.org + \ No newline at end of file diff --git a/data/misc/io.github.Hexchat.ThemeManager.desktop.in b/data/misc/io.github.Hexchat.ThemeManager.desktop.in new file mode 100644 index 0000000000000000000000000000000000000000..705f24ba2926b3a780550299c8d6e662e104d3c8 --- /dev/null +++ b/data/misc/io.github.Hexchat.ThemeManager.desktop.in @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=HexChat Theme Manager +Comment=A simple theme manager for HexChat +Exec=thememan %f +Icon=hexchat +Terminal=false +Type=Application +MimeType=application/x-hct; diff --git a/data/misc/io.github.Hexchat.ThemeManager.xml b/data/misc/io.github.Hexchat.ThemeManager.xml new file mode 100644 index 0000000000000000000000000000000000000000..f76b689b09a56234615c90da76241d93beca309c --- /dev/null +++ b/data/misc/io.github.Hexchat.ThemeManager.xml @@ -0,0 +1,8 @@ + + + + HexChat theme archives + + + + diff --git a/data/misc/io.github.Hexchat.appdata.xml.in b/data/misc/io.github.Hexchat.appdata.xml.in new file mode 100644 index 0000000000000000000000000000000000000000..6e3cf2e67da9047de766ebaf59d6d0fd37bf52c1 --- /dev/null +++ b/data/misc/io.github.Hexchat.appdata.xml.in @@ -0,0 +1,163 @@ + + + io.github.Hexchat + HexChat + io.github.Hexchat.desktop + HexChat + CC0-1.0 + GPL-2.0+ + hexchat + IRC Client + +

HexChat is an easy to use yet extensible IRC Client. It allows you to securely join multiple networks and talk to users privately or in channels using a customizable interface. You can even transfer files.

+

HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, logging, custom themes, and Python/Perl scripts.

+
+ http://hexchat.github.io + https://github.com/hexchat/hexchat + https://goo.gl/jESZvU + https://hexchat.readthedocs.io/en/latest/ + + + http://i.imgur.com/tLMguQz.png + Main Chat Window + + + + + hexchat.desktop + + + + +

This is a minor release with small improvements and fixes:

+
    +
  • Add support for SCRAM SASL mechanisms
  • +
  • Add option to hide nick from window title
  • +
  • Change SERVER command to default to TLS, adding an "-insecure" argument
  • +
  • Increase max server password length to 1024
  • +
  • Fix detecting some URLS causing a crash
  • +
+
+
+ + +

This is a minor release with mostly bug-fixes:

+
    +
  • Add `-NOOVERRIDE` flag to the `GUI COLOR` command
  • +
  • Add `-q` (quiet) flag to the `EXECWRITE` command
  • +
  • Rename installed icon to match app-id (Fixes notification icon)
  • +
  • Fix escaping already escaped URLs when opening them
  • +
  • Fix Python scripts not being opened as UTF-8
  • +
  • Fix `TIMER` command supporting decimals regardless of locale
  • +
+
+
+ + +

This is a feature release:

+
    +
  • Add support for IRCv3 SETNAME, invite-notify, account-tag, standard replies, and UTF8ONLY
  • +
  • Add support for strikethrough formatting
  • +
  • Fix text clipping issues by respecting font line height
  • +
  • Fix URLs not being escaped when opened
  • +
  • Fix possible hang when showing notifications
  • +
  • Print ChanServ notices in the front tab by default
  • +
  • Update network list
  • +
  • python: Rewrite plugin improving memory usage and compatibility
  • +
  • fishlim: Add support for CBC and other improvements
  • +
+
+
+ + +

This is a bug-fix release:

+
    +
  • Fix various incorrect parsing of IRC messages relating to trailing parameters
  • +
  • Fix SASL negotiation combined with multi-line cap
  • +
  • Fix input box theming with Yaru theme
  • +
  • python: Work around Python 3.7 regression causing crash on unload
  • +
  • sysinfo: Add support for /etc/os-release
  • +
  • sysinfo: Ignore irrelevant mounts when calculating storage size
  • +
+
+
+ + +

This is a minor release:

+
    +
  • Remove shift+click to close tab binding
  • +
  • Always unminimize when opening from tray
  • +
  • Fix some translations containing invalid text events
  • +
  • Fix sending server passwords starting with ":"
  • +
+
+
+ + +

This is a very minor bug-fix release:

+
    +
  • Fix performance regression
  • +
+
+
+ + +

This is largely a bug fix release though it has some large behind the scenes changes:

+
    +
  • Rename data files to use *io.github.Hexchat* name
  • +
  • Add option (irc_reconnect_rejoin) to disable auto-rejoin on reconnect
  • +
  • Add ability to set custom tray icon separate of app icon
  • +
  • Fix Enchant 2.0+ support
  • +
  • Fix input box theming with Adwaita-dark
  • +
  • Fix custom sounds not respecting omit if away option
  • +
  • Fix detecting if a tray doesn't exist on x11
  • +
  • Fix cutting off ctcp text after ending \01
  • +
  • Fix /ignore not accepting full hosts
  • +
  • Fix characters getting cut off when their width changes
  • +
  • Fix various possible crashes
  • +
  • Change preference window to be scroll-able
  • +
  • Remove ctrl+w binding by default
  • +
  • doat: Fix channels with / in them
  • +
  • fishlim: Fix key exchange
  • +
  • fishlim: Fix building against LibreSSL
  • +
  • sysinfo: Fix pci.ids file not being found on some distros
  • +
  • sysinfo: Make libpci optional
  • +
  • lua: Avoid loading the same script multiple times
  • +
  • Update translations
  • +
+
+
+ + +

This is another bug fix release:

+
    +
  • Fix issue with timers causing ping timeouts
  • +
  • Fix building against OpenSSL 1.1
  • +
  • Fix /exec output printing invalid utf8
  • +
  • Replace doat plugin with an internal command
  • +
  • Change how tab colors interact with plugins
  • +
  • Enable filtering the beep character by default
  • +
+
+
+ + +

This is a minor bug fix release just cleaning up a few issues:

+
    +
  • Fix crash with bad translations
  • +
  • Add new mhop command
  • +
  • Change ping timeout to 60 by default
  • +
+
+
+
+ + UserDocs + HiDpiIcon + Notifications + + + intense + + tingping_at_fedoraproject.org +
diff --git a/data/misc/io.github.Hexchat.desktop.in.in b/data/misc/io.github.Hexchat.desktop.in.in new file mode 100644 index 0000000000000000000000000000000000000000..5e00ce8f2539ade978577b488d6a330e5ab49883 --- /dev/null +++ b/data/misc/io.github.Hexchat.desktop.in.in @@ -0,0 +1,19 @@ +[Desktop Entry] +Name=HexChat +GenericName=IRC Client +Comment=Chat with other people online +Keywords=IM;Chat; +Exec=@exec_command@ +Icon=io.github.Hexchat +Terminal=false +Type=Application +Categories=GTK;Network;IRCClient; +StartupNotify=true +StartupWMClass=Hexchat +X-GNOME-UsesNotifications=true +MimeType=x-scheme-handler/irc;x-scheme-handler/ircs; +Actions=SafeMode; + +[Desktop Action SafeMode] +Name=Open Safe Mode +Exec=hexchat --no-auto --no-plugins diff --git a/data/misc/meson.build b/data/misc/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..2abf30758c03b956f125ddf9053d8c092fe40f09 --- /dev/null +++ b/data/misc/meson.build @@ -0,0 +1,127 @@ +appdir = join_paths(get_option('datadir'), 'applications') +metainfodir = join_paths(get_option('datadir'), 'metainfo') +desktop_utils = find_program('desktop-file-validate', required: false) + +if get_option('gtk-frontend') + if get_option('install-appdata') + hexchat_appdata = i18n.merge_file( + input: 'io.github.Hexchat.appdata.xml.in', + output: 'io.github.Hexchat.appdata.xml', + po_dir: '../../po', + install: true, + install_dir: metainfodir + ) + + appstream_util = find_program('appstream-util', required: false) + if appstream_util.found() + test('Validate io.github.Hexchat.appdata.xml', appstream_util, + args: ['validate-relax', hexchat_appdata] + ) + endif + endif + + desktop_conf = configuration_data() + if dbus_glib_dep.found() + desktop_conf.set('exec_command', 'hexchat --existing %U') + else + desktop_conf.set('exec_command', 'hexchat %U') + endif + + desktop_file = configure_file( + input: 'io.github.Hexchat.desktop.in.in', + output: 'io.github.Hexchat.desktop.in', + configuration: desktop_conf + ) + + hexchat_desktop = i18n.merge_file( + input: desktop_file, + output: 'io.github.Hexchat.desktop', + po_dir: '../../po', + type: 'desktop', + install: true, + install_dir: appdir + ) + + if desktop_utils.found() + test('Validate io.github.Hexchat.desktop', desktop_utils, + args: [hexchat_desktop] + ) + endif +endif + +if get_option('theme-manager') + htm_desktop = i18n.merge_file( + input: 'io.github.Hexchat.ThemeManager.desktop.in', + output: 'io.github.Hexchat.ThemeManager.desktop', + po_dir: '../../po', + type: 'desktop', + install: true, + install_dir: appdir + ) + + if desktop_utils.found() + test('Validate io.github.Hexchat.ThemeManager.desktop', desktop_utils, + args: [htm_desktop] + ) + endif + + install_data('io.github.Hexchat.ThemeManager.xml', + install_dir: join_paths(get_option('datadir'), 'mime/packages') + ) +endif + +if get_option('plugin') + plugin_metainfo = [] + + # FIXME: These should all get translated somewhere + if get_option('with-checksum') + plugin_metainfo += [ + ['Checksum', 'Calculates a checksum for all sent and recieved DCC files', 'MIT'] + ] + endif + + if get_option('with-fishlim') + plugin_metainfo += [ + ['Fishlim', 'Allows setting a key for encrypted conversations', 'MIT AND GPL-2.0+'] + ] + endif + + if get_option('with-lua') != 'false' + plugin_metainfo += [ + ['Lua', 'Provides a scripting interface in Lua', 'MIT'] + ] + endif + + if get_option('with-perl') != 'false' + plugin_metainfo += [ + ['Perl', 'Provides a scripting interface in Perl', 'GPL-2.0+'] + ] + endif + + if get_option('with-python') != 'false' + plugin_metainfo += [ + ['Python', 'Provides a scripting interface in Python', 'GPL-2.0+'] + ] + endif + + if get_option('with-sysinfo') + plugin_metainfo += [ + ['Sysinfo', 'Adds command to display system information', 'GPL-2.0+'] + ] + endif + + foreach metainfo : plugin_metainfo + name = metainfo[0] + conf = configuration_data() + conf.set('NAME', name) + conf.set('SUMMARY', metainfo[1]) + conf.set('LICENSE', metainfo[2]) + + configure_file( + input: 'io.github.Hexchat.Plugin.metainfo.xml.in', + output: 'io.github.Hexchat.Plugin.@0@.metainfo.xml'.format(name), + configuration: conf, + install_dir: get_option('install-plugin-metainfo') ? metainfodir : '', + ) + endforeach +endif diff --git a/data/pkgconfig/hexchat-plugin.pc.in b/data/pkgconfig/hexchat-plugin.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..2395723657ea4d394d37d97ddeb24e51b7cd7b05 --- /dev/null +++ b/data/pkgconfig/hexchat-plugin.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=${prefix} +includedir=@includedir@ +hexchatlibdir=@hexchatlibdir@ + +Name: HexChat plugins +Description: Header and path for HexChat plugins +Version: @VERSION@ +Cflags: -I${includedir} diff --git a/data/pkgconfig/meson.build b/data/pkgconfig/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..079e398704dc53d317e29cae00f0c64fe2d1956f --- /dev/null +++ b/data/pkgconfig/meson.build @@ -0,0 +1,14 @@ +pkg_conf = configuration_data() +prefix = get_option('prefix') +pkg_conf.set('prefix', prefix) +pkg_conf.set('VERSION', meson.project_version()) +pkg_conf.set('hexchatlibdir', join_paths('${prefix}', plugindir)) +pkg_conf.set('includedir', join_paths('${prefix}', get_option('includedir'))) + +configure_file( + input: 'hexchat-plugin.pc.in', + output: 'hexchat-plugin.pc', + configuration: pkg_conf, + install: true, + install_dir: join_paths(get_option('libdir'), 'pkgconfig'), +) diff --git a/fedora-mingw64.ini b/fedora-mingw64.ini new file mode 100644 index 0000000000000000000000000000000000000000..3c7d21731e57fa0e3029726201ef4c96b6007ab4 --- /dev/null +++ b/fedora-mingw64.ini @@ -0,0 +1,14 @@ +; dnf install mingw64-{gtk,openssl} + +[binaries] +c = '/usr/bin/x86_64-w64-mingw32-gcc' +cpp = '/usr/bin/x86_64-w64-mingw32-g++' +ar = '/usr/bin/x86_64-w64-mingw32-gcc-ar' +strip = '/usr/bin/x86_64-w64-mingw32-strip' +pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' + +[host_machine] +system = 'windows' +cpu_family = 'x86_64' +cpu = 'x86_64' +endian = 'little' diff --git a/flatpak/io.github.Hexchat.json b/flatpak/io.github.Hexchat.json new file mode 100644 index 0000000000000000000000000000000000000000..94cfb6c8ee7e7d55f722928e1d31f1f56d7c4173 --- /dev/null +++ b/flatpak/io.github.Hexchat.json @@ -0,0 +1,78 @@ +{ + "app-id": "io.github.Hexchat", + "branch": "stable", + "runtime": "org.gnome.Platform", + "runtime-version": "40", + "sdk": "org.gnome.Sdk", + "command": "hexchat", + "finish-args": [ + "--share=ipc", + "--socket=x11", + "--share=network", + "--socket=pulseaudio", + "--filesystem=xdg-download", + + "--talk-name=org.freedesktop.Notifications", + + "--talk-name=org.mpris.MediaPlayer2.*" + ], + "add-extensions": { + "io.github.Hexchat.Plugin": { + "version": "20.08", + "directory": "extensions", + "add-ld-path": "lib", + "merge-dirs": "lib/hexchat/plugins", + "subdirectories": true, + "no-autodownload": true, + "autodelete": true + } + }, + "modules": [ + "shared-modules/gtk2/gtk2.json", + "shared-modules/gtk2/gtk2-common-themes.json", + "shared-modules/dbus-glib/dbus-glib.json", + "shared-modules/lua5.3/lua-5.3.5.json", + "shared-modules/libcanberra/libcanberra.json", + "python3-cffi.json", + { + "name": "lgi", + "buildsystem": "meson", + "sources": [ + { + "type": "git", + "url": "https://github.com/pavouk/lgi.git", + "commit": "95418635aa8151a516d43166227ea2b9d4c4403f" + } + ] + }, + { + "name": "hexchat", + "buildsystem": "meson", + "config-opts": [ + "--buildtype=release", + "-Ddbus-service-use-appid=true", + "-Dwith-perl=false", + "-Dwith-lua=lua" + ], + "build-options": { + "cflags": "-Wno-error=missing-include-dirs" + }, + "cleanup": [ + "/share/man" + ], + "post-install": [ + "install -d /app/extensions" + ], + "sources": [ + { + "type": "dir", + "path": ".." + }, + { + "type": "patch", + "path": "Load-plugins-from-Flatpak-extensions.patch" + } + ] + } + ] +} diff --git a/flatpak/python3-cffi.json b/flatpak/python3-cffi.json new file mode 100644 index 0000000000000000000000000000000000000000..171a384a07f985f22b01d6595ecd966102bcdbfe --- /dev/null +++ b/flatpak/python3-cffi.json @@ -0,0 +1,19 @@ +{ + "name": "python3-cffi", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cffi\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz", + "sha256": "2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/a8/20/025f59f929bbcaa579704f443a438135918484fffaacfaddba776b374563/cffi-1.14.5.tar.gz", + "sha256": "fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c" + } + ] +} \ No newline at end of file diff --git a/flatpak/shared-modules/CODEOWNERS b/flatpak/shared-modules/CODEOWNERS new file mode 100644 index 0000000000000000000000000000000000000000..398c0b70088aa21aeb02e4680e65992c6d8f2e85 --- /dev/null +++ b/flatpak/shared-modules/CODEOWNERS @@ -0,0 +1,18 @@ +# Fallback on Flathub admins for unowned shared modules +* @flathub/reviewers + +/dbus-glib/ @TingPing +/gtk2/ @TingPing +/gudev/ @Erick555 +/intltool/ @TingPing +/libappindicator/ @TingPing +/libcanberra/ @hadess +/libsecret/ @Lctrs +/libusb/ @A6GibKm +/openjpeg/ @bochecha +/python2.7/ @bilelmoussaoui +/linux-audio/ @hfiguiere +/lua5.1/ @Unrud +/mac/ @enzo1982 @Eonfge +/pygtk/ @Eonfge +/gzdoom/ @Eonfge diff --git a/flatpak/shared-modules/README.md b/flatpak/shared-modules/README.md new file mode 100644 index 0000000000000000000000000000000000000000..cde47075063f9cceb9fd20558369ca06a0e5ccb9 --- /dev/null +++ b/flatpak/shared-modules/README.md @@ -0,0 +1,38 @@ +This repository contains commonly shared modules and is intended to be used as a git submodule. + +To use shared modules for packaging an application, add the submodule: + +``` +git submodule add https://github.com/flathub/shared-modules.git +``` + +Then modules from this repository can be specified in a manifest JSON file like this: + +```json +"modules": [ + "shared-modules/SDL/SDL-1.2.15.json", + { + "name": "foo" + } +] +``` + +To update the submodule: + +``` +git submodule update --remote --merge +``` + +To remove the submodule: + +``` +git submodule deinit -f -- shared-modules +rm -rf .git/modules/shared-modules +git rm -f shared-modules +rm .gitmodules +``` + + +[See the description in the Flathub wiki](https://github.com/flathub/flathub/wiki/App-Requirements#shared-modules) for more information. + +Please do not request adding modules unless they have many users in the Flathub repository. diff --git a/flatpak/shared-modules/SDL/SDL-1.2.15.json b/flatpak/shared-modules/SDL/SDL-1.2.15.json new file mode 100644 index 0000000000000000000000000000000000000000..4d00288bb36bd4df7722a461dbac5eda123609b5 --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL-1.2.15.json @@ -0,0 +1,40 @@ +{ + "name": "SDL1", + "rm-configure": true, + "config-opts": ["--disable-static"], + "cleanup": [ + "/bin", + "/share/man", + "/share/aclocal", + "/include", + "/lib/pkgconfig", + "/lib/*.la", + "/lib/*.a" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.libsdl.org/release/SDL-1.2.15.tar.gz", + "sha256": "d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00" + }, + { + "type": "patch", + "path": "sdl-libx11-build.patch" + }, + { + "type": "patch", + "path": "sdl-check-for-SDL_VIDEO_X11_BACKINGSTORE.patch" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "sed -i -e 's/.*AM_PATH_ESD.*//' configure.in", + "cp -p /usr/share/automake-*/config.{sub,guess} build-scripts", + "aclocal", + "libtoolize", + "autoconf" + ] + } + ] +} diff --git a/flatpak/shared-modules/SDL/SDL_image-1.2.12.json b/flatpak/shared-modules/SDL/SDL_image-1.2.12.json new file mode 100644 index 0000000000000000000000000000000000000000..5e1692b6f867c92f636e30cfed8ab384d7416836 --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL_image-1.2.12.json @@ -0,0 +1,19 @@ +{ + "name": "SDL_image", + "config-opts": ["--disable-static"], + "rm-configure": true, + "sources": [ + { + "type": "archive", + "url": "https://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz", + "sha256": "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "AUTOMAKE=\"automake --foreign\" autoreconf -vfi" + ] + } + ] +} diff --git a/flatpak/shared-modules/SDL/SDL_mixer-1.2.12.json b/flatpak/shared-modules/SDL/SDL_mixer-1.2.12.json new file mode 100644 index 0000000000000000000000000000000000000000..ba5a6276089f5b54401efb7b3f23ecbb5966dd25 --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL_mixer-1.2.12.json @@ -0,0 +1,22 @@ +{ + "name": "SDL_mixer", + "config-opts": ["--disable-static"], + "rm-configure": true, + "sources": [ + { + "type": "archive", + "url": "https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.gz", + "sha256": "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f86992a" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "rm acinclude/libtool.m4", + "rm acinclude/lt*", + "AUTOMAKE=\"automake --foreign\" autoreconf -vfi -I acinclude", + "cp -p /usr/share/automake-*/config.{sub,guess} build-scripts" + ] + } + ] +} diff --git a/flatpak/shared-modules/SDL/SDL_net-1.2.8.json b/flatpak/shared-modules/SDL/SDL_net-1.2.8.json new file mode 100644 index 0000000000000000000000000000000000000000..9d3e896cbb42ddc468b49188c87f85121a241c0d --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL_net-1.2.8.json @@ -0,0 +1,19 @@ +{ + "name": "SDL_net", + "config-opts": ["--disable-static"], + "rm-configure": true, + "sources": [ + { + "type": "archive", + "url": "https://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.8.tar.gz", + "sha256": "5f4a7a8bb884f793c278ac3f3713be41980c5eedccecff0260411347714facb4" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "AUTOMAKE=\"automake --foreign\" autoreconf -vfi" + ] + } + ] +} diff --git a/flatpak/shared-modules/SDL/SDL_pango-0.1.2.json b/flatpak/shared-modules/SDL/SDL_pango-0.1.2.json new file mode 100644 index 0000000000000000000000000000000000000000..fdbef4d1f393a8a46355979c29747adb4c68a770 --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL_pango-0.1.2.json @@ -0,0 +1,23 @@ +{ + "name": "SDL_pango", + "config-opts": ["--disable-static"], + "rm-configure": true, + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/sdlpango/SDL_Pango/0.1.2/SDL_Pango-0.1.2.tar.gz", + "sha256": "7f75d3b97acf707c696ea126424906204ebfa07660162de925173cdd0257eba4" + }, + { + "type": "patch", + "path": "SDL_Pango-0.1.2-API-adds.patch" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "autoreconf -vfi" + ] + } + ] +} diff --git a/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json b/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json new file mode 100644 index 0000000000000000000000000000000000000000..c5a04d517450e89d35c90196c22d8007d16dc39f --- /dev/null +++ b/flatpak/shared-modules/SDL/SDL_ttf-2.0.11.json @@ -0,0 +1,22 @@ +{ + "name": "SDL_ttf", + "config-opts": ["--disable-static"], + "rm-configure": true, + "config-opts": [ + "ac_cv_path_FREETYPE_CONFIG=pkg-config freetype2" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz", + "sha256": "724cd895ecf4da319a3ef164892b72078bd92632a5d812111261cde248ebcdb7" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "AUTOMAKE=\"automake --foreign\" autoreconf -vfi" + ] + } + ] +} diff --git a/flatpak/shared-modules/cld2/CMakeLists.txt b/flatpak/shared-modules/cld2/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..d25f857f0e9fedbf3627491635100fda0929c66f --- /dev/null +++ b/flatpak/shared-modules/cld2/CMakeLists.txt @@ -0,0 +1,155 @@ +cmake_minimum_required(VERSION 2.8) +project (cld2) +enable_language(CXX) + +set (VERSION "0.0.197") +set (common_SOURCE_FILES + internal/cldutil.cc + internal/cldutil_shared.cc + internal/compact_lang_det.cc + internal/compact_lang_det_hint_code.cc + internal/compact_lang_det_impl.cc + internal/debug.cc + internal/fixunicodevalue.cc + internal/generated_entities.cc + internal/generated_language.cc + internal/generated_ulscript.cc + internal/getonescriptspan.cc + internal/lang_script.cc + internal/offsetmap.cc + internal/scoreonescriptspan.cc + internal/tote.cc + internal/utf8statetable.cc + ) + +set (cld2_SOURCE_FILES + internal/generated_distinct_bi_0.cc + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_4.cc + internal/cld2_generated_quadchrome_2.cc + internal/cld2_generated_deltaoctachrome.cc + internal/cld2_generated_distinctoctachrome.cc + internal/cld_generated_score_quad_octa_2.cc + ) + +set (cld2_full_SOURCE_FILES + internal/generated_distinct_bi_0.cc + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_32.cc + internal/cld2_generated_quad0122.cc + internal/cld2_generated_deltaocta0122.cc + internal/cld2_generated_distinctocta0122.cc + internal/cld_generated_score_quad_octa_0122.cc + ) + +set (cld2_dynamic_SOURCE_FILES + internal/cld2_dynamic_data.cc + internal/cld2_dynamic_data_loader.cc + ) + +add_library(cld2 SHARED ${common_SOURCE_FILES} ${cld2_SOURCE_FILES}) +set_target_properties(cld2 PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2 + VERSION ${VERSION} + SOVERSION 0 + ) +add_library(cld2_full SHARED ${cld2_full_SOURCE_FILES}) +set_target_properties(cld2_full PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2_full + VERSION ${VERSION} + SOVERSION 0 + ) + +add_library(cld2_dynamic SHARED ${cld2_dynamic_SOURCE_FILES}) +set_target_properties(cld2_dynamic PROPERTIES + ENABLE_EXPORTS On + OUTPUT_NAME cld2_dynamic + VERSION ${VERSION} + SOVERSION 0 + COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE" + ) +install(TARGETS cld2 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +install(TARGETS cld2_full DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +install(TARGETS cld2_dynamic DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) + +set (cld2_internal_HEADERS + internal/cld2_dynamic_compat.h + internal/cld2_dynamic_data_extractor.h + internal/cld2_dynamic_data.h + internal/cld2_dynamic_data_loader.h + internal/cld2tablesummary.h + internal/cldutil.h + internal/cldutil_offline.h + internal/cldutil_shared.h + internal/compact_lang_det_hint_code.h + internal/compact_lang_det_impl.h + internal/debug.h + internal/fixunicodevalue.h + internal/generated_language.h + internal/generated_ulscript.h + internal/getonescriptspan.h + internal/integral_types.h + internal/lang_script.h + internal/langspan.h + internal/offsetmap.h + internal/port.h + internal/scoreonescriptspan.h + internal/stringpiece.h + internal/tote.h + internal/unittest_data.h + internal/utf8acceptinterchange.h + internal/utf8prop_lettermarkscriptnum.h + internal/utf8repl_lettermarklower.h + internal/utf8scannot_lettermarkspecial.h + internal/utf8statetable.h + ) + +install(FILES ${cld2_internal_HEADERS} DESTINATION include/cld2/internal) +set (cld2_public_HEADERS + public/compact_lang_det.h + public/encodings.h + ) +install(FILES ${cld2_public_HEADERS} DESTINATION include/cld2/public) + +set (full_SOURCE_FILES + internal/cld_generated_cjk_uni_prop_80.cc + internal/cld2_generated_cjk_compatible.cc + internal/cld_generated_cjk_delta_bi_32.cc + internal/generated_distinct_bi_0.cc + internal/cld2_generated_quad0122.cc + internal/cld2_generated_deltaocta0122.cc + internal/cld2_generated_distinctocta0122.cc + internal/cld_generated_score_quad_octa_0122.cc + ) + +add_executable(compact_lang_det_test_full ${full_SOURCE_FILES} internal/compact_lang_det_test.cc) +add_executable(cld2_unittest_full ${full_SOURCE_FILES} internal/cld2_unittest_full.cc) +add_executable(cld2_unittest_full_avoid ${full_SOURCE_FILES} internal/cld2_unittest_full.cc) +set_target_properties(cld2_unittest_full_avoid PROPERTIES COMPILE_FLAGS "-Davoid_utf8_string_constants") + +add_executable(cld2_dynamic_data_tool internal/cld2_dynamic_data_extractor.cc internal/cld2_dynamic_data_tool.cc) +add_executable(compact_lang_det_dynamic_test_chrome ${common_SOURCE_FILES} internal/cld2_dynamic_data_extractor.cc internal/compact_lang_det_test.cc) +add_executable(cld2_dynamic_unittest ${common_SOURCE_FILES} internal/cld2_unittest.cc) +set_target_properties(compact_lang_det_dynamic_test_chrome PROPERTIES COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE") +set_target_properties(cld2_dynamic_unittest PROPERTIES COMPILE_FLAGS "-DCLD2_DYNAMIC_MODE") + +add_executable(compact_lang_det_test_chrome_2 internal/compact_lang_det_test.cc) +add_executable(compact_lang_det_test_chrome_16 internal/compact_lang_det_test.cc) +add_executable(cld2_unittest_chrome_2 internal/cld2_unittest.cc) +add_executable(cld2_unittest_avoid_chrome_2 internal/cld2_unittest.cc) +set_target_properties(cld2_unittest_avoid_chrome_2 PROPERTIES COMPILE_FLAGS "-Davoid_utf8_string_constants") + +target_link_libraries(compact_lang_det_test_full cld2) +target_link_libraries(cld2_unittest_full cld2) +target_link_libraries(cld2_unittest_full_avoid cld2) +target_link_libraries(cld2_dynamic_data_tool cld2 cld2_dynamic) +target_link_libraries(compact_lang_det_dynamic_test_chrome cld2_dynamic) +target_link_libraries(cld2_dynamic_unittest cld2_dynamic) +target_link_libraries(compact_lang_det_test_chrome_2 cld2) +target_link_libraries(compact_lang_det_test_chrome_16 cld2) +target_link_libraries(cld2_unittest_chrome_2 cld2) +target_link_libraries(cld2_unittest_avoid_chrome_2 cld2) diff --git a/flatpak/shared-modules/cld2/cld2.json b/flatpak/shared-modules/cld2/cld2.json new file mode 100644 index 0000000000000000000000000000000000000000..8487e31e4776790cf5b8733cc6020f5e3ea4846c --- /dev/null +++ b/flatpak/shared-modules/cld2/cld2.json @@ -0,0 +1,24 @@ +{ + "name": "cld2", + "buildsystem": "simple", + "build-options": { + "cxxflags": "-std=c++98" + }, + "build-commands": [ + "cp CMakeLists.txt ./cld2", + "cd cld2 && mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_BUILD_TYPE=Release", + "cd cld2/build && make && make install" + ], + "sources":[ + { + "type": "git", + "url": "https://github.com/CLD2Owners/cld2.git", + "commit": "84b58a5d7690ebf05a91406f371ce00c3daf31c0", + "dest": "cld2" + }, + { + "type": "file", + "path": "CMakeLists.txt" + } + ] +} diff --git a/flatpak/shared-modules/dbus-glib/dbus-glib.json b/flatpak/shared-modules/dbus-glib/dbus-glib.json new file mode 100644 index 0000000000000000000000000000000000000000..f8b90905dcdc00916b9a95c4344131bd58042fca --- /dev/null +++ b/flatpak/shared-modules/dbus-glib/dbus-glib.json @@ -0,0 +1,23 @@ +{ + "name": "dbus-glib", + "cleanup": [ + "*.la", + "/bin", + "/etc", + "/include", + "/libexec", + "/share/gtk-doc", + "/share/man" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc" + ], + "sources": [ + { + "type": "archive", + "url": "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.112.tar.gz", + "sha256": "7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a" + } + ] +} diff --git a/flatpak/shared-modules/glew/glew.json b/flatpak/shared-modules/glew/glew.json new file mode 100644 index 0000000000000000000000000000000000000000..ae326a23026aa29226b9637dd7024870867b0aa3 --- /dev/null +++ b/flatpak/shared-modules/glew/glew.json @@ -0,0 +1,30 @@ +{ + "name": "glew", + "no-autogen": true, + "make-args": [ + "GLEW_PREFIX=${FLATPAK_DEST}", + "GLEW_DEST=${FLATPAK_DEST}", + "LIBDIR=${FLATPAK_DEST}/lib", + "CFLAGS.EXTRA:=${CFLAGS} -fPIC", + "LDFLAGS.EXTRA=${LDFLAGS}" + ], + "make-install-args": [ + "GLEW_PREFIX=${FLATPAK_DEST}", + "GLEW_DEST=${FLATPAK_DEST}", + "LIBDIR=${FLATPAK_DEST}/lib", + "CFLAGS.EXTRA:=${CFLAGS} -fPIC", + "LDFLAGS.EXTRA=${LDFLAGS}" + ], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/project/glew/glew/2.2.0/glew-2.2.0.tgz", + "sha256": "d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1" + } + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.a" + ] +} diff --git a/flatpak/shared-modules/glu/glu-9.json b/flatpak/shared-modules/glu/glu-9.json new file mode 100644 index 0000000000000000000000000000000000000000..2dfb70b40cb4cea0a1210d54ed6a95494eaaeb29 --- /dev/null +++ b/flatpak/shared-modules/glu/glu-9.json @@ -0,0 +1,12 @@ +{ + "name": "glu", + "config-opts": ["--disable-static"], + "sources": [ + { + "type": "archive", + "url": "https://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz", + "sha256": "6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4" + } + ], + "cleanup": [ "/include", "/lib/*.a", "/lib/*.la", "/lib/pkgconfig" ] +} diff --git a/flatpak/shared-modules/gtk2/gtk2-common-themes.json b/flatpak/shared-modules/gtk2/gtk2-common-themes.json new file mode 100644 index 0000000000000000000000000000000000000000..5f4f791d4308ea70865672f87fc4e215f5266f7f --- /dev/null +++ b/flatpak/shared-modules/gtk2/gtk2-common-themes.json @@ -0,0 +1,250 @@ +{ + "name": "gtk2-common-themes", + "buildsystem": "simple", + "build-commands": [], + "modules": [ + { + "name": "sassc", + "// NOTE": "This is used by Yaru, Greybird, and Materia", + "cleanup": ["*"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/sass/sassc/archive/3.5.0.tar.gz", + "sha256": "26f54e31924b83dd706bc77df5f8f5553a84d51365f0e3c566df8de027918042" + }, + { + "type": "script", + "commands": ["autoreconf -si"] + } + ], + "modules": [ + { + "name": "libsass", + "cleanup": ["*"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/sass/libsass/archive/3.5.4.tar.gz", + "sha256": "5f61cbcddaf8e6ef7a725fcfa5d05297becd7843960f245197ebb655ff868770" + }, + { + "type": "script", + "commands": ["autoreconf -si"] + } + ] + } + ] + }, + { + "name": "gtk2-murrine-engine", + "rm-configure": true, + "// NOTE": "Used by Arc and CrosAdapta", + "cleanup": [ + "*.la" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/murrine/0.98/murrine-0.98.2.tar.xz", + "sha256": "e9c68ae001b9130d0f9d1b311e8121a94e5c134b82553ba03971088e57d12c89" + }, + { + "type": "patch", + "path": "murrine-engine-fix-crash.patch" + }, + { + "type": "script", + "commands": [ + "rm config.guess", + "autoreconf -si" + ] + } + ] + }, + { + "name": "cros-adapta-gtk2-theme", + "// NOTE": "This is used by Chrome OS", + "buildsystem": "simple", + "build-commands": [ + "install -Dm644 index.theme ${FLATPAK_DEST}/share/themes/CrosAdapta/index.theme", + "cp -r gtk-2.0 ${FLATPAK_DEST}/share/themes/CrosAdapta" + ], + "sources": [ + { + "type": "git", + "url": "https://chromium.googlesource.com/chromiumos/third_party/cros-adapta", + "commit": "eb6d8c1832b9181926df107faf41a80887fd982c" + } + ] + }, + { + "name": "arc-gtk2-theme", + "// NOTE": "This is used by Solus and is popular", + "// FIXME": "This has a dependency on inkscape and my patch isn't quite good enough sadly", + "disabled": true, + "config-opts": [ + "--disable-gnome-shell", + "--disable-cinnamon", + "--disable-gtk3", + "--disable-metacity", + "--disable-xfwm", + "--disable-plank", + "--disable-openbox", + "--disable-unity" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/jnsh/arc-theme/releases/download/20200513/arc-theme-20200513.tar.xz", + "sha256": "cd268b878d6ad7c81b7acc0f89b66e26ee9a9a92eafb03b792318d51707f1962" + }, + { + "type": "patch", + "path": "arc-gtk2-theme-Replace-Inkscape-dependency-with-rsvg-convert.patch" + }, + { + "type": "shell", + "commands": ["sed -i 's|\"$srcdir/configure\" $@||' autogen.sh"] + } + ], + "modules": [ + { + "name": "optipng", + "cleanup": ["*"], + "sources": [ + { + "type": "archive", + "url": "https://prdownloads.sourceforge.net/optipng/optipng-0.7.7.tar.gz", + "sha256": "4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452" + } + ] + } + ] + }, + { + "name": "breeze-gtk2-theme", + "// NOTE": "This is used by some KDE distros", + "// FIXME": "This is disabled because breeze depends on KDecoration/Qt5...", + "disabled": true, + "buildsystem": "cmake-ninja", + "sources": [ + { + "type": "archive", + "url": "https://github.com/KDE/breeze-gtk/archive/v5.18.90.tar.gz", + "sha256": "73ff1fee8afb2fc498075d1693a664f6a749b763606d4548f74e225983107730" + } + ], + "modules": [ + { + "name": "extra-cmake-modules", + "buildsystem": "cmake-ninja", + "cleanup": ["*"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/KDE/extra-cmake-modules/archive/v5.70.0.tar.gz", + "sha256": "0e6d0694b2372cbdbc9e64abcaaac21196a15355b360e02e2e833885ae0c62f2" + } + ] + }, + { + "name": "breeze", + "buildsystem": "cmake-ninja", + "cleanup": ["*"], + "sources": [ + { + "type": "archive", + "url": "https://github.com/KDE/breeze/archive/v5.18.90.tar.gz", + "sha256": "55e42656601dd79db1bc40589764606ec203c7f99c84340deed6e3847a4fdaf6" + } + ] + } + ] + }, + { + "name": "elementary-gtk2-theme", + "// NOTE": "This is used by Elementary OS", + "buildsystem": "meson", + "cleanup": [ + "/share/themes/elementary/gtk-3.0", + "/share/themes/elementary/plank", + "/share/plank" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/elementary/stylesheet/archive/5.4.2.tar.gz", + "sha256": "3bc37723daf4ce0b7c9ce4c125ef0055affe8d6654981388ec87d4a23a1ae0ec" + } + ] + }, + { + "name": "yaru-gtk2-theme", + "// NOTE": "This is used by Ubuntu", + "buildsystem": "meson", + "config-opts": [ + "-Dicons=false", + "-Dsounds=false", + "-Dgnome-shell=false", + "-Dsessions=false" + ], + "cleanup": [ + "/share/themes/Yaru*/gtk-3.0", + "/share/themes/Yaru*/gtk-3.20", + "/share/themes/Yaru*/unity" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/ubuntu/yaru/archive/20.10.1.tar.gz", + "sha256": "9da2605088674edf2694a8215b7344fb5209b308dd8220ea21667a914dc8c55d" + } + ] + }, + { + "name": "greybird-gtk2-theme", + "// NOTE": "This is used by many XFCE distros", + "buildsystem": "meson", + "cleanup": [ + "/share/themes/Greybird*/xfwm4", + "/share/themes/Greybird*/gnome-shell", + "/share/themes/Greybird*/gtk-3.0", + "/share/themes/Greybird*/metacity-1", + "/share/themes/Greybird*/xfce-notify-4.0", + "/share/themes/Greybird*/plank", + "/share/themes/Greybird*/unity", + "/share/themes/Greybird*/*.emerald" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/shimmerproject/Greybird/archive/v3.22.12.tar.gz", + "sha256": "410804cd5daca33cbc5c7c4a179f3a334ced87f408e515fc5d9c083a04bec4bc" + } + ] + }, + { + "name": "materia-gtk2-theme", + "// NOTE": "This is used by Ubuntu Studio", + "buildsystem": "meson", + "cleanup": [ + "/share/themes/Materia*/xfwm4", + "/share/themes/Materia*/gnome-shell", + "/share/themes/Materia*/gtk-3.0", + "/share/themes/Materia*/metacity-1", + "/share/themes/Materia*/cinnamon", + "/share/themes/Materia*/chrome", + "/share/themes/Materia*/plank", + "/share/themes/Materia*/unity" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/nana-4/materia-theme.git", + "commit": "b36b379c9256b67e5f63a60c6faf6912f1845b66" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/gtk2/gtk2.json b/flatpak/shared-modules/gtk2/gtk2.json new file mode 100644 index 0000000000000000000000000000000000000000..512b46797522dd296eed62771684914f235e644a --- /dev/null +++ b/flatpak/shared-modules/gtk2/gtk2.json @@ -0,0 +1,108 @@ +{ + "name": "gnome-themes-extra", + "rm-configure": true, + "config-opts": [ + "--disable-dependency-tracking", + "--disable-gtk3-engine" + ], + "cleanup": [ + "/share/themes/Adwaita/gtk-3.0", + "/share/themes/Adwaita-dark/gtk-3.0", + "/share/themes/HighContrast/gtk-3.0", + "*.la" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/gnome-themes-extra/3.28/gnome-themes-extra-3.28.tar.xz", + "sha256": "7c4ba0bff001f06d8983cfc105adaac42df1d1267a2591798a780bac557a5819" + }, + { + "type": "shell", + "//": "We want to avoid generating icons as its 99% of the build time and gnome runtime has it", + "commands": [ + "sed -i 's/icons//' themes/HighContrast/Makefile.am" + ] + }, + { + "type": "script", + "commands": [ + "autoreconf -fsi" + ] + } + ], + "modules": [ + "../intltool/intltool-0.51.json", + { + "name": "gtk2", + "cleanup": [ + "/bin", + "/share/gtk-2.0", + "/share/aclocal", + "/share/gtk-doc", + "/lib/pkgconfig", + "/lib/gtk-2.0/include", + "/include", + "*.la" + ], + "x-cpe": { + "product": "gtk+" + }, + "config-opts": [ + "--disable-dependency-tracking", + "--disable-gtk-doc-html", + "--disable-introspection", + "--with-xinput=xfree" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar.xz", + "sha256": "ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da" + }, + { + "type": "patch", + "path": "gtk2-use-adwaita-theme.patch" + } + ] + }, + { + "name": "ibus-gtk2", + "config-opts": [ + "--disable-xim", + "--disable-dconf", + "--disable-gconf", + "--disable-memconf", + "--disable-schemas-compile", + "--disable-schemas-install", + "--disable-gtk3", + "--disable-setup", + "--disable-ui", + "--disable-engine", + "--disable-python-library", + "--disable-libnotify", + "--disable-emoji-dict", + "--disable-appindicator", + "--disable-glibtest", + "--disable-tests", + "--disable-unicode-dict", + "--disable-introspection", + "--disable-python2" + ], + "make-install-args": [ + "-C", "client/gtk2" + ], + "post-install": [ + "gtk-query-immodules-2.0 > immodules.cache", + "install immodules.cache -t $(pkg-config --variable=libdir gtk+-2.0)/gtk-2.0/2.10.0/" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/ibus/ibus/releases/download/1.5.23/ibus-1.5.23.tar.gz", + "sha256": "b7e8d5bdb7d71a5ba4ee43cdf374675f77121a71c1679c9b9e7e02875bd0e150" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/gudev/gudev.json b/flatpak/shared-modules/gudev/gudev.json new file mode 100644 index 0000000000000000000000000000000000000000..50d9c6b903d5c37882ffe08bcfd385507a0e8065 --- /dev/null +++ b/flatpak/shared-modules/gudev/gudev.json @@ -0,0 +1,33 @@ +{ + "name": "gudev", + "buildsystem": "meson", + "config-opts": [ + "-Dtests=disabled", + "-Dvapi=disabled", + "-Dintrospection=disabled", + "-Dgtk_doc=false" + ], + "cleanup": [ + "/include", + "/etc", + "/libexec", + "/sbin", + "/lib/pkgconfig", + "/lib/systemd", + "/man", + "/share/aclocal", + "/share/doc", + "/share/gtk-doc", + "/share/man", + "/share/pkgconfig", + "*.la", + "*.a" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/libgudev/237/libgudev-237.tar.xz", + "sha256": "0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa" + } + ] +} diff --git a/flatpak/shared-modules/gzdoom/gzdoom.json b/flatpak/shared-modules/gzdoom/gzdoom.json new file mode 100644 index 0000000000000000000000000000000000000000..1ab16bdc833adf2d797699f2bf5e454c4e71f64d --- /dev/null +++ b/flatpak/shared-modules/gzdoom/gzdoom.json @@ -0,0 +1,50 @@ +{ + "name": "gzdoom", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "cleanup": [ + "/lib/*.a", + "/lib/*.la", + "/lib/pkgconfig", + "/include" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/coelckers/gzdoom.git", + "tag": "g4.7.1", + "commit": "107ff702423686414680d6458fea63a2647692c4" + }, + { + "type": "file", + "url": "https://github.com/coelckers/gzdoom/raw/g4.7.1/soundfont/gzdoom.sf2", + "sha256": "fca3e514b635a21789d4224e84865d2954a2a914d46b64aa8219ddb565c44869" + }, + /* I've discussed these patches upstream and a special -DFLATPAK_BUNDLE has been approved */ + { + "type": "patch", + "path": "description.patch" + } + ], + "post-install": [ + "install -Dm 644 gzdoom.sf2 /app/share/sounds/sf2/gzdoom.sf2" + ], + "modules": [ + { + "name": "zmusic", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/coelckers/ZMusic/archive/1.1.8.tar.gz", + "sha256": "73082f661b7b0bb33348d1d186c132deec9132a1613480348a00172b49c9fd68" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/intltool/intltool-0.51.json b/flatpak/shared-modules/intltool/intltool-0.51.json new file mode 100644 index 0000000000000000000000000000000000000000..c1f7d269460098b8b53769c06b22bb8b2e5dcdbe --- /dev/null +++ b/flatpak/shared-modules/intltool/intltool-0.51.json @@ -0,0 +1,15 @@ +{ + "name": "intltool", + "cleanup": [ "*" ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz", + "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd" + }, + { + "type": "patch", + "path": "intltool-perl5.26-regex-fixes.patch" + } + ] +} diff --git a/flatpak/shared-modules/lame/lame-3.99.5.json b/flatpak/shared-modules/lame/lame-3.99.5.json new file mode 100644 index 0000000000000000000000000000000000000000..3b431dcae5c117d2126ee98c28d5b74320d45c39 --- /dev/null +++ b/flatpak/shared-modules/lame/lame-3.99.5.json @@ -0,0 +1,37 @@ +{ + "name": "lame", + "rm-configure": true, + "config-opts": ["--disable-static"], + "sources": [ + { + "type": "archive", + "url": "https://downloads.sourceforge.net/lame/lame-3.99.5.tar.gz", + "sha256": "24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff" + }, + { + "type": "patch", + "path": "lame-msse.patch" + }, + { + "type": "patch", + "path": "lame-gtk1-ac-directives.patch" + }, + { + "type": "patch", + "path": "lame-ansi2knr2devnull.patch" + }, + { + "type": "patch", + "path": "lame-tinfo.patch", + "strip-components": 0 + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "autoreconf -vfi" + ] + } + ], + "cleanup": ["/bin", "/include", "/share/doc", "/share/man", "*.la"] +} diff --git a/flatpak/shared-modules/libappindicator/Makefile b/flatpak/shared-modules/libappindicator/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..5819245506b4492a4841c23583ab35b35370a55d --- /dev/null +++ b/flatpak/shared-modules/libappindicator/Makefile @@ -0,0 +1,10 @@ +all: libappindicator-gtk3-introspection-12.10.json libappindicator-gtk3-12.10.json libappindicator-gtk2-12.10.json + +libappindicator-gtk3-introspection-12.10.json: libappindicator.json.in + sed -e 's/@GTK_VER@/3/g' -e 's/@INTROSPECTION@/yes/g' $< > $@ + +libappindicator-gtk3-12.10.json: libappindicator.json.in + sed -e 's/@GTK_VER@/3/g' -e 's/@INTROSPECTION@/no/g' $< > $@ + +libappindicator-gtk2-12.10.json: libappindicator.json.in + sed -e 's/@GTK_VER@/2/g' -e 's/@INTROSPECTION@/no/g' $< > $@ \ No newline at end of file diff --git a/flatpak/shared-modules/libappindicator/libappindicator-gtk2-12.10.json b/flatpak/shared-modules/libappindicator/libappindicator-gtk2-12.10.json new file mode 100644 index 0000000000000000000000000000000000000000..13ff359d668d097c2f71f1311ace4bd94a303f7f --- /dev/null +++ b/flatpak/shared-modules/libappindicator/libappindicator-gtk2-12.10.json @@ -0,0 +1,129 @@ +{ + "name": "libappindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "rm-configure": true, + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--disable-tests", + "--disable-mono-tests", + "--enable-introspection=no", + "--with-gtk=2" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.la", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libappindicator/12.10/12.10.0/+download/libappindicator-12.10.0.tar.gz", + "sha256": "d5907c1f98084acf28fd19593cb70672caa0ca1cf82d747ba6f4830d4cc3b49f" + }, + { + "type": "patch", + "path": "libappindicator-ftbfs.patch" + }, + { + "type": "patch", + "path": "libappindicator-no-python.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-from-incorrect-signal-emission.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-iterating-icon-themes.patch" + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ], + "modules": [ + "../intltool/intltool-0.51.json", + "../dbus-glib/dbus-glib-0.110.json", + { + "name": "libdbusmenu", + "build-options": { + "cflags": "-Wno-error", + "env": { + "HAVE_VALGRIND_FALSE": "#", + "HAVE_VALGRIND_TRUE": "" + } + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/doc", + "/share/libdbusmenu", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--enable-introspection=no", + "--disable-vala", + "--disable-dumper", + "--disable-tests", + "--with-gtk=2" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libdbusmenu/16.04/16.04.0/+download/libdbusmenu-16.04.0.tar.gz", + "sha256": "b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a" + } + ] + }, + { + "name": "libindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/libindicator", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-tests", + "--with-gtk=2" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libindicator/12.10/12.10.1/+download/libindicator-12.10.1.tar.gz", + "sha256": "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f" + }, + { + "type": "shell", + "commands": [ + "# FTBFS fix", + "sed -e '/LIBINDICATOR_LIBS/ s/\\$LIBM/ $LIBM/' -i configure.ac" + ] + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/libappindicator/libappindicator-gtk3-12.10.json b/flatpak/shared-modules/libappindicator/libappindicator-gtk3-12.10.json new file mode 100644 index 0000000000000000000000000000000000000000..133d4bee473500456ad185c2fca1f270d55e48f1 --- /dev/null +++ b/flatpak/shared-modules/libappindicator/libappindicator-gtk3-12.10.json @@ -0,0 +1,129 @@ +{ + "name": "libappindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "rm-configure": true, + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--disable-tests", + "--disable-mono-tests", + "--enable-introspection=no", + "--with-gtk=3" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.la", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libappindicator/12.10/12.10.0/+download/libappindicator-12.10.0.tar.gz", + "sha256": "d5907c1f98084acf28fd19593cb70672caa0ca1cf82d747ba6f4830d4cc3b49f" + }, + { + "type": "patch", + "path": "libappindicator-ftbfs.patch" + }, + { + "type": "patch", + "path": "libappindicator-no-python.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-from-incorrect-signal-emission.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-iterating-icon-themes.patch" + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ], + "modules": [ + "../intltool/intltool-0.51.json", + "../dbus-glib/dbus-glib-0.110.json", + { + "name": "libdbusmenu", + "build-options": { + "cflags": "-Wno-error", + "env": { + "HAVE_VALGRIND_FALSE": "#", + "HAVE_VALGRIND_TRUE": "" + } + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/doc", + "/share/libdbusmenu", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--enable-introspection=no", + "--disable-vala", + "--disable-dumper", + "--disable-tests", + "--with-gtk=3" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libdbusmenu/16.04/16.04.0/+download/libdbusmenu-16.04.0.tar.gz", + "sha256": "b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a" + } + ] + }, + { + "name": "libindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/libindicator", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-tests", + "--with-gtk=3" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libindicator/12.10/12.10.1/+download/libindicator-12.10.1.tar.gz", + "sha256": "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f" + }, + { + "type": "shell", + "commands": [ + "# FTBFS fix", + "sed -e '/LIBINDICATOR_LIBS/ s/\\$LIBM/ $LIBM/' -i configure.ac" + ] + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/libappindicator/libappindicator-gtk3-introspection-12.10.json b/flatpak/shared-modules/libappindicator/libappindicator-gtk3-introspection-12.10.json new file mode 100644 index 0000000000000000000000000000000000000000..cbe10be577ccfe946e75da6f2e23266e47c9f6c9 --- /dev/null +++ b/flatpak/shared-modules/libappindicator/libappindicator-gtk3-introspection-12.10.json @@ -0,0 +1,129 @@ +{ + "name": "libappindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "rm-configure": true, + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--disable-tests", + "--disable-mono-tests", + "--enable-introspection=yes", + "--with-gtk=3" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.la", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libappindicator/12.10/12.10.0/+download/libappindicator-12.10.0.tar.gz", + "sha256": "d5907c1f98084acf28fd19593cb70672caa0ca1cf82d747ba6f4830d4cc3b49f" + }, + { + "type": "patch", + "path": "libappindicator-ftbfs.patch" + }, + { + "type": "patch", + "path": "libappindicator-no-python.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-from-incorrect-signal-emission.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-iterating-icon-themes.patch" + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ], + "modules": [ + "../intltool/intltool-0.51.json", + "../dbus-glib/dbus-glib-0.110.json", + { + "name": "libdbusmenu", + "build-options": { + "cflags": "-Wno-error", + "env": { + "HAVE_VALGRIND_FALSE": "#", + "HAVE_VALGRIND_TRUE": "" + } + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/doc", + "/share/libdbusmenu", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--enable-introspection=yes", + "--disable-vala", + "--disable-dumper", + "--disable-tests", + "--with-gtk=3" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libdbusmenu/16.04/16.04.0/+download/libdbusmenu-16.04.0.tar.gz", + "sha256": "b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a" + } + ] + }, + { + "name": "libindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/libindicator", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-tests", + "--with-gtk=3" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libindicator/12.10/12.10.1/+download/libindicator-12.10.1.tar.gz", + "sha256": "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f" + }, + { + "type": "shell", + "commands": [ + "# FTBFS fix", + "sed -e '/LIBINDICATOR_LIBS/ s/\\$LIBM/ $LIBM/' -i configure.ac" + ] + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/libappindicator/libappindicator.json.in b/flatpak/shared-modules/libappindicator/libappindicator.json.in new file mode 100644 index 0000000000000000000000000000000000000000..3731595f44f4ed6b36f671bcc58b6cf39107a8c4 --- /dev/null +++ b/flatpak/shared-modules/libappindicator/libappindicator.json.in @@ -0,0 +1,129 @@ +{ + "name": "libappindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "rm-configure": true, + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--disable-tests", + "--disable-mono-tests", + "--enable-introspection=@INTROSPECTION@", + "--with-gtk=@GTK_VER@" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/lib/*.la", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libappindicator/12.10/12.10.0/+download/libappindicator-12.10.0.tar.gz", + "sha256": "d5907c1f98084acf28fd19593cb70672caa0ca1cf82d747ba6f4830d4cc3b49f" + }, + { + "type": "patch", + "path": "libappindicator-ftbfs.patch" + }, + { + "type": "patch", + "path": "libappindicator-no-python.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-from-incorrect-signal-emission.patch" + }, + { + "type": "patch", + "path": "libappindicator-fix-crash-iterating-icon-themes.patch" + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ], + "modules": [ + "../intltool/intltool-0.51.json", + "../dbus-glib/dbus-glib-0.110.json", + { + "name": "libdbusmenu", + "build-options": { + "cflags": "-Wno-error", + "env": { + "HAVE_VALGRIND_FALSE": "#", + "HAVE_VALGRIND_TRUE": "" + } + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/doc", + "/share/libdbusmenu", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--enable-introspection=@INTROSPECTION@", + "--disable-vala", + "--disable-dumper", + "--disable-tests", + "--with-gtk=@GTK_VER@" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libdbusmenu/16.04/16.04.0/+download/libdbusmenu-16.04.0.tar.gz", + "sha256": "b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a" + } + ] + }, + { + "name": "libindicator", + "build-options": { + "cflags": "-Wno-error" + }, + "cleanup": [ + "/include", + "/libexec", + "/lib/pkgconfig", + "/lib/*.la", + "/share/libindicator", + "/share/gtk-doc", + "/share/gir-1.0" + ], + "config-opts": [ + "--disable-static", + "--disable-tests", + "--with-gtk=@GTK_VER@" + ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/libindicator/12.10/12.10.1/+download/libindicator-12.10.1.tar.gz", + "sha256": "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f" + }, + { + "type": "shell", + "commands": [ + "# FTBFS fix", + "sed -e '/LIBINDICATOR_LIBS/ s/\\$LIBM/ $LIBM/' -i configure.ac" + ] + }, + { + "type": "script", + "commands": ["autoreconf -sfi"], + "dest-filename": "autogen.sh" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/libcanberra/libcanberra.json b/flatpak/shared-modules/libcanberra/libcanberra.json new file mode 100644 index 0000000000000000000000000000000000000000..ac4419411d8fff61b8b50f767113cf86ce2ece3c --- /dev/null +++ b/flatpak/shared-modules/libcanberra/libcanberra.json @@ -0,0 +1,35 @@ +{ + "name": "libcanberra", + "cleanup": [ + "*.la", + "/bin", + "/etc", + "/include", + "/libexec", + "/share/gtk-doc", + "/share/man" + ], + "config-opts": [ + "--disable-static", + "--disable-gtk-doc", + "--disable-oss", + "--enable-pulse", + "--disable-udev", + "--disable-gtk", + "--enable-gtk3", + "--disable-lynx" + ], + "sources": [ + { + "type": "archive", + "url": "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz", + "sha256": "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72", + "git-init" : true + }, + { + "type": "patch", + "path": "0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch", + "use-git-am": true + } + ] +} diff --git a/flatpak/shared-modules/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff b/flatpak/shared-modules/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff new file mode 100644 index 0000000000000000000000000000000000000000..46415107d248081fc2d7ab08d61cca4f662aaf77 --- /dev/null +++ b/flatpak/shared-modules/libmad/Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff @@ -0,0 +1,34 @@ +From: Dave Martin +Subject: "rsc" doesnt exist anymore in thumb2 + +diff --git a/fixed.h b/fixed.h +index 4b58abf..ba4bc26 100644 +--- a/fixed.h ++++ b/fixed.h +@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) + : "+r" (lo), "+r" (hi) \ + : "%r" (x), "r" (y)) + ++#ifdef __thumb__ ++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero ++ operand. If needed this code can also support Thumb-1 ++ (simply append "s" to the end of the second two instructions). */ ++# define MAD_F_MLN(hi, lo) \ ++ asm ("rsbs %0, %0, #0\n\t" \ ++ "sbc %1, %1, %1\n\t" \ ++ "sub %1, %1, %2" \ ++ : "+&r" (lo), "=&r" (hi) \ ++ : "r" (hi) \ ++ : "cc") ++#else /* ! __thumb__ */ + # define MAD_F_MLN(hi, lo) \ + asm ("rsbs %0, %2, #0\n\t" \ + "rsc %1, %3, #0" \ +- : "=r" (lo), "=r" (hi) \ ++ : "=&r" (lo), "=r" (hi) \ + : "0" (lo), "1" (hi) \ + : "cc") ++#endif /* __thumb__ */ + + # define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ diff --git a/flatpak/shared-modules/libmad/libmad.json b/flatpak/shared-modules/libmad/libmad.json new file mode 100644 index 0000000000000000000000000000000000000000..cfebd20e44135e6d74d74975aa9b29a332e1c295 --- /dev/null +++ b/flatpak/shared-modules/libmad/libmad.json @@ -0,0 +1,49 @@ +{ + "name" : "libmad", + "post-install": [ + "install -d $FLATPAK_DEST/lib/pkgconfig", + "install -Dm644 -t $FLATPAK_DEST/lib/pkgconfig mad.pc" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz", + "sha256" : "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690" + }, + { + "type": "patch", + "path": "libmad-0.15.1b-multiarch.patch" + }, + { + "type": "patch", + "path": "libmad-0.15.1b-ppc.patch" + }, + { + "type": "patch", + "path": "Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff" + }, + { + "type": "patch", + "path": "libmad.thumb.diff" + }, + { + "type": "patch", + "path": "libmad-0.15.1b-cflags.patch" + }, + { + "type": "patch", + "path": "libmad-0.15.1b-cflags-O2.patch" + }, + { + "type": "file", + "path": "mad.pc" + }, + { + "type": "shell", + "commands": [ + "cp /usr/share/gnu-config/config.sub .", + "cp /usr/share/gnu-config/config.guess ." + ] + } + ] +} diff --git a/flatpak/shared-modules/libmad/libmad.thumb.diff b/flatpak/shared-modules/libmad/libmad.thumb.diff new file mode 100644 index 0000000000000000000000000000000000000000..13edde21fc1dd855330de531dadbd7c2f217fc9e --- /dev/null +++ b/flatpak/shared-modules/libmad/libmad.thumb.diff @@ -0,0 +1,12 @@ +--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100 ++++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100 +@@ -468,7 +468,7 @@ + + @---- + +- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) ++ adr r2, imdct36_long_karray + + + loop: + diff --git a/flatpak/shared-modules/libmad/mad.pc b/flatpak/shared-modules/libmad/mad.pc new file mode 100644 index 0000000000000000000000000000000000000000..15d85311525298dc77c24342d0a358f3fd0c541a --- /dev/null +++ b/flatpak/shared-modules/libmad/mad.pc @@ -0,0 +1,11 @@ +prefix=/app +exec_prefix=/app +libdir=/app/lib +includedir=/app/include + +Name: mad +Description: MPEG Audio Decoder +Requires: +Version: 0.15.1b +Libs: -L/app/lib} -lmad -lm +Cflags: -I/app/include \ No newline at end of file diff --git a/flatpak/shared-modules/libsecret/libsecret.json b/flatpak/shared-modules/libsecret/libsecret.json new file mode 100644 index 0000000000000000000000000000000000000000..8bc42a41e6c8908bdc6b399e2c2e352c5ce0bea2 --- /dev/null +++ b/flatpak/shared-modules/libsecret/libsecret.json @@ -0,0 +1,24 @@ +{ + "name": "libsecret", + "buildsystem": "meson", + "config-opts": [ + "-Dmanpage=false", + "-Dvapi=false", + "-Dgtk_doc=false", + "-Dintrospection=false" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/libsecret.git", + "tag": "0.20.4", + "commit": "3fe635e64efd4b8dbc9ec3548b0bc8034c7665c4" + } + ] +} diff --git a/flatpak/shared-modules/libusb/libusb.json b/flatpak/shared-modules/libusb/libusb.json new file mode 100644 index 0000000000000000000000000000000000000000..6e3e2ec331c4eed0bab95062660dbfd609b85a1e --- /dev/null +++ b/flatpak/shared-modules/libusb/libusb.json @@ -0,0 +1,19 @@ +{ + "name": "libusb", + "config-opts": [ "--disable-static" ], + "cleanup": [ + "/lib/*.la", + "/lib/pkgconfig", + "/include" + ], + "sources": [ + { + "type":"archive", + "url":"https://github.com/libusb/libusb/archive/v1.0.24.tar.gz", + "sha256": "b7724c272dfc5713dce88ff717efd60f021ca5b7c8e30f08ebb2c42d2eea08ae" + } + ], + "post-install": [ + "install -Dm644 COPYING /app/share/licenses/libusb/COPYING" + ] +} diff --git a/flatpak/shared-modules/linux-audio/dssi.json b/flatpak/shared-modules/linux-audio/dssi.json new file mode 100644 index 0000000000000000000000000000000000000000..ec33fd374316d2abf7c1226419138d8c80ae845e --- /dev/null +++ b/flatpak/shared-modules/linux-audio/dssi.json @@ -0,0 +1,29 @@ +{ + "name": "dssi", + "rm-configure": true, + "config-opts": [ + "--disable-static" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/dssi", + "/lib/pkgconfig", + "/share/man", + "*.la" + ], + "sources": [ + { + "type": "archive", + "url": "http://download.sf.net/sourceforge/dssi/dssi-1.1.1.tar.gz", + "sha256": "f2c82b073a947c8255284249097667f9b14e660bf86186f3fcd3b3b3e087814e" + }, + { + "type": "script", + "commands": [ + "autoreconf -fiv" + ], + "dest-filename": "autogen.sh" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/fftw3f-static.json b/flatpak/shared-modules/linux-audio/fftw3f-static.json new file mode 100644 index 0000000000000000000000000000000000000000..93da6139727fa7984853ad60ccfaff54ccae00fc --- /dev/null +++ b/flatpak/shared-modules/linux-audio/fftw3f-static.json @@ -0,0 +1,46 @@ +{ + "name": "fftw3f", + "config-opts": [ + "--enable-threads", + "--enable-static", + "--disable-shared", + "--enable-float" + ], + "build-options": { + "env": { + "CFLAGS": "-fPIC" + }, + "arch": { + "x86_64": { + "config-opts": [ + "--enable-sse2", + "--enable-avx", + "--enable-avx-128-fma" + ] + }, + "aarch64": { + "config-opts": [ + "--enable-neon" + ] + } + } + }, + "sources": [ + { + "type": "archive", + "url": "https://www.fftw.org/fftw-3.3.10.tar.gz", + "sha256": "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/cmake", + "/lib/pkgconfig", + "/share/info", + "/share/man", + "*.a", + "*.la", + "*.so" + ] +} diff --git a/flatpak/shared-modules/linux-audio/fftw3f.json b/flatpak/shared-modules/linux-audio/fftw3f.json new file mode 100644 index 0000000000000000000000000000000000000000..ee10c7575ac7cce085fa9ba37b27197ab647f725 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/fftw3f.json @@ -0,0 +1,41 @@ +{ + "name": "fftw3f", + "config-opts": [ + "--enable-threads", + "--enable-shared", + "--disable-static", + "--enable-float" + ], + "build-options": { + "arch": { + "x86_64": { + "config-opts": [ + "--enable-sse2", + "--enable-avx", + "--enable-avx-128-fma" + ] + }, + "aarch64": { + "config-opts": [ + "--enable-neon" + ] + } + } + }, + "sources": [ + { + "type": "archive", + "url": "https://www.fftw.org/fftw-3.3.10.tar.gz", + "sha256": "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467" + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/cmake", + "/lib/pkgconfig", + "/share/man", + "*.la", + "*.so" + ] +} diff --git a/flatpak/shared-modules/linux-audio/fluidsynth2-static.json b/flatpak/shared-modules/linux-audio/fluidsynth2-static.json new file mode 100644 index 0000000000000000000000000000000000000000..2462496fc41d9817586467e410dab185a16567b1 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/fluidsynth2-static.json @@ -0,0 +1,29 @@ +{ + "name": "fluidsynth", + "buildsystem": "cmake-ninja", + "build-options": { + "env": { + "CFLAGS": "-fPIC", + "CXXFLAGS": "-fPIC" + } + }, + "config-opts": [ + "-DLIB_SUFFIX=", + "-DBUILD_SHARED_LIBS=OFF" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man", + "*.so", + "*.a" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/FluidSynth/fluidsynth/archive/v2.2.3.tar.gz", + "sha256": "b31807cb0f88e97f3096e2b378c9815a6acfdc20b0b14f97936d905b536965c4" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/fluidsynth2.json b/flatpak/shared-modules/linux-audio/fluidsynth2.json new file mode 100644 index 0000000000000000000000000000000000000000..6c40ac2b94b0d5e84bfe364985c36f1986a5f0af --- /dev/null +++ b/flatpak/shared-modules/linux-audio/fluidsynth2.json @@ -0,0 +1,21 @@ +{ + "name": "fluidsynth", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DLIB_SUFFIX=" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man", + "*.so" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/FluidSynth/fluidsynth/archive/v2.2.3.tar.gz", + "sha256": "b31807cb0f88e97f3096e2b378c9815a6acfdc20b0b14f97936d905b536965c4" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/jack2.json b/flatpak/shared-modules/linux-audio/jack2.json new file mode 100644 index 0000000000000000000000000000000000000000..9077fea368ed2f1e32a4e631bb02a6f2514586be --- /dev/null +++ b/flatpak/shared-modules/linux-audio/jack2.json @@ -0,0 +1,23 @@ +{ + "name": "jack2", + "buildsystem": "simple", + "build-commands": [ + "./waf configure --prefix=$FLATPAK_DEST --htmldir=$FLATPAK_DEST/share/doc/jack/ --classic", + "./waf build -j $FLATPAK_BUILDER_N_JOBS", + "./waf install" + ], + "cleanup": [ + "/include", + "/lib/jack", + "/lib/libjack*", + "/lib/pkgconfig", + "/share/man" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/jackaudio/jack2/archive/v1.9.17.tar.gz", + "sha256": "38f674bbc57852a8eb3d9faa1f96a0912d26f7d5df14c11005ad499c8ae352f2" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/ladspa.json b/flatpak/shared-modules/linux-audio/ladspa.json new file mode 100644 index 0000000000000000000000000000000000000000..d903630b32fc2808c99d52b6ff8e48f52633e602 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/ladspa.json @@ -0,0 +1,17 @@ +{ + "name": "ladspa", + "no-autogen": true, + "subdir": "src", + "make-install-args": [ + "INSTALL_PLUGINS_DIR=/app/lib/ladspa", + "INSTALL_INCLUDE_DIR=/app/include", + "INSTALL_BINARY_DIR=/app/bin" + ], + "sources": [ + { + "type": "archive", + "url": "http://www.ladspa.org/download/ladspa_sdk_1.17.tgz", + "sha256": "d9d596171d93f9c226fcdb7e27c6f917422ac487efe2c05e0a18094df4268061" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/lash.json b/flatpak/shared-modules/linux-audio/lash.json new file mode 100644 index 0000000000000000000000000000000000000000..4d0ccb28fe3781f9d9bf3da37d41b1a46a2da577 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/lash.json @@ -0,0 +1,41 @@ +{ + "name": "lash", + "rm-configure": true, + "config-opts": [ + "--disable-static", + "--disable-serv-inst", + "CFLAGS=-D_GNU_SOURCE" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.savannah.gnu.org/releases/lash/lash-0.5.4.tar.gz", + "sha256": "105a7da84415c4725c6bcad28e70f23aeb4534f94fc80ca262b6a2cef2226c16" + }, + { + "type": "patch", + "strip-components": 0, + "path": "patches/lash-0.5.3-no-static-lib.patch" + }, + { + "type": "patch", + "path": "patches/lash-gcc47.patch" + }, + { + "type": "patch", + "path": "patches/lash-linking.patch" + }, + { + "type": "patch", + "strip-components": 0, + "path": "patches/lash-configure.patch" + }, + { + "type": "script", + "commands": [ + "autoreconf -fiv" + ], + "dest-filename": "autogen.sh" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/libinstpatch.json b/flatpak/shared-modules/linux-audio/libinstpatch.json new file mode 100644 index 0000000000000000000000000000000000000000..fb00c206289f1017498882ac2cf8e33b17548b82 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/libinstpatch.json @@ -0,0 +1,17 @@ +{ + "name": "libinstpatch", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DLIB_SUFFIX=" + ], + "cleanup": [ + "/share/doc" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/swami/libinstpatch/archive/v1.1.6.tar.gz", + "sha256": "8e9861b04ede275d712242664dab6ffa9166c7940fea3b017638681d25e10299" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/liblo-static.json b/flatpak/shared-modules/linux-audio/liblo-static.json new file mode 100644 index 0000000000000000000000000000000000000000..7d229d36069cc9877cda7c64d8c0b92f10796d08 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/liblo-static.json @@ -0,0 +1,27 @@ +{ + "name": "liblo", + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "*.la", + "*.a", + "*.so" + ], + "build-options": { + "env": { + "CFLAGS": "-fPIC" + } + }, + "config-opts": [ + "--enable-static", + "--disable-shared" + ], + "sources": [ + { + "type": "archive", + "url": "http://download.sf.net/sourceforge/liblo/liblo-0.31.tar.gz", + "sha256": "2b4f446e1220dcd624ecd8405248b08b7601e9a0d87a0b94730c2907dbccc750" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/liblo.json b/flatpak/shared-modules/linux-audio/liblo.json new file mode 100644 index 0000000000000000000000000000000000000000..17de750e205886d534c3b7bd39622b415935dc5e --- /dev/null +++ b/flatpak/shared-modules/linux-audio/liblo.json @@ -0,0 +1,17 @@ +{ + "name": "liblo", + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "*.la", + "*.so" + ], + "sources": [ + { + "type": "archive", + "url": "http://download.sf.net/sourceforge/liblo/liblo-0.31.tar.gz", + "sha256": "2b4f446e1220dcd624ecd8405248b08b7601e9a0d87a0b94730c2907dbccc750" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/lilv.json b/flatpak/shared-modules/linux-audio/lilv.json new file mode 100644 index 0000000000000000000000000000000000000000..2c08053595eed43f16e946c8864a3f55d403e0d3 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/lilv.json @@ -0,0 +1,100 @@ +{ + "name": "lilv", + "buildsystem": "simple", + "build-commands": [ + "python3 ./waf configure --prefix=$FLATPAK_DEST", + "python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS", + "python3 ./waf install" + ], + "modules": [ + { + "name": "serd", + "buildsystem": "simple", + "build-commands": [ + "python3 ./waf configure --prefix=$FLATPAK_DEST", + "python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS", + "python3 ./waf install" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.drobilla.net/serd-0.30.10.tar.bz2", + "sha256": "affa80deec78921f86335e6fc3f18b80aefecf424f6a5755e9f2fa0eb0710edf" + } + ], + "post-install": [ + "install -Dm644 -t /app/share/licenses/serd COPYING" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man" + ] + }, + { + "name": "sord", + "buildsystem": "simple", + "build-commands": [ + "python3 ./waf configure --prefix=$FLATPAK_DEST", + "python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS", + "python3 ./waf install" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.drobilla.net/sord-0.16.8.tar.bz2", + "sha256": "7c289d2eaabf82fa6ac219107ce632d704672dcfb966e1a7ff0bbc4ce93f5e14" + } + ], + "post-install": [ + "install -Dm644 -t /app/share/licenses/sord COPYING" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man" + ] + }, + { + "name": "sratom", + "buildsystem": "simple", + "build-commands": [ + "python3 ./waf configure --prefix=$FLATPAK_DEST", + "python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS", + "python3 ./waf install" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.drobilla.net/sratom-0.6.8.tar.bz2", + "sha256": "3acb32b1adc5a2b7facdade2e0818bcd6c71f23f84a1ebc17815bb7a0d2d02df" + } + ], + "post-install": [ + "install -Dm644 -t /app/share/licenses/sratom COPYING" + ] + } + ], + "sources": [ + { + "type": "archive", + "url": "https://download.drobilla.net/lilv-0.24.12.tar.bz2", + "sha256": "26a37790890c9c1f838203b47f5b2320334fe92c02a4d26ebbe2669dbd769061" + } + ], + "post-install": [ + "install -Dm644 -t /app/share/licenses/lilv COPYING" + ], + "cleanup": [ + "/bin", + "/etc", + "/lib/pkgconfig", + "/share/man" + ] +} diff --git a/flatpak/shared-modules/linux-audio/lrdf.json b/flatpak/shared-modules/linux-audio/lrdf.json new file mode 100644 index 0000000000000000000000000000000000000000..29d19dd561f460088f97911ca6b506e5561eeb02 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/lrdf.json @@ -0,0 +1,50 @@ +{ + "name": "lrdf", + "rm-configure": true, + "cleanup": [ + "/include", + "/lib/pkgconfig", + "*.so" + ], + "config-opts": [ + "--disable-static" + ], + "modules": [ + "ladspa.json", + { + "name": "raptor2", + "cleanup": [ + "/include", + "/lib/pkgconfig", + "/share/gtk-doc", + "*.so" + ], + "config-opts": [ + "--disable-documentation", + "--disable-static" + ], + "sources": [ + { + "type": "archive", + "url": "http://download.librdf.org/source/raptor2-2.0.15.tar.gz", + "sha256": "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed" + } + ] + } + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/swh/LRDF/tarball/0.5.0", + "dest-filename": "swh-LRDF-0.5.0-0-g7ebc032.tar.gz", + "sha256": "013002b91ef209827fe99552b8c7f0b569cddb3d6f1439bedbd8bafe1956a93c" + }, + { + "type": "script", + "commands": [ + "autoreconf -fiv" + ], + "dest-filename": "autogen.sh" + } + ] +} diff --git a/flatpak/shared-modules/linux-audio/lv2.json b/flatpak/shared-modules/linux-audio/lv2.json new file mode 100644 index 0000000000000000000000000000000000000000..5cf5a67c93d2ee11fcb97a2a94a11510dcd81393 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/lv2.json @@ -0,0 +1,26 @@ +{ + "name": "lv2", + "buildsystem": "simple", + "build-commands": [ + "python3 ./waf configure --prefix=$FLATPAK_DEST --lv2dir=$FLATPAK_DEST/lib/lv2 --copy-headers", + "python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS", + "python3 ./waf install" + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share" + ], + "sources": [ + { + "type": "archive", + "url": "https://lv2plug.in/spec/lv2-1.18.2.tar.bz2", + "sha256": "4e891fbc744c05855beb5dfa82e822b14917dd66e98f82b8230dbd1c7ab2e05e" + } + ], + "post-install": [ + "install -Dm644 -t $FLATPAK_DEST/share/licenses/lv2 COPYING", + "ln -sf lv2.pc $FLATPAK_DEST/lib/pkgconfig/lv2core.pc" + ] +} diff --git a/flatpak/shared-modules/linux-audio/patches/stk-install.sh b/flatpak/shared-modules/linux-audio/patches/stk-install.sh new file mode 100644 index 0000000000000000000000000000000000000000..e2d9c9b7b37ef66ef501c0087572245ff8444871 --- /dev/null +++ b/flatpak/shared-modules/linux-audio/patches/stk-install.sh @@ -0,0 +1,54 @@ + +INCLUDE_DIR=/app/include +DATA_DIR=/app/share +LIB_DIR=/app/lib +BIN_DIR=/app/bin + + + + +install -Dm644 -t $INCLUDE_DIR/stk include/* +install -Dm644 -t $LIB_DIR src/libstk.* +install -Dm644 -t $DATA_DIR/stk/rawwaves rawwaves/*.raw + +#cp -pr projects/demo/tcl $DATA_DIR/stk/demo +#cp -pr projects/demo/scores $DATA_DIR/stk/demo +#cp -p projects/demo/demo $BIN_DIR/stk-demo +#cp -p projects/demo/Md2Skini $BIN_DIR/Md2Skini +#for f in Banded Drums Modal Physical Shakers StkDemo Voice ; do +# chmod +x projects/demo/$f +# sed -e 's,\./demo,$BIN_DIR/stk-demo,' -e '1i#! /bin/sh' \ +# -i projects/demo/$f +# cp -p projects/demo/$f $DATA_DIR/stk/demo +#done + +#cp -pr projects/examples/midifiles $DATA_DIR/stk/examples +#cp -pr projects/examples/rawwaves $DATA_DIR/stk/examples +#cp -pr projects/examples/scores $DATA_DIR/stk/examples +#for f in sine sineosc foursine audioprobe midiprobe duplex play \ +# record inetIn inetOut rtsine crtsine bethree controlbee \ +# threebees playsmf grains ; do +# cp -p projects/examples/$f $BIN_DIR/stk-$f +# # absolute links, will be shortened later +# ln -s $BIN_DIR/stk-$f $DATA_DIR/stk/examples/$f +#done + +install -Dm644 -t $DATA_DIR/stk/effects projects/effects/tcl +install -Dm644 -t $BIN_DIR/stk-effects projects/effects/effects +sed -e 's,\./effects,$BIN_DIR/stk-effects,' -e '1i#! /bin/sh' \ + -i projects/effects/StkEffects +install -Dm644 -t $DATA_DIR/stk/effects projects/effects/StkEffects + +install -Dm644 -t $DATA_DIR/stk/ragamatic projects/ragamatic/tcl +install -Dm644 -t $DATA_DIR/stk/ragamatic projects/ragamatic/rawwaves +install -Dm644 -t $BIN_DIR/stk-ragamat projects/ragamatic/ragamat +sed -e 's,\./ragamat,$BIN_DIR/stk-ragamat,' -e '1i#! /bin/sh' \ + -i projects/ragamatic/Raga +install -Dm644 -t $DATA_DIR/stk/ragamatic projects/ragamatic/Raga + +install -Dm644 -t $DATA_DIR/stk/eguitar projects/eguitar/tcl +install -Dm644 -t $DATA_DIR/stk/eguitar projects/eguitar/scores +install -Dm644 -t $BIN_DIR/stk-eguitar projects/eguitar/eguitar +sed -e 's,\./eguitar,$BIN_DIR/stk-eguitar,' -e '1i#! /bin/sh' \ + -i projects/eguitar/ElectricGuitar +install -Dm644 -t $DATA_DIR/stk/eguitar projects/eguitar/ElectricGuitar diff --git a/flatpak/shared-modules/linux-audio/stk.json b/flatpak/shared-modules/linux-audio/stk.json new file mode 100644 index 0000000000000000000000000000000000000000..cf4d8f93ca8983dd330d847dbc78b00357fa09ee --- /dev/null +++ b/flatpak/shared-modules/linux-audio/stk.json @@ -0,0 +1,28 @@ +{ + "name": "stk", + "build-commands": [ + "make -j $FLATPAK_BUILDER_N_JOBS -C src", + "make -j $FLATPAK_BUILDER_N_JOBS -C projects/effects libeffects", + "make -j $FLATPAK_BUILDER_N_JOBS -C projects/ragamatic libragamat", + "make -j $FLATPAK_BUILDER_N_JOBS -C projects/eguitar libeguitar" + ], + "post-install": [ + "sh ./stk-install.sh" + ], + "cleanup": [ + "/bin/*", + "/include", + "*.a" + ], + "sources": [ + { + "type": "archive", + "url": "http://ccrma.stanford.edu/software/stk/release/stk-4.6.1.tar.gz", + "sha256": "e77ba3c80cdd93ca02c34098b9b7f918df3d648c87f1ed5d94fe854debd6d101" + }, + { + "type": "file", + "path": "patches/stk-install.sh" + } + ] +} diff --git a/flatpak/shared-modules/lua5.1/lua-5.1.5.json b/flatpak/shared-modules/lua5.1/lua-5.1.5.json new file mode 100644 index 0000000000000000000000000000000000000000..896cadb900438d56688a193848d41520a89824c5 --- /dev/null +++ b/flatpak/shared-modules/lua5.1/lua-5.1.5.json @@ -0,0 +1,38 @@ +{ + "name": "lua-5.1", + "buildsystem": "simple", + "build-commands": [ + "make -j $FLATPAK_BUILDER_N_JOBS CFLAGS=\"$CFLAGS -fPIC -DLUA_USE_LINUX\" linux", + "make INSTALL_TOP=$FLATPAK_DEST TO_LIB='liblua.a liblua.so.5.1.5' install", + "ln -sf liblua.so.5.1.5 $FLATPAK_DEST/lib/liblua.so", + "ln -sf liblua.so.5.1.5 $FLATPAK_DEST/lib/liblua.so.5.1", + "install -Dm0644 etc/lua.pc $FLATPAK_DEST/lib/pkgconfig/lua.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua51.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua5.1.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua-5.1.pc" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.lua.org/ftp/lua-5.1.5.tar.gz", + "sha256": "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333" + }, + { + "type": "patch", + "path": "lua-5.1.5-so.patch" + }, + { + "type": "shell", + "commands": [ + "sed -i \"s|/usr/local|$FLATPAK_DEST|\" etc/lua.pc src/luaconf.h" + ] + } + ], + "cleanup": [ + "*.a", + "/bin", + "/include", + "/lib/pkgconfig", + "/man" + ] +} diff --git a/flatpak/shared-modules/lua5.3/lua-5.3.5.json b/flatpak/shared-modules/lua5.3/lua-5.3.5.json new file mode 100644 index 0000000000000000000000000000000000000000..c789fd65fe0d65f59d29655ce4c3af9a9c641472 --- /dev/null +++ b/flatpak/shared-modules/lua5.3/lua-5.3.5.json @@ -0,0 +1,46 @@ +{ + "name": "lua-5.3", + "buildsystem": "simple", + "build-commands": [ + "make -j $FLATPAK_BUILDER_N_JOBS CFLAGS=\"$CFLAGS -fPIC -DLUA_USE_LINUX\" linux", + "make TO_LIB=liblua.so.5.3.5 INSTALL_TOP=$FLATPAK_DEST install", + "ln -sf liblua.so.5.3.5 $FLATPAK_DEST/lib/liblua.so", + "ln -sf liblua.so.5.3.5 $FLATPAK_DEST/lib/liblua.so.5.3", + "make INSTALL_TOP=${FLATPAK_DEST} pc > lua.pc", + "cat lua.pc.in >> lua.pc", + "install -Dm644 lua.pc $FLATPAK_DEST/lib/pkgconfig/lua.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua53.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua5.3.pc", + "ln -sf lua.pc $FLATPAK_DEST/lib/pkgconfig/lua-5.3.pc" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.lua.org/ftp/lua-5.3.5.tar.gz", + "sha256": "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac" + }, + { + "type": "patch", + "path": "makefile-add-liblua.so-rule.patch" + }, + { + "type": "file", + "path": "lua.pc.in" + }, + { + "type": "shell", + "commands": [ + "sed -i \"s|/usr/local/|$FLATPAK_DEST/|;s|LUA_IDSIZE 60|LUA_IDSIZE 512|\" src/luaconf.h", + "# Lua 5.3.5 has wrong release version in its Makefile. Fix it.", + "sed 's/^R= \$V.4/R= \$V.5/' -i Makefile", + "sed -i '12 a\\\\n#define LUA_COMPAT_5_1\\n#define LUA_COMPAT_5_2' src/luaconf.h" + ] + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/pkgconfig", + "/share/man" + ] +} diff --git a/flatpak/shared-modules/lua5.3/lua.pc.in b/flatpak/shared-modules/lua5.3/lua.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..6698f8bcde87941e62e8e5eb3c242c0ce3f6eeb8 --- /dev/null +++ b/flatpak/shared-modules/lua5.3/lua.pc.in @@ -0,0 +1,8 @@ +exec_prefix=${prefix} + +Name: Lua +Description: An Extensible Extension Language +Version: ${version} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} \ No newline at end of file diff --git a/flatpak/shared-modules/mac/mac.json b/flatpak/shared-modules/mac/mac.json new file mode 100644 index 0000000000000000000000000000000000000000..4954df7e0102e5ed2f770c8a08ae322e36403947 --- /dev/null +++ b/flatpak/shared-modules/mac/mac.json @@ -0,0 +1,19 @@ +{ + "name": "libmac", + "buildsystem": "simple", + "build-commands": [ + "make -f Source/Projects/NonWindows/Makefile -j $FLATPAK_BUILDER_N_JOBS", + "make -f Source/Projects/NonWindows/Makefile prefix=/app install" + ], + "cleanup": [ + "/include/MAC" + ], + "sources": [ + { + "type": "archive", + "url": "https://freac.org/patches/MAC_SDK_629.zip", + "sha256": "af62c05d83c003c3af8772c01ca8796b8f2ac75a2f5ce1af183ab021cd7f3cf0", + "strip-components": 0 + } + ] +} diff --git a/flatpak/shared-modules/pygame/pygame-1.9.6.json b/flatpak/shared-modules/pygame/pygame-1.9.6.json new file mode 100644 index 0000000000000000000000000000000000000000..d3c84c7783ca73752f100b63ef4a78555eae71af --- /dev/null +++ b/flatpak/shared-modules/pygame/pygame-1.9.6.json @@ -0,0 +1,112 @@ +{ + "name": "pygame", + "sources": [ + { + "type": "archive", + "url": "https://files.pythonhosted.org/packages/0f/9c/78626be04e193c0624842090fe5555b3805c050dfaa81c8094d6441db2be/pygame-1.9.6.tar.gz", + "sha256": "301c6428c0880ecd4a9e3951b80e539c33863b6ff356a443db1758de4f297957" + } + ], + "buildsystem": "simple", + "build-commands": [ + "pip3 install --ignore-installed --no-deps --prefix=/app ." + ], + "build-options": { + "env": { + "PORTMIDI_INC_PORTTIME": "1", + "PYGAME_EXTRA_BASE": "/app" + }, + "arch": { + "aarch64": { + "env": { + "ORIGLIBDIRS": "/lib:/lib64:/lib/aarch64-linux-gnu" + } + }, + "arm": { + "env": { + "ORIGLIBDIRS": "/lib:/lib/arm-linux-gnueabihf" + } + }, + "i386": { + "env": { + "ORIGLIBDIRS": "/lib:/lib/i386-linux-gnu" + } + }, + "x86_64": { + "env": { + "ORIGLIBDIRS": "/lib:/lib64:/lib/x86_64-linux-gnu" + } + } + } + }, + "modules": [ + "../SDL/SDL-1.2.15.json", + "../SDL/SDL_image-1.2.12.json", + "../SDL/SDL_ttf-2.0.11.json", + "../smpeg/smpeg-0.4.5.json", + "../SDL/SDL_mixer-1.2.12.json", + { + "name": "audiofile", + "sources": [ + { + "type": "archive", + "url": "http://audiofile.68k.org/audiofile-0.3.6.tar.gz", + "sha256": "cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965" + }, + { + "type": "patch", + "path": "audiofile-gcc6.patch" + } + ] + }, + { + "name": "libmikmod", + "sources": [ + { + "type": "archive", + "url": "https://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11.1/libmikmod-3.3.11.1.tar.gz", + "sha256": "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19" + } + ] + }, + { + "name": "fluidsynth", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=Release" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v1.1.11.tar.gz", + "sha256": "da8878ff374d12392eecf87e96bad8711b8e76a154c25a571dd8614d1af80de8" + }, + { + "type": "patch", + "path": "fluidsynth-no-rawmidi.patch" + } + ] + }, + { + "name": "portmidi", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=Release", + "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:STRING=/app/lib", + "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:STRING=/app/lib", + "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:STRING=/app/bin" + ], + "sources": [ + { + "type": "archive", + "url": "http://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip", + "sha256": "08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f" + }, + { + "type": "patch", + "path": "portmidi-no-java.patch" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/pygtk/pygtk.json b/flatpak/shared-modules/pygtk/pygtk.json new file mode 100644 index 0000000000000000000000000000000000000000..d5d2dca6788578a619485cf2e291a26ba94940b8 --- /dev/null +++ b/flatpak/shared-modules/pygtk/pygtk.json @@ -0,0 +1,82 @@ +{ + "name": "pygtk", + "config-opts": [ + "--disable-docs" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/pygtk/2.24/pygtk-2.24.0.tar.gz", + "sha256": "6e3e54fa6e65a69ac60bd58cb2e60a57f3346ac52efe995f3d10b6c38c972fd8" + }, + { + "type": "patch", + "path": "pygtk.patch" + }, + { + "type": "shell", + "commands": [ + "cp -p /usr/share/automake-*/config.{sub,guess} ." + ] + } + ], + "modules": [ + { + "name": "python2-pycairo", + "buildsystem": "meson", + "config-opts": [ + "-Dpython=python2" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/pygobject/pycairo/releases/download/v1.18.2/pycairo-1.18.2.tar.gz", + "sha256": "dcb853fd020729516e8828ad364084e752327d4cff8505d20b13504b32b16531" + } + ] + }, + { + "name": "pygobject", + "config-opts": [ + "--disable-glibtest" + ], + "cleanup": [ + "/bin" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/pygobject/2.28/pygobject-2.28.7.tar.xz", + "sha256": "bb9d25a3442ca7511385a7c01b057492095c263784ef31231ffe589d83a96a5a" + } + ] + }, + { + "name": "libglade", + "rm-configure": true, + "cleanup": [ + "/bin" + ], + "sources": [ + { + "type": "archive", + "url": "https://download.gnome.org/sources/libglade/2.6/libglade-2.6.4.tar.gz", + "sha256": "c41d189b68457976069073e48d6c14c183075d8b1d8077cb6dfb8b7c5097add3" + }, + { + "type": "shell", + "commands": [ + "rm -f config.guess" + ] + }, + { + "type": "script", + "commands": [ + "autoreconf -fiv" + ], + "dest-filename": "autogen.sh" + } + ] + } + ] +} diff --git a/flatpak/shared-modules/python2.7/python-2.7.json b/flatpak/shared-modules/python2.7/python-2.7.json new file mode 100644 index 0000000000000000000000000000000000000000..afdef90204fdefe64b09fc5555023bc906c787ca --- /dev/null +++ b/flatpak/shared-modules/python2.7/python-2.7.json @@ -0,0 +1,52 @@ +{ + "name": "python-2.7", + "sources": [ + { + "type": "archive", + "url": "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz", + "sha256": "b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" + } + ], + "config-opts": [ + "--enable-shared", + "--with-ensurepip=yes", + "--with-system-expat", + "--with-system-ffi", + "--enable-loadable-sqlite-extensions", + "--with-dbmliborder=gdbm", + "--enable-unicode=ucs4" + ], + "post-install": [ + /* Theres seem to be a permissions missmatch that causes the debug stripping to fail */ + "chmod 644 $FLATPAK_DEST/lib/libpython2.7.so.1.0" + ], + "cleanup": [ + "/bin/2to3*", + "/bin/easy_install*", + "/bin/idle*", + "/bin/pydoc*", + "/bin/python*-config", + "/bin/pyvenv*", + "/include", + "/lib/pkgconfig", + "/lib/python*/config", + "/share", + + /* Test scripts */ + "/lib/python*/test", + "/lib/python*/*/test", + "/lib/python*/*/tests", + "/lib/python*/lib-tk/test", + "/lib/python*/lib-dynload/_*_test.*.so", + "/lib/python*/lib-dynload/_test*.*.so", + + /* Unused modules */ + "/lib/python*/idlelib", + "/lib/python*/tkinter*", + "/lib/python*/turtle*", + "/lib/python*/lib2to3*", + + /* Static library */ + "/lib/python2.7/config/libpython2.7.a" + ] +} diff --git a/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json b/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json new file mode 100644 index 0000000000000000000000000000000000000000..00cc5706a48476cd8a289b6928c4286971fe2857 --- /dev/null +++ b/flatpak/shared-modules/qt4/qt4-4.8.7-minimal.json @@ -0,0 +1,118 @@ +{ + "name": "qt4", + "config-opts": [ + "-verbose", + "-confirm-license", + "-opensource", + "-release", + "-shared", + "-no-static", + "-fast", + "-datadir", "/app/lib/qt4", + "-importdir", "/app/lib/qt4/imports", + "-plugindir", "/app/lib/qt4/plugins", + "-translationdir", "/app/share/qt4/translations", + "-accessibility", + "-exceptions", + "-fontconfig", + "-glib", + "-dbus-linked", + "-openssl-linked", + "-optimized-qmake", + "-system-libjpeg", + "-system-libpng", + "-system-libtiff", + "-system-proxies", + "-system-zlib", + "-no-cups", + "-no-declarative", + "-no-gtkstyle", + "-no-javascript-jit", + "-no-libmng", + "-no-multimedia", + "-no-nis", + "-no-opengl", + "-no-phonon", + "-no-phonon-backend", + "-no-qt3support", + "-no-rpath", + "-no-script", + "-no-scripttools", + "-no-sql-db2", + "-no-sql-ibase", + "-no-sql-mysql", + "-no-sql-oci", + "-no-sql-odbc", + "-no-sql-psql", + "-no-sql-sqlite", + "-no-sql-sqlite2", + "-no-sql-sqlite_symbian", + "-no-sql-symsql", + "-no-sql-tds", + "-no-svg", + "-no-webkit", + "-no-xmlpatterns", + "-nomake", "demos", + "-nomake", "docs", + "-nomake", "examples" + ], + "build-options": { + "env": { + "CXXFLAGS": "-std=gnu++98 -O2", + "LD_LIBRARY_PATH": "/run/build/qt4/lib/" + } + }, + "sources": [ + { + "type": "archive", + "url": "https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz", + "sha256": "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0" + }, + { + "type": "patch", + "path": "qt4-aarch64.patch" + }, + { + "type": "patch", + "path": "disable-sslv3.patch" + }, + { + "type": "patch", + "path": "fixgcc9.patch" + }, + { + "type": "patch", + "path": "fixgcc11.patch" + }, + { + "type": "shell", + "commands": [ + "sed -i \"s|-O2|${CXXFLAGS}|\" mkspecs/common/{g++,gcc}-base.conf", + "sed -i \"/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g\" mkspecs/common/gcc-base-unix.conf", + "sed -i \"/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g\" mkspecs/common/gcc-base.conf" + ] + }, + { + "type": "file", + "path": "qt4-openssl-1.1.patch" + }, + { + "type": "shell", + "commands": [ + "echo -e '#include\nint main(){return OPENSSL_VERSION_NUMBER>=0x010100000L?0:1;}' >has_openssl_1_1.c", + "gcc ${CFLAGS} has_openssl_1_1.c -o has_openssl_1_1", + "if ./has_openssl_1_1; then patch -p1 -i qt4-openssl-1.1.patch; fi" + ] + } + ], + "cleanup": [ + "/bin", + "/include", + "/lib/*.a", + "/lib/*.la", + "/lib/*.prl", + "/lib/pkgconfig", + "/lib/qt4/mkspecs", + "/lib/qt4/q3porting.xml" + ] +} diff --git a/flatpak/shared-modules/smpeg/smpeg-0.4.5.json b/flatpak/shared-modules/smpeg/smpeg-0.4.5.json new file mode 100644 index 0000000000000000000000000000000000000000..a931bac9efbfc25222640101106c31d91ce0f718 --- /dev/null +++ b/flatpak/shared-modules/smpeg/smpeg-0.4.5.json @@ -0,0 +1,45 @@ +{ + "name": "smpeg", + "config-opts": ["--disable-static"], + "cleanup": [ + "/bin", + "/man" + ], + "rm-configure": true, + "sources": [ + { + "type": "archive", + "url": "http://http.debian.net/debian/pool/main/s/smpeg/smpeg_0.4.5+cvs20030824.orig.tar.gz", + "sha256": "1276ea797dd9fde8a12dd3f33f180153922544c28ca9fc7b477c018876be1916" + }, + { + "type": "shell", + "commands": [ + "sed -i '/^## libtool.m4/,/^#####/d' acinclude.m4" + ] + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "AUTOMAKE=\"automake --foreign --add-missing --force-missing\" autoreconf -vfi" + ] + }, + { + "type": "patch", + "path": "smpeg-am-prog-as.patch" + }, + { + "type": "patch", + "path": "smpeg-export-mpegaudio-class.patch" + }, + { + "type": "patch", + "path": "smpeg-no-gtk.patch" + }, + { + "type": "patch", + "path": "smpeg-gcc6.patch" + } + ] +} diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..2f8fb3f2643e54321bdf34cedfc66af1f5367b4a --- /dev/null +++ b/meson.build @@ -0,0 +1,197 @@ +project('hexchat', 'c', + version: '2.16.2', + meson_version: '>= 0.47.0', + default_options: [ + 'c_std=gnu89', + 'buildtype=debugoptimized', + 'warning_level=1', + ] +) + +i18n = import('i18n') +gnome = import('gnome') +cc = meson.get_compiler('c') + + +libgio_dep = dependency('gio-2.0', version: '>= 2.36.0') +libgmodule_dep = dependency('gmodule-2.0') + +libcanberra_dep = dependency('libcanberra', version: '>= 0.22', + required: get_option('libcanberra')) +dbus_glib_dep = dependency('dbus-glib-1', required: get_option('dbus')) + +global_deps = [] +if cc.get_id() == 'msvc' + libssl_dep = cc.find_library('libssl') +else + libssl_dep = dependency('openssl', version: '>= 0.9.8', + required: get_option('tls')) +endif + +config_h = configuration_data() +config_h.set_quoted('PACKAGE_VERSION', meson.project_version()) +config_h.set_quoted('PACKAGE_NAME', meson.project_name()) +config_h.set_quoted('GETTEXT_PACKAGE', 'hexchat') +config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), + get_option('datadir'), 'locale')) +config_h.set_quoted('G_LOG_DOMAIN', 'hexchat') +config_h.set10('ENABLE_NLS', true) + +# Optional features +config_h.set('USE_OPENSSL', libssl_dep.found()) +config_h.set('USE_LIBCANBERRA', libcanberra_dep.found()) +config_h.set('USE_DBUS', dbus_glib_dep.found()) +config_h.set('USE_PLUGIN', get_option('plugin')) + +config_h.set('G_DISABLE_SINGLE_INCLUDES', true) +config_h.set('GTK_DISABLE_DEPRECATED', true) +config_h.set('GTK_DISABLE_SINGLE_INCLUDES', true) +config_h.set('GDK_PIXBUF_DISABLE_SINGLE_INCLUDES', true) +config_h.set('GLIB_VERSION_MAX_ALLOWED', 'GLIB_VERSION_2_36') +config_h.set('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_2_36') + +# Detected features +config_h.set('HAVE_MEMRCHR', cc.has_function('memrchr')) +config_h.set('HAVE_STRINGS_H', cc.has_header('strings.h')) + +config_h.set_quoted('HEXCHATLIBDIR', + join_paths(get_option('prefix'), get_option('libdir'), 'hexchat/plugins') +) + +if libssl_dep.found() + config_h.set('HAVE_X509_GET_SIGNATURE_NID', + cc.has_function('X509_get_signature_nid', dependencies: libssl_dep) + ) + config_h.set('HAVE_SSL_CTX_GET_SSL_METHOD', + cc.has_function('SSL_CTX_get_ssl_method', dependencies: libssl_dep) + ) + config_h.set('HAVE_DH_SET0_PQG', + cc.has_function('DH_set0_pqg', dependencies: libssl_dep) + ) + config_h.set('HAVE_DH_GET0_KEY', + cc.has_function('DH_get0_key', dependencies: libssl_dep) + ) + config_h.set('HAVE_DH_SET0_KEY', + cc.has_function('DH_set0_key', dependencies: libssl_dep) + ) + config_h.set('HAVE_ERR_REMOVE_THREAD_STATE', + cc.has_function('ERR_remove_thread_state', dependencies: libssl_dep) + ) + config_h.set('HAVE_ASN1_STRING_GET0_DATA', + cc.has_function('ASN1_STRING_get0_data', dependencies: libssl_dep) + ) +endif + +configure_file(output: 'config.h', configuration: config_h) +config_h_include = include_directories('.') + +if host_machine.system() == 'windows' + add_project_arguments( + '-DWIN32', + '-DNTDDI_VERSION=NTDDI_WIN7', + '-D_WIN32_WINNT=_WIN32_WINNT_WIN7', + language: 'c') +endif + + +global_cflags = [] +test_cflags = [ + '-funsigned-char', + '-Wno-conversion', + '-Wno-pointer-sign', + '-Wno-padded', + '-Wno-unused-parameter', + '-Wno-missing-prototypes', + '-Winline', + '-Wstrict-prototypes', + '-Werror=implicit-function-declaration', + '-Werror=pointer-arith', + '-Werror=init-self', + ['-Werror=format-security', '-Werror=format=1'], + '-Werror=missing-include-dirs', + '-Werror=date-time', +] +foreach cflag : test_cflags + if cc.has_multi_arguments(cflag) + global_cflags += cflag + endif +endforeach +if get_option('buildtype') != 'plain' + if cc.has_argument('-fstack-protector-strong') and cc.links(''' + int main (void) { + char buffer[16]; + strcpy(buffer, "foo"); + return 0; + } + ''', args: '-fstack-protector-all') + global_cflags += '-fstack-protector-strong' + + if host_machine.system() == 'windows' + global_deps += cc.find_library('ssp') + endif + endif +endif +add_project_arguments(global_cflags, language: 'c') + + +global_ldflags = [] +test_ldflags = [ + '-Wl,-z,relro', + '-Wl,-z,now', + # mingw + '-Wl,--nxcompat', +] +if not (host_machine.system() == 'windows' and get_option('debug')) + test_ldflags += '-Wl,--dynamicbase' +endif +foreach ldflag : test_ldflags + if meson.version().version_compare('>= 0.46.0') + has_arg = cc.has_link_argument(ldflag) + else + has_arg = cc.has_argument(ldflag) + endif + + if has_arg and cc.links('int main (void) { return 0; }', args: ldflag) + global_ldflags += ldflag + endif +endforeach +add_project_link_arguments(global_ldflags, language: 'c') + +subdir('src') +if get_option('plugin') + subdir('plugins') +endif +if cc.get_id() != 'msvc' + subdir('data') + subdir('po') # FIXME: build xgettext + + meson.add_install_script('meson_post_install.py', + '@0@'.format(get_option('theme-manager')) + ) +endif + +if meson.version().version_compare('>= 0.53.0') + summary({ + 'prefix': get_option('prefix'), + 'bindir': get_option('bindir'), + 'libdir': get_option('libdir'), + 'datadir': get_option('datadir'), + }, section: 'Directories') + + summary({ + 'TLS (openssl)': libssl_dep.found(), + 'Plugin Support': get_option('plugin'), + 'DBus Support': dbus_glib_dep.found(), + 'libcanberra': libcanberra_dep.found(), + }, section: 'Features') + + summary({ + 'Lua': get_option('with-lua'), + 'Python': get_option('with-python'), + 'Perl': get_option('with-perl'), + 'Perl Legacy API': get_option('with-perl-legacy-api'), + 'FiSH': get_option('with-fishlim'), + 'Sysinfo': get_option('with-sysinfo'), + 'DCC Checksum': get_option('with-checksum'), + }, section: 'Plugins') +endif diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2ca54a2ba5e437f7766d508a84ff9b01795b8fb --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,67 @@ +# Applications +option('gtk-frontend', type: 'boolean', + description: 'Main graphical interface' +) +option('text-frontend', type: 'boolean', value: false, + description: 'Text interface (not generally useful)' +) +option('theme-manager', type: 'boolean', value: false, + description: 'Utility to help manage themes, requires mono/.net' +) + +# Features +option('tls', type: 'feature', value: 'enabled', + description: 'Support for TLS connections, requires openssl' +) +option('plugin', type: 'boolean', + description: 'Support for loadable plugins' +) +option('dbus', type: 'feature', value: 'auto', + description: 'Support used for single-instance and scripting interface, Unix only' +) +option('libcanberra', type: 'feature', value: 'auto', + description: 'Support for sound alerts, Unix only' +) + +# Install options +option('dbus-service-use-appid', type: 'boolean', value: false, + description: 'Rename dbus service to match app-id, required for Flatpak' +) +option('install-appdata', type: 'boolean', + description: 'Install appdata files for app stores' +) +option('install-plugin-metainfo', type: 'boolean', value: false, + description: 'Installs metainfo files for enabled plugins, useful when distros create split packages' +) + +# Plugins +option('with-checksum', type: 'boolean', + description: 'DCC checksum plugin' +) +option('with-exec', type: 'boolean', + description: '/exec plugin, Windows only' +) +option('with-fishlim', type: 'boolean', + description: 'Fish encryption plugin, requires openssl' +) +option('with-lua', type: 'string', value: 'luajit', + description: 'Lua scripting plugin, value is pkg-config name to use or "false"' +) +option('with-perl', type: 'string', value: 'perl', + description: 'Perl scripting plugin, value is path to perl executable or "false"' +) +option('with-python', type: 'string', value: 'python3', + description: 'Python scripting plugin. value is pkg-config name to use or "false"' +) +option('with-sysinfo', type: 'boolean', + description: 'System information plugin, requires libpci on Unix' +) +option('with-upd', type: 'boolean', + description: 'Update plugin, Windows only' +) +option('with-winamp', type: 'boolean', + description: 'Winamp plugin, Windows only' +) +option('with-perl-legacy-api', type: 'boolean', value: false, + description: 'Enables the legacy IRC perl module for compatibility with old scripts' +) diff --git a/meson_post_install.py b/meson_post_install.py new file mode 100644 index 0000000000000000000000000000000000000000..6944242a01188d7971b4a104b051a08eb77d78e3 --- /dev/null +++ b/meson_post_install.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + +prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local') +datadir = os.path.join(prefix, 'share') +with_thememan = sys.argv[1] == 'true' + +# Packaging tools define DESTDIR and this isn't needed for them +if 'DESTDIR' not in os.environ: + print('Updating icon cache...') + subprocess.call(['gtk-update-icon-cache', '-qtf', + os.path.join(datadir, 'icons', 'hicolor')]) + + print('Updating desktop database...') + subprocess.call(['update-desktop-database', '-q', + os.path.join(datadir, 'applications')]) + + if with_thememan: + print('Updating mime database...') + subprocess.call(['update-mime-database', + os.path.join(datadir, 'mime')]) diff --git a/osx/Info.plist.in b/osx/Info.plist.in new file mode 100644 index 0000000000000000000000000000000000000000..2ee158974ac5eda8f304abb4781002cf945a15eb --- /dev/null +++ b/osx/Info.plist.in @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + HexChat + CFBundleGetInfoString + @VERSION@ + CFBundleIconFile + hexchat.icns + CFBundleIdentifier + org.hexchat + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleShortVersionString + @VERSION@ + CFBundleSignature + ???? + CFBundleVersion + @VERSION@ + NSHumanReadableCopyright + + LSMinimumSystemVersion + 10.4 + + diff --git a/osx/gtkrc b/osx/gtkrc new file mode 100644 index 0000000000000000000000000000000000000000..3e0db75bbdca4555b4dc401a01c03ea571eece7f --- /dev/null +++ b/osx/gtkrc @@ -0,0 +1,435 @@ +# Mac Theme for Xamarin composed by Lanedo GmbH +# Copyright 2012 Xamarin Inc. +# Authors: +# Christian Kellner +# Carlos Garnacho +# +# Modified by HexChat +# + +gtk-color-scheme = +"bg_color: #f5f5f5 +fg_color: #000 +base_color: #fff +text_color: #000 +selected_bg_color: #0066FF +selected_fg_color: #fff +tooltip_bg_color: #fafaba +tooltip_fg_color: #000" + +gtk-button-images = 0 +gtk-menu-images = 0 +gtk-toolbar-style = 0 +gtk-enable-mnemonics = 0 +gtk-icon-sizes = "gtk-small-toolbar=16,16:gtk-large-toolbar=22,22" +gtk-toolbar-icon-size = large-toolbar +gtk-auto-mnemonics = 1 +gtk-error-bell = 0 +gtk-show-input-method-menu = 0 +gtk-key-theme-name="Mac" + +style "default" { + xthickness = 1 + ythickness = 1 + + ### colours + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @bg_color + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = @bg_color + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @fg_color + fg[SELECTED] = @selected_fg_color + fg[INSENSITIVE] = darker (@bg_color) + fg[ACTIVE] = @fg_color + + text[NORMAL] = @text_color + text[PRELIGHT] = @text_color + text[SELECTED] = @selected_fg_color + text[INSENSITIVE] = darker (@bg_color) + text[ACTIVE] = @text_color + + base[NORMAL] = @base_color + base[PRELIGHT] = @selected_bg_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = @bg_color + base[ACTIVE] = shade (1.3, @selected_bg_color) + + ### style properties + GtkWidget::new-tooltip-style = 1 + + GtkEntry::honors-transparent-bg-hint = 1 + GtkEntry::inner-border = { 2, 2, 2, 2 } + + GtkButton::child-displacement-x = 0 + GtkButton::child-displacement-y = 0 + GtkButton::default-border = { 0, 0, 0, 0 } + GtkButton::inner-border = { 2, 2, 4, 4 } + + GtkButtonBox::child-min-width = 70 + GtkButtonBox::child-min-height = 22 + + GtkTreeView::odd-row-color = "#f0f4f9" + + GtkScrolledWindow::scrollbar-spacing = 0 + GtkScrolledWindow::scrollbars-within-bevel = 1 + GtkScale::slider-length = 14 + GtkRange::trough-side-details = 1 + + GtkTreeView::expander-size = 8 + GtkExpander::expander-size = 8 + GtkComboBox::arrow-size = 12 + + GtkMenu::vertical-padding = 4 + GtkMenuItem::horizontal-padding = 9 + GtkMenuItem::toggle-spacing = 0 + GtkSeparatorMenuItem::horizontal-padding = 2 + + engine "xamarin" { + + arrowstyle = 2 + rgba = TRUE + roundness = 3 + glazestyle = 0 + + menustyle = 0 + menuitemstyle = 0 + menubaritemstyle = 0 + comboboxstyle = 1 + spinbuttonstyle = 1 + colorize_scrollbar = FALSE + progressbarstyle = 0 + trough_shades = { 0.842, 0.886 } + } +} + +style "wide" = "default" { + xthickness = 2 + ythickness = 2 +} + +style "wider" = "default" { + xthickness = 3 + ythickness = 3 +} + + +style "button" { + xthickness = 2 + ythickness = 2 + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = shade(1.1, @bg_color) + bg[ACTIVE] = @bg_color + bg[INSENSITIVE] = @bg_color + GtkWidget::focus-padding = 0 + + engine "quartz" { + } +} + +style "combo-box-button" { + xthickness = 2 + ythickness = 4 + + bg[NORMAL] = @base_color + bg[PRELIGHT] = shade(1.1, @base_color) + bg[ACTIVE] = @base_color + bg[INSENSITIVE] = @base_color + GtkWidget::focus-padding = 0 + + engine "xamarin" { + contrast = 1.0 + gradient_shades = {0.99, 0.98, 0.97, 0.96} + focus_color = shade(0.6, @base_color) + textstyle = 1 + } +} + +style "dialog-button" = "default" { + xthickness = 3 + ythickness = 2 + font_name = "Lucida Grande 13" + + GtkWidget::draw-border = { 2, 2, 2, 2 } + GtkWidget::focus-line-width = 1 + GtkButton::inner-border = { 8, 8, 0, 3 } + + engine "quartz" { + buttontype = "aqua" + } +} + +style "toggle-button" = "button" { + bg[NORMAL] = @base_color + bg[PRELIGHT] = shade(0.98, @base_color) +} + +style "menu" { + xthickness = 0 + ythickness = 0 + font_name = "Lucida Grande 14" + + bg[PRELIGHT] = @selected_fg_color + fg[PRELIGHT] = @selected_fg_color + text[PRELIGHT] = @selected_fg_color + + engine "quartz" { + } +} + +style "menu-item" = "menu" { + ythickness = 2 + GtkWidget::draw-border = { 0, 0, 0, 2 } +} + +style "menu-separator" = "menu-item" { + ythickness = 3 +} + +style "toolbar" = "default" +{ + bg[NORMAL] = "#ddd" + engine "xamarin" { + toolbarstyle = 2 + } +} + +style "toolbar-button" +{ + engine "xamarin" { + contrast = 1.0 + focus_color = @bg_color + } +} + +style "tooltip" +{ + xthickness = 5 + ythickness = 5 + + fg[NORMAL] = @tooltip_fg_color + bg[NORMAL] = @tooltip_bg_color + + engine "xamarin" { + roundness = 0 + } +} + +style "treeview" = "default" +{ + GtkTreeView::odd-row-color = "#f5f5f5" + + base[SELECTED] = "#2b5dcd" + base[ACTIVE] = "#cacaca" + text[SELECTED] = "#FFF" + text[ACTIVE] = "#000" + + font_name = "Lucida Grande 12" + + engine "quartz" { + } +} + +style "tree-header" +{ + ythickness = 0 + bg[NORMAL] = "#f2f2f2" + font_name = "Lucida Grande 11" + + GtkWidget::focus-line-width = 0 + GtkWidget::draw-border = { 1, 1, 1, 1 } + GtkButton::inner-border = { 3, 3, 1, 3 } + + engine "quartz" { + } +} + +style "icon-view" = "default" +{ + bg[SELECTED] = "#f5f7fa" + base[SELECTED] = "#f5f7fa" + fg[SELECTED] = "#000" + text[SELECTED] = "#000" +} + +style "toolbar-combo-box" = "default" +{ + fg[NORMAL] = "#616161" + text[NORMAL] = @fg_color + bg[NORMAL] = "#fff" + base[NORMAL] = "#fff" + ythickness = 4 + xthickness = 2 + + engine "xamarin" { + comboboxstyle = 0 + arrowstyle = 2 + } +} + +style "combo-box" = "default" +{ + fg[NORMAL] = "#616161" + xthickness = 2 + ythickness = 4 + + engine "xamarin" { + arrowstyle = 4 + } +} + +style "combo-box-entry" = "combo-box" +{ + engine "xamarin" { + arrowstyle = 3 + } +} + +style "combo-box-label" = "combo-box" +{ + fg[NORMAL] = "#595959" +} + +style "combo-box-menu" = "menu" { + font_name = "Lucida Grande 12" +} + +style "notebook" = "default" +{ + GtkNotebook::tab-overlap = 1 + #bg[ACTIVE] = @base_color + bg[NORMAL] = @base_color + + engine "xamarin" { + gradient_shades = { 0.945, 0.945, 0.945, 0.685 } + } +} + +style "radio-or-check-box" +{ + ythickness = 6 + #GtkCheckButton::indicator-size = 14 + GtkCheckButton::indicator-spacing = 4 + + engine "quartz" { + } +} + +style "entry" = "default" +{ + xthickness = 2 + ythickness = 2 + GtkEntry::inner-border = { 2, 2, 2, 2 } + base[INSENSITIVE] = shade(1.02, @bg_color) + + engine "quartz" { + } +} + +style "search-entry" = "wider" +{ + xthickness = 6 + ythickness = 4 + bg[NORMAL] = @base_color +} + +style "scrollbar" = "default" +{ + GtkScrollbar::has-forward-stepper = 0 + GtkScrollbar::has-backward-stepper = 0 + GtkRange::slider-width = 15 + GtkRange::trough-border = 0 + GtkRange::trough-side-details = 0 + + engine "quartz" { + } +} + +style "progressbar" = "default" +{ + engine "quartz" { + } +} + +style "scrolled-window" = "default" +{ + xthickness = 1 + ythickness = 1 +} + +style "scale" = "default" +{ + bg[SELECTED] = @selected_bg_color + + engine "xamarin" { + roundness = 7 + } +} + +style "spin-button" = "wider" +{ + fg[NORMAL] = "#616161" + ythickness = 4 + GtkEntry::inner-border = { 2, 2, 1, 1 } + engine "xamarin" { + arrowstyle = 3 + } +} + +### Apply the styles +class "GtkWidget" style "default" + +class "GtkEntry" style "entry" +class "GtkSpinButton" style "spin-button" +class "GtkFrame" style "wider" +class "GtkRange" style "wide" +class "GtkSeparator" style "wide" +class "GtkScrollbar" style "scrollbar" +class "GtkProgressBar" style "progressbar" +class "GtkScrolledWindow" style "scrolled-window" +class "GtkNotebook" style "notebook" +class "GtkButton" style "button" +class "GtkToggleButton" style "toggle-button" +class "GtkScale" style "scale" + +#widget "*GtkEntry" style "entry" +widget "*search-entry*" style "search-entry" +widget "*GtkTextView" style "entry" + +widget_class "*" style "radio-or-check-box" +widget_class "...*" style "dialog-button" +widget_class "....*" style "dialog-button" +widget "*.toggleFindInFiles" style "toggle-button" +widget "*.toggleReplaceInFiles" style "toggle-button" + +widget_class "**" style "menu" +widget_class "**" style "menu-item" +widget_class "*" style "menu-separator" +widget "*.gtk-combobox-popup-menu*" style "combo-box-menu" + +widget_class "**" style "toolbar" +widget_class "*ToolButton*" style "toolbar-button" + +widget_class "*.*" style "treeview" +widget_class "*.GtkTreeView.GtkButton" style "tree-header" +widget_class "*.GtkList.GtkButton" style "tree-header" + +widget_class "*" style "icon-view" + +widget_class "*..*" style "combo-box" +widget_class "*..*" style "combo-box-entry" +widget_class "*..*" style "combo-box-entry" +widget_class "*.." style "combo-box-entry" +widget_class "*.." style "combo-box-entry" +widget_class "*.." style "combo-box-button" +widget_class "*.." style "combo-box-button" +widget_class "*..*.GtkLabel" style "combo-box-label" + +# Comboboxes within toolbars +widget_class "*..*..*" style "toolbar-combo-box" +widget "*MainToolbar*.GtkComboBox.*" style "toolbar-combo-box" + +widget "gtk-tooltip*" style "tooltip" diff --git a/osx/hexchat.bundle b/osx/hexchat.bundle new file mode 100644 index 0000000000000000000000000000000000000000..b1d11c5eee2aa99e1576297f906725232735713f --- /dev/null +++ b/osx/hexchat.bundle @@ -0,0 +1,68 @@ + + + + + /usr/local + /usr/local/opt/enchant-applespell + ${project} + + + ${project}/launcher.sh + gtk+-2.0 + + + ${project}/Info.plist + + + ${prefix}/bin/hexchat + + + + ${prefix}/lib/hexchat/plugins/*.so + + + + ${prefix:enchant}/lib/libenchant.dylib + + + ${prefix:enchant}/lib/enchant/libenchant_applespell.so + + + + ${prefix}/lib/${gtkdir}/modules/*.so + + + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/libquartz.so + + + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/engines/libxamarin.so + + + ${prefix}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so + + + ${prefix}/lib/gdk-pixbuf-2.0/${pkg:${gtk}:gtk_binary_version}/loaders/*.so + + + ${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/ + + + ${prefix}/share/themes/Mac/gtk-2.0-key/gtkrc + + + + ${prefix}/share/locale + + + ${prefix}/share/locale + + + + ${project}/gtkrc + + + + ${project}/hexchat.icns + + + diff --git a/osx/hexchat.icns b/osx/hexchat.icns new file mode 100644 index 0000000000000000000000000000000000000000..f7d7d69054a121358a616c101a7059772ff730f5 GIT binary patch literal 136174 zcmeEvbzD@-7x>&wmIan(>F!P`K}8Wo1W^!>Fc85+0bAUqWKrps62!npvAa;QySoEL z1(dqKbC(cht?&E&_51why~mw9dFIUNnY%Ay(#$AClB$o0va~=5Tc3`E$S#v+Eu1$m z%sK&);_>&KOXO<}-v-7Z^04+#{v1S+FM0oh%|RlPHyiOU6Oc|aj<-~Bkk*2Z$Zz;Z z|M?yGlhh6ur15Sen%sfcx8g5dn78ZDLfi>4XL0bsFWeEDiM!6iT@Z4v$MIsAnA>h3 z^>{CGzl%TmjBgmI_Q3H|roo+4mX0;en9PYrKuaMP%I%*X#it zs_%;%j5vgOw8rCDgGmCyHN><_NJyNoi;!KSmepKUgp_B_ojXh(A;-DWj6ip!;vYV4QutuD$oRns zsrwsx`n$6gM+XeC8!O5|OdB_MCpm=Vhqw>dhSe}^EyMsEl8lWd305O!9B+adGGH|n z21l60pko;bN3AHzcE&W=Cn3}~c|Q2k{1x`%i50(2sTpr?X=!O~$KQw&1+_T-WZLA( zX^l8u1+SxVNV_n_+wkacMWi?Q7szbCjN`2>_#@H+9QQa+G=aT^{ES!lbtHEKUfVVx z@+bW9EBqcpYvKK^8xr}7U!05M0r_9?)(-qtaDE3qj`SS=+KM-2Zg0aI+wdC*4eh}3 z<}`$DZi8uH=TS9|-&wV4)#`V6$9e)ji4VkVkUHM5h<9Xl^B}# z3@I#vVd5`yaiJS}2o1vVk1_y(#48;4QAma*PLtI*$;D~UEyyQud~rOYjK}fkrBKoy ztd5YzPA*RUl7Qn+g#je&SUgVZn4rl;n8sEvP6oR0Nko{|7cNd}9R(}E)Nl`{tC>*ADoxmgCCC9CAgxpTp7qk zrKn_;96K|vgfc@)GrxpeO7j;PS6aG=pqE*>x&DZ(k`b4OOC#8|n{Uv~4oYT`|$p}qOP96ya!_ZGo8hGBw{r!aXRJ;ZVI-!^ z0D2L&N$^ApKn}u#xkE{=azX&Gkbc}yWCnzxIAB2k0a6sGrKxcSV2(7{IRiU8Ltzro z3PzK)v9pr_TA>+p&ErfkQ}Z|rqyc*`thd|%(;%-vB#MZ5yfjrxk|oBZy#Qg``=1YJ zI$!Wognkr5g5NNjxV(y*x`t+F(oj=i0SkXmbUA~OYfj#I{=EJZKQ%nQln+?yP84aQ zk#9O>;rG9Xdq%)Swfh5`{hSi8uKsjI8{oA*snw>lo-AeL(J5-*)*jojW9QyOmqBYl zy2@W0#?)}w+1dG?5{<@?F?8P5-1*L*fhuP?6Ihl=9aqH2qU!xtfkxq{Zy=G8nC`#_ zUGI2Xot&z5!pH7c{5XK9XagdpJGEbSSoFOb$HyXM;Km2;U1yWFYhWM{>GM?yMuWg4QWq#+whZS(u>_51g3?xV<>0On_^m#dOBfXsxsR*@;<1**REzG`Hy~s- zVnXUeKr7(*{3pa;S45UDT+!X2sfGj$>HrE0$1j1*!|^eQB4sr2QrG0KL@|u1?R=4_ z*;7jVJxLSSwy*q5WFdV!E>4p*pTuwNHJA@)khb0C?rI!wzox6>bed>-lVkuI1;?Ka zSl?OQ#P8K{cLXS5NFGSR_8E}@+lxr=a;}3uh4hjS_hE!YbruotouIv+CS!UIbX<3G z0#PAreyRKQ{d9~fZG84y_xn!RKTKFH0F(!j-UbOXgjp&U`v{amYSJVqh%ByO%76Wm zXr!Z~qia4S@MI?pi->B3X!89Y@EiQ}=UNv9V@&nX&JI5`Xm{xBPRyVOYWU~0qPrT_ zAf;dTbM>(v{(yE=mPTsLxyStU;L6#f+jA!KZJ?eZNK_hKh)8rgokpWlNIf-w%0z?{ zh6jBoj?N%D#x}8ZarGG&7e@2-@$q!j7t2Ltk&N3dX*j99PBRN(^yAq$_LQB8P;oAf zou;RQ{R+mwy&Z+g3G-%i!)SBn%}dIy0p*7h!8($94VK6iCP*XEI~}0%TCG#T%mVvk z4>JX}<}l=LGXN8=UY*GWo<_>zfl(9Dn zr$&h)VY8-0ob*yT0N~vOqLzA_gHsw6km$8UoYD~}tn><=4F+_y4;l;u**ybP|1yL~ zvQMF3Tg2T&oc6^MB)nlOjDMF7szvNI%xmm@SE=w}}@nJ^9-z|Oo*1M(!F1{}8I_;%qGSf~CQ zuqWH?R>H!XIXJ0#2SM>PKv5pljWx1mD^S!jp=*9tG(btUZv=~|UC3`JX=eFfVu4O|6ZV!;o=7@Wj?C=`&xC`+orq8LDqj0ni>Gy>k8kh~3> zK=^;c?vTp{YX(!>uxulF)26Y)zz-s}8+n_MFL3Wd&RVQ;Zo*pfx^>IQQkIk*w;as?q97-7iYU3_NGL9$h+14^ zN0UfPET&{DP*4=N7#RaQ4dmuiy?}*9mL=wsa-HH6^Jy6>bTI02Ir&&T1sGB&iIat; z2*czQR#JRcayDtD5*>(s95)*c048?hrUL#Di7KBQp9+R*iaNpgqRE^zES?6;LtDz> zVM}R1Sv0L>alFJ7Qj!K8W_IVMASWPkTW$gx46q8B$0x)mlHzrQ;6*f^lZc|BHiXMT zY``7ec^QWkt4jw$p2Fpj!HM+dE<%dHz!cA!b!mrRA6V?cuqJLNC9>hpTL} zBi9G@2ZF+!lRYtK5L6V3(nwFwL@#WlDDX7XEy*2oAOm(NGQ*PGkrwc@dZH_4NiZaZ zHOMu7DCR%{y2UIx11SRr4m2hKQCcazb<}Szr&0!W^_9r|R&LOP3!#{XnGGj~+d`d2(mwaJqmV7**oH&-PFEJBLB; z0~1Arh|~y99U*->kc4LlZp$zIVoL|r(JNteBZ#d0I-L`z{;+6@*zR99CTf;2doO_` zJn8q%@vpW*-yy~ljHkEz528~P!nNo?smy~ zDy~ZsOD2o-^$fq=(9GexKAmm5S4}J#qiaEgg-Ex%TmT~f^--5UNW3&2C;meEph?Fl zqJ^C=?IE$f+VnzL(>6PZL-JFB2t~-WYfpBX7%%J9p{oT13^y7XcyulOo0X7Ams{{{ zh^n%7Suc>fIyCLnQBu%^7#BaS6V>hNx>i+6Tuy8E&mF!V)@6%{$=P(RzQr`Lvt!#J zSz(%poZjj06hl;eJE_MOq0z*Y%Q~Cksa;!pPK`w+QAOmODTHrhPo2!;f9 zS3BIhLsO)>v@lJGrD%5U2Xt*y?TiSK7_tssEJk!|nxrYiq>#vTaYe(uy*j+Hkm(X} z6j7zcJrgud)>9N01_xG1R7Txo%l8g*6-7Jc36PVdW{&`Y_?|GTnDXqO8ufZj_yHQC8;LHd#_N`Qy;>64wgPp@AE4oP zU`VODFI~0m_}RL;tG9?$clO}^ZJYCB$6KjM_tB@Y1crpXs-}*fz5ygdLqh`teSJM$ zZ7p?WwuFG@V93#!ED0$YSy?$qZ1_)BRz?~^lcEfo0DAyn!pIaFogdQR8yft`1_U<9 zq~5AGBASR@NFOBDAjnc8%F>V|MN!vsuvcLCyu^%xf~u}*T*YiFw@; z*dY=$UIIgROkRtyA>Y#Ytuf2iG#qR5UxP67hID|@8roCNWiRS5AQDAW#+ zonV3)FMGEF$F5NeU@N|X_umpl)a;{!>CZd^FmHVgjiUgzEf8SIK~sq$3OEpyoq0HE zCv5_Rnm)1t(7`;M@=g*0Gti)d1U~DkJe+cffv{TWza|%i)LqDga{%sAXi|cK+ZqR% zW8hL^W)QJL!*U>;1H;`U{3z<~JUDyx7b%&?FW@gK3)}zGRmQ2X~E7;s=hJ8#H+<3MHfsRS>}&1fh!rD7pqN8af1RqSL`@ z+_xUWH?FWuF#=y>cnCpM9(yNDlw4Q~%<2Vb;zH3S@YT?EXu|>I%0FBK0a-E{BlL_*^&~<4*@$2)lxcV0Uf4tOmsA!2r!r(jPD{(G1->44}xp zwG>CQfrKiE#;^ln@H_$UlS*(DUkH&-7_APY0mf zOkj{43~HEdFnSxDVWIO-Iup)$pK}ju4vjU!Zzyi$EupwKhz#ipLG81Zy zhzS|cbObPJvsN*1K@)$Gu%hG8W-5$l_YrzMGloVSD9Hv#o7nKDG+>mWjWE@h;lRTp z_0a8`5+IQ1Ha;I=-roSk*2%Cspk-7BXdeOHu3~_rpf=#)j-`MR@*M&<#y~L`0lpWo z^~APP94n##4?rXn?SNhOf_~S@uqQJ+fN{4mAV+&Z^s^=0a-!elOoT;s0Q=SwVXUc8 zvK1KGj@Yj^Vn7thu+2AAffz*JKv9bh5K|R2;sQzX)T~m&SAQ05;gZ)ta1VgnL05nqPpsvLiR>9l{x#uQO#&}4q%sd~V zIXs+t2(+#Ib*TF~0zo&^EwX$N40=|FD<@N9&-&rX1_rG!K$0~O1>2O;0!2n(Or z0emy01e8NDG;#*Yn%w~mv$hmQItYs6qdm~!q&A?#4{T5!DxW~T)Z4(kKHos&OezPV z3iSJ29|m=90P%VV10_T{PLR7U=oPECeC-7qP`4R0+5tF)$XYzSJ!|RUId!?3L0UnBTZOx6n)R|B{@|`uT|ZkoLI{pEeV#K zTk+*xH?Z^WV9Cu%y1xAec74ML$`-IB2N35)CXmy2juIhf-=$JXmxADJQY*N?@eT zUw#s~!oI5>Tz(t{0xgYQaRS>T3q(T7TX_`u0#OY;y7Cy7L0ELbsYkHGBY^U(_NN^| z0YF?j`_c|#`v(DiYVS-xgzeLX_T+5N{?r559y_39c2(v9ET0TEop;tgY?n2VyF^*) zzWDvf4~AiH&)$P=HwM07WaaF|YE&x`iqGARZPo$yA;;zI#?nb()!F9PU{#vHV_0-S z4f2Fxg-Qylu?l5S1VM#6uubw{)djBFjulFQu{5M;JBo#Qlr|P^#j;r-{%tlFZ$r+6 zRTr1FIe80~CIW&`Z(Ye2tV|RXSO2n2*h(U1s#a092}Quv!mCzSVTlZo9x?@x+h7RV zF(7VT!g_4&x}5bGmre-p^osS^3Ni>K`SRqoqzd=S+_l&ODj~Mw)7HWXLR0~79dZW{ zBYA5`@eWR*3_=hP(<&o(MvIc@@#MT! z$OT4J&*84hEW(z-Jt8!KSA=B}xRS|9F2Hi(*nq@NEyyXP7C0irPR%XEc+yD#=^|bs z@&f}egqM#3k`bnnnVV0}vtlLY=3^;xutq&9%fM39z@lR<=Vc%Z(EfV7G%SG*C0IyR8kV9B8hAJq&BOT9u0#Vs zt&^v$Uy1Q_VW~n1yp_lVj16Vpa*PYNA~B)JwaYP{5g^MIie?j=7Q*A9A%J7i`D=LC zGLvj@(>c846l4rKQ7$QY85YL`?IN`(d)e}2Y?&qKPB&gMbcM|v#Y;q^V4syZtCNr& zXiU*KUJ_D+Enskx6R>z$DAJ89O+fZQOk;QnXcTOO6)z5j!n;LD9C87xPKy_ZEg;Oi zaXb#{2L;YW95e(>Eov+jNI*p-FBT~SA-fgEqTxW~)Y#;uSS%H4LV1gkHZ;Y?AQUh3;HZyrH76m8quyaw!5R|KS zRT_y60VfI> zK#3=8vLGQMi9;oc|30>VgqfA4Y12drnZee0#6QC}T27v1GCZOTKPb8=835c+tB>b`_AWJ~e0NzAo z28$$l@j{RW@E~bGb_g;cjI%LW<1t4P?2HU=Jmy2mMo5kmloX8l(!iFZ4$TV2g0z6z zgghYUN|a$Ec)>^&Xw-ohh=^;DRM)IPY@8aT4#50a z01e$O3vw#32+APHje=`!7}*nQ{UyM{)8+Z`hppSTc(0I;JaZkXAK9 z;u%&#W`+j(Iy#z~>dRDx;D(-#j-H{3d7M?cHD*EvLr*@*VxJ{u&HxKW^O!l32AhVg zx5lKv6sdrrBV>5U7}Fu`h3m=(4KaNou=S*K^~((~eda;P?$yII8DQ)&6}7kPP_)$* zrG!r)VJed)DZ^G$)zH)`&=Jv8S5;PI%SuZ?ERO`19+^y`(o%#ta4bY7lYV8){m#() zb)WxtYPcwxe~3Fk2>t)`|1t184D>puCx1^AfvLNmf2{wT6%`R-GKJxO1YE`Z@yOyA zD-}>o%np+?gqb2RC(I^eJkT>RA|@`QWaI85N6uZk{P5xP4#Qd!!ejsh{~G|r^fV!1rl^>-V_1CA?u)N}aia9o0aNeSS4Rs*iqPRU>c8&+ zOi!gVm}25nj`vz&@4^2vU#liW`*#2^5`{_^78RH7I-&o|$pkgKt->Gx5U|6)E+SSh z#1xZ|$rCiit|@m`)LV(AtLx`I|2yE~60BYk>cn zJ<9rP62OSfXGzODcYZMNUuW*>&jlL%D?vzLA2y$@{@XMCe}<~1KS2V2mI8o%8bd@v zRw?D5r}%w`>(W31e-=Z4eIX`GMq%KO_d$L?_FvVef`9Nw06MWR#a2E0S7ZK5qc#`5 z6zD_mKNJwy2i8+s@-HL*W!pP)f7}5+?E~xe|9#?ft3M592hKF9;oBXKiI^VQ$X9hS~MU+}y&_x}U8>f9FACZvN2Y$CoVP zzRRzekf42rs3cpZ`@-Lkefe*%M)k9@Ff%dY-?-85Nd|^S#-JS3o3Pf@Gm zZ+3uSeUSS~qkm`UJsE0dY@ny3tpx`;JxNnjOGnSZ*vzV*L-%#Io+*FKT$B9e4)BSO zB_*$M?Z+-Zz1?-t)6rB@RaR2`o|KeT)HQYVjm@pIe`?+5brF9De&G487e4Dt$|=Y8 z>GNa34NDCbxUelNBO~3JWMpL7@(>NtF*N1=4t4xt8cmpjFHLu|zSVE8hIImRUSE+d zBPAi;>1+^=2;8h33d{ntdeK1%e8{$=9le}mk?tL6D}U%7YYfBuq0&_Rb9J2t^8%T z&WfiB%)W}SllY|N)i3{{cW3oFNin`_ML5OaqKUAiaIR5e^;;=cmSdU;3X=;PnP^s%J_i<`Md{4&u;~P z-|;(UvBX5h#3f}FV*V)he(L?zycY>}@t%VE^`Bb(>9s9PQc_AOHnfug}b1d_)`bx_2FDMncQVDjb*7^h?EzwxzzA#i-}ApVE;ed-8XkOBzk6g^g7`ZU1t z-A>N`CK3dUamd-pL!e2~WB@z}2q2a(uUaCY>*wM2_Rjy&6*%r-Yv+(8U~u@+0zMBS z*nL?gCqa@o+uGW?-=Ke$3O~$s+Rnlf%wmByd51Hf2l>kvWc9qTF*P-_uy(oo!-)U% za@@k0FwCu|2o#XV`3L~wR~jfN&@~SZ_6&^7EJyHvqT!$B?P^?Ssi&)}YXElfUV+_5 z0s=_jaj0$+P<=xmjC?I!0~3p}y}sxW(D0W;XZ$F8EM z{neG^q{Kzx>;mi)H63HSKED7%wA>~tB&#jR=$xn|D+w+J6GHIvDw_Hxmj7hn;jdj_ zdKf^M0cQwc9%>qxWeNhe-I~FkC!pe<8e0lXd?D~H2mrJUO#5|z=O>_bpQ5*}{OOrs zAQI-Ww1S$hv6Db9Dqt$y?$aH9wna%sTto;?u)w(hyIfVKI!+>Dv~5 zh3ve5(#1+LEWU{jXMg~|sHB{dhMuwI_(lP3e=cesuc^Y8Vs%cB;1UQ$2sS`P+sH!T z{ObkTPiYF$glGiogn+*@CI>uhJwuS5_z{3_leJal;bU_C>WR<>-?ftk0vI6>|4Wbm z*q{G)T|o*Y6F*efa~uFXY-#(4FXQ0*vblO1O0vXVknUJ-=ln{V2Dt(z!g2eqk5qrG zbnls;Kp+ivfUN=~Y%}V^kL~)rJ$8iU1NOhW_}%Nb5E#|F!Lkw*G&vyMy?)pNA}$8* zk*2&`TMUWaGm%fmg@eWhalbuvw;0NL#5sGYv_*_xP+g& zfAE&;jeepxq2dh$(HZ_xO-xlFUv3Bf>)b*9i3Aaw(DW53!G4+^zNZeA6z%0*5pgAH z1@$?7+7SgA(xNIlCj?Zr+womgtcL;QRek<$dZ5AR9_|C`A%dE+%Gv_0xUWW%B1+nU z0_Ml}hyx9Q03iez|43lm-!OmINa+ya=#)N0WJ3(>Ye7l|$JenXn2MT4mjwafNe~e~ zz`~cn)P=TTU zXo4M55Eg>)OsDXYS6$Y7Y?5?(_b_K@4uJKx|IgK_Kn44w9DwCtQN9s%z{o z$O3P5mXef&A1RqDsIt#=eG3{qCB!A9<&@NS_pO7H%}TNakFjJxH<<4e)Z{Q*4kGKZ z0`-=l_CJ?>4TI3UlA5o;0a^#}Z5%RqzhIqt3e>D&%F4eW-Jhot{NBz{R94p!Y`Cpg zmL+T)60j#>o~{uz!b@Y#3_<1J%bIR}&kM>GY3VE#RE{@UcP^hqh$qnP0|W*M@_+q9 zEBsMEPICD};P-&jTY>Wzf|WolALIM~pj!nV-TZ;?>Vxg=ooWP*-%}`9XMVEiv~b~< z5c%?1$H?wQPnW;Vycum}Wo=`({%_m&YL^Ve&tHC5{6|C2RIrBZ)#vBzYflps6H{}` zenmgm{PF#vR`>FW_!nGvP|-Ft7o>-OGtx6x0|+nZ!);^h9DyA6o4yf>!2A60Q+NDN zUC+elpTyh~7adI^yr8XTWM;+tHxYGSg)IpN9ualySt(ch(3P!k+5$G4@m)d(DC)pv;6Y?u7jqEf}9L-_Nb($4gT?* ze^Ag{VENtQ*B<*;8F+BXFX#KI;z556WqCLSga85m=ugkYV)kDH(AZBwn)Uq@l5gM> zHj<8!#f6{d`Niv92O_uu(FM4a3Gs!_7)iw68fY0^-evbq1ipa{$3Gf+Cc%G2N4NSB z!3~y3r+p#{F%o`|CPbhJ?X!eehVq1W*X^G(yKbWh*KgK!E0 zBslc*_r`s5hfH;d%@-$V55hx40tz4w0p*o7bdAmXxzzRT)T`vF-VeOj4FSP}{JSS0 z1%Kz`AF$Ae<;y}~j|h%+UjG(i2m=#Jvz64f4Na}>1|91)U7zgKKE&4v0`MUJ?hV9w zEU)zG)m>0yWvr*Esvsu~mN9X~x-)^1D^7fn0vljrW$QR-Pj~aa&%+QL_>uRzF+h+Y z;VNk8n+E;L>Zsq8x+r{%lcAm*{C16mMECt~3E~t|*T!X3NaT{d%_r{s+D~n9C5R6~ zGu@)6dv>4zLJbgiuRsz1<^oXnlD>R+@vuA9e`xM5{=+kmFZkgK()W3La{L{DSR)7l zhyURy@((lfs~_kHB)(1%zQ-A02mVEy{>{w%Hf`R&Aiiz@_&Xr43Oi8t*Mt5;!?Irz zUl#y;XC1!p(lxew@DJnuWz(0&osv%g@pU7BI144B<@%<<|MzzwRGA+b6G(jB01&1S zh+)`)f46D>fQD)!F8JN*=$!GVznzu{|-cN9vJ)2 zA&=k8j^oq2vH!dIyQPpkA%z47EPp%6uPZAcDE%kw6L=tYfVhbSdcfk}j(mPSH`H9$ z1&8BL*yqpReFGRYvBUk}j`p@?$$T;7IZ1#AExbTI3^*_zq)%lh&$o<|S z`Jbo!@x9X)0#iU;*T`DX>Bv9A^x6S7zt5GoALsnxt^4~EB{;aY{k=K&7oa>C2&Z9i zAo6?3^8*0&(6Pf90AHfHc2*d~r|3@|cjpCVJZNlZ3=+SZ{ahm-F^i5F|hVAP2|)I{Jpj zre@|A7S^s~Bc{$@khm->cXj2KEnE3%3y~^TmtzU&BnJxe%Wr>T$+Qbhn8X6fH85{nc?Cr!xZ|y&3Q0{(O`V@QZ=ZMO z)uB|4s8vx>Rwk~7E65X9FQkZT%EUd{|KS5fLJm=h(+4pYVc+wAx{}Ri%R^G&r_Sr= zoq3o}ULI<@e%TU!+7kQ&aqv;#mh%7l0VV+epg@Sx{r#r|B)IU%PhD5fJ0G1z5UU5D zgm6k&aBKjdp#IknP~qr}fB>$z5}(}izklug0+#;?Eb*OdPa?jHB|duX^vU2}IQ%v^ zarc2Z0s3EX-^Cm~-~aOOd3XK~PWWE{fBy=&=ara||0|*VTj7LXOnia-A3s0_6c9g= zPI&o5B1Yw>&hMPR|Lra(E+j)D!UDwM8*%;M_k0eu5tGbp;kU+)Kvra`mztWW@G@b@ zONT`-h@2W}p$2)>_4I^iIK0Y6gon-n9)&FYN1@Y+Hi$K8*7P}@^NGW&#-z~6VTi)7 zf?xjaZjDIr58Qer%3-)kxF=R`%!nyF@PVrOP%Vvc(w5f}+WfEI+|fkQs6$rf z?{xRj>^-cHJ)m5fRxYZ*3n^S+`Auctp?z~b9v-V);eGPKvbqe1FPPn|R73BRxQ0=P z%?&+OGtY+zGuWjgtKL5{*SkJ-`lO3TT4L#!zp5ixV|HG45^dRm z_cK|RyZ1V{y_r2etzfS5y~WuXVT_iNPet1fBn7LSPrv!8f%85}k0a|kO|E=gq}1NK zs;kvUY#C=X;)-{e%m?-Tcc_;0&yb_`>@3bo3Uav?wlF1_l);UrKR3};DCRouIWj`y z0DA-b`O(0pV+SkN$~{#+wngnhS+0BQ$92H;jRB*U>s$-1 z7#wlx@WbL#XJ$a`+*d^&D=Y0=t%uy+a9Q1c=)2>G_AW3hj0}$NuRVQwq`rK|oO!tw zaSrEqaAF$*PjFTbot-sob`X1`lc!()h?YBX>+&{FJUsK5O?W}MaAe-rci9JnpQU_> z^clTjxbC@aSCvnyT;H5AzRYn7t~*S_>%+>2dbduDyLY|FM@I87!`DEn;7%A#Co24` zuvy#QmA=dMyhf4LT5~Tc^U}&YHplk&x7<5SVd~UpCG55RMOP%h<4KrVl|@O7td?N5 z7E~Cte{nw?=+BjV?Rm-2xJy$gsHEPAu!FeiipE^32-mpy|d6S9eOg zoweKF_`rR36?SGW)ykl5P6BBhJ8jc}P3z(|J`y`-^5n*of(Z??5`99=El)^&{5srg zRohrgp`1fI9k;n**B@Q1y*`I!>>}yDQe4sbMp$BN$@ZE#OjFr38`&Y1_cE<0?P2Gf zE==OQ7!>s6Udtt+qe~ZREZO(qEN9+3`-_fo%OkCGKQuo0vJe}mzKT&YcF6>}v3o`{ zvKBngnQf+0d%f+2c~x=qi!nJx?*`djXt4B{bHLW;*=CUv^;x5ae&mHG6zE$@G+SNB z`(&qRzo036*pBsu4V21I*+EmxJA_;AJ+7!ePxE>5amW4z6>o|(#8S3P$~%@1e~B;P zt{#6NRjMEPaM3|Mk+YYlKUEo6$9Bybt|y%9t9E_BKarwHf`>r$V>W^&0q_%~9%gwxId~tq4nCcpnM;x+;Cy?r|LR|;4GTe z3-(y$2A5ZEh&Il8Ose!tg9a=2Z*GUIyu7PlZkVhTI_I&eG0v8|cskhd)|5ruc>jwr zEej89WJ`|<+NplmW_4qm2WM3KsKIk*Nha5{cycZtyHuK3tD3mYkF`oGG5uhgm-%P! z)Z?=1)9$8>5~s(BzZs{&i#vK>)a};C!}k>CZt%QnV72*#=lrtseq*+dW{x`^v61(F z-^5!1s;L9ov(&>&1E(cbZgpLlc_(16?Rh}x@B3v|)^{67~gl%Pv z=wX43~DxEq&B>alVYdJ}y>Xs+%G27Ia+J)6{u8 zdG30%_T;h?3gnU3uF;l^`$C=Mz0y0PA`>K;6BlSx$1Xhc zJh<#w@x>;GLC*{?L{ZZhsfm;Z^!zLLx#8>Ils-P9-|y?}_tU2D zO^>=IS2{u6ZA#e96+54Q+9kr7TAz9~+2rvyj-PX7f4>nqj>j%eztrFo_N;>IE8)0} ztCiA>v8S%GFAQzpLrEWGwXVNrK4ZUSlm4!qkG1`ut`NOJI^jxxGQvh7SZeu&}9JKiAOG)U0X&>AbGXC$n7Q;cjhp+GAk*?slmkfj%om+`(v zCptSN9myOxIm>&P|6S|2m=34L)Rfv&$=Qr6n>$*4ro6h7doRStbQxFrtjNg6W0b!- zt37)hoI>D?|RU|vmj(7CI>ZK#{-VU-FJmB{6bx4{Ta$3BNrtEeKDNL1~o&TyR zc?r#E-?>9662T8l6^;fUkvMM^J$S`2XXzL3Y@Uo$$~)Lxp1)CxdSGpAWXre>*8M^) zl65HKa+NIuUx!=Wf3VC#akKh>c}L3Th40*fF74PeHxu(d*^*Twvtbe~d&Ep7tK60E z`|E1GX8D?I2&H=Wzn<$=FZTG}gH0k6Odm)}Z*_mX=T_9iyRRQTJ;<~AHqzAnJR$Jk!G2@T2yVm^+zkFQ1G#qfiMI*+}e=`S#4%cPvzBQshY4grD#p;|LaB{QZ+%+ZJ|s?|tJJC39Z6qz_0D-#?pnXyMOiQDb2eQVVeR&^M*YP843908 zVdohg_BXd5ie|04d~iq6y{~D@HmT>F-`k4E%x$=LF1D_^`~eG{&ADC8uE~k@kGbr| zVBCKFMXUs3XY*ie3tt}(5#Erb(!8>N)+)cMOjY$9aZe31Ec-6jwUHiAD z3N>Wd>!Xv&qdW{_8Osu$9!)y@Islb@$vM}tZq&4xhFS+hvpS^(ky~Xqi`2*&H#iRx zS*)?U>7&y%^P>~EfkM*T)qI9}vbGF;eR*K|*Y!!6{wcyqH*6goEpFW%xI9x!>PbLF zY((7Y4>2R&e9OG*J7V^u34YTUi(N>*q>byY)=b^(VaJu`JU7|7eA6wb?6OCm^G8c8 z_*{C+`ond3%-gWyzJ^+{|6Z_+-_TFp)N|Q$>u$>P@QE95-FEOdn>D-a_|qNt?r)V` zEN&3H^uSJz6f#c@w;8)v>e8(J3-e8Eij6AvxH)oGRUTXsdE^!D(Y~H>bpN!*t8tSQ zL!P&8aWwE)9;4;$x=KcLRm{pKoF@S<*FVv_`Gi{QqEdSW4L;1gLU&CvFU5-##Vn53VL+5Vdwh|j+BRE673YPCOo?3;}sTI=X~ty zp3)RmgF?#a<0mGhc{SWJNHX-ayQQnK@}6(t>D^mKom(AS6n=eMn+E%)0@Gk(f@S;l zO=O4V&5wsNGpm>)OXpZlE*}w*exvZ6?B1%Ayb#KIi_5WRhK!%>=q9y)ymavTg{Nw# zr5-JutQG8sjaIxqTE$-T$bpPzuLqp>`6KtA2zWc-v1`ie;xSo%(kq+BA3xVR^WYx% zpUZ0Yx2&ETeN{1;8~>r-=HX%EJ-x;c_c^~x0tnUT+#u1KP%^ym-{|%eyPiz&TaUzy|(u5?x>Fs z!`u2fW)5_~XTH-=vU<%r_oyIr&UM+-E@_Ip7^6zLEI;>Rg;CwmX@hxBYXa7N zF%+_*=?AS;EFQ>9 zzhBtw8g^&Dz2!>DhzGOJKexZT@sL+^?Cu524@+k#-wRc0VU0+O9A154vXjk#cR?4I zH3vrc$rp{3IHICpou}j$Sh8o)8HE?i&*UGpXpS$;NSU#2*Ild4cbA>MOPW$NVNckW z1(Bl^%!5*7oNGhM)3b`zB}7AyDnvitG;Sd6(C#&54##}k!mkP4BW3H(D3A3vbnOc67U>=4fBLI>KA+%R0sKLD`cmcYhPrm0vWY z%#wO?nVUgC$hx9~jS*xG&yiI%&x>xd)ROk}pU~g6Ip8`r(jMm=Qa643t>m5Og-O1H z7Ja&vZ@?TWGyB0Av8u)?D$SlH59cr6rg!er=xMPNX=7^J3+_~F>28&|b75dC=lTxG z%`M5z^1Z7kcyL0LA~Q!LEH9Li{2|ZZHboyL&Dpbg9^o zBX5^JSl(f~FskN&osjXdvi6K1wC&Q9b#ePHcpsYYI%@`bY?`m8CinWTi3|3$8zZaR zEjt<{cN@9xR2hG zQaN|BP_TV~eaOs))KMSFiW&|_FPodCg;rO6jJ7WXp>|=7)LUP3Z>=79YQDxAoM$Af0i}hI{la z<^1DX9~?~_cr%@6z45}hoBa|-hjI4ljh0M1{pNm${kgq$_GiUD@hB6lj+?zG4}ZIU zRG{1F(Q93Nq+?$0-klgV^BFq5bM7XKoLwtMKOQ=8n8C<~_RC6~m1o87hehih8piV* zci?83t@=UUe$t`Ycw~H_X8)qr7?pztV+*d!ac`G;oEo*6{$$$?x0(V)zj~xb*2LCT zEpMofkr_+bo2hJIYbZ2t>b)}vpT#+`HSYY4xnW{z3)JK6L~0yHvcmok03JZ$zeaIr z>E@XQ9KCcU_V8Q@lp8j+0rx2wq>)4BF0BjvKR6s0xG-&FGNNm#<#K@4(P9wplV`{~ zO)+xl=QB}J5|<@IF>?_TYnD*Nv-fjBSy3S@_%w9pv5|BZ+$H$M5|+VPTZ9QF+is?j zavYnnTqrnmQ7b4|V3#eAWo!(m^)ftBika*C1Tq9fC8cXRRMccN30f| zJGw0oYrK2HI(%1|{{`P4BI&=HaK=UGpe%81(&2>mW=^K}CKU5QK7x{VQqseQEoFF8q$$9TaMq**pw7#`f<5+AjIhY(DL71g6O)GCD7;qV(mAy!u8T zG*N_CU5YiV??$_T-=61B!=T9gH&o1mGV%72ZQQsOZR|J#4E8l>TMOma=q5>B6XD@3 zI90?EOAifUSFR^R7@%0*uN7|=O{4eJLyyKWd-cYLOy`4&;vA;JkIZJ?XD$KlbDW51}3X8_~lkQQc zQ1cYs)#!dxUm=3(&u`~J5Pc(j_kRw$MWE-xl&w$&(H4R!9J)Re zdBbqz78`kLX~Tm7kH0Rw_^+08HnAS4X~<9XeP#qE+(V8ESOl2J4+EA8P@Eo$Y!#M6 zzf5&t-m)DCYZCWua4}j_E!e;XZ6K&nu4(@s^Y($>mdbvCMtzbWlkSWSL6t89%{&X_ z8e@rUg6Yrg1GX_Qyqml_dkswQxUDO?KsA|R8=+a%D|`hX`JdBm{xhF21+u5ybFi4?eo+tu-1 z(>!Z66MJ-IZ5i>7h{CUbLQ^Ia1^1y(%;~&>Ti4|5)2HnikFjvuHi*i#qUDA*fkgdn zBd4Pm1b~VFX0Ad{IHl+DL6kD1ev+C`&d|bN~?oV&i~@NL=~d>V>Ar z+I|I;442Ex2$DnZDHhx2JT6{@;)pQ$CSFt65d7{YfpgfFA~%*C$0tG+On<55@O!D{ zYP(Qn!zb9e6v>M9)@cElDO9OuBq(XPBMbtJs-iUFWlr&Miked$T?wmYA+bH@5E35fcT)>8zef?6(8OM zg7U?MHcGrjcIoN_{bc&p{%8{EFWA*B=4@dqb}GNebTfNvaF!K(?t@nW+vl^B3)8l2M0^{@CflSz8a0<7iB`71U(3An?` zqg^#{(9H^R2{om>YI7_t8;Vt=h@V51s++?6i3!g)Y}hL=R{ahwK3+E)RY|g1=aN+} z3)LqH1n0pc^>-&(r`3B!{r6j7JtB&8t__Igs zyFa!u4kxP=+pT>xX;m8cR%9!}loPX7{cgQhh<1XU+T6-TsEMG^)x zGY-vfQcuXPS@IC~QuL{K04xCXq^*Lg8@I(A}nSe1BiSel=+BO%=Bg@TK3sodu|ly5IHF}DuQ zlfx%&Sr04w2TSKK_xt@_$^rXcP4Iq)2(pCeUt7T}vf?q-1`GCY^|M$11RM&`0U}+) z4cvYgJ~Uf==jh<@4)6ZZN+WIjB>^jeR2!YIBF}gb|2LB5fnMG{aRcJ&q1emROoBiu zecCOWz>j&h!?y+suYtFzPzqI;5rUKKu#-#^Vt2YK!GG4yQgB|r$Hk2zS}27ckiw+r z);si{cKqGDv<^Ac5*}R18hm3K4viSmX{`tdmPop8^LdFYk)XPRsr;d9f*#KO1jvpG zE9J;i63_LL#B~A2Z6G2>r-L$V>`|-pRY2@M!_o556{ECsrY&{$Kl`D;2^QmQX6h6SFxNeG`vgSS10Sf zuNRR%da=|#o|{*EJmAOjy<6C}q1dUXxmHVV_T+qwP1`P~Rim%kB^gbq2c=FWT6r z8XX`<*oWN7L`)5ie4EJJ`&$R#PX$@Q6H>%5#4WkD>(cwDKS>@ztHy6KCu;H@!SR{Z zCL-MrMN9i%M2&f+vT{c;h03A84iA85f~du^CeKyY1-9_I1J1j3nq8u~0&+&S*6+Y) z1!6M_7W#F&O(pLzcEyU}?aiCyDe_pNOx`671f@kmb)6jrcJ2w-B?j^lU=-yJbMtcY2elmycwP^u=lxZ${*43QN<) zP$bk4x#@y8ON!LBGkt&PF?l+n@Dz9AWRGPN{m;ljyO#6^T3r+tM)FZEv`l#piKNZ0 zky&i5Z8pdD4R}+|R3t@blzksqs*XvyoI168>AhV;lis2mZ^%O1jq=#a&ETcX+dxL1 z$k%7t<%i;}6nyz|LL39@#RfFy^>oZ~l^67RWKq!yX(WweCBT=Ea4l74K}yW&d$&bm z3!8mv%?X9~OP$RrGF$JeMQ^Z~^q_CMhf*vy(-zt0jSh*7T<$dP?C2#a}^6bM-do}&{hU|V|@aT-{}T2#S2@S?O{jbNXx!P5SeRd>=83yjIb1$m|vbWKerjWkl7NVY=D8fjeI(!v}%S@G$T(@oEE- z9P7NQ+AbsTW5`O@c!eJMEBdSGv=Oq8ZK~&^iBP}CdXGf!hump!`Mvy|UKkDeh74j8 zxowf&U^yA&i2-#TTK@_gRHQ@D(R4X0V(GyLE_e$zvy>_CDAPkpDlq>KT=aOisRa7m`JB&Q~UMFtH7ZO-G29nGMYdYZY=J7&+{-^W}eu( z>TS`k^6&PN!K466Y`P|Ki z0S&ry5D>676qC@=(5K{y(8LafDV8Z+Y3?>Xd)^l4iGvrNuHBfOvPGqdV>-R>NUOZp zL*D{-bS?G9RjBbn+QXnb9;+J(7oAEf_yF z%V!^p*Qpq>k9Bzm+Mnc*&XpvOQaAd{#Mo8mS@;TrhZQv%5oVlve=u1L^9jATvT6ab zb!QU;D542aw%T#1RrA*WY$zel=_U2lIq5IMNxah=4c8$V3|50rpJC&j3E73e5p7qm5Vws0O(DMN@5c)}*SAV-Q>u zPINGD8g;ayvm2uMd}})a7sJl88mB3Fm6_^nBre+0-Q~96lFw=opfi3Y>$}Qz}cM5gqF#oM4Uw zoAwtchw$Y=@7gcR%ojqyDV4OYuyfTMnfMc<9$Si`TM*YU#%Y39F03y?UT(awKRn6s zP=sDi!sGY)-^2eu8?M1Bk>a>lCJ-4>>ISTJu?LjItp-S{74n&R6u=07 z;_D`n+ZT5R22)Xrs{-5?B;JD}@V`~Hqp@AokAf@O&$YUR484}jVzJo80Jq7UDU@vl zX?ynZI4o{rCc46cn7R2)$8%(!Nl8A!&)jxy3o|rkInE+L19MQ9monK@I$tG!dmkV_ z74!R!3z+KmhXy>%WSsz;2Y1i_QvR)Wl4_K>Q!vlHP@;37t=(lziyRAg_e#%D1t$Khq##~q(*84@WnX-{MSUF3Phqy+?b_Lg3A1v4Gtu-`~xdy%>zrTks%}Chip2ASiRBa@D zNl<)VXB4r$@o8OiOt%j?17PYi+C#IG8+OT)@HdyuPRal(hL0ZKlbAh}8SonFU1Z)veuy*^x}8$>m*L$EAq zw0+D5Mm)R?MKXE|r!lHWlxk2N?~iL{#RzS+QN(1_b3@41p{Whoel5cjkzP6{G!nYm zkjYv#P*RI;_;_PRWWJCm0DM<;8(w9SZP-4tTe_}93SzX=yeFw6FY#G_2$1>opdC6w zk+S>PFGfcAb|43=F}xH{ac77-y$}+;dN9tTsk_Xoaidk%E5cg25!^ObGeJ9@Ph^+z z)sS89_Ad`nMn_Fr9!7exLE!wHZ+SO(`@put(-Dr>9&ENKMjPinjEctzb! zUkgaz&$Nu7);30Y-x`Ux5URybos=GqpK^31p6SoL5T*^LB*>}W2A|#*?!wbq!~r}~ z{0AaaZ*<#cJ2$&XyGmNjDZ5q_ai{_Mz(*r!Am8E9Lv1=UXIvzTc zNVtR+fSy`JN20yGzLrz~drI7)fvPxE7jb`Fqq-;L>+nBBBt_;u7Mu87Mz{}JA;iRz zmWSP{Hhb!yR9CR~!M3A6c|66hHqHkvt-oScSz|?IqjNY3tFb%Y{XY_CS$Z!AhDidG zR7{FBfq$w^@Lvm@#cVhsqO!FtKc}tvT-1=AVq2W2ee0W1 zjViTv&Q5p2;#XOK`b+u&`W-th8>8O+?85Hpi+=ZE@h_MaI*ck^S;M@3jk0m7h*y@G z=Ua?E{0nbJq)D4)He5fvf;?;0_|I0Uj(?T{->?34n&A*fH=`Y; z;JmojFO#_%+V==7;OdcG`5V;ib+dP>93Yf66ehSSn*=?(DG_W>hNY$V{X1Pdr{#8KCa7N! z^NZtx^Qzcb8ta&HDDZz(^kH~yD~avr*2m$mKlaDa_M4F;IlAvm32XlsqzJn{EU+^d zY&MKfN~nxi_&7RqRA0P3OX4`c>m@~Q_{R3P*k~F2*#2oW@6uWtiqfa#i3TgJSuBRH zx0$oz9nzykBd(jSo?dbUM<2=$<|<&ZKG;ks zI|Sh^!+Wy*nIA$%d5gs{o$j!bD!vmkOc@S$`7@CS?2VyZ6V3doXFn2W!g! zxCL5QnUt83)b1N=ruhE{R((sRfv%*0EGgVC%JdVvL8{Ms-pZiUMZr{Qhw9qu*E*rz zdevFvaPU3UbfM^|YcCMmav&~#?RCaE&osRU7o*fg4y24t`!zHXS5;+fdM`(nOfMsd zFIAi7kI7;I$A=c-J`sBn-gBxGHc%9HRWO>-7pZrV(DBC0+Htubsr|$!V?e6YI=lW- z9+LXRm1bbT8)G-Uh}3e$T1bn(5dz5l4#XBhhE{F8U;hM#eMg)4Vz)IkDBTZdU9tW$ zKfuXJ>n4EQ%#F_k2Lz@wib;JxI>B~lXLc;(R7!`yB)-@~v48YOgpzrz!ahb8zKY5eu5 zdcZ!TWz)f@ZTP%F6eRS>hg0Q zKm&s%wt^xEKJDT^DGCqE_)fnD;x(gFuKk2Nhnbc(g)I<{*hO2~JIx~&Sd41QsIp6h zJ)F~LE&~PkP8^p90hr$`R^LRqM@XB1C0<0fdh95vBfZ`e{kZc^86u(-P{K@(QS;*RN~kj3Xw)65`;-fh}9U_6KMn&(x3x9GuA`Q@|vEeunSGzp!3b{GVR=O;#^(|gj zO}Q+dC;w!3cf4>--h#qk$=unZHx+m`aqp60rJo`L?=*bv^733&l?k0*NK&Bf-)ae|eRhf3C3d?&=xo z_T&;Sk}y6m!t>o4c!P#O7y9c`p2U>S#P}Zt(ByhBg<%rnfgqwy?uawuDN+o!3J&mB z#1X=tQ0EZ0|02*N7dY6QkQAX>HxaPIbje;F{okIert84~e?GeY89&8I+Yv7ylXggF z)jU<0OD@6Jrlh?TsNiBFfNr4XB>CpKZ7(C>^V-BJtS>X!g1%bss_A;@pwIWe^Qg!>MUi0X?>Oxjh7tV_{l$Z+8Jnex7yN~%faq+bqyDg+(V1d(xI4% zaSK(wq7xF)mR;q{?3^y-fhgRp%w+^X^J0gb_;87F;^Yku%RXS+BiT@jgDxiMfCI z+(bY;78CDA9;`(Pz$H2hC^@f4-ReRfA+jrD~zwY@A=mnZ>(cmxv>4P>no~y7Xann|#C|ZH>AU8*snu zk_WVmJZb8TFG~}59yd%x(ot6Ok%xPnOU0Jckj3ji->F;X34f#fHyJyn-(bFYT9 z;uqKWTo#J6{~DJ0ZuK$C%lx>WDGu`JCBWu8btA0+UP7rF`Yy7~@gwvDuY?vldk6vv z=t0&p^er#0rwr7BnVdHMAQy}YXy^wzZjvOui3v+I*|<$zO+Ew=lAAFt^`pLAv7AW5 zgnE040ge}u5Y*n*i|@oIbE&)cs?G<)3S-jTXId_$4e!HXc0fm6>V`C%As(by ziL|b^lCtXnFU@=c{o4m+WY;xMBjq|;V6A^H1waNAhkZIlp9?q*_CM7@OHBe`glB6? z+NM+AN7+a}r-DGP3fgjU=*vbX{BRe;jdL>|sqOvYWr5}7ydteo+1O)Ka88Y%J_U_H z3nppaSDb_zD3*H|#>pkDc9(&K+U&bc=aVcASCkHgr#OOW=ARiY3C)^C1CogVS1R(1 zj+p!aM!&OB?BMW7o?qq)Wz6ry(P^dvD58$ZXBz|dVao5{^9M4|@z?=#@Tq3g7+m%%Z=b`x)Uzr_0(jtwC6H zXnqonUtFTCJb*Dzw=bYlx&mZl@X(M$G7Tc+uNjr&Ro`*<7+F8V%U_lOFy{cjWl#2L zRtNSD#o2Ea`C{kpJ>(0eCB6x6 z&&@W%Q!JHw&*C z*tSI~l9SoZ_%RCX3bTUL&4wY%qdqd6-gR3ZonLrouG@OExgO>eIMh z&usQizT~4p2146KG%VbW9tj)${D@ctVYbU}j*^o;rZW4d4Y1R(*H@ORrho5;^QVtC z?X{d~e_QGD9aF_I*P;wZ1X-7hF#PDVcS34gW^iKT3_{POkR*V>lV7Qt@m+kZCS4E# z>{cS1;a>=D1E~KmTpi4&{0XvmeRBP;wg%(q3T4HWcw{5BUQquiSIg6={TO<<#7n)U zR*P3B=@%5~l z$0hEdZR;c0Fd`%q^o}f2QC{`5@wtb>yJUlfYQy1s=`8}6IfFv4Xp!5;`_&ZmV@^3ZO|M|8Yg~#m_gvxR>jt}BYr4&9^B(4S1g;rZ)RIBXk;7DI>oX6{EuR9(5h>O& z+8OO73YPHxFx?P^ZN9w%`@!RmD#{A$LK|;UkFt{3AyS+GdQbEIa?Shvq9H9z>Ii_} zf)i_yqwIJM$mEKUa{?G^py{?u9lQG+x_1^=x)yCYy`ug7wx(y9b!~|%J zE>8USGc>3K16qwl)9!f11JMzZ&hA=~XLU(fN;`l%g0ap?G}?sg)XBP$W_EsN%%n0Q zs<}Nz|b;43cZ%IXOJa_%|e}u-dd_*2BO6doe0l} zVRX${_^i&24biY`H_a4m3Q}tp<^2o!wW{r(Uzza|*o;@F22e&`iuM4AihV0(4D~d0 z8BOs4D=o&jc270W)#Rg;lc;?YB)jy3{9o-AR&8r^-)qa*dtiO96z#YEs^j$-R*YNE0`qA~Sh-dG^O^%9B6j-()8A zV-X(4uz&BE5hGzdFUJ3ONIsr`Ow`8xp6sig&A|xpabNNHOOMA+LC9?#y4r)nFN=N< z$%eOWM<$sdG2{ju!{HN~3CNi=*9oBneiJ--BJDpmL-Rz6`9rYSk$5=KLhh{lEXOmB{g^CS_b=)KxYLRr;`d)#>RMTsgU zcHU+>sg_FeleQBrvSmCs6;@Bhey_9l*xSllVGXY@DE~ICFzZW4fTHvec3qGNff(Zc zNs@ZM5ZH;Z4vV`DaSESGtUgoJR`_)3^N0rPDhqM?`Mnho7^j&9h61xOm!X0a!*uR+ z)#T4$2ZyLT+UTgyk1|eq&4>=fBN4Z5z+yt5-AXr+Cc`c+%8K$S4L9>8T2r{pifa?J0D;~F@ z8RY07obCa;(_jJeQ9ELXj=q*nxOddK5lgu|T{5+ko<=>u%&-ha!||JYG&Ypc>bprt zY$sp{zkKa7vA1Po%i6O$+5Hf#UgErm_zl0fMIYTut2Z~o;I1@Avf1APDH}rUP};mB z(A;Hadr>euCw8i&_Zdmnl$oNXhd%=|hA_g6!;#?S#r&+=x7}(i+d1J$&3S=sI#P@2 zYjc|jfBY~Dv(D($ccGK~@kECeORbG&&3_jvcF#yd&$Y$ghG$ z>aEkd!NPa>JX3*1>jfMzQ_o!$t>=R_V|i~WNFM#j9M0%aLx_6lf&UoD>S4A_sUdWw zn8=azGTh{QY>n55C$G)4{d$-Ad@iSGg{DB>r}?mrhOGOTnN)ay3Cs9`8y5FTPM6=B zKIC8?vzD8BfUOh8lSAJkz_RpfO13@b-Ni7BYwCMjp26o`22j|+A=ofs1>C9S7%D)V zsbCQpU3&aV_(N#lpNo1s2=5qxl*DD^=~sAemIoE&;Fo@MuT^Jo*le2k_5T!~d2Q?Gl*3+@r5hBLOUDbM@DL)t;V!lA zHhsPv=RVqe9r4_l&9TNeR!=Vbj3{e;7GggyMgg;sQuearC7rRGsRSPO)QoX2)gwtq z@x|UI$SO-6r02Q&-qj)jZ%(3*z0KSjFy6&}0SgjtW_HWAgV%lB;)S;3I#^i&b2UCZ z5O<3M=cQ|SEg7cwbyI}j_Tuouy){!VNSUH!*$a^UmJXu!M2MlZxp*=x?9=7DU2&1< zaFb=^C7o@y2y9j^DfY`@N#0iywt&ax0uyO4(BSGlN9`DN2t+&D^#-ES!XgZmNEf*< zq3|qlr}@drBl}HO1%B@gZhvIH~LwsM7 z50yvr@}_UL&sbf6mjs1lZ84_Xq#lbQ=z?J+a0G<&;Z68cNfXj|Csk<#KYRHhpf->d zeQo4axc0Or`VdpyC#R&NRKSLg+0*jiwWslQ2@6)}qQz_eQIx5d!cv+n9XxCaA3Fw= z8wM^;;obLO98}G+Qq!$cDq+(k1rnYen6FNUz*Nvye1(xyj+5LTS6^M zj;&^)H(+sV|71<_0RB+VetF!w{h+GxEWybbXj);|XXJo~iD}t@kkK*2WiG_-G0<0(_Rvwkq`Xz8U9==sYL`m5>1guI zmu56wW6Hybz0cVtTO6$;N9S&zjI7r&)eLijfYNo6FuOZy)S$JS#e3w*WKWR>E)<|O zgSlq$y$y>*!F=EcSe{9L$y$ZK#Oh9gkW7CD3 za)QhIc<$Ykme|*DKvGZkTxgWBbU`aw_n+v(7Oe@+8m&>`<43K=#TpZ=G7OwH%G5bI zBQ!Z09jbGq!88(T@=fXn2PsFuOwZkzbJx&LJN+34KmmVJfHko==nZiekF@j*$)jZ8 zNb@Wu%yO?g48!YbXB!Cv5@s&DxronMX{NFy9K=@ zg<_I78FcUk&Xh*wzv-3Jcg~S^#eLeR16P&1h`eIwzWQ#Tl=CYD=bW5v`g3{IxB!i? zAjTr}mdaul)*&{}mS_tR3!~Z;xzQ;ilI(U@g7OCo2%aqdlV=uw|3(1X5mP*{F)Zdq!^DUQT5lX! zzv=g=ekEY#>Gs`ws{VL((bc<$h*oKEV>G&MKJ+!#Z+f+Mu)dP1YHh3VqJ&p6He@%S zWLRAT9wm)&(9x!uJDxXtHZgcOz&N@mB$?1hmE zy-OtaXF9eS=0}9Jx3RhmyKkZGwe;a;=l2`n?{~s9I7v={=6gg-XOq}x4On-nkEwY| zXbE`s0XomykR$u-&Roiw1=8ZKMdPVfgKw3T>uhYy*KOmSx~-GMh0a2|TkJ1>kx_Z? z<0-a6u|uywo%v+!r;NHmW59YfmH>!8#Nho)6qwMR)dO3V9_Bvr2Yd0`CfkAg1&RJ_!ez9K4!jlWcn z+;w(@mbwPcI$=;6mr@=s8U}4Ks(D9e0fSmAKHEO~8i?HnNHI6n1J0E&$?=78W8lIA zl>m-O8~$gjc*(kg=kG8<_PmXqvucA9$$bJr@+bbMh_jdbfh7+9dPu6&Zp~n zy9;sxh-REr3AQC}gTpHF$b|WX6{+TbQMHhoCQBIrDQR%q36s=`31R5KoOV}umYabe zg0~J!yWAxP5g&8&&$P{D{&8fows^6Vji3FP0xw3fv?UWH)JRq3q-qt5U)=f>Wc}wq zJI$UwlUI@xKjNRZc`FClcNQvcRf?cV4DAy+d^3u@?G8wUdN#YxmS@)I)QxE|a6Rut zD1EqFyZZMyvemi~4ET^%%jX`H&h+PQAbY{Hw;3e~z@3lN>jE3-*FyEC5{{(`-eXZg z7YRUnD8GebhH@z6Yeh8TC4hGP^Jb8Zg7Bunjw?qTq8`pk^nbvQ4hAE!6v1pyI1WV4 zqg5dFE+o#6=zffS1GT(~FdA=g2(|#9eM;)}P<4W=pK)8gv`_6}V9z#H1;N@U=pz|# zdr&^Dvjc!gJN=jce@BSe-cr2&wn?a+E4C1Sz$+8d+{dMvZTI*KOWxCI3G-bZ6U)dL z?}~h}tfCDyGn^o)6dd`M+K)czW(ndir+IaQ6>)q!^4>hnFkPD}f&rDpCzE@g2rXBm zt8)Kyq@n*?BkAtTb*-0~r}V!2H%!WLRA+=ZvVW)9_@M}HSXqt`V7)&2M%BO9(v5<# zi?A+7D$nZlzM>uCfk>pvI?Ed1Z907knJiOx`7N`@+jvCa_3;aA@t%N=F|H7qM7ee)0Ch@(Q$u2pX&An)D*Y<*J~Jy`iI#Sn=PJOo^BDAwX1b zL~J!}zIp1lokCryaWUrlD1lhlGSFe9&lRceD!DLFvgAr7Bc$p{^*CZ-HiD zb4eXl+JuDyii8#DYw?@qDX`Xe-DKQ=*P11qIprTLf(Iu^FKYDWyR7Dt!HMa`=bWB9 z-vJhRxMY)iU8_w?jbAl;VLMonXc9|2^ESIT@cc zBM;ynp_xzBxhdYL7j}<)GX_Z$*&BPrNuIiu--Iqu5gA&>KnC*I&Y}{lV&;De0)haw zR#Cfc;Mno>2KX;_j(YcvHJH&~$Y3hVN{|Y!BZ3zboAV-^63F1JCN+fgA|)?m^&))8 z87m`d93?v-B!cwX@rJE~#OLgLaq+dGXEHp(TPI?VEx(Da+p@3Vk)`r6Y6j9vp@g+Q zh2nk|dFxMFhZmGVRtFqePvBV5^_5sGIwtPeeFGe_zQB!EiXr7=qnS)P5#6ZIVeZI% zG%BqW%=Gwc|5B};Y>0Vi+WXCt83=x4@DS2ny^2_kiWF)WvT;3y=G4`RUnlBO40sDL zU_BAfwMkyC*U~+$A!0)b{85Ol+?h*DR;ZqeRE8wFQiL|+HMBBNNgnMgsb_IRXO)L~ zLP~-)U{?BTa$U)Wte-Z=+;S#R5ItGy&g6SbcPB5k)4FHeqTXPmr1rreAVztKfJ0*n zb3sLcSQVKX$CWIV9e*r-3nHGDT96PrA>&dZMC5$a+dk{nH_8id$ z?EXBR`7X)ovscEDNR$!;sQ^Eq;`QL+2Qs0^$KYA8#&RmX1|HK|*a)!1!)H4K?=q7d zA*Q+=__D0J{|`7CWy<5fj!tFTQ>3Imk*%-42zQ|JJSRt`vc=fD+VqmjwXlSUr%k3+ z*JlE()-9U05Bo%J>T_i7b+`$8LLob}jBp!U!nN56wcUF7%6X{|qg@5a2|VSJ9+taNL6o zb6WENWyJdnh(01uYkVED8>tBvu{wfM%N)d4H3$s-10?JQ4Zis^x!E-UsG>V#~fva;CR=T!TP=M zH6=ZPQ#DE>zg@lPdAroVPu_K9Z}d;$pW>HwvkQaKDsl1ZQfHJj{-blUsY!~<7<(o= zkw~_U>#q@K{C|e`>=#z&Dg21uxGu+BoNcymSx)H~p9jkM1SFxvJlx_Xmu`k@*}zHH z{M5Yxne@QyP-SY^%vV1tKwwFCitVox0D)Ce%Teew2Ji)-N#_HbvpCPCr_OT+dt8T( zurL$zD(F2>_C%Q?=NYEM4nigV#So^ZhVJjFrmE?Ot`kDc8|6?X&3m*-H?Fx6r0t{i z)e9LZfI+6nNZrH$nDxZ|GcN@)Mi;oMcjt5f!+jANv_qS$V?|^lAu)M-tC1u>4|~!g zWkI?ozu{le=Ou6fG;}J&lvuR|RAO3MbxU=&wyjg{=e|G!E>^W^=M9)$O`c>Yvc{No z%1QHnm28J91ti{(1w#|5N~%X8`#mq4*{n#u(d=w5-2H2D*(#F$DyX3vC(5tv89p!m zFoogqTvB*Y%Orb;ANcE#yt7o_)2N@-0AYWYe%A_E@q7}~%C}mCj~%+cdfMXjJ9^1j zOvS#fdT>z}_{zwmQ#iwXN5~%48&^6;9=#`h#pMYzFG%|{_A6|V-(Qt%<3fi1ha(1t za6|dS)_=QEP?=-o;2;2zN2>w4g~AHx!e%}e+46(vbD(`8nkMa$Vc#J=myYX3@Zux> z@$a)5?Pw{NBU?Z%*;@z$?-!=w=WH**?Dd?&V3|w z<97v~+u08c(MWl{s*#BJV=<{~IN|-{4#KSbJmC2~9gu~jir%Kj>X-9^g+Jhsd}+lk zS{PRo41ozYYP13^Li2EaZ|npRdT``cf>?twT)k``e!TijVK^mJK*)h}aY7_bb{9SI zoWQCp=jJ2YVJPd)tY4ObFRpt?(W9gmI&`&fgc-vwGA1bizm{(MG8)ix!0j5(1u)8( zFrE0(f3>r(bQleu5<{3)1X6d0W;6 z_Tg)T9GKED6eg$8I?$opyrYJj5{>g=8Wz*vlty4bd+B~ZYXnYAW;4`g=T-Gfq^13~FHv+{>Gvs7ew`UyXt9$65Bx>>J0vw9=oq z0m$xD7Y<>E3zq82`$2*`(Th7|Xj;uEps zBP6^q0f$?1z%FGiwNxmc zK|I2?jUCDx9SD5u(3tWV#Dv0jqVR)z z66XXXOb=nXGX*SzVwi8t3JzfqqxyF*d9r2|ByWNw1M^sROHZgF$8mNoLudtOmlGTiFe#ZvYS#-!Fp^thO&b_ zS9)_?d(&vHl&I^avOkO)j8Qx>Jrdh(L!V4F_al7k0lFYIonY- zI7OX%l+CWuM}jwo?^PzCZ-k$U-j%QKDMo%@MhANsYze1ebd+SK^Sr<=0GI7KghVtqf8L$Aq+QRqQgxK>s) zGRCpxI3`eC9v13Jp(!gnw|c4EGASH?Ek%SI;nP9)4^2ML6l7<;LK#sGW_DT%mpQPl zdIREoFuGqJui8Yv(R(-Q$O~FI>tSg#EIRMe9heALGxM*0fkB=TTe+RVyPT`#_8ri} zOl7UA3i$M!RWZNid|_P5Bk;xTAgGJJuTVV9;cPjAj@e3ofzk>e$vRjvp=m5@MxEy% zoL59J2)=c%-gA0nXgj7>bC<`NT56R^qOu8@pR0@Gu-)@~O1hG}27cs$7nxuO7%>vj zXZ1BwbQ4KuZ?O|dcq;w)wHdMktfD1J+NfH?E$>fSc?5w06RW(qNUVIID6;N7;B#eN z);){kRg;};MW}xksRFMW0pYnvamS4OPMAc;RywTx3t?I)`Cf2A9>TVkR4V6`wwnN0;)kqYoSzX+Q^=4bc3A zC#5$&A{KT1$w)e!m{aga==m(!s=S05_t@K%L@{NIt|IN9%sbORlncSLH=2O|Q_OB1 zQnLEKbEnNfl<8(s6RL`!o-bgODL}BD(CW&+(5Re$__kQg0YJ}L2WFZojlgDS)q(r6 zIi4iPTI=M0QDo77`;lfdA;K4Mb5GVFDL|nLa)+(*Ga3^P7?HR^WZKg@imYr4qTgAe z{7j)uq!zEjE7rwC+DAYQ&Aj5LtfMK%^HH&@w9{n0DOBCkXYQ?2r={e`YAM~|69TrnlU0&jS?(D@7d`K8vEa2U zR_`e}j2lP9c+uLB#al^I0Y~HZ?Pu-T3+mQe>ehUI-i5z!L-*CWljrUBAGc_KZo*$y zs9#p60O@KIcfufyS#>OEM#wTNMdWu7P3VHSXyQ&Np|TQgH{iy5Y-|$RE>?S3P9t{f z@We_PbgfLU-kK;XrlON7OJkegvFX$LV--pkpjxQ!FfMpC*|8uNmrsV3pyWFkLi4-0 z>RptsEBVFloR<;^U`_${K4B6+wAk@+7)aa8V-{3o8+B#vX9r`QAKZTePggFL6haRZQHhO+qU1eZQFj= zwr$(CZFAo@F)^{RI~`SBnc3ah5f$~L`gCTVgL$T<7-Z@reflm(Sci(OHGfQ!RqVeX z_n$&#_{0CEt|{X$H#u0!PXU><&OF>k18du!<(~h^LbRVy1=OAdIy1qL)OqY6qY9CE z-kDFf$7XD~DeH3G4_U}rOSqCkz1=YiZ;z__4%&My)W=^})DUP0wU`FA5rd=8QA866 z6KZj|lI0qEhJN0!d@L5Eig7;PfM*lg5_2aUhP^VXu5O%7r0kYV=5;g~NdWQXg61@6Ls1!%iy#6ZGwuUkXRqIj7O)tlA!R{aeI zR~62s8g?=v#oOl^2m{H!W|L-`HuB*VD7k(lieRH`K~N_N3Q29g627WJ|$2or@B>GdT1#$id zJxvJm7vo8CV(W>@x4rp?Y3^+$`djyY=1`hnomnA>J(oFJ^r-uJVz2;O#nX2S5fwjq zH8Sq){TcWr2^t5YT^iYZk9gQ3Z~PWb9~)NUV{}Q3UU4GlGZh_%?xItUe8cR_!|&&7 zrCl#V-i8o!fYz!80+38s3QB7#knPc72anC^c&K}?D!`q#qhGO}ta)M!Y+YR<%>>P9 zdX}eH%kRL_D4D;3%Bz40D~_pM8@RZThy|9NBZ7hXYs!&r;x8W>o(ad}lmahIj_?Xg zG0QHtJc~Ui_I~MVq$Ab#FV!_tZ6@?)veJeZN-IaItPZsVe0`*WJc(AAjIqaho?0~} zdd7~`C~Akjt(4uVVTC}noIcz(UkyrfEaWbZU^qr>y|Q16ABClDy>;`fOwlM1PT>t4 zkb^Bl(F@yCT!IYJT=F^0=$Q?pBZ$bw&eWQ4o1vo4FjzVrw2ye}Ah+>pIQkrw%+9HLgfn16@vdkN?@v=WA(7ww(ak*Dt zWO~ki12NG<$+2~Du&6{9F;0@oht%Fz`p~;i9IC&a(!peC0M9}s$ZVZtp0?T&4NhPB=ee$=C4z)p2m3i+tPDYKLUajM508Ty9rG}WM9kQ#&*q1~K8&6Jj zL#Zpmy~03%x5a_|-1Pl&1%Ybb=K0h78h4qTcWHlHE$`u%j(!T!e!LLwF1%7g4DRb1 z!q9lEJ>Qw98^!bZ$^Wuob#8-`ZF<44?SOBmZ-89H;$A#MH5fQ^m{SOWHO$3k>VguBHtq)nR{vbFZHqRl zobxk>s@jwn{R~^L%x0rrkoDomdI4Lj_&PTVMSdxox7&9_ai3T^CR=|az-=KTc`a>yIoytADjzO@ z7Q2fe!H*W3 z!xT^&^TTb^T16-6PD%lSV1KE?BJJO!(ui)5^f0|5aDfV~s<{?Yi8Ipt#~z`nwliHw za9-M(%y$YI>Nx>JDLfDr^Q=;NvH;mjW`0@{~82#tkTBS!w6L`mmx%s8SuJwb52_toC@X*DIAqAEt0v{H8`W z78vo_teT#TWmpA0iu~W$X09y;RH57r6E$$6&tn$V+HL{2Wg}LY8OJm208kss-)IlJ zqt?V;xE|u+_*CRC6!y55BnL*A-j_l613W;8M)!$uBlNW`G zV_Hf3mxA}l&00rSc^70gndw6d;IpW0rC+KOI#aNaml-(#S2!E{(*5=1$mq*KtO!l( z5=YqYXfxVNqRq0M^s-lf_~6nv`hHa-N2-ry&NdpZ_HXXd(0A$M2K`vwn@#KY3d*fx z{~pvRE=Fu2-;xV@W9M3L{F;Ndk~`Vgl>@&D@YL9`8xX<9)YMU%NxmjR_z#Wh?rYG8 zWq)|NEdgIzGrLCdaM;$lbwRzjjE6gnEyVqq#uB_UlPWQs3i)N5n$gn(+4>MYFR13A z0yREY0Lk9{X4(Tn!Pl_5ks@FweeU=dfTyi`c}gXA;HA^PcIwB>kb*>;Rsn78!6|7@ zMZ;B}o2s3;m75hj-U!t>cRdFrUotzFw00a)gP4d6mcHDZF=#~-a0ssP^!m02zoIL` zxg;9pU#6tXWhxFWC?PWIPZ)C;dm;Lew8esyGcfF0xp55=^66LP=+UG6XJPNBdvbX^ zuo`_P*Ih-4|C1Q^&oz)r;fDVk)tKa?d$~>M_OiU>c3rWpu;nPEt!KsB_`2NdQyofy zT6i_X?53DU^n61)&*?XMTlXY(bLH`kIINw0x^_c&4X_!YF!o=Zn8Di?zVj=^%2?Dr zllDjVG<7#uk8BRsG!y%SF=AZraJ1O^eXN3Sa!Qs%8dY4(62vX&&3fXvDA7j_6{)Q1 zdm5Tg`m+~mj?zJcThY4~LN)nwUYGmWa-afvy!Y)<=+|Te>%>HUu9smi)g0Y>3HC9Y zwCV{U_N?P&o_5NTczCWU0s9Sq!toZ%0nwsKSu1`9Vh<31C+rXBz9SWmg*Wpp94kr{ zK+MV#AVGlgq!8H;B36_pI579HQf~I;q}9SLJlERIqSWvO(+($Ls4YC|zr!}aHEHJ?E|sczkYXSSKK-)-WEd?a=r{c9NeuC znw9~*qsoADRASUz8tN9{>-^4O+GjNKf9-(;Ln5x*C;}(}?w~QEqV8%BKa`ZOe6n6A zC7mh2cyoxZRFOj@SHSXWUOyR>v*df)A$4@Nw3U|Ey7!^G!#m5Z22dpL=UKtA^cQ+%^Cs-sZW;IWo;v7drsNJufp0RW~p)gfw z5?`uHnQyaMtt<}Xs`csEuANI`emAH={k+7-XU7F7oy6r2P=ti_QSXSvDr?zjzhzyx zQPVRLi}5`1Wcv zacbRjyYIz)fn9MEVNh*4=d*S_*ctLS5i@;*M>h;S+gP0mt!Fo0Bo!p6>1 zexAiWI74CNeqq&CJ+f5}tKuB7EFv`njv!9t`suk(vXXXythac8_1m|a1T(}T2LG82 zB#KKa1*(;lZf9nKqgC2w#SKuDkX+QDQd%;Dx58M3A{RDw|IQRa%F$d*@WMs8f+8V^ zpJW`E;DCRZ#Ykm#A-f>xZMFTgJ$Zpyj*k!j7y1A?Zlq+^J|xuz)q(q`7*wH3)8px@ ze+ue=eYLG$p}J~k0(#JE_Pn1d_J{hNRgM%j2uacsACRwRQQ*INVBaLVXshYqCZE(wwsN!nz;MlH8wxN8kbb&3y zYJh5K{zg?Zb5Wr>7TK}Kvs+)3eUgi-$sRWHuuu^s;?tij-rR)5`$s$vZD-hUAY`Cs z&;5@8s<-Z6@4J)8P(V=YS+8KKzw(dbKDa#9)b}cX#h4O-MqD#61wf0cXtIjG@`5GL z;x&y_A4aaW?|D*vP{T`~|C-kD5Ib&&0FZ&5*y4#x7PB0a>PabHg&Wz3zXXSBtXpXT z!x`#YRY&j^deYI1v{qRr76^U~4At_(UE)Qp_u@X??4aS2fS`DLN05~`glaW2uW)li zM=90^_MFXWr_?_!BwZEk6*n;Vk4eL>LevL0#XB`oN@P9x=Kv@+L8~gD2Ux7WG!C~p zGQgze35?g&OiNoG!$L620D`4}a?iTR2B5BRQc+Xqu3lcz2Ln?#3`luKhUy?3frZU< z<#@-F=W4UeMXTYGkjm-&gBa&^3}4()(9IUT7MkVjjXKznNKU&awu!YtuV37_7NRRr zM4*DecgNARZ@kt^cQqRRL9w+2R{4V#Gz<)?w@s()x;*>osjRb=E}b6vCcyAr97T74 z2U2V1tptkvDkoXDV3+{u7>@G+Bh%LcL)=%$x?+<&J+>B!E4QpLy$;LJSUU;E>cxiL z=ySHal=X1O&fhlRR=4`7Li+|KtR9b37O;GFy(r)qR1i4}7wo<(V1Oe~YUIXZUxoH9#|*)P?cD;;jG0MbsV6IW#7zBwQI zwA4Q^qV@9(otqDeZ*jDxR)eB-8|QI|%N?hiSe~GbN&bN((HY&DNTk&bq9f>`ubzFg z__&T$kfufQ2Awf8O9$2;HT93oi5zlrH5XL?xK~X^zi?SPNpIl);K0|pv!5gF37qk! zqnqO&M=(8q9`s^JvoSEze*VWVH@kP+o!4h>Z_Zw6n{zQQPk=t%B){M?Yrfm7-<=7co^apYumJlM zV3F5YlH%YHps#CvpM`Xi=$aJbiP3=pWL@`%--KWwCOLU@DBBCOsZ5P9c|`54owy?K z1O=z6L$$0w*(n!>MI?sdUtgXvKBdVd_~*$%O{DSJn+NzrP7IW!iq6`OgD)u`+DU#B z*#Ks{HOUz+-E)c@mz{Z-eptq&%)MhIQ6Oyq;;%ZlDYL)>XsM~A*YkajX@5|d{{&Kl z>KH!84hxW9*iKF{-AZ!1&39N{uZh8RVx?cpvbe#;tWGJTQ^Hf5vu59?$E}IXGDGxM z3?feHKDly~5=70Un#kg1UyZHn3@L1a&N}1fA+=GgX8A^v%!(j;lK&DEODYfGfI3l? z(Lf_6=ktJ5Py)((aib5|HV6=0sv~2nP;6_Sf_UbRb;)6lL>yNnm8`tKDT?d*3 zyKoOy0o5A)y!u?7K2wlFa9W`n=3Yg7RA))cc52Rlff(R?FwP+D`TIB^178@DpwO7Y zu`nY#VB;CfQ0Hr^f3H9y&3KfG^2~*RqGTwnFXq8@B4wN(=qDCI@VaX z-kaOS)VpJz$P`C4<$+xLp_uZ@s8kC}_)Q^e2g%wrx|{w<{Eob4#aM$HnwnYQSYB6B z6N+Bt{8{U}KKGvb~4qe#^n<2o;gUc88Nh0BSP2WinIp7fVEmQsi8d z1eS79d0~Y)`GXR#TyCnRYu^~>XC5RF#?YSFDl(dsrW6oPWJe;zn;EMh867VC1o~BK zqz&zA>Trnv&-O|_f@`WErS7`}d%I)Gp|LO1q2{7MEYINn{nsWwH>e}ibCqSDo-7^( z9cUz)v@ngw@R19w9?qdjBA?XyP&^4W0=ST^__00whi((kkb~$jq`u#lx(fE?Lb~L$ zS^dN45@r;K`rD9<3zHE(Famb|dK3XMvoeF(3V#@7w_1P33^38(A?r~)l6tnd@3+Mf zM)Ly_z)1FrKW;Dy5c2N;4Yt}%7?;293vt6}a5IW1s0Cla-At-<((-S$VG0`Ne37coc_l6>HJmK+JAT#tKC}R~+C#e>p_DA6wJ7L@ zLZ>Oy@qbfwH&EayvgDtn)IsF4+_9&)77gLJeNn;w}7V)uF0QW4m(-=^zLW*<(Z5JDR%@EbU_gC2T2 zV@ut|HS(Q_`VR`*jl4p18ren5Veke?+Eg8=A7XCnFLk?@HGCqsr-o16H3<%#&0^$5 zV?)#xo5J4{RZm0J>zHnTY|%DEdQtGCT{GkHAVTV-Z1A+~ySqeN8#0#EMi1veyc_~u zMlFP1D2jrOtKYb7rNCdsN-tk~(VktaPes;A)}c>rxPgT0onGs4D}Y zyA#jil>tn!mnYXRD=7n>L!3tnU7dDtVIRt@pnU}(De9hjm;ll0C))SA`;HkbskXel zOQ={EA-***ygVw8#rg&50@Y`n{M+WHi<@R*=d3!)S4-v804_4wHZcBKEWhU%fn)i%r2?(E>;B?NJuvW_#um??`?VI7Qh0n3$y-n&pYc@Pp(z; zlrbDdhD#7lB#d&sorP`rQJ$v;gBl3dcH%8Ulm9i84cPZyt_8c;FZ_tBWUYg73FYP= zfy{q%(!#kqdliBqEj}jp;&HqyQmy~5y2mMtZ2(&>xRQ3pHLN zfqdDP!Gv!@I@QV8jxvQ_qTcMu#!0|;TB5pn7O6}ndJ6U(6=HC5fe?u=Hrqj=GsT95 zlXM-$qmvyY(=TU;Z(4KgZlVdin*Jy*#+D^L!tG?(H?=*(9h49H^WP-ow*}(XO;2qe zIPAu)glhFUXO$uxfk4DMb9?57AhQ}wrSDqLpPt_S+UsovVaev}cd}k(3$52tcv`;Q zz`|eBr^F53d0fmQcffps9#DTx#5QPc)bm&jj*xqdptbY|XJL>9Ae~gp*EA@u$bDU{ z1on%)p$S8GaVmtLr{|RvC6Dgzw4lgl0zZTpiyc`23zcQJ4izT&LFfCG6?+hScKSu8 z^^WJ)#fM8@dJ7HgCMX6$))*>~s9~wN)JuY8?gbo9b;qCl37JSBC2h+WS&l6+mAZMM z*9?sexqJUige@qN%7)l+_>XMgstA_q2lk36Y{m!lGqs+bh7HTFYjq)CN=AY;TMV|o zLN?Cvx*ZcnUztBCR*&IG22=MzqTJivbE=O?^A+%r9yPgT_BS(Z zsa7JTly5jvn;H2$1{c6X9Q(wv7_{#3^3Cv3vln4zZ-4{Bx)2x!172HjJ}iCmrBWmHCGNa`7;bd4SSt z0MoJh#{AIMObts5FFK&}Asn<6+ldj*o?Ad+$9Vmd>d_we-=6{8NB9aDe)+~nw(Qv@ zg2?bf8C)GtJ)_4cJ>V(p2%nE_B7*`X!|*)u=_Sg6uXFfszU*1|kIeD+aCt3B=!SGu z8)rvQnl?=4?{Y^0^3v=6QtIW_k})ScX6Ij&Ez6M-g3y&PRw%WdsdGwrQT6azG;ggy zeJbTGddFAMRELAVVmhcRfbr$&u|4~*rd(u@swztX3_((vDV`51-i z%@mul8yM<5!f25KA{uXZH~;x`b^wPcrhIh>CzRp*CexC+2cDF zSFE+@T0^2HGPE{URQPOZQ*{7Ni{xUmTO856z*l)?BZmy)vd=%zdwQswk@9LtL4%M+ z){d45g(tH2|9rXq(xKA~;Sw42wMr4Np3o>!K#szo>4^)!{=NTdUm*{ecsqqhvrG^k zi&L_A-vY0UOA-G97ur@>vWr#I>-ie$TL1N$PCYe3=|)GoU1r^VAFeT!K3m|%RIA5n z^H@eGMyaGnc*kDRiv-st{loVM7ZR>&I7~oUe2^33Vf+VDk^4h66{-=xv8QGU0zc5G zy_wQelElj6`^{pQbuyBXfd|@BDYd^(%}GhzfGCH@IUolx?S=*j6e zRH58cpC1bBM}9B-6r@%4FapUZxXyN-lzglts1p)K2yY#;qhr9Xnb1;5@k(c@$D6+Y zKaM0KG10Sk7Q%B-Lp!R%@lX4Yq+dTX)jd|GRw)IWB&}y}Z@1wBD~<&L-8H-=Wpz8& z(gf+~Ddj3BI~HrwJWS0$<6Rh|ZLA4NpQRf9Pqqz3Y&BZ)xa{dCSxS8z7u```^M7bR zeFZt0NO<0W{*`wN=8f3`K!@-{7?qDd%8bVi+_maecVkY$C~p1g|FE@ z%+bZ_b|<8f-xK&+rM8m1yd27*Ya*@~Hp9^VG7ZTgr#HTi;oCDRUm23mq$)b0K|!jW zVURZ0hyPiAek}>4BRaK^gROsaEES;80g@}s-arir!(yv_Hs-u*tMtG?PP1-uw_?kG zAI7RDew&8LW_b|Gr?edGsag1RzAnuFeY8ukr=YY3;9s@i-~S-m+Op7ius4(rH5;Hv z3!Iq@!yno|Zdg%_uh|zg?(EXJ-9(TGQdZddR`cWUw(R9F+Z%Obma6r5AC(A#g*Okz ztwbgiQY^P&|I^Ud+%Q+B-CnAf;)2yzr;)HRw=~uTp?5W4=MY zg;g;^T>SK%Q_jS-VHDJz!JdCw2Uol$@Mk>jM7w!}L>;iiz;V4Ur;_>nS5WCS2;DUe z$*oI|DQA#u@ROe*#0G5&QsISp(tKqkp#}j!3EK1lnfs=|3DM^ASDfNljGDMQk19V1etCdybi* z-yb}etJ+q*nA75?Umd_m0LAKk4*k49aoOhS8&<^!$AS=fYH^jD6?+y-Tl3$ zHFt@jvK5=NR149Cd%6P$>Mk0y;c&=eK{JAxL*7@yIxBf>vvO&&E`FkI^f6e!kRM)M z*99XsCFi!``)QHC+Q1zcX$FF}duZx*B^-V=W3VdPIEB<5npU8l&T&g_FcIT`o#7th zZ<0k9GxJm}e)Fpz0Y_dY^MW^i%RyynU{9wM!txnxXnxqiWF?fL=Gv2-@ZT@)Y7)B#?+OuS@GUBp!0;h}k`tIG)a_3QPlg({Fr+*H4Bk;{0`r%Y6LIox-$Sctbfd*jaH1ni+7Il#fLFc6W; zyC`Ja;2gCc9IBbg*jR9B*h8uI0pXaU2Gu6EOm14DB3nKfmiqA{90^l<-jxnX$1JaU z`&tqblpoF~fvjpuy2Z+%RedCI(5dSLw0XJryXz3h3-)h`uZ8;*>8L%Jxqd%(5T7M} zdfTiHK#R5cB8jQH5UE*8r;DS>9=&)Tps3QqNNs%v42c-wOI6YBx$B_h5G})aJv>Ht zfCZp?4BThBY*5-+hWDJ`qbZ4lW|8z0b?*YkGt1<6ai@=|GFV`8Z5Tc`8VRjc6FC3s@UEHY-6I zoMm3h%(C_4D!Ua31yt!y1RP}6wsNBPx60>LVs@+L1e;A6xgc&xGhM|`bSvVDj2Owc zl+ptjlAR$cKYEn%QI9_=Y(f!Kn8)_nY?zUl(aq&`GzVk@0d_opvC#;?Xj(*Ygvw$d zPnqD}-z_m&#c!@vZHUA$?BEX%ccmI4qaoYFR1qm&F`kunNnj1C;^UHboIqzd*0D;q z5F20V0CYFKIMI+ptO9hIz@*3xztz)HW79Cy)wSq4WC7-D5Z+{!Q@cvce#LnkwK%)9 zNQ||}ZRIpR298*2{@T*aQTF0MVkEWCd_!I=Soo51rCukV4*|AqBOqg+BHy6|ONSQw z_eg4Pq(R!^Y~EnAndu#thKC96+<9E+|J4X678PDHuL39RvVOn#Ht{!OJ=+Ufw2*%* zxrIMa50B(R={a`NO5bvqi@T~!|7iagff+%l$#JxN=9fW8R-mjmiV(|@e*{$y@Mf>~ z=s+#*_NZoZ`dF7tKi~6RF@)FOvLQp7HJcs*hjbi?X2k}_G|+;zW`HMSje-A43N$>@ z{xz&0*MMN3UxQoKhhQis#}Nskh%)RKxm3t3;Ia5C&Xm1mEkgssSon9F#j&Q5t+-HHgv|y3^65{}SM=S%;>GxMA-} zm>)Dt%KVR6?`8C-$h{nU-%H$4ius8Lpnqs(k?ORIy^-Hz5@K`yKa_4|)A}_8HomnGZ zBPO#7XUhggoY4w9{9UBmJ^HpTqJlUOhNx zJd*+Q#y=WY+Z8%B$B=|il!26X*N$h(+_fRM!Z%~Vw^L_2(%uw!Oc2mA3&2c`#{+3t z-3$}q07}E!byGgXTL%kGvu`zGA2Be|T=g1~(k2c#;dGzjgv&nYxnqwRSJxZtPiWJ5cKIKbnof7j{Mfpr1F+@7 zjkKSOt{mk`u61rIdPfvJDi+E^g@p-HOW~~! z7V}xi`_8i5m}Cyfs0R$S130s{DE!OFpPk5+O0V*+riIl@_Zpt(LQbYgP?jo4FCWDW2Hbq01Fic^-o4IbM~;evS%XrCj>@c-Nc0B>w(;|Ta)BEr8jk+F%X834$C>3{&h0ROr2pAPh2&jJ6( z{?DE9ul%nf0Mmc8|91Bu@xPA$M+X511pJ@&YXU$F04VHeYUpg|$VDJ!=%irkNT6ow z=wxYUOTb9S$-qFz_^Si}^Uo6?04N9u0N}3<0J4C9goMKX-F|fePyqi|E71RH1^)l7 z@c{psEe;HxIN)NnC2361MMJnXBJfdO6?$n;DZfYN6&k=jMh3- zmBv@}fzLe0Hvy0`oBpxtp`?|*2X5kfrl*L~1+QaDirnnOx-_YbS2GkBi`a-Y;Xm(@ zJL0XSf##+MZPnK{j+V>m1wqyazr5n9&+2*z8hW*G!_Wvbr9j#!j^ ztisnf;tB4QkRan*ri~z~@yFtH5{0w&Rz9j;)^{OZz@_-5v77c~pG%*~9S=SkJxj}$ z7;^{4WGB@&uiRH;=_Ww)n}t5APWxP@Fh5vxd{3P5yLwB z8oJtHW-=>LPzW!BtM5I0`3H%DhmjE4*SwATY~k_>XJaE zYE^$MO@nB6WQ=j?27+l_5IHld_3yq4-=S9TcrfK`kRSY4yIe{I2$%g1i@iP8p)RDQ z9HprN@yu>o>jH@7BB-A|$h7chqQ3)zsk!})jXMC>q~IGFWIsa{au`>W;Nino$;!h> z2V~iDmroYv?@;4``(1iaA`2&2*An#=8WJO7pvR2HvK4wr1o0qYIc7dHfeC&9X6}el zh%5`;iI9g2g^e%6rQ@jH5#j56bF$x^@S%_WcKtaJ6;x`U#{70egZ?cMAduz&$z#RQ zL1r+@V$$9!fYFEd%EkpX79h7n#?e9S z&*{uiAs5neDtNs{P$(TFw*0J9)BAHpC7cJv zG+4tWIdsWxsITCs)nGk)K*sNSG9KiL$V4YSmBEm_Pe!TB_hwLwUUNC>PE;$>$ZD4{ z+hw~@F~uTT{oTSP!}jGMNeN0rY_HAs&YUk0)L(tQT(ZNsgK+|}=3}Nlr0tP-p%f{;S^(ct&vq5!_l#vB;llLWMJD|wV|5EkFt18H!1!)2ih zPcpuw=7j?k9`&nYd3?Cvn6JBCu|xcUaj@2(U=z`8qJqIKrD=-qJO-z!YW&5oeHq;Y ztXffMssw1p8hMJH9oOTtlJ&bsJS$Pj2sj$XROp}RdWoAjscnbn9zmq%lvXGpr|0(gA`@ekLlrED_=X-(NLF_ z(C;AmZ7g6KLq`FZCEa!uACD(5i1Qu*n!O)_iYFdrmgD=uX6PJoCHD4 z`aoxPbm$zt(ahS6NYaj&FW*`>DA=5#(c#sy{>r3z5Et7kVG~5kCT0>Ic}H+It5jV5 zYlJSl{*Ut>z%Bz275^4bXISCZGvI9gA#A}d&Euetq|i}>C$?mKz4nVz_pmpmG2Q(D ziet$rVYl%1(unwK1584Bd9!BKRn@Jp3E6svrr%Trh-vLwT9;6>_AgoOIzGP_rE0>-6x*lBz|a{u;bsE z${?o%I|j>ki%lJVyvYZu{;&EtGTG$UCcpk~P+OA!&KgZ!OsAt3<)9bzl=a+`w%x={ zW#>4a{LM(DDR}%LXx+U2Ja6JDT@IXlL23qR%rvQ9R8T>L7`+@Q=W3@kcf6@awmPdN z(S0ZVa%+UXEM)bB1jXU-NzVWoHK)TKv$84Gj1xq^C@}B}V-of}Hp%3lH1;0`qoNxz zhjJ!#Rx8b5by9_HI$_T|#A|fALDDe}K<)ZUOE6>?fPKDC47N=|R_d zi!J5|d0LvY3S7YP1$ja3641E|yxk8aI12eF4#!|vqXZcbDdHe_B#;H3vFxr`h zYl36-A@e~7Qt_(>0n$z4eu7EH3;i7u!uiEKG`K6~)+9d0Bw=HE#TVg(Wn5!vKuCg- zy-S(BF4hDx6WGPh=i+*{4q`Rww}oz-WiEL;YBBjb<0ACeoWw7pi{cKm)71}6F4S8DJCm?O0-=-gS%`+ zY5dZm3|l=#19m1o4_=TdNytQuSJuh%w-S7|sPxXhZFg;2a? zZ4(mPpOs&*f5J-^?ZFmj2U zb=3ON?3%Y-fuM_vZMTODc*c5ZWZ#8&SN8JdvX{jvglS83a7#^o_MpoiGfsKDu*u}? zpJFLu`DB|7>|UD5y&{5if5W^?s$aR@W|Q-xON9Wwnr872uVv*-Gp;ryg71_<>DWJ< z*wu&6!*p;iQ)n=Z5%e~;fy@eFPYG+CP`ePh5NwWSZTaOVy1UGqeoGFP_=572o<_rt4q zeJmQdTmHLXNLtE9Eas7qbMFW0I!PF4(4Fq}<%aU3Q|j%!Ijq7}I2wxM9fy5ERuO4= z0qgsQ_lc-OKg2&yb@=5M8fV7B8|Qdtk3|ZVYP(N>4 zgW({eO>AFAp2~5<>W`X%B~=;2m@8f=d0ROfUIv0PL703$SQlh?0_OM6soM_}mEBrG)yjeR zH;Z<7>&|j6q~+-v^zmw^&<0J+=z@3az`N7u{TW6^z{MRxd-)G1wWuW&b3p0+m9EAR zS2oGz1xaq;YTsvTXue_A9E^1cvR(<~f9UC}A~Ge^7<@ID^QoG8p+X@famDI`_;lo2 z!ji9%=yvM3!$gqUiIfdF0B)Wpf#?B4I~?S(uI3*u5?kAAjf}|Ca;2_2KRJcMJt@PE zQ;71~eqN=J-E{HaURHad<%{)YRXV^VnWqgkix$Wvh+(5sxn_0It~x?G{C+JHy#Uj7 zmxgc}(ynqs0rGAqa8|MEKy6HOrr1%#;ud`!iSNj1D|l*zpI1cl-j<$|eKLky`_>aC zf7M;d%7l2j&Sh>>`7ECC+0ia0X+W(TjW~-P#cSqj+#B(PSzhnfEZW2lE6wDI9xI~7 z%GoCsvQd(48?>BBh@n+@WTywqwu+N3iryoRwwuFcP~BxpJ&uIWTZW=r0NYaIzB66urkendSXyW*wVmkzQn+E1AA>V`T&7wd(s6~iB%@KBk3i3A` zU!(j3Dw5^GrMBD4Pt&`z?yy(gB|Kky{s1|d1pAYC=e^mu!@*W6oyZL~$g-fz!oJ9# z&zXsDT0nz)P_-md2SOOGDWU_DI3lTmQSvF5W17{Wl0Dk*)bKz`f5vyEuE^qMjhczo zOm0J$2Av;?7KK%P5_@<;bOoC#OaQIEVZc7lBD!Pi8c8!?UMsRXMEs2cWSEN&XkhhS znOxT<^Ww^t#1159v%qa7$xrg2V$m2R&x*!66hOG&Zc*AAu~pBDrdjMak91E7Qs0qdfF}NmFg?CNe)#Nz-T?9fsab+7Q|YT|=3hzbIbeDq#fPg~VGiV}YoTnimck9( zjHJ~Gcb430&~d?yWH(kS4pI7ZB;>Kybt6`82)LaV4sBxl>rGiGx!lE`aPFvAD8&FI zCLvynR0yRbkH|DgolTy>7NE;uN`%tY$}>Gf6?unoO7V)=Zle?u<(AEByx@obtQIOt zo&3~I`#6f#og#k+GoLv0F}oMk02~u>U9R0>%rPo%|NK^k2${M1uG_&O+ z{AQNmV2{3WBiODz#`SP2THi9d|NGV;5hI?u)q?-j#VW(m8cX?r(p5u?t8UVp85Da) zKl^|nF|Nt=oJP-SlJFqFzNo=_(u>5=W6+;cL3Y|UezTj2xtNb{4?+!g;F zNNHPXBM|nv{k)wyyJelSi3l(dclCBQAiSQO{0Nf_YwE9dQ|ULA>R%GO<5>KirRr85 z5vIIV1aJ2O3S)Us%ST)jYH5rYA*m-c&23Tbuc`zS5yQBxT87=CM1)LH@u!9e)+=P$ z(tt0_{9%EC%kY7(FyA%Gv$fy`JOfC%vwctmw?YXSIMMv68wC|YFvSHz5|Q!ptFTPY?K=1~m6u)Oj>RAmqmnlE9t;Uy)C)WC|% z@V29NHYN_nRq&wj%rKT(NNn5Mo(^28rW z^EHB8bXf;eEvhCVgN681e2XC=d~*HM30-u+oxL{&66u$S*}Ko$w7_=N?LP-*XA2eMzVWO1X1bjH9vaEV>LuJ;ix6Dm&VSx&9jC=%{%Azv9mC^}zj* zp?2Gb>YsRGsB7%^OCmU_?Q~?Lq-vJ>t~L*~K=e%CpqY^8zm6qW3}Ae^2w#pR3YQ_X znk#Y+Y;LptMII8rf3AZN2v|LK^yUxDwWU0~`uwsNpO^fKG>m@#4*)hm$-gsO{L(TA z9S3+4_Us+k#zgA#QXfYl)%kNXx&s6~)y@#fvo-OHQ%%N1=oJb@5HH{X*;UN4u-n`2 ztQv~`RAW5^S-ZoL_79-kE;wKnMGPT9UN}&_M}Mo-#P_lxM+tTFw97CeYljfZAU)H% z(0~jtAk`~rcSa)E8?~nKdf_SR(XvI8|1TI}8Hp%|WIVEq{C@4>mn_>9!yN# zG?1n<4-ajaw#oDB7-n(I9aD)i{QLy(vBzZs!B6M8z*@)q9D7jl!ow#E=J2!kW0rc_ z|1r|1YS2Q>-_Jwo-#o;Ki=&s|L3}V<+q1)1X**@(!qEIIc7evW$q%0+^;qie0SF3L zc-37xGsGa@m@r7d-eatzFxhHU&(g@Lhwji3868AG$vtYx;c|pZ`<(;gs>qWg01ukv zdHWE5aP>d#{sE$Y4SiwUuE5!polbCGbwJR|AB+nMN>SW^xCtG#Vp?4KB>X#>Cn zIlI?QCrG4oBa=B+sgZh$q)yIO=tzZ3!a?}Fwl1KrY(n_rLGsAOXon0LsSoXOH{5Hg ztNmGU9F`X`_vow$llT3SGuf^F z;5MFP!u8+;H~K=v7l5O(X=u6|&Z1f29#33vi;k-x%*b#&46h+C_-8yVm{Tq7BT!%F zP}|~665^7v@fsi?tKL4R{+&*=nM;`GDV^>(9fW>G|%^%z`rU_K|JexD{tlVVz_L&^v-0c&n}UQ1k*# zR)5MpQS5X^MvKxUUilTHP}gKqZm^Q&4%4rfpuh-KRKmSdX=;v5OX<_ova?-EyHsT9 zFW@=jiddypSg~y49f@=%&UpE6&${aenaqT>ZEuNP8Sxt}8zkF6OWj;IT8T?*gUbhZ zIm{g~PiIU7NdBM5ci<2587m!+|2cUvY4ymTP($Ryl9WKI+yl%ay``sBR5mcm;XCmM z>A3d_#zD&Eh$>9gZB;Rh+nA&t1qPk=v~OQWi}*$*Vtx`xalXt2zL*gK(#>DACv&(% zLfrlf#ETZ}MPR4T>l^qzL0!l$^3#U93${)<(k?msZ#)u>trRaif#8tgmJvb1^kZ9n zgx)(@zuL<*Lzy6u#p_O9We}{XqR=Q)y5E@-Ue?}kDYIf3f>#w>2ik;C(G(FKlTp#+ zbMQ&CC_ynX&^`J2R_LRww3@1Dt9$4I7;-FaJ&$ZOm>m**d)_6X_VexSUy}G!wjNPF z!G13Wu$q)8)CG|+5NaQ%tFAIJq;$8;iq}^S+XY5Di7+f@7r|WN6@G?0QtT__9;vs5 z-6@lJ%4H=hdAP#rII|j9qCj?sI2<|m;4pteQ>2*hjB8J!EPMR^Kl69$y_lIHJ|0b1 zt*Hz6-cy`()RUcL{6KmNK@V#zdaeM&Ju$`*=xhi(hqgx$4O_SP2~}M1u$xn!=;fSN zALK^G+mLk|uF|Q8E{e>zyI^&5KId)A{ptjIIIq^7wxY%wg)lE=@5a4Gp=BXI#3Xv3 zhJtbD2b3a4sqWwE+RG!hikm|cyrL=Olf%O2LHUl+%g!a1dXNWt?YlQ_GUL7M*1!)79PLc1%MxZ zipCp0)S966O8uKSx17c~4CM!b~%C5yV?xzsV~-PyHXZ+(X^a7+^fPcR)nkFP7jX1wtZ>xpqObsT^in*-gKW{5%2U~Q(a z8z7n?Ak$Rh_EDU$q=3_;d)J$9QTQ^sj07|!L95K=n?oro?M0frzi> ztfUod<;yT*gC>+)O_WM^a*`Z_Eld@903;oNCMuvZtV0VVS~;n|wAXNv8agL^lHAbG ze{I*#5%U!1^mm`;JMuw!B|6#JZD}!*r-FTj*G~Pi3e4KbRs?IINnfK*hMvzCS*^#D z5anWLf=HcpV%hN;xCG_J@~y!svosQ;{+M)g`-xjm{CCKfxKD!5!_ba?9+A`Y^gP+m zeQ9zGDt za{j`cs#8Akb7v=LKwDQOvO8b2KEWx6=}GniwIdDBfHWi8Me7}C*RDlaO-fiimuoN$ zzSxrjxql{RDaLrV6~5_cW;?*vt+aqjrEs95Rovqjo%H-v#Sg zF9Gu~Y_z+4WFb3_*ABRSq1rx7a!b}m-T}o@i`&w~#2(t9tuqS^zj)XO4uZ7|qqeL%SM3sL*eH zPgWw&YcyW%scu5^xNED=ANq}JTjHaZ%>2Gzs-JT83>BM#;$MwW_5S`Z5{K(7wqa|h zZ8sr=E9DV8CZ8kK9_b&_U44dUaWidm;Rjb-BZ1`07SW2R9b!Ln|fFK|Q z`JglQ>gjBbwg|v=g68_Y6ihiYNZnz(i?$pTJp*pMtqy_%tr*8BrHPX!8lNtf;0r@?7p2OgDJEEBrFky(6Tp@^ zP5j>8)AG|{1lHbwF7|e0Jqv%`PC$RLX;=$%5mwezrDYu=Mo3oIN8sZHUxqpuJx0T{ zhplOD(bp|quNRO-NPN6;M)bJNe0pAK(UT2EHHT;?%-7JldE9917mw*fn90xQLpVa@ zYaqL;Bb#G#xWG>Z3Y-9TD5tA1_|ivuR?IHMbHCj6{Jf<*F;~K27{4wSAUb6dCA+Gb}Gbk z+^)x5Q3AWE;Fy{cU?&BbK zglD|{RZ~G}-^m3=@NtPFo_V!m! zZDgh^v176D6gh1JiON$EqxP>`(XQxV#5dM(vBx{?VhmeCg=GtWp&hzm5eALt53VP- zOKnsq{(784yPKWB-{LChW zj{x#i*I8f9V>u9DNnp%lHuatYOkYRu!!xoBTtopi1Ww`#Kc`M^TVAm}=4pD|3dFdE zfl`Kb%KC5T^*TLtSzNez-#Fo#Gy@$8>FZ58O)gwmf7y&!#7lCL+Ff}coKi2Q5v%GZ zd&P9Cq2*t7?&V>{+Vm>W5us1@xY4z~KaTw+SYF?yQXJ-y*Ieg%+iZDmg_)d&Y=?dX zgFEbpbpIYQZ`|7{@WFEO!|T$brIi;a8OV!4K623`l_IAW*@X}ax&=IKwepTMOatGf zr~yqk7t;#b=UgMeDv1}kD-4d*TEEM^%8pcE^WUHRICsI6bk@eVxD7d(#Zuix6aLq$ zb6WgM_6uh#0OM|jt1Ji`=d~a^rpeBhl7j{Kv6zkf6paA!OjHXLj+<)%M+2!ah3q*W z>ui2AkYrZREdz9#DMC+53bv!4)=ItF8fXpH=ZmGPi^2%$wXzUUue_w05j^LWHPZF1KbZ!R@y0T(sCwPaB@i8xjHk|Lo}i6iEU692GlfYeN2uN%haP-21f&ew43GU zGwLT><|4w}DGplAswh4INKPVg zw4ZgL6Gp}2YCvkkvScx;>4V1C&a5sErFY0L;`nMP=+bz zD8tVh!}(b?i8A*1QVH8QnRU1{rE!Q9avjzSzMTFj#%bd?3+gBpShY$?eT36f(WRC{ zMGhdm{QM(nRPhFQ&f<$`8Py**zVqk5>u)_RveFhlfBDuLgP<<7WSw7q z3Mm7>Fo1GMVncw+4upLfMkWwEd?nqR*4iYZH)P6ezKe4frh6&+xydeL@0;1#8rl?; zHE^pIT7eFboB!Stmj%_%$Y^}2^67|XdW*Gu^yn446zN7mLVtQ!nXIBDYwp?rx) zWM^d9zv}+izfyjn>wpI21j_Rqp||l0bOLDH)5rCfu6mS6(?Or3cf2VauI8i)x#u8R z68rP#0aO9~3l51>Rtg;SWeMJ=r@I&ZkPdcGf4MFf5AwhYsFOrGSN3Q%N<)yTLHzRv zh+z~SZwubULi~FlOP6+vn@`B#!AV2u6=i+i%ODwEA^plSy1j;Lm_!$PaiF)mBon3;rBZpDe4 zF)EPFt5XsQIzE>9L&JRGayrUcU9s`i0Aj6l%&5guGL7eCl`NPOn4tho1CVxly(T}g zu+TZHF<3$3wSrZ`7bBn39drXRLRc^)&6^3{tF&$2r(VD-t$tWZ!>IpoJ`!w=J*;6y z{(8apXE4nPueiGX?nD$pe!2eu_vytY8dH;3rTrDi?RAD60YS13Yd!&FW+XYR+R2fT z^bc{bf~74m3~{KNCJ%_p zZlOG*S>W;{4Kp?Hpqg|hd*?zA+j)4|M<16GLx8`>+uPLqJrHB??xfG|Ct_=Cac$sg z{ltIlq4>!|X%hl3eMrjYht8&^z_`UWkq2duB+8FmZUjjr){xhUQsc-N3Dx+M;Pg1R z|9NrAm(sfu13?Tfxs#TcFRr z{wK%OI`OeyOK+>-H6i>C_n*ZbtzyP32b#dC(aGCxB5^k?mP1L9GO_8K>WrdVxd0gK zzyvp@QgO9t7P13#%rAo}>8|EVKk~2CXV>VgQ%9 zp(&}Ow0P=r^ejEjm72DW6FAK&6+q1_rAl%02NeiXbO#&h07kl$iK|0N1ZiAmWD>DO zW}Ou$N!p+(pM-uTF4u60%rcDfepJMUR=?vS{`z`g{b-gK+pw^sp zzyp*8O)0LTO*S zRxMl2q8`CID!mK=1Gb9If}^A?A~XmH@#|3l45d&VA3fCV=3owVTS?$)p?{SLD6o6N z_r=JQe)pW#K0!at>p2R$&(Wbt*QD_zjy6=^FB8Y0VjH@$MK4U7g!1YEc--x*H7ceIeNT zanJja8Z0gD3)BFpcx)pL-D`Ri6iu=N&>@Q1PK*kJ=o!(tf~xV}d=LG9hr}R(66(i& zCM`6yxkXw1J~4ORuWv&du;*^_#6LfwL{$L5RHPb~98S0K5W^3i@m4bjA|oS#z=A7b zgTN{U#qL(QlGWcaSh6sNE8DuMvQDV9;E))rAyB{t!60U$MgKVf3`22Sq0fH$_{xS7 zCGUgC45Xm>tTE zrcY0IbG#iQzQ+)D@(Y|^aojm<3yx$2S{|b&58CYea!l41z)M!k$aik$9Q3uQZ8H+w zg+-`97LAiX0|@(7+nP4A<~3l{-yJpiR7GT|<2G~R)WU>>n7Upz3#@u_Of;c~IM8}pN45N#+u@C6YQUUZP;%&Hq=J42EwbKw^c~Po}}D-%=YVa*sNRFYy*0FSuklzK%rH{Kd}K zZ%U5pU>m4EEn!R8E21gbWFN`m`!dxbZ(Z-N6c7AW&8N$wkKAj@pxMQ6DM5IeIAKVA z`<9n!V5@-JA`Axx@jI*oeBP{cp{f9 z65l)c2Dxek{~S=IQ;ZadFM3%R^WdW7Ib#O;`ypTOx`+;MS-R404PLqr#~uiowBhjC zLc&E+0}wpnn^R)Xzy>ILOtR$eW7{~Rqz!=H&=+z1kFfzEfYHL$Dv8YIM!uN)REiUI ztm&G_o5fP=P+%4C@r59XzVSy0qE_BEOqJ3fo1;yI(@RU|CluT#&}j{rOI|{?g@Q&d zGjrDtKk`vuDp-n;4hnj|vN86W{b9E7s=cMa3 z?l1Q%s?|_!eD2RoBboX-U4ISQMVT{$ zc+$dLl^*<#{x}iaDQ`nVJplCvSUipp-y1*HZ0$?D%tw~J1frUm6-T8`tj^_l2|zBt zS7qlF#mk3mu)DZ))NYBkT=kPwa3!%$M?%}slL+D)_7`;O%+U3HZ&q>x9m(A<6_>VR z9MO5k-s3!0mm9M1-xoU@ViQ8dd1baUGs-y29Brk#gWV4E%Oue5PNeQe-gXIHK|QYf zlVUD_^fD}tmem#3y_>ojbi(}`V+rd_t}X>o2Q#rKC@d}+=X@Wt64Rwh zVw9HXpcs6PJoQ$kQ9K>7{%VPwYZ>2hU_07v5AA5jc~?tJWN*%FiR>D#oV}$8vFMgs4M#Fx( zfRFOo&UGvx^l<+=Zgfa|Qdl4k1FQ#yz6Yq_r%MnE<03{YnqiDX7!>V<7kP;dvA{N` z?J>lCe-LEnp_mkND}5?BUPN2Yw(6V+^va~YOAdvi1kq#`mdO4ZhL%gG{x+H4>WWW% z=nAw2DGMkKfko_r0WX}|gBOr1@9dwEsRwHK2~Sj>VF2!3sW0`;|8kT3%bsgWtf(Fl zrk|}-YyCdgd?#TH&)P|Kf@$2|CI*7^A(**y~+k!pu-3LZb(Cx_911 zO4_&Br2s1kajfyhY>xn=J*7I?z%sRN=jfL~0?5Bz_JlA+&WK=m=sYS4Odo*XpP&@{ zJsYF&^fB=;m#G32uKN|zCuzuR*j~nD0p^i8Rj{L{~V;aAM6bW~GcjQ>Kg`eT|kMTDHudm}>{<|cQ0+V> zlO=bS4`L#&W7TeTL&no1FG5|B9jj4lQqRw9%-KDj`)K@m&;x$Z7NT;?g~daTTcoS( zROmS>JEqzilT`@v9gosc2sR8|lJ}y~m@l---U_6zw4@NW00{i(?%fq$fg)c&X!1HM z-}_{eN!(56RS&tl>A0d^aSB6)0ct7s;xP)}u9!})skZhk=mPcjC$i!nVH|#{>vs2; zPh0!vHuxXR1yE|ye7P&gar<#FTXVcpwa^Xl!kdM2!Oa}EK-$3^&%avW&%%LuB3fVcST2{ zf02Hhp^oU00-nP0;b#%CA|4gEB`7K{s3e ze}OIKGL9ok*}0DZ_f(Q^}~Yw4PF%fa#T~fZK>|v5yOGMY;&91-Jgk(Ooh^9Iwe+6 zSOH=&n=;zp7z$&-_24+NgYoqKz$-3@ipk_eqUnzCZqOHmkm|XwCdbrEu=bi@q>N=rfD!xhAq*bU5TuLENP# zUsa1?BC1k;6j8BTCAo-$1MMdhv?CC19uMG@Qe0e$KOR6{a(r96a4+Xpq5WSI$Y(Ul zz-J5aLlXgawm&S$--zFpk`ZTPmnt!bLU#JD{v!VnX@$2bhkvKpJ98F4 zH}jpYIxvpujeXimg!Sg8JY$2)l&7k5YR5>?(bfTovc)K-9JCEvAF~86zd>AP_-mIy zAT<~g8-6pRiKt`^d(Cfs?mA{xwE!S;73hwshcHAZ5~w(tV1mjH7j{w%nBvyQlI9)+ zGg;Ia=DqI0E$#U+-vobNG>MN29%*frKTtHgkGt=clt=+uf(ta)Y}6Q&o~`5@CLjU! z&+?>(+VrM-heZWgb*2X#?Ma!>enx=7tXJm`Z2Vt_AVFJ`QBM~C76eYTp*m-54Y-KG zEFz_D7URDDCXj792xxMGq~(!x;m)W#xpO=h#j>Gf@BLHJXQ;}BVq2dI^`c)b9FNp- ziS>hxp{*TkL!%QPbC96!%CGy!X0q#d^+RfUX@Z-VkR4eu1hem7D8o10n?SUn;+VZw zN(2N_o3~p!fk3uMx)MG>;*&MVy)5Rjy5{K1d!A>f&1z&HB@JiuDC{|5k`a8%43xXU zWAUeP@u5}WVYh7tgS+oo2<;7>eF4acmfS}JM%H+`Ee(=&^4)@7!YoKtm^RGz3= zl9ghubKgHD!2$sLi6qEDAoD~y?j~?!D{~wd%Yg-CUOXcgP?nj+5PxWztKPSzIV%q& zS@Az3UTi3e4zhX7jPi}HZiQG)R`9}^buf58h$P4jX0aV1T%9+21TQR&hW=1l{klVjU*EFmQk`Tj|%0prw&eFLkEOf0_ zq5QPw$TdMR*d26Ih2M% zJ|H^qCu<_prX8uqlG_UDSj_`9=1zaUWAPiH;(enfPi6*KgC3n@JGDcJjq`j&FAw>5 z=1+ZV>Qa(j?p8aYsy}^Z6cVl63tADIH&n09aSY}RyaF|J%@NZ4Z;to&2GE{p%)^C{HxLS*C6*gxj4MJ znN@j;yIoN%bE^A`59B04E2Gc4@^Th3ouI|x2i1bu8u|MCPn)VmS>;7Jl|ameBLotJ zi6ldt3Z=bUolI|LyJb) zf=+*P_4=GO1?ucj+d=gx?x|~yM?3R@O3JP%YFB!O`GfRb@Z7&tm;R7jdolkMn;BpM z4Ifcf+TyCYau2@BH%;WceMxdri-P|UdRX3ZkbQd2?nQXwZGehTIr4?w1zn@1r!lJ8 zACau-+&U6g?O2p-KsoRe*tCBx5?M?ZIN@FY43;3rD1E)iNk=M@1t~YDERCRe$K_OH zNz-mwdrjZF#-2)W>ofIi7?+3U14GNG$5t)Cd+9`>ZEcgW`C}k>^S5L#PmvmR9v#f$ zU_AE&g~=(Fb?&g_=PAL%C5MHaGgghw_#g2rwi$(PqOZOpPQp9Y!xN=97HR16yBRD9 z!inVHvf${F6{vq3JyZNPh>!Bl8wGf4I0SARQ~;^}FwUiwN7(mF2>e7`JFQ2zUGvN! zgk=NO&E;QO5|wI^`3>jqLE!yZSoiGR4IsysAv-go{Hk;>g` zRqCUs5l}6-<&EWz*(0{16~Q<0ZnMWc9Thg^?k_XJKC);|y|iE`oeu*HB2!{Uv)P2~ zbeatMElMf^Hx~K%FxWzXaZb3EUBT^|R9}ATk0?e`^L+C_C2YuGpU|g~#7=JKRdY#; z^4WT6aA=Vd(l5RY&sVvPWZ#QiSY%=K^O{U(RQ3tO#_xx zeOz`Mnxzo<(RtQh&0rewjEDsVkkR`SkwX-v+|?41YrT2~=^aV=a9;h}gul{IHc}%a zOhzRsxdi8YqN0ch7-tfbHHhZiKieb60(+leYr~{WPW3g~;C|(EdsIxluI!FXyZm&s z`D)&{x_FdR*pzn(j%f*rX!}?mE9Sn=ffO;LjRQVhvZ_sPx8}%8{x&cHfcrQ_5fHsUD#Q^=ju-HMbK*3klsfl_^999?53JFz4wLvM_DQ4_pDmW*6Yq{q5?3Yr zshs90ON&Fbx@|u7;95Zi{hF!$;1h{~D*=XJ0RCHA4);;J5vST_ch@?7<4TnIi$uV9 zWta%F=@Vq60%R=1hNH?$m^lvdiw#*UGEvOEb`Vss+d}-Hk&@CkvroOl)Q6aFqS7Yz zcXR<>D<|?guM=!E2nO?(ZMGv7UNd6OKQ0048nNwDLiU6i4+*=5jW+gY6cvIA;SccF zv+SN6F+c5WVno?9ha^Ae@aQx6bO-!8ApRWcb_;eZk zIu7xJ31AGd`+;6{F{WJ4;4{qp?70*Zw%k&Y2YjB^wiRZg8k&eDjFXZ&8I7VR4#P`M zkxH3l>GYw*+VBR`b88}_y&|9RYdbh!o7#+{z~s;SV&WI2na1U|jr2gAN^^+YEEpx|N zsaic#@it*ov^dMlT0JW={3C1&)%A_N5v1m#ZE;m|2^k=c542%)g8BOp7o^ z)%4|6HF@iw#EyBAM_FK&{1ja>OtVcAD0d~F#re>}Wgm#O0`~ifixR!G9iNjA4~5{CDa*{=b`URGN?MQiFEDQ7)KSIG&Jf1T_+{+ZP4 zE{hdqw@ewq8)$#~ln=*>j@-VWkoaVp)-bk@ISKt!3~e%Yed{? zj`+jBb`Z|;?VLKof}m2vmsjkxwg57}&Of)Gs~%astugkrUiS3qi?>FE27kVX!OX7r zh$88E)u9qH=bTR%t5GaZDsM6_dWXBb7{r_Syl<5w5Cc~_v^eeV#aZhAXMyxjW^~ET zqUp!|7Q#B|6Z1exjU#3n$nEX`;)#9r z3CTo9J5qxLxm+V^uB~N34op*Y7&%r(Y1np?HwOBOS+WHh3 zPay5u1tSMi#~a~KL;hUc0KvuKsvw0~XsJhvhvT51i0Ti)Q5D8Hc_u%2r0Id*`#$!C z&B-+&(ZtI{zwu?v$&H}cMPH+AB_l}Bw$)snG}(mLceX3{m@ymr%3%(%` zW5$HxvizZ#B_VR9dwg*gc+eAty#?v7Gv#O^8i^98E_m#Wtw4$>$i(IOLu62$PtD%A zJ$P6IZn9!r%X^Q%J`Kt%wMC=Kmg?Lkb!52=A(ph3@yLGR6~G^K@$qm^@u~O0?H5e7 zhWuwY~BQy4y^f2gu#lV*YFwO(%fjo!LlZ?8vF)VnIR# zilUXow6LnXpGo#xEf51yMcIK-7o9;r8cmFwO1}e~K8bXAW{ebR zgS$`Z@j*ZB^eO>Cb7o&^E472&KQyt-Kbj_FwL)LyrZw~}-5w^OPsD8ex2u@4guwQ8 zP&N9xC0GoZ7cx^fr867?t9=kTEB?PW4$m-P`3JOz{VbZ`W@vE@Rme+%%Zz&PbH%p# zrz+Afk9g?(CX)~t2(Glz3?e34l0NDSmTf8-7XIv(*!)uv!U^J-naqvhp>B2crchj1 zj%7?*d^HJ7c@4h|Q@m2_;-w0UKTBgHmH7x3_^clTjt95Z{$`<&?>D8mlkWdr7m5-#qcVk| z2PQ?udCBWHvUo^|y)glaE@ROxuKl`H2;Gf3a?3%zn_-KqX7MlV(5);ZyQ!9<6ds-T zW?XB7N&qV;7;)~bY;*Uc<5|hdnvQQDIf>^GntBqdS0r*+_O;+~mR2+1J##M&3LOXz zJz}mVDkxjS`>?vyMaYSX-QZ$)5%#W@Jj|c70R(e6sB*-Oqvx8e-!(88gKorWi?L|| z)7ClsZ#>KJk2&UIA?DDP(&}9#aR#ZJ*6lWkJlmZL602LLj8C&W=uk%>=O{j&^p{o2 zduIH!tE2S`vjKblCLaok|#*)Vj*~s$M+@2Ha1| z!Psppu$q~tF7YkbA~2vB5b<$FjKu(z6vQ{KhHo0dQl8P0al=r#Ca7MB%PcqimP)r> z+oID@39o&QsDBp%U}J!dF;x{*>;zQd;AbZa%VzHC3r?(P%%yax#^)f`lVo=ihUJj3 zxU82ZWcO+{6D?#pARel~Hfz0_d*aJY?|K(}y0AZRbhlsw3Ln|S)t39kZt|=8P&0KE z!hd}@w4;>jsslkzgHg(OW^?SY^aqm&#;ZY*G}-%>tMpUUfzS8h_X#m^u{l#4Po?*d zA>M4smiqCfrA$=0UJ$<`UL#ALkKG_)s@ysTQ8V8Bx_m_hs$J>6H$dFXf4bVOh62cn zZ6lWKv^cRG@KW9s9-gF4v7p9TPJ!ufY;wFt4?(7I*T-W4DMHxx{~nnf5jY0`7FZbz zaG66dnc{e$EZcA-(g9RU?5~h<8qo-jB?V<903Dd?)9U3YgETu9SBSIVqICGHrR6b- zwK|gTh=L4mA}K0vLSM(>tE=#!@fXZjpJ&@4Q~UCpsHJ+xgeiM4BPK4?XQ+^tq0^@$ zspjC{44=+Xm5qu$^<>FSN&GcsgfXV6I4el%nllNw7a`SQ5~L=S8o0&m<^|f~kUNNY zw?s;SxThVv4XKTG7M|U~>lpyfVhKITZX1;^Ck(x03xenls@-M|it$!)LR=a4JCcj@ z4}laeYgC4dC7w547nm)ltb1>_X^F<9`-tpEx54Ue{Dou9MlPX{6!b5k(TY{GNg4h< z?;=5YFqrKm_Ab6O2W+XQH!tC zoCTvIOiaNVTKLDZ^gikmy9>y$fHm|2lFqv(Yiv#VEQ>(pwY^U7;MWsr{KPKs=J~AE z^=TVF{P7SMqnN^nvVR(Rbj=Na#B*bYrO@{#IOQ_Udgifq&Y{w6vc&DU31x4c3gW)G zro?)_&EC1+;hfjMyOi<)zJu^nYiCH3*TJa^`#C2vJh~dDyrt!qXf9OkT+)Tt+nfq& znhv0urmw^Midv22oxu{E*!waUevM^q)?M}8Z7}rkAnJI6*0sHAFP-OaUdxAP5@e4% zw4+ouQ%5$}$I>l^`=-Evd`nt;f&5f-tvsWTaw|uSZW-aTG&rNZRPjWnq|R}nTD+K)&e)5xPTrye6?K-aeLl}C*N z)3PeiO#STthw_eN*F!c1ny!`Xb?|B^W&UgMSR-m8e(ZI|a?U-I%_l7<(E~us;EYY5 zj{!?f^EuZov|BooX5v_MPgzY^5NJ1dT=O0hM`<6cKCW6+%)Kb#Y}S9-PM?xY>B!>| zEI%tUqCDKo5mn5I{S$?f<%?M;6~~b+K}~JM?)4mcK7PTB&cg(tf<=h@R*{Am^aT3j z&uEnhs}3qp_D^us=F$)%*i%+yuM5~1)iN^FnVo(gh9?I1kn6-t>(*y(T*UkdLuZeS z@KnuxQC2dxDbHn?0@zx2E)^Soii;1OZWC|F*RC{&!B7|5_G=%s{xHG9AE7dgs9LZ} zDD9rgyO(y~j4KynXK;?n;?2%iO5`F!BMHQB|{btD39Ys>N0QGiSo4k25jd@;ud@GN6rbci>Qv{!e~A3jV@=RB^b zG1J`+?8-9LYS-oguG_L2l{+XE%Z*vaVQ`|y+#ePok!n`HtjXl@ADF6RAe~Clild}G zoo}|A3ZwA)s(vYE3$j=7Zma#nt)EZbmlFi6ntkxoV$zd*f|5T%{3;D58b# z=bl$%prISLqlQ4hVzN(|6VFX{JYU5 zH=R0%vnh7H#u5G!BfF15oi(~fhF(z;Y#+c*tl3;)OHk;?kZsMsu)I2v74D)gy%eIi zY{JGWsXt`5zKn=b?HxNgKn?e`YK*)0feP}f!==FFjsm5$izCLq$l{u!1{)<%X4h!i zgr4@b=Do`^c0%p!~Vd9_$IAk<+fa`KzmvFB|!zSPS zE67M>-Tr(cKxORTZxkW^hNtVodG9WZ=H8M~Njm;<5LePhM(;<-8MC;pEaxW8WV3W~ zaa3XCqKvqOi-UvF(%9bd@~)PsmKX&H{k^)9*quW(K6dox5CLwq?#cC$u7}-8QF%|q zB*hhQ8Iv;7f`7mAuntxt9G{jzLKHRcN-#8(vWA^-)tmSSC*@m%(qM;%Rx~ zK_G5?Hg|h%;1;j02yrQ6>iS6NRUC^MS*|Q|s$a(ycnd@aI*GBeLbfH58LPHnkPn?m ztOG;K-Hf>4@Q-ZS#pnNSDg;UO=h4zcnSDSk1*xI?}uN8@uOvnOMx6!Ny>C zcoM&z1V7*ag2{fp#tU5nh+5^4-2F+?@p$>uMCE0Q4& zyZ#@YguzLxOX1;H1N}RiRKzQs5E(Uo$(=iwMWy7^F_^JzwF6Y`0J|q}!jBz?s^JN= z6%ZssmjSR*mhPZugOleSMn$_rx2=BYa$|p!%e*{~d+-y|xaQc@@giY<%~MRe zHDDf?ke$2zN`8dH+2GwcD68fXpUkN)o)VKz*ki&nM%XzMTaAvWhp|S1#6=z;?;b2Ej$xqf!*2@bn8Bz z73tQC4}zbz8q*4{E2!#}%OcYH3G7G>rhuo4O=Q0$y{SHA5HLUmL z4e6?!gb{yJ4A1>@y1EGBmai+JUOXzn>aa2IkBDnTC5vWNV-W(1Uhn`xVdUZgGXS@< zbM>u>b)EiT%=v5-#BveGiloK@b3M+Wv!UM*gk8TJ@@}HXW*5%?ZFn-NFvx(q`tHTP zg&rM={KH1D`bmt{*v2sm0nBNrBw#XnI<(Ba*I=G!y$oY@&lNA?z~5Z%$@frcm)2ql z+mBY9Z5wP0*5bv4`6wb8tloAKy@;hD*Jn?x5<}FY zG@`L5;(-E*g8|`s8d!|24WiNz`(0W=s}EAi{Z3p3Y}YtdpV8o2-Sm=1Gm^e7YA+Ot znhZNNJx3jhAMcG*+PE;*k5HyPceHz#odn1PXwX}W{$YI+r0Zzn*_i}YIe3cx>Amm?CeTi4mq2T5(01;#00r8$(a91&)#o;s5j?r1p3 zMYzQ%u`AirW#}pA-D%d}+#GT&Aqr;<9bn4<7`U0fn{2^@kx}4fus#EQM`kUS{hc>i zHjL4!z_STL1!c8^;3OIb=KC%N((gDlZtCTo1RGKp9n$bBFjcIsDV zZ_h6S2O;p!nQF|-f8+M<_wC)!+q6HoWb^oR@qN8EPphD5^>inX;k}>3b}zSOFSlvH z<#Y=8Y*7zh`{8+(vwhN%pM8S{0|5l&`IH|=tj2Rm@gxeHX7AArtZH+l{A0Y}18wE1 zhsH)mn@sHRU_Yrraq_BQw4l9(;f7l8HirGdf+}4qn+LCXja&mkHvj~6kxHEq0%<}Q zhzCGb8gE--Q|NXwt=uRtGo@9ySH?jCWhhOC$qCP4Y7SLzux5R0k+Ncx>M2rDR7qRb z1N)gdtfuEZ?`IPx0%qumr{*PV( zGaz=dGZ5Z>eYQs|M)%G*+ON4dw76WW%N&RJzlvB@`)mjZlBodQHdg#F@oQQjA1X&V zPz{^J;sl5Tp^xQ}PU~QMBS142RYncD?IJ^V{s~<>jz_*$lh$L1i)#r0JFO7|I=*on|rD=h@SNvR@o>=E;xuHqEwW3rn7 z8jNi=naXJ$Vcf1OLAvC!h;yq$5};asS+zt-D5~CTny27+*IY$`q8F_7UQ(Sen2;(J zhKLn>r=FU68hM(?Llh5;@mg`#zR_ENtu@b|C7qn9W5@iI;cUW+gvGq&d(DGZyO1%* zhB&5<21^ja*`y24if6KD116{1>?&65H|l#K1sSbT-hh1y3f}Rn9=E2s2Z<=^F@*%5 zcEky(tVuh`XF2$4mns)W7-Okell)hvJ?n-ePT2yXO-7K2srRL)xPZ6S7k-kndFuo> zh6HZzJL3cF$|pwf!w-*+W5cq8-D##D(vq^#lQ1#H*PRkC`oS``YuJc3uHO#>RHfgF zcvW3jJj>HcTU2>d{sz?JkSIxdT-!p4ph{sDF zA8UG(Z9ImZk1rtY(&`lgw0l#2&@htdrg^lt!$3r5$fr|3Q))gjbc`5v z_OjBk)n{a1>srK)*#Lcmnu++_$cpk0BIyv-tUvLf>p)?f0$0zyTezl;Q$Z$1tDo+e zF~@)#0cLqlqe!$soEp!1lTl+#7{$bTQK|-yp|2wEGtQ-qCAscKvhI~{CN7`;Q75kMo0VH9znfiz8xx<|TKsY+g$<4NnXm&K#%-X1Sd&}n|xyjXT}lkM&0 z7>OC~VaE=*UK!G38C=Xf+cRHGfAl4j>&N{;r%(|Y8B}evk!lZaqn+|8( z6q4#*&#Y8VZL65NJDJUKFzDhzz9ZEHzN}b0%qRZ}P%W4lm@S!PfU&al#%Snwy4oT& zB@75L%X%-1JKQSY=mB+@qslVpEY{}m?IJzE2ZxNR&Y0K~(*x|^+`jHE80M`KyP=xi zn_P^Wu+=j>2ES@3@5%-V2eAeD=(Sz@(Cac}b|9<)iQhmjyvK2}l(qtj!Qq}u;4nXW zOO<3bM7pRT&+*5-r&!`JE@vN_CS}e@Ds|&Cajecy3IoC=%FR^5W^6PIj1X|4^}TN% zaAjh>A-GZV9uw1+k;upio9MZ?^LBv2mmOLk>TJ(CZg#972QS&*EyG?1h|8a<&eH}+9Ulczk(3)>-8;n1!= z>WHfDDpX19o!qR{N+DEh&oHeede?)>_a=pOaecB#xD`mPhvbnJg77A{n!Bksr++iR z!UXdz8|Mh0kevDpe*^MPH0wRrSzG+T4EnJ&-J2~tLrv$IOPld7bPehreoUfNDkGuk zqAA($bA3SZf#}`UM?EBhZjB~9=GiOz961O#qkoesCk*DiJFdv8_XdPx&I@z>cI_Ti9+c&nmRCyn^dAM1mWrXq`jLI zG6%%!*?-}onAa%^<+_Do84M+BnSudv-|Jv-S|hBpk(-##D3mIS-zxP>D}0g?~^UDcfDPd}gpsSg}ka-ur|UxIvGOXD?)X;hcpL~Ni;^6F4E381^G;+BTh}uzedY#L%CH66yQX4HSZ8Z@YcX> z;LN|)RD)MLpv`rfQY+T*AIhnUN3n%PAUYuyHOBFMafwhK+miyG0mJbJ5m}Kp{G_)m z8)=uAUwL#KAV>3_feE);N4x_fkM}~@lWcfEbp-gIp+Bp3p$8Knx{NlL(Y+l;jf+5f zE+2$_TZEFz*+PWM49P{$ri$3EUVLH#zm3HF3K4t#lDrWnDNxvdZpzYq8y+%x{Yan7a;jj*!S6M+x{3Z< zwcPq&sSqAKE{7x&nN0u($IIUsT*bQLWj)tPR;W=|LjP>bBQK9Z4&bRZrV8#0Ciq}Y zuptgw-i5z!$0m8!k&qiz|9RPmb{iR!S6*LKwG8Mi4jb#K+Vy|*&*=ArGWCj7_Kg1@ zhbB(b&UDT8c?uv#b(!1o@9nVA@j(J)4V9NqDNd4#nIaHqliK?bN2d)w@aCAzYHG$q~xCNi_o-46> z*E{em^LuPx78}hi|9{=aItA{cnsjy>yZHFvlGpRF7i~Fr8wK_NM%IyQj)+dE@Tn!V zgATPCsCdX&ArnRtQnG-D>7zRo$Vx`Ut16!AG}zXb?~CCQ1`TlnnWi~*qtQsn32PXD zFbNmn1Q(f68ofn*idoVdB%Ebsj$|R1WtsRra1IB==8d{aDoc{>=ZuGqYwVvn(8X3( z$y~4)O6BT$6E}H3Z%uvULe_wDJ<{2VvK@EfF1$me`-)5AA+rxPk^uLgv~bAx`g|rr zIFs~~2%By{lR%_08Q%X8vY0%6QU5%;pqj3pdz=p5=_BnA+uz_$QYnZXO?vHEX0#=j zvTjsZ=KxpF8e2iot}ClehKOg*w*|$h?f$I6#qv}y;4ulbuUVyVLn^Z;cN%^A%3E&m z$UTFTEPbL^+>C_{%si+hh(e=xeHrcMD}SS3IuIx2K>PF#!Usa)AqA5P%_ve2{zgNE zQU_iRqn_XYVD0xMB296d#!0XeXf>X8?C^sRv<&=ULo#2xhS>rsrgenL7LjoW#aG(t zB=;h!hs5OLL%+^|7G%wif%f64Dvks+37{2t#J`~31!|ZduY$~m64OmgNPJRE_Hos= zfPyADiaLd5Xnnb99fpJW3hHhRgAW^%#_Zu{erO($d>PTsK~dh+J^xLrU^KZA3P(1P zN>P7Z5$0exD-@lQkRi%g-mNofat+|oC&v`?h$h4o`R}rel$i6aa1)D_n_!ahH$MsjgSqCusamwoc|>EK3lF)v6Ivy4S;YwSs9N%eJ5eWH-~Z%?eWB z!tV>wdiO;9;kE^K{4U%cwd`IOyq5M4bLJurGRyNqaeks6d;XtUF+fpSGStt?ONZ;yeIgE6$dn+a2kMI#S`0gFW7}f145m z5=LC9NGf#RpMq5%7om1`AsT-YY>#Z(jS0hOhW40l1}8k=sK2p>XpPLmjo)me@;E3F zHmvqQoP>OgIr3V;!`zKqV*2 z3wYcQ$Ykx;!~3{F>627sZ5P4pS8xh2G5OTp-tyS=tElAIqh9wiqj^F1VuP=|cd#-o zU|IAFaU|#N8mMtu(dcn}tSG>Rt5d?iQy7FKJ0uTr$N_j;kN6NjMzI3^V@TfvAn6O( zk}){TiYt{^rfZ4alAA1^9H6zhrT&@s!K0MsonmODeaSYm?dyI#)B?W-JDMz(gr0uS}(WI+Y*RSBDrutu9 z-K5*EZLw4mW@@8U9Xq$#%qbV)eC$1tFG}z@^n{)Aw=hmnIE)qoM8RkfX(}kJw`ao9{q`SolvPk2>+ucySJ5$Z;$>@t$bzI@&4n zCldhj_~O>T5CKUyxl#^R9%Cjn*GwNW=0k**C>XH>~-3_s~|lC&ru z*pP2DbQk_c1V*@dcUP14p>H-F&DsRmRzfM`JWMXd2mpZCnrUOer>+k2KJlL672D94 zFUDFS>n0=LCL!Hlk#g}wa6q52R}g`rKG`zzJ`m>R=KdfBdHz7I(ML8&#V z9I0#cW}b>{UA^Bx)|lM;O~I5ox}#){Py#40Cuwr)qbbZD-dDHbVAq=m_e?$H(Yc-M z$u(bw%$CTf>F8*@yrU3{K9EE*_}iX`*)!B#rN#mkGpe z3kS8K_TgWeFI2E7Er=f?9P1Ihz9oXWCSf1Ua`ipnWEQo+wk(hmiTo(Ti($U3%9DYc z3WST6J2VvOoD46YTd0))_FtwW8B)xcAYTn8tyTwM+I?pA;bT;#D4nWU)QxL#Kb}0P z#`6A1TvKGk4XnP6!^9nH3R9c?Frf6VtiSlO0$?h|0d&t98O7D;CiLN%)EA`#h;tC3) zf=h=A#++V*$;zd%xqnoVgKckF6lJ`O z45aVDidJ0jns(CfKs0aQNucc5q7yz_@RpU$(%Y>P-4y16==4#ANibrAnlZfiFyB0^ z8z8=2s5JIryA7*>Lo0c=1kQHFO&ikHcUdGJ=OQ_c7NRo z?5OWMEK&ROY8V5i&G~i*YQW%JM*W~cdjBbwXJGWO>@fIF!CAJG3V6MOOgi74guzLx zT;a#5k&|qpX5q{xv3mvRHvTl9$}6iE3C3G$FtCAKsHd?y2XAO~`*p!Wp{-AyuoC}E zK%rmKs*zR2`^(RSM;t+Ja%HyWWM0Ok!tj|<&9dg)0zU~WbcjcCNuW~A~?=FGuT z2oI>A8eI!CT)!&FdxWYhAnz4P<1Kmii1gQc+hGLOb$RR zK_qtJQG183_)J(QG@{ldI$ntb@fxF0n{d~Q6$&lGOojrI!nx=Bq1&?`ki;gP)e*|G z|1K*R3vXaLk!847H133WzE%5hvEbVU*fZgOS)DOxcB!d);O$p)d0*K<+k0N)?l~-o zzvqk>0f}H}qjT_b@z9cv5*~uudDc`<2V04cK7d~s92Tqg*%G0noaHg;Vtyh=99er* zTL~RCYNmOvn%kx8g=?mKDGdt9Ai-oDK#uiOd7!#uzZoG@4A1>@y1EGssEJ~dOrurq z{ZB9z*#eA~0{!-}Gomb026b)iNX4>Jqi1xhHAqM<44#R#^9c#LA<3S?u`r2kN^O^w ze~UM7!icz;4OVifB5E^myC6bV>O2>0L zA>U$=8y{>MClgc~O-Iq67SwM+LqRG=9!?LXU51=L_p0+7n41X|sxv=0S!Sy^RYhGL znXyDQjO#itXeu3H+SQ>V)=)_oJS@R_c2+P=qGj>7}x+0_tpVHR!-wUO$V%71GuwvBS&0hq|xgn^fX z3n5?wY-JHe=kr?jsM~kA5~NAqGGiVqghNd|PMAbG5;<0SH!_?l3wHgi9waeQaFA3b zzGFW9dVl-F?&*%X=@rnorG6YcuvKIbIa$%QaM^b^W;p`lPnoH)i{F6j@aT&CIwrpk zoxh(>x%@hJ{v9*_2Uy?3s?2{5lK(@bkKxqs@ajnMbnWpRr74hz2%zgoo|2*Cs?UUR zgME}(HWRRhz?kW>-1!;%kU~VaFGb*)W{HEQmL}<_TvyNHQf=_5?XdM&t_gWl>8YFg zT}7&kIIvzX$iWiosv3j3Px!-%G$o->>zAj)iYw23I{#`~_dVd4`yoD!h76uilazdy zJ$HV_>PajEtRDs%DLKquD~gh?u2NF;*>}`O3`0Wp+MF?#Wu=xy=hFb?@pCTK@-WMt zDzx>#&B=NzdM{vzSG|yK2#daAC(N**u63J$QrgG|y3pFE-ob*^NTYzo?phX?fKLT= z)28Cd3wGtj_sVF5_Dp7%PagCrw!qu3QH-pzfPCbON=*s!8KS_l0zfKzPF5;2D=EX( zmmI3g3EO7O!dPd}j>DTSdBgl%#j}`$RATO!3Nf2_o9fR0PT!^r$LBlf{O~wmV-ZKB z>vUb&UNJHIOgcxNy&+T*LBY(A4Jz&nXYD%T2u8ZS$c8Eze^{R-@?mO=6XFL|r|5|8 zpnB>#fG&9t3uAv_QL{!3bkrZ-gBIf0SV3ZoS0(*g4Yu2Avh;E^nTCZy~tN;$# z)@Jx17VgX1An*eFpol~4;F1$F&`0`--(qVP>yXS7AA^Or31=#rHmlYAMqB74SJEj) z*4D!NvbD1{sL!|46~(sVTx_}GGt3QEKss;U)GwQh0LoJ4OHZZF7u8ha^;rA04ibz1F)7byEUebNbp<|f4ni1J zyKcn@Nnn2Pnsc~un)J#Gy;iObjOJUB%>1SH>$DH_ZHY5oBA-m&?&Z%&|3L$(<%%pum$8rH<)`|j zq{2vv?v)(-fuhgrdxR1KayZHjdbT*Oe%kE_$-5-tidK%qQ45RjnR>vM#)J$5J14fn zBUU?RArE6_c2NvJ6F@=?4hu+vxX6(Qyi}y=oaBV+zwfVv)m~9yY0&u!V2bR^MJn*k zE|@smIGhOhf)&F_-RZ6Wy|OgZ&oq($B6PiE@Dh*1C{V zVD@WYmX~yqUF$=xnXrKvL%W`|fGUzQa@ZfMY0)MeycGuYi^X0zkE^>=EYJfH^Ns z+MS!XJ{R3TgB7EP7)|lbKEScEd8A_!iEI0HZKsf+o5=w;D|o1+ejDpyij0&KyNK;Z zPJ~RVF$FUk86pIU&`iBA1r9^VxusU!;Xr)CB4RMQ2M6m(p)7fan8go03V5-|Xw0Cf z1SG%wj75Jbxv(Vj&*Ya)4Eq^!2ac(^rWb zK6g4%7(sQj{7~m@bLJ7`=`8^P>vjx>zOyYm!J(-T)@h{EMh>J&Z#7MIgxhWD(hu}@ zTbGL+jF+F1W?}*11hvc#(EV=;)o~%7!;KY;ZVds4II~cxT%u4@2Gi`qlm(MWLKyY( z&&I2pXszTO1V8e!kfv!YAe*|Oq$NUjE);|7+=l{g@~}*i zr${yzpK&=%2Mga^XVSlG!^qe^b-h4UMJz7+s7ZjC0omJW0`--zD5MX5!#W^G9!D5{ zjnraRY&TD*p>Bwx8Bqazz&M&eLI>3QP|w}VOPTj^BM))gRhlg$-CPl`p+x&jrmoRG1y^$ zQEot&_7CY37?XV-ITo(BMK_#Qq~H4dkE0`2aZ#eaDF)^%-20wF`92L+6v)!N2-)UP zsPxjNIEmOk-(ZmGRg<#R>tX%8{zB)p{~cD|9tM?}KSl=Szy)ty*T|zsvsj7_Aj2&bBf+>BF z_JJH2MnzORA^Bh#KR@7_4!cYH$uf5=RbAx7G=qq1fNINxj+420`63+Zbo}UNsSc15 z#;Unj0PGFZQIU+i>{7e)vfD9o?b3YLmip+zkY$U=0!53n5gvAMb8|9kl>*$|u1-KAuQyrLe=T1^2- zixuX;TfYH3{=wv@iZ%zsbx@yvb@-h2Aaa)cBS>C*Wz)xeZWln+ear6%&5d%71?VAHlySWq^B;yJWlfw#w`YCC(g+3s`>~K+jA^N-f zS=)Ld`4+*)!<=bxwtYvNok(k!R6ET+I5%W~IhCCDl`5(F3++mt91Oem)s8NHC4d+< z+>fPr<2kx?ev9i=MzD0%1#i#Y;Tc)Ze%&BGgT6p|=Qm-1)YzRk6_x)J2`OEIrFP4? zq6V^`_vVwB0`3|{iHzlWv&2HvO59OVbfuVhwF4tjD zU9x4I=eUE@k8sQa!j$ai#Sg5)n({ik>phqKNbMR1UtJ7i57ii`3us$iFS~alQl#4~ zv*AR}81ubX>BjMP5t}8KxBXM8k6^fAy3f;eX6mU0QHK`WUvP1ayVn4>A4W^H$Z;9v zs$C7&L&4~rTLpPxM^h433u!$|rR&Mo=x5fDLCAO z2Xaol-0Pa5ZDW;>yy7ZBVx}eHiH0P@*w{q*D%Qy za@{HAHU~=+e`eDfMnem&6ghz^;}R^FPJD1~ll80oTJ3wtzT`#I!JY$%``jJ9C6fAD z!;VhKss_YWsYgQ2O7h^w{B!2?CqRZ?R#EhpWk7Xl_+4m(=~O;bhfm`Nm!6Nz4#c~&RV z+FKY5b_kYwJC5{yy;Z-IMfYD))(F%l?Vp=GYkWYZ4MSKV&!lJWl}~zpS$TD*f4p&q z7zoHNRf4+Ev~x?+e9Ax^c%`JPWkL~wfvaoR1>F7SsII8WSU;Yxu?!uk$Yw+?)$Sf4 zn0N*%07#vsH}Uw9m5wuRop6j%`aqR<+T{*zMRI|Es^I<$>gOU9?W8m{zFDOmLJ2@F zTTTty#soMG+Q=InER~rP{P^x;0slhqFr~YNS`{U!@fE2cA5E5#t zXu^R*Lkps;^8kH6`8gACil^1vl2x3?LX+iY;vQsyoye%5)TYNhYffwz8`CDjoH5Vx zAd>Bfzzz3~SpGQ-h0o`GZMIM}tS?6}b{;&Ju*hL-oBwRJD)#kql4GXHR;V{Ih2jgq ztG!NqT2x8iq;_Ri_e*+v86wwVM6B9(Jm)~wzlGN|DS90Ce_(5~9vhi!p4_vw%GkIV z$Xlg!G3^|~mu(2Lrlx z1N*3$0#KI49^E)Q3m}d+X#OfY0dq zRi`m{f9g4%VTQYM*W`UTE=cG2+~H5dl0WfJ1LC9jDo`uX`bD?$ld;tMH@F-CrcggEnx{bB` zzkIK{aIGdF$De!0kPD{T%0lU8Yk4_8CY8s@a(OO}A;BMJHT5F%t^n@z$aY-Jxip!I2kBei3u(eF2bp!>xab> zWn9!2W@v=`^~7Yk#xH3!u`66TD1?6S*KJ7w$qvagA8JQP*3n5)c~x9Ux$w`jPVn3@ z9~Zy4a>z7uwQ{S7BIH!J35Cm3yMJN2Ur;DY*`^w7jTiE9Bm0O2UwX$%Ie_Ui#K0)U ziy!Y;hMqb{4G$3>*X64LS*P1qV{yHC7`9cjo9Uk9c3_xsIk?-;Ck&EVQ@pJ+Ua`5~ zBG8Hox(Vg@Mkj{CXMnsCMZdBHIyVCZHy>*v6{mGjxKFF7iknVPo#Zt?>Q2Pn;rRJ| z7tE<6RvEfX1cvEBBsTnX3QZqWWRKb$)l0eXSw7ZT8q2}ZM+C}*?RpRZYY)AXI1LW4 z#U26;Z5!4&zuOS0g0Z#PP5$$ErP(4p)j`1>ng2D0W8+%*%FVOHCa+_U5}6KouV>bk zz9m-z(tXa5^bzY29V7WtlV7Bbv6AP|sVgJtKW~4e@9)&UQ+zC6LJ3+k=@>g=fndSN zIAL@q);cK*%i9*7W`0XmVk;Zx0X9x_yuSZkQ@+P{NiIgn!+46i%4dO^l0M&KgqVLPg=2=gdFs>Z^Iu&Qf&Q!LMRgPfLI^25 zT=x}(n#&QOPA1t~*WuXCRhCB(d!TJZzKwZVt>Dlkxfqt3l_h{+u%f&O(+IQ+njuWZ z1I$tztoedt(_#S}>D~6Uo}g}4uEZVM*_WSF_n=yJ^zUA4x=-znDSb-el@}tk#_`JW zqqBlkyM(rzDUZsUgx6%qKsD4>SH8=Oze07L>fmCb#4Y_cQZnm*ns0E8B$OjR5@)NU z5P{BOk&uIxh08X2l<0r^xn$CZ$fUoXP}ecPD@gh;G` zkntC%$ewV~6Xis6oqV)y4xjE1s;zgEN~{S3lfd_#larAnK@&B|eT5j##q`t=mw%I|kD@P>3u_I#NO=>%t&E`t|P>(?v&jb@Ioc z3SQtJS9L(mRvcnCX&{3e^`sbtZq2EcZnyF`;i~Ve=G=&9(XZ+c+wNUlthsqwK<=lX zesQRUGejOD3sYEG1@`!NvD4K&&O`C0t-!#*w!0&dB=GoOpQ;++&nWqL51nxBd`^^a z)67>>hnK#_lo%P0<>hPhEbX`{ti&Exbm6?m7+6-6=HWF4-azJ!Sj4hv?AKMujQdU? zHAKh*j8W3cNfOwCV)WM96j~;?do_8)X)& zORsDY^u1!PDLmBgpR4-I>RgknQ;p9kp!qxftZXL1)*xW0+-_gDmdqRI#a-wgEtyWt zmo0^u1rKej*tcpzv8?mI%-ORfp@lM)s>)6?(EuxyO7-|R*;MTC0OQdC8HulD8zW}c zIj?WGuQjfDdl9kPt6vy~D_e~zZ7F29X*KXn=Tr?Rr zy&y?0ITz&`@0kw63(4l3nMzzF>^HCw#WEzJWy4wIzVWxbYK+k3wag0vBaPW#f6=}g zI+`aBreKWv<9yd^R+kRIOZfX2BNkpf$Z9OIB|fjh+o$9SxXWf@rv)q|(PsBZrvOL_ zEm@A04_aArbpL&o1R!xa9hjT0vm>|rc0T5{T)L0P7GTdUf0rmepWrWCpLUh~3bn0v zftTJNIk6lhi0`Q_6o#xfj?;sm8wY|wquhf~pcW=ou9>SQZQJ5OXz~%-0=xxY}&ddDXH>V74 z+AF`y7vrs{5)RU!PaZz9G;am2^th6%4iw|d1UO%#*Q1azZiTo)ELVRxCg+vDGQNGA zm#}1X{n{bvr0=1di|gO)t2JI6Yg3fzYKBB=eG(=8h9vBF<0(6{IGUBF+t{qs}HDQBJv{p7e~mfiMjKx#djZLSnxHzbz97eYDq0H2gRD$sl)hO7$NH zcVBUWc<=G;hSg7T;QF8(UKUA^5rTwBF}x_AxT$nwGYyl$M)9CW*$tirR0$Qz3ktIy zP#9g(jZw8sHr8MCx_$8dNWd)QkIDezB&(2BGhL9c%d`GmOB5-&x%o1|W>C#)nK-#(GP#o1;0*xMgqOikK)wk}gORS1>eP;Sg9L$mfw%?iZYG`W z@}c|o9>^0+Jx!m>!r#^ORBCDvuT&b7JeKqk zfZE~?&yxMqcj7a4MGHI&hbAO*WvoENqOiDHgBHu4+VYZLyy~}kh=DdAlA5sQ^Jxkx zqxt11D}A@^WbeOpJc-QL8-VaV8av%|g}*;?u|7H@SR=k}SqfzsJ7(KBN5U;6j!CZo z4;Mxpu)~0$ORCC*7kfOIlpAvxqE=TSbvGRx828lrHbN5LQU5~<@>C0&(SVi>o9A7ZENmTVfx*F|z{5)OEy3iw!Ydd7$9bK#(}OSq zJrKq}NBYigNY@2^AgX#V&C%x9wj#UYKvvsP zyBmnu?Xxl>VeZYg(bsr9L?(p>6d-88?&9{1Lm3??tIz*`^8KzKw!QDRvcA?|+p6EU zKrgpLKZc}l+o~7Uqx$-^d-m!t?P&eAMfF*KwQrgAIsXOozisJ#Of%}!>+QZTt3ofU zOF8vvt@i0ZeY#gZtt+2XFYvm5h5J6Gt~c7i>r~CbWhn=6=qU_f+F(dHsAI9v8-g@Cr>pScBXaA*d0_$p>kJBH95`4 zbTNsfw_lDD!Z`1%G?XJhW{eZb<~T8WQJ zf~ak|V+M;IY<@M^{PLqH*3H7NL#(_q5(BF$%o8&_as5_{G7*!!4Gb*j%2;1~aboDD ztH8gI0L!PIT8Lt$L8(m4Xw=_NF_u{hRH>v#iFSNV`+mG2N)AQMpU|J+oyJl!N|~z| zYVt7833NsGnb^a?Ah9^1v2O9nVMLW1f7=Hf;joMr4d}JqXJ4^}%^mu^LJC&1*R2+i zGLAWrlt|mqop!awyCRiKy`S-rO z66$t@p^T04?rVTw)0NzTN-W_75&oCx&`*%dQa~ZcU9$#JG+|)k7z0%$OqcW=#J6OX z$WqdV{t%g=&u5qZS`YL?;HD~1^1vP!z7@*{OwSDGvfpNySDI85YuS4+b=$E5*Jr@4 z?=kiyuQoVcMAJj5yn}7PR=Vc&D;-srkJX9FBOwb^&cGw{$LIF{U=e))az2I*y?`5! z!J2i;FPTv6nf+k64Zh4i96O}Y=%7YSTS%Btfq%+@_|rOpa5vWVIuA40%lEhL^t{Fu zLgT$+^%(c#k;Gtt?WAu`D0C%n$DXFOgF6z3KLUBaQN$pG(YdRfd<&R zyZAgm#CxMzyz;YLP&nx-dUST$aGBW{UC70%nw3lTQ2{ON9$o1zDwJtvi7UI7k#Km! zy2YWZ3RR_ZIzKVkQmQ{vwGFL=0VGr>w3@nE%<@M2(|5-BQzgQ9g>3riN+kA#pEx4wpH)Q?J)V2 z99yvIkPI8ubwyE5^vPY+h(D2_>SIeXy^|85%|K=N0E0k$znz*AtgKY)fz+W^YU<1P zVMOPxO1a+zX+N)f&jnug*~8L8Fdkh4z!w`G<|&n9>@pLE*~ zi=8O@24zFj8|)Y)>CQ(1V#=B6jjm4D!nbV<-9K_Hw!Y|1(@|vF03U^xBZ2Kuno0i3 zDC$u=Ihn97U*H;R4t691QLT+C{bq%``?Ueqr&8)~aFCJibJZ0UesH!~4Dceb-F_2IC>{apO+Nyyy<}Ewit=;aNSe+R>|5UVw1T3+b_u)52#7xTVR6KUqYqvK6ICh-j zc5HN35z@Y$>RoMlCfqX|t*X$T;@)oA#pp8GJvNeGv?wQg7K6Y2$2P9*yxIAd>q@xmJs1 zuE@72O&Q{s!Z=C`_hCG7?;5~9V=(yN!ee9tD`g-g+Ea+!;zJ^RNHwT ztU8STMLi}`5^LfZWbc%u#ZbdCre@fa=<${dqt0b_yr(DtFgz;2QWNoEv9t8SAyfOCnLBau>sSL*J-V0^>npj}@CO7*Q}@ERS5cu)bEO291v~F; zfKjtfkxIcpJjX{Mv}C%_vuJ3JH^6G7-AVnSK#(z85!%i%VBNfN`r zhI<@Fpw#zY`0FLL*$)NBpKuG+&?e~i8P0pI^;T!rYJ#pl+UP5)#s!sT2<$#a^MNn-p1RwG59Vf9!LlX&BspP>tSFR@Y1hG^CJ z?w=Tt-qf?rLB@0r_R?!c^<4fKBXh_H#$SX}3A*y5KSp&&27q8kJlU5MV>BWLq>(h7 zR%U)0gu@W;@^VscEd*7ZjYi||Tu}Wvp>hw!%7M$|^~wGxHO-A}u2jMBP&0dSCO4Knawvp-j>0fMT0lM<|zp)WX} zF$f$fXfF&9_65GPVy#DktlAA6fQTd7GUSk9C-}R42NO2LevYr}S;wDPe#)F6Y!E;! zDCt3PIeE~t5(7X@WfNv@98gN@*FtdqXq|f-ex5<0Ll62KoCWo&4@dqmalIM$F=Jr2 zUWpCmyg?StwfZZTlBNcprvld2si+!HTx(og*Fr_Y#R0k|*3}8@jUbX?Ob#mN?_yLxu~nJ{mVXGeQB?Tw}o~CqC&DwBs`kLxbqw^yv(=i z)_+;P332AWIns5+IUGNn1xN`gRn;tOwqI8UFUzX^jo4LJQg+joVuwQAZmK&nH@lp> z)q|$lL6JbZ#ax#>n6al48zkfEhC(iCV%I_ysJ{J9n?u(1O7}5I>xaPm*65`tQzoU^ zeG`UZGhp2bkOFr zrb^d0o(UCm|9?2tqBV)Zv8o!Lqvc8**Bt08c`y$MXwW|41j46H8qHjE9gT(>)cCNl2C91E|1aFC4J`fr~++U(*-?-`Dp1B-g>{rxztdKz_$m!&)^f zm8Nk25#7+p$92tj@hKkw$0e5&j_mQcE^kw|97;!kY=dX`|jgT{}+!St#@Xy8*D{zXqt{(c=i&i#sYEfp?Ld43&40=?NmdtOie755Ui9WX~;`GwTMVkN3ZFK&ki<_KPYbMQa=qZN#lnsj_uP zV?%7j!m32YV3C0>O86zwXe5^I?RH4E1dJp@GLNRWmV;n709^fdNMT#IM!iUurl^5@ zn7*Ty_y|fRu^465!}pySQWHilHb{x$ zTTx)Q9cU4@itF!Qlx{sdlDSn9dyabtoiKv{;xuZRgY$OD);wl(;A3$d?xPp*g1m{n zeW9o!zy$scew!Ua)axA*#XtfVCDraJy{mBn+S3bVVq7EXQZj3np{L1vT(lV%bws@? ze$IiDSKU4Tmnb2HYO6zQU;>K9mY`hdfIdUkzLyhUeX}$HL%(@7ol*wc2L=*zRUw-MKD%We^sH?sp)CaM=wS9_&VU@~GX+(|;xSUx+0dow;b3tN zPQ+F%%}{)-)JGaRzeRElgv85iHElT@!4M;PPs(e*ieA7gbz?u;(B*FwTk$jR+kUzx z&{K3k_#^)Xo?-4sG!Z$-u&RyjJ-zZ?J$+ywmUZCEAD00^m zZWpV$$-&USv8D_vNQL6(Y<8ySnHmLjKmNiCt?CQU3DnHjN#Ye9xfa^7Fu&uku5Xn! z{mDMqTzkFJTb%o*l!EJ8{IO{}Y8&3h^y9NNbqi995JEQB%gWQApjp`Qp_#$E!w}8@ zz*VuxTG@$_Ly~J0@HkXCb3xKx&S9WSja8#BrU2UJM#Z40%m+>gs&e{^JkCQ zJN0sk+*746^7~vX7Qn1$IF=ugCL>T^BrU=J6{6JV@&W?;RZlVdr!bF+63(e*kRajM}am#T0_Dey_K z06^oLea?7A`lZIkXi_GwYes{X>351m}r4(!MTg9#z1iUbO|i=mOTb zFVkQ#M~@oT@AYMsK?fs9m7ECEwI=rW@MfF2M;@;5xXI4BZYvue!Nb*Yf?g2RD%7rS zC))&+*bd+lxRoykf??x}8cde&weTUUd-zEv5S;)Oh=Y~StA8)s<#8;<%A);YYK!7q ziSx7l#+M0$AdS$v+6GtCILR0LR5wam+-^2ZMN(r*{s-5Fq4^aRi-gZ9P(IU!cgVXR zsSjtcF+$O6rmcPdQ_KT-a@@kK$WoR63{rx>=zN`~krqrufhza~dUkF-|6UwAq#Dfj z9o+qltWVvJQ<0pKEQ2wW;HzZ#j*C4m%snSeCg8IRQY!8bB`hrLRj4S5 z6AS)I`3+X%WjRQY?BaZD!mHH&8Bhm!BaH@Ln~1+HtTrrV=|3@0lF$d8i1~R3eKp8% zOsNv|Hz7TXfFj>62z~Wp!Wm84!*FJw0#_^PwS!9BNjCUD!kBiG_>9F2Ei{kBuGUKR zAI|e#cqcr>H^n%El#kG(nF<}_ihB8RcLZm5;b`cDg8wo5mOI86m9egX^Iw#pSCxQo z(WJ$9ejzY={PN&g2H`4=4bn$(u(;X&Bw(`;HbvVTF1SDAvA!C%*C3r%!Ys@`QajkZ zj^f)r)q1}RZW!a`q*R1?B#R*6suF?mP&>wZ-)i#8gknNg(CTyT%Nr3BX1hdu1p#1Th5=&Mp^TjE?}$e9Rp+O)oB@zz1^TDK0(5kPnC2-x5vW9M+wbwQzG)UEND1 z6PJRXP_?{CSO8GdY5aUWmsgUC?%A>~CrU&RW&-!e`4I@rL*i{bJ6!5e%Ow3Eks*}Y zBy$P8nukkk{Blw6RwFL&c%toZzyL4)W_8>@i}5fOhJ~A1dh?=?Wup3YF3w9b(P0Ls ztbieGCirP_!EK6aW(sq|kz|NOVG3Ce_nyG=h2!{{S=)ijI*I;{_kMMsr4F-(%dOT_N5(rKXQjT^Vn)W4AFd9~?yeic8-Wwz=k;E@N_ zb_~;Me?As@J4dKz9R`%;rq5k#_6JwPvA zp={c5@z8eV82l!^JuH>jwu9Q0Bz8}c@n;9bz}!Ed$FnNt*0rOa<*&Y|n%`+;F)jO~QjEKC=r_a-_Dz4FSX+O24ZBrxvZy%cCYH9gbTv>OP%UY0tH?&i|hG|@2M4lJx65$tIKyL%8 zlx*AS2AdR_qgV&g*13`=ofh0an|J;#ejhM+skN*`Lnkns8?Y8Cw2_4b5Tf_Kp~><* zkDCOx5ATNY#F0HVR)@Y5cm>~PgR-ooJ3!XYK+AO})vJ1BR+0Ab48HI4gw;J*dR<=0 zMb2t@#Mcgz_dVq1U}8>seivQ1w1p%Q!RaNhcOBZ5*5P%=Hs<*;af*u}P?|ugY6sv7I7;QBIL_d2lxa?@W)*H!em2kbHE@{zqU=AM4dMmfus$psoio6*$k&QyYIcXRTO+RXd7fnW?`8jA6*fgIp}~ zA?9`$U+^wkq&J7*n3JBa1jvdY<8keM^HWrd+Q#XuYAKi6xBO^!E;b&W*9@8W(UFKT z7sk5DVtCNJg6)V9F^%Oc{Xx81Xbb`b8*jZo=;x8PM`!*ErlnKHt_g?SV{rL z;6m)9vji!`nsY?Tpmkn|EA=_ss&Nj6@AGHzy!BC19Mf!!sp9ao3SNweWclzpglwBT zcc$KTt5&FfzC=0m*3=x+J`LS7n`9;i%(-1=l!TEeHJZL$5pV#=f1M!2_azTCn#04q zp0AUxX60f4I+RBjPvL}wc8VMleLI=#fpx4RU0tXz!EMM*mFD+bx5M&WN`JDSd5Yvt zYp_9B#}MNU$D74_hkgggzIZO8WqEUMfE6@YKXYYGUXN-ht~|>M5$fn;`T9K@pkv-Z zqcp2#65<754smo*C>s=2w3qn)jeyzCIRGMCaWnD-)tqw|?-__av9oNqrp|ExGWbbd z(e--3(@Qsl9;nbka)0TfqgN5yO#W zVrZ#0|3(GRDmcA?S`pO}X1(wI+5S`7+c-3q6pd|R3oP%pq-=R^x+W!K2scCnQVJqh z0fVIXgC7AU50=|n+X}yz#g=3NX?-NdobsvZD9nvjYMWShbN^NS=(qmzJ!W}bcdkUg zb;2bK7`#j$;&;=*0=R@c(mZ9mV0qCj`|pjt{R^zCdOG|xM;;LK-2qB9Cz1_Ck2m~Q z6mybbXL4Vwc~Bl|T8Z%0_02l%!)CRZ`#1RHlM_>fUe{YktS25QJ-={Ie`|30vwvDQ zD&^BF6!C%G(SGfGHpJMNp$mJEPIEQ84Dkn$(ZMMpWQaXoIrzJSCQnC}!sE;6%wVcn z?xBP*UP5Mf{){N)vep~LL?kC90XV^PaCBr|=F3>AGriwJ-f8RD&Wr zYRDH#101?J;(A0Yl0NA!Qey0)GQzX?a+S$~=hSzKrc%2HY(gB}b6O-!EcBg0&{WM@ zIPZ;EGK-27csB})aQ}4-o{Z-O-+5LdQ3%$%IB|RrqRl!#QL$@kPqoosi&^o*SgxiN zUxEA;MS(??1g7992J;-br?(SLMc7{c!!GLHpbqcNId_Bf6xJTl^UBYLh$YKIw+qWG!+IDoN7Q_^x_V9Os^O*Ha- zA!tn;_6;UNCl&-RI)5g-u@@rTyrZ)TFA~Ph*TBf3<6S%n7pKkC;Xc>g%j)D=sQZQd zmIsE}=JNIxdCsNGjZ^5j{&Yl_^>2Q(GprRIrl2bcKf4g9k_x zSAC$fPFoSM`8{h*YU_5HBYS3MlJNA2^yqkQKUjdHy`+W~=`@bYHPU9Ya&ZC4F1>>v zWtXNAr>ZH>933vVE{|NH!g7a-bwQ8Vk?QCT^bZ`!tCY)c(f?K(axEg@L_Hr=3`d&yFAbkR+<_-K4oJ>^(doGPD1z+% zAQf*fe$U388n)lc9{WeN6Wo9?+%3b=2#4Iiz>Sc_hd`TQz)e)X*3c?PHaJ; z6wR2)_<5|=>zs!&SLz8!hxGLjBnLd;VEiwChbpB+QwY#X!!u#XSOz=TT!GrN9|V>- zYlNSWx*Qap;v-btf*;{ZLc{#EpUY4=F9h&du{aqM0IoXiP6#k^uWbre z@0FA)F}=Wt-;lAG!8K)9|2zJ!3f;Qjp#^4wk_CRR0M<;|`OCB4PikXrY3~IuHQ#lm z@L&eVIf~BdP7vPOqlws~7X^fIuBDON9M<#Bb0{aZ9J)<*Z!y68CTay1f}^oMx1$?_ zay{{*)n+v$vC|y)M{=h8hypgHa8fI)gMMpiq~LHMA=H6gM-GBBi1_V$xddWqjF&?n zH=8^U*Be;8RlK2ZuL+w!dBoBd<*9c@_P%3Y2Yq-=mO&34>$=bEJ|-S^RVpibVERrc z|0(z{hF1X78akP9YE?KN#|0CBdoz_1WgD;)EVjT^v8Pw`bm5Th-kwIl73&9ol={-LgD0T!s7zuLu=7J>#FpV|JL9#h&~gDd{tAH#N(o_epiK!O^y16&Ifs zo0FhGa^{3*_>#JnV=hg!(opt&dm4IGOhC=#zQ)yLRtPG;H+a2I&j|12vd*o6M z5$4|+lR@bBMwCTGBJSX=$y$5c#sC`@**EH5PZb5ub4nTuEIo|BSs^kQ*`*Df5}JMc)br0>ABq)9Q$2vlaO#$@r?$S=-$ zVt8#9Dx$95sVRaxwv9@e->7V2Wnf<&?q@A{FTY|qs6&)+r#bw7-$JYo`J?D26{(8; z%;V(R(^Zh+`HahF)0y}e`c0Qr81WB~c8G-^>NFhXi>UN35=zs9YkNy1 zv~wgPaMg*=dO+Jw_SdMksv#0ybzk02x$Ag7a&Ux=1xSC4Ufm{tLOqHar<;gN>9h?& zo$~2R*PT~uUVqa%c(%S%f8eG!NSClF2xWN&{mGcYd3`63fVmLzPC^P!6p$+jAI(Q} z1EJ1LBQiA_`kC&kR-drcV3xHe{|d00H%D9>Q1hU-)CE?RgL}RA`qKdNIDu!4-DEARo4Fr{|Ce+ENFnnGUsow09BjvX8 zU7Q|bD6P#+{quBS&ia?dA8^y4oAK~z@u@qzbClF|!-+INyY0rNDd%uFnBoY(-==}!a>aN|<-3QI?`}|0_fFxK}#isH7o=XJw zqObTjHnu`l;o;LF+OSL*`e+;f1dZ$M4nlyHx#+7l6wS>6>M3PhzBULkXt%?6u9V1& z8Z+-zg}cOoeZsz%mty3QtyOvmY4KBlBaV|d?cU4Cq^PB@G9ZZI`LmjZa<~co`+!(J z%bC$IS&KKgZkvg?uBWIqM`s)%(i3rSd{Gy{pV-LAz^u0IjidUN<_n-%srnsOgdiJi zsf!;_t~>>zo$sLioXyjeZqX6Kle42!CFRYdm~w&81VjGpvmpqy)S%Y8;@5Z0*@)V< zTOPBQSlK9Ia3B2?wTJN4-h-2SYb0FH5~f`yG|^T+nz^}BJ|8?9WvC75l%D$n`LOue zfFv|aZYL+X1H^Js%OZ4{BFEGNgB)x~v#BHZ%;FMDC_6y$(9jxoD2O=4eG_ug;0c)e z5HPLzv#UjqvdlkZxn;k+UEA6%bi8Yq)488P=sq0o972WWU)`0p0<%2Jd$`zA*Q#=z z*)qgorE?f=bYE%vyT>FWSaCV>O1>8~J6zcJBaaJrFBggbKw>PcNYW-WIiAmtiX=vU z6djK<#yDXcWWW$rEfg~(M5OOzc=TV>S=;1&TF1Eg!R|0-`Lr~_6Zmo{TDswwEnn)K zLM*k%1fR$8nhgl-=%QePT)G;yFO})zW(rBh#m?IcfhwFyc9x>vW5-W8HCSVH!VQ+L zB`$NBWx?Wx`5{T~2vR15N6Wdc+9eU9mBNnpf%Dq2X7amKP^>s|s#tAk{vjJkmM0OW z5h`jBH)*XL8b^T-S#e!iuwfeR|6^)*MlPuMrW|W%+}c@NT!Z46FS>L+SAq> zkTf5$+()282#yXmME&7P3)d@HZzp7vpO#d^4N{d>;dm(BhEw^*@witCo(DTO&7b?F zj+-?>(330I>sEx2xalrCG;NY6mbv)8nN0l4h5J>>Ah|s{1Vq^4fJRSTMFG2IU%}M+FzY0judkJRZNrDAcyO zbL5&{iprEzW7qz0!mtmx@biIppgO7|5Y)sfwOBv?ODOG@2JjrsRhr;n2)u9g7M&5l zhs0M;%9Zk`iFYo_4Zmnet*|2Z*yIbJ$pKf)ejW5KgPIXB^?;8mgKAbR(uYF`l1}A| z@i0@>`c!fDJ)EO%TaO#yQtESxZb6_af8#r1AZ( zchy{X)mr}5@7t)C)pOrf_4{<2eytb2ed({CbAGKCzIsLT+h@slzIq=S^XRYJrN8ab z`|5k2KV5IDQ17c$@2gz3^Yst)Y7YHce|-H*pCx+v_J#B9Y4TNge`|;BuD{z@e$~I* zqo20t{kK2u&|Uhp2lZUL^o|SXlu&5T#63N z)l&6pSuGYQMiQAY(I0Pc>c&>%L^HBIcLWF7Swp|Wr~frbia^_oE$eUf{5(w7#xIu4 z@LVrp!?ZPKG?L<=W?B6g#(^dB1>3(}yvG%X07cQHJ#yq@|2c&@YuMs^4#BELnJ-`Y z0?7!2MDKWMbEub|M>HwbcaH+)eZo$3#uuJaFa_4OS6)>{Ip+H1ir%^;#G3=2^fV2n z8$l(7k+_ru1s5SlH(I19Z4E@@d~oVFWSNnkQe3J`WkD6FG<@YECjLAKz!i(v?06=n zw44YlKLh`Ck_aXwfjgS?qvbI18XQd92{Z|8yqb~E#9CEMQOj==3{xo5=2Qm@&pv82 zWgOo`wvCwYE}cLAo7XQiS4aUi>9ysFOKe#pw)tYS{ANQ>NRasp*4|e>a6NMP{-6x2 zD8-pX`#!)y~gkud^UlF!PQ=7y6^c?4!p$z0qU!-OU>Y$zL!Ra3FzehIy?`H zHtwYgB%C&chg7!L}3q@>@Secx=DOa4;!%Tozq0^sAd@rFwSbzljK<0cMm~^EZaIJu&42!~kC# zfrcPF{#<%V)g1-fCR)&#mB@3LmhEs$Wt@0<$Ip_O4i>2s!>U~aaM^=v0qFR{ z&a8LE=mGsr|6I>-ar99UL9sluqT5JVcvVU9%5WijjZL@#QvZcO&ZYJ3W=VTZ;SB7m za-Ks=gFX*&6w!^8uf|`Mi$#;Fy>$Cnl4$to)PVYqzj>pdY7wL4zj95SV4t;!xjxB# zfnZk=bsl#2INrf#0+@LaYP+#ayog&tEl)Wz!t?=TpZpywoCZ8)>^_hjnL20v@(8q8 z+CV&)FOtJSmiX7TSrnk!Nj(l)uDn&XXO)&+&6R{cO(&CR#VXTjZhlW4_wtxshDY}QSD-olKutUxFotInx8}AP;cnTgACR46Mpc%; zuZ;F+neS;}4MCo*f^SHk2^*`pp8th0OLVt&y6Hd7w z3P>Sa+@ZQcvEQ2_nXohz&lY~uPQ<0c!DSWUG*LiCw)PAgH} zH+9+L!FDOa&<(TI${0cp(pn^H|2|gMlQLwK3 z0{(;?T1@TIS_gRI!H|N<%u|7)-Wvt@tcCDavqCVc zxKS=igS_a(9@eU@_6%7;loh*UFL3DWE8Lo)LVTkF9Y`JCJjTZyM zJYMc?uHj@3VPdRHpzG-IqGeGC)JBObK>VIE9`~u9Lmid`+e!MJ+W>JN<@-GB?KeI; zojmo^LVs2Xr1L1Jh{XTv=);M*LnoGjtyjGz1zOVa__K5d_91ljmHT(PnS2)G-v43GOm0p}1~{f@2AeT=2?uUPAOZP*W_(})I)jR;4YmWb*VF7B5_Jr# z;cvD*)Kugvtjl&@M4A6@@hE1M4R;Va<54t%0d%zxU01x9J#1cnD31`Dhluj{osT{5 zeJ)RSY#{3r_g8zy-5)G0<@}HWe`nV8shQU&EmQUqI)8xx8rd=;h7F$|#r0@@Dk92Z z$u(FpX(xo=i#{PrH7+ied1Zs)rMcw%5KYAUoX9AC|7UsCWvNoX+A%-8v}0Bza0TsS zaRNiz$#0A{(cy`Qh z$ZujmIWF)@C4fm#qzj_bn--v?vejQlqw`v4^J7$?6{6|n{LG3cGKtDvj#m{^VQ$T? zfIR}qeb6sg-5Mf@szODJDv$9JMbJ7?FI|cHKS##?D-ojs4c1-M=1fc{-P-}d1h~Ah zQITZ5SX4uEhc7N9c#8>C=ob|&c%^x6qPgt0tg0*f@f{n1seeXHi^7}lf(XgD6uJXr z8!jUKa;|9^phu0Sr3|6OTPiGph1aAVDaN*BepsyB zB7FU-qwr+U1D&nm?2ky~YrUwWNDx|CJ&UQUqd>}MfPk;$@BC`{X9cJS z=`d4K0k2YrJn-_ET_YhGgrZiLE@7s%vSk4P2^{owzc@cCbQ05Ghp2c9=hrZcG{wo)g)EzuXGMmHs8POjo&zk4R@_O+dGOe zx6Fev4U(! zx&A~Dt)OIgSN$F?P2K86-~V&YqsF?Fhq8j*%2{B%_t64+$)4?oqC5NOb903=$8s6iWEq&xNpM`rF? z@6Y)fI(TWr<}2&Ui~fTSl%zlF0a~ylOf?+I7#<;+3|gFd?KPD(|3*rA5$1W0PMWPX8LL6L*_q#>pz#r|;dwyWZ zLJ1zKT3nE}fI+w@Rj7HIQUYlg=jC>vR>BGx2ZOGbhj%f{WR5yX&lrb};a=FT2&n1f z#z(pm_}#fynUQLGC)wFD;xu3Xe`c^7Y(Jb--Mva>eaJdv?Csrxj%NQb@;u*RE$rca zn;jO;AKCJ-Q?dMDnl2yPa^0@PZafCRQJ9ckmI79%cK~UB@g^Y>F}omYT(s>)kXY~E zya$YzrVUU&Nurd^q&K%`Q&3PYquOOH4n+e&zOi6w$Cu(%KnCORK`_6jI|7gk0KjngHl*UEJ8VO(bTqqA8LTG^Z}MH2mVPsjBWFko96kf78TA6F))TXe<8{vLHCe(x z`0F}cMHL9DYkX)oK==z&%KMT%P)^69{-;dVl1I8BYkV+b;Q57Q8pLbOM8jJ08}P=<3CbUbxB~wA-`AQ*WMmnx)-hZJOrjk<|)W}ZH~k{L~qLjW8AXs^Wv{#p_MkHpka zKavJeKRxU&)3=ktw_hqSt+*ZDcn*9!#kn(u_2mj^Y>>0!a%})>R-w?Kizm=oq*3;q ze^V{+xo4^Oo5-PEp)xkM3-`GK9Oy}Hkm)Wb~TazhEi`;xJoUp1)vJe!#mEkXWiba#mq6M5IMmL>Mt z`eB}lCj@ZuxV-@D1-wsu4?NR*{)H=q=7z|g5-CWxj1VMS8pQXN8yLAwn*FjLroW~Y zJ%Vc$PQ!Usi9iT$3+$VdG1u zDvUARFMk+5Bm1HCw#)SE<9bS2+i3|SHQn7h_d43k zQJt%zBrhCgU)47EXBR?9nXFQw60%k=N)I!YhdSIiThkL>u{RG=X4?ve6sD-aeTQ$Z zb2)sQrytL8a50cBOJ6N2Si6kT(azrF>ZchW+gF5h?obsgUjXf)+~zKiIS zgjx@-qNx%h-4TD{(RpAWW7>-y%dn9x#JR43a>fuX(-Y5;{?X7cIJfFl=0~UT6ciYczCVUIdWtyDz8> z=P^ILlS7YC^9cpU8H2z*PIy*o7Q!172A$I1p_;&8!>bL)L*Wgzo)7((@*!~4(BX*C zQ5Fd}4+1gN_I&bwjVhD>fB%2CDTy+YVe~C4#*dd+9MYDf*IR@68#5-}!DF9q)VW|^ zEB}Av8e?X(Ym{Wm4i(2H1ZZ-mFPBvTQAoI_;ubiweovgb_D^q|6o{!#bT%sq*EKBt^aF(1* zu_dwJQGoVLOD;Vj#+BL{yL79|i`w$YzK$(aOUpTeBNQbFyYqgOH(dg46m2xlB~C(M z*n{p#@lh-MWJ!rcM{}K^_2MEWgYH-cVYnASktYsnl(S3eG^D4|$R*+F^ zjOf3&2-5q16`2BYtL#hfCjLD9g=4TmAifvh{MZ4TQ3r`LRrlboCCbvbr~U|#O*Ea9 zsKT5yHkC#--~WI5Gz$E9$~US5)?Ec6a2XUJzYY*t zq;?)6+aUFyiy1WLh|u+0*N$;5?kjXSFoD zRsL!9orMuquKQRUI&~ayl7WYrnl;!;tZccEM<_)fpa|r%j;N#t$q}>LzyhkWs8;`l zqP-d9y2PFDnys9*x}9$Rqh}-MrWcJghKMF1uSG>L_$d!%Djo|(qp$Hj`}VVhZK4b4 z@>Uf$|86EIxg?hYWh%P^V4-{Zz{OojCa4Y^p?=y&7of|H7Oekyy7A6qjcNa9g|E0L z_FB8rrEW0AkW0&bqt22^`yv#ek2#76QS7O`gZ2)vVHFo5sCva8reWsiYXtj21@dE2 zOjb|+x~{(;%~2+OF$gw!;uxl2Zo?o~_HN09KJZ~H)wVjrG%S1}$WZ}?{+FNC71U<~ z>yPtyAB{)Ejn`0xo-(bmlt#LNSA%d_$FkkN(w6@=?@IX*`8)D)wtqXhdFTn4F z?-vu-fN;+U)_|idv?b72_XU4m)!4oWHYQ-1Nt9#Arb;Kv#>N=5Z2|k7+^MO@MkD(R zHkbJnNK;Nqp*COGix$t~QVIoD4qzmkBKubcyh zJW$;zzA-Ou68|~iDM#kFz^TUolxA5;(BUPd-a7<&(%M2J86@-4w{;wS!E=nz3#<_}9m@EDjaz*4i;*NA>j*M~Pw z`Cm5v2wCDE=$(SEWfBE(XcDw?ExaKMI?!5tq_fWJ_pq?PZ-U_EE1!`rD{md<=h8ay|2e|+_K8oQ& zj%E@}#+n8zIL~ySmIpgS^A&9{FhKy^=3HW8cl4-iA+F|5{Yfb)tMNJ)*uE}iHTIbl zKJfeXXy})+oBWs)YTZ`5{LYWMBlfwv&Iu?g7c0O|u=FCKK*7S2mbUe&hR{6aWZH1| zY@sBwV^j@jNrZB8dFfh2<|BPz;HzU@QuAX|pf9vDufdLzqER<;bKw%RBp?tK)RNIu6;+fZ^F3J>p{QEirFfGHwK9Y?Nm53kj7`C86JBE;x7d9*vi6 z#rZ;S&=TZGjpf4Dj_Hc%oP4n7s5SpP&{ErPL^>Cxp~(spFof3x$W5zCbcS<`Mfu8W zc!5zkvdFbYDdy~2J`x&AhltsY%y5J-AGEGhNUXc*7DoXh?N!%GbXi*&!7&t7LjL939FB+wj;WUt_AXTeCF`}1FEYSmrG zXyRDTl4T=Aqx^dm^O4yeyE?yAflu8(6 zx&w|qOLeZMMhkaw>Z@P+|0SHP%LzFWGoYb6ZlsB{Q&fU>4#&Rf#dzh2wN&YzaM?4< z%YZBV@pp4W2g&cHEx!zzy8MR54JwCM503EchhW}qE}}m#Pw{> zo&fd!2+Rv-p)x(2P>Qec0D(Y$zZ(^Vg6)4~7lUGg!2JhQ;;e%+SpR>M&Nr83@tYA; zS19r%pl)Hpev@j(ch?nebiGd63g$FVc+pq$bi3$d+FjVYH9?9p#75N!*$$GREE+n{ z9-~P;OeEZ!XF3_;8jb7ELQbB2gE7lBY&Hg_TI1NBDFxJEy>)_G0O%sngc9 zc)noSR#?1I(7*dYG-MG?R21`xZ6k}DN-RP5=)6&FHO&7C`Xa^@4n#TQVZ{gkeU@H( z0^yWVvMj7P#dw+eZs(0A(bn4|V)4_Ap9t~oZIn#%NC6-Z&|&r-C9(RLa8m>Se`|30 zvwvD!TBAFTVTk`Y=Hh|H#Q{4?wO+yLWCk5I4<6>sek_v7V+__IO9n-3)+4ZM*CjhW zKdKjY?$%PZ6MWg&hyrC3P#(S7g=kv^yE^%=im~w~DaBue--`B>F0sVW!xSPDd*R*; z+uqt8A`OJgs{)$eg*Yu$NAUa*6F%orYqpZCIN(Ig&hU=a%1>!O=caUaj9<80)5yF? z7wHn08+t_lPRq4%_NC&q6zBVB2Xfn z+EUfDi})4u0}$r$`om)mR~HZ#6l!DoKu{fI%5cK8@6EDd%M73=*R`xXCfuObD$Q&{ zyp=8?uLJ`Tzi2`9whQI{lWbfxIKa2glh?fO!LC80Z!dSo4^~eJhsSreh_vBz;(p)d zeT69iEk^n1g-P*`;qoP^ zL^~x_7!K)tsqAc9Wk(Q^Vc}`}?IPEp;1y>eCHAYW`MkFvBz=Tid*o%_`+iak@~K^~ zZTA~2TD{^?-42$B0(PdhgN^BRN2G5#`m?qf9&zV!xTxg^@iY$GVAwXCZSMGUEDm-< z=2jShVb$Yh4Lqomac&WtMFOlDs)g8^D-%3q3ArglHT{@f*97}>iewc~@Nyyhi<2bw zuR-h$E1u4Tp71_<>Lx_y)*~&IU#!uRCM|MY|8>ASho*3vjaGG|R@xgc|x;M{PN~ zo?ngF`Z6G0*~oxv)PV9@gKf)Q9tsrw901Yfg|5-!r$;EyL@nL1*+B0%8@bNW+Cd4c zFeR^qQ@GZJ+8_{LY+hTD=?{lVw)f6z6#K=-l2`S_ zG&m(GWcB?W9vIYvBZpYM{*=0$HF-sB54n>Sx5ej!KMq;oMjqZTf0&+bIeW-Xv6 z>4w*mEMx?XX@|~9V(S4deF%$?WeJpf21RB^fWUMZ|0s_RvA1bY)_xv)dNs>iQ#Kkv z@~WQO&DaQ?IoZI?1eg6^q=NDgG_fFHVCVt&SxwRTk`aUBTBhry9ex@E=(sxZxJ?`& zz+S0`JYFJoC*Wk3qzPyZkv*K&`*WEhC9$qICM5Fku@zmVtB%{Sj>x5$lwiTGBR|LB zcCCSpF{W+qLcT}-M4YQqvMM;{%Ay5r3Ud5euUi{zdJz!!sf~?=km=#AU?0|jC&wx7 z)N-rC&v*uSHK-wVU>tekxska#FrWjM+oPS#jSe*g=HX!73maK^o|rh4cgD0B#+W=z*7}IYxByb_}kj~UUJXNRq zUa{1btePF)-9v5c61azEg4pLZtQspeDIRrv3&M21t8;Lkx~asuK!?^_qU9}#;rj5` z30`Ddi^@Ab?a^NH$B$3G| z_)P7RF>xs3%IC_GxJ%~tuaK07f~p1Rgt%e*qOmyN)DZ*U7)aiwPyOStLyxtfuwsp} z{rm%gPSd~JkGH?CVMhTskzWi)&%!h|Nta*~bOjd5a7sb5WisOewLRsTdyn;e9Nq!{ zbh|*eNnj(|^sByA>_&bU&wgroq@Gh6=%|PTX@>Sb!KwaV=k3+!uAisytJrzQ{-PrN zZ%)%ABf&`a2N#^pHTI-dH84@k)o+~_wKt66^#&t$8p|PAR{wvDf3d0cwYhlXqsBpt zKJ^ARO%c6%0$@ntRjhNbXWVqRz=`kuL}ZVh#ufPF>;Rt2;Ia|IZtuqr++`(P`WAxH zTNOs!89~G8W%Os`3MB4o3@k5byQh)gN9q^-3bT$Wm{UaT`-HXo>sHU41IxYBxP~DS z8`;35f&tZqvHFZ_W2@2L!%+#HWJKqMYJDrxqs7|&Zbw_%yJ>d*F$UdySS4_>>aN#nfa4*D^Ec2ZCYL&Pe*Bhmb>oZ^L| z#iY5qe`dbY-`y57d(^9m9Lv9HJg35S?Frv$RyEjnr2wUKyZXm;s!$7`1EoM1>L6;t zd(?22NBhv+BAz3_*@6Tmf9f>gLz zyn1%;_u0+T8#u*!Pe?vm)JfffbX0O`EX#}`uSs&ZBxA5|f=t!5W!B_nkk$E?-a>mZ z$tDH&srB(Q3SBBvdXfRCF*KK}{t=bw<7Ns;#>LLt3xO(}Np_Z}S6e8*qzOwIn6x4! zT9P#v7;1Y>%@g2^0Ua2#Jw;%sx^r_$HS{tUu|_|(2ZNh@1XgWn70!rv;Jm+aU0JYU z8t(sNZbe4_T)rm`B58`UXVL2>?8jqI3U2nxj+(L2NN!etvS;v4Cl!1@Ij4JD?;z*W ze4whWHbWCD@sc?!GfGTj;D*LCHTciV`x*>ZAecNBW@Zv3(gr&$FF> zmQ=$HI^Q|dc|oJnJ1I>Yz=R?JoYT_lt;(2c@ zgi+Iu_0#d+aqyvp9*7l6Sx*8#Xh^NFBKO$jDWB4?YTd0>EBk7 z-)^3N4ZGjBb3bmq>+08U+q*xvSFft-pFaNmx|PTF-+#ADf7_)$w(7pEu)eJ-zO6*Q zt(E7`*?-%vf9=;B>e-v>)34jDpSN58H%j<_ZT0(Y5BAs}w($MCS^IQv_UVW1*uVDd z$L-cX_Ukw8*{|EC-?sMsx(EAoi17(C2rE)8(~E|0CFZEfl?`<@XOUlLDPCinPR^Z5 z@5tkf5dD}xFf=y>6bS&rkv#(q=ZkPdv}E}=&V6xS&>AtgU|BK^Iu?E|+rf13hg)-N z$F&kKi45wU+lJ%aSF9PIBrsnWX6)Ewf#V81Ugh$hOT7BGHsKYiJt2?D{VsF^`Fk4>ucfhAa5zTHwwwB+ zDf^yBi%r4uVJpr~F^{y(RW5$E$)_+XpZ|VQxk!j(i!e1fg>`fmrO($>5$oAzK#H$A8v0gi+k+&MPyf3!>KHQW+v_DogS=dd{mqnw`rL;r}z3_k6;uR2ZOuC!E)gzm9}vhDzcS z`epY9q3Qr?{{}7!{{%aIgPm|d!Ok+_N$@G2FHt>;)Cl1mJ1tMSl>|6XQCWl`-h!P! zb+D^@$I@s?gyG%hx~TsQyY*R7{=T$?=u`^vWcd6(NqGV%nF*Z{7|pgS+Yi(eoHoHA zoK(kH2@c^;g?s@^w0x!x1hCTTO&+Kv=xW+SfUJe3lr>Jl5C{P2d{( zDfim!oEh~vtZ7ko1mjy`gq__Y4IMX2&(i*sxq;ki)r(7Vrk$AcZj(+e0xS3+j#%cs z3F(Si{7pl~L@j3Xzr{iJjoA8hW~bb!=4ehb&J)~Ax9j$t1C~;d>bjNG$%>Qg{!<0$ zQYA^2QiiSV3m3U+Ue&BbU+Yrshg(Eap6P*yxPSI+g4Y52IvIu~0$Ev{tn*MR-3HwG zaU^b>Twq96oD-?6ii=E&%s}n_I8n}7m$*$pgt!x~Hw4J|L8))1t|$bkpCDv(w{OD* z5RAe6O(5vQ4)D*hol%I@NtN_B}=&Xs7XKVVW zI6XDy)siOjww&40Cbz1t7$mS-2O%vrVs{K^BKd}H=?oeC#5P!IKVGM$4Z4NJY$D(O z&~y4glOP}^L-eL=Y=8p0L;ri~(KTSYYiZF(GGZjKE&-52Y%k}q*t_8j;%HzbS&#S3}tt&>;h1hoD^*Ws5}g z0d|zZxmt#OGZ>we6lox0?SFtfqR zom95MhP>I#EGWJ}$FbSFZkn~Ni+EQVkwz-3DeqEReQ6XuFwnGKhua;0#vNWBM)T=4 z&vJCCl`r#3_+9e4=>5WrNvSZpqc~QFuLXPeNOP}M^N2mLzr0Xy4g(vCOwB_8>3_&w z8^Y%>IkN_Sc{{#}$Q@lk3Y)G?@LwcXE0yhLzS9R&!uk8;stEuaZ7-k^n;Qq0Oq zzUyDF>w>ZksA}qF?9@_CfSj{}ohdms2yaurGw{(ubmQUM>Qg&s=i1R>KpWVf#<6J) zn4iq#v`CV~eNR=5G!f8F;Q@@=ee%=+eroYdmt~Mt&<{~~*AKax6diH^!|4k`Op?y_++5UR$xS}|B?p}cIfCN3Wc`#weDHvDqM2i47Ile{ zeK>iv96h3X)jZ2{Zy>85SsK5e690eDftv&VR5cgH54|#r+)erB1<|A|QUD7X!s2WY zI~275{!pikWiq~U(!vrT`A3H4tf1<8Nr6O%VsvT06Jbl&p85kq&Ubd_j^>Cy64Z5#n0+0jSPh8U>u-TgEg6*GcVX`E9bDRPe{{^c;nsWWSNO0P|BQdrNK=i>R zTJZio55C*C3|1^U1qX64nM%^9fS3j6J9QsO3s~P+-b7AS9}D8(Hu8SXJm1y@0$M6i zN%#sGNNl9?Q3pboBkaro)~>7E+^vlr3_Rw@|1&oj+k-(sP4X8Lfw?GO`lIMUNm+GJ zcm_z3CD`mzC4w_{y6%RQlgTi{%TA!)u~}NF+R}P+7JgauSa zB{}0wPzxw{)mk&qf(0qwkvFW70KDKM_y0DyE=B-~n|P5+AX+U~(~tIYmHVlUJ>4Ps zxw)EuE*J^v{+M@PhTxMg;~Bg2kr~X}NHPhPN3aADFDQx`R#P_hg8M@gM9TSie0SAy z5L*e=SDtm1BE2wl+%3?r^dcQPJjs&TZ35g_X%A>1YxGVkh(Hm=KQ^agAbyAaJY^ah z69N(=LU)H?$B}2dj2YZ=A5*}ResziFUC1%~rT-w0IUb|oAPk2SMoPX#VsMgWaqH;$ zmbm9b1U{mO{)t*YL4XF&-1qk$#&r@3DVhAz`5`Mx1c{RA)JAM1LZeJFv*PC@);Tz_ z8K_b5<4t+mB@+_SC!lv<8PV*QU8^td9T{XV2FNf;*rN**9Q@|W%(VwJ#}PBs#{iAxnp{FzxC|vftv@*w0nkFZ%t@cx$Y`dg(z~=>1kG2VLvRw<$EQ=V^~C1nvhhf1*{UNX`wAYf z|9=S<7>kJeDhJmB_Zkx*z;5!;Vu&*V;u(xorHCD!JY$A%gc!3>vr z!D#{00IprB)3yAGXl>{>_>$Q*%Ot~+$v7J3OoLM|vW zWZ_#~#uD=e(f0uP84vEaE{qs^hrUKj2kfOU>zpu5w0eE17}B;i?NI2m-luhI^Mz(D zMqeQN0cWRn>p4UXq9vfN8!4fCyWoN#)zK|nJ{V=)q4cVB4M~jzF&yCNu#i=`6|~!{ zrq*F@?y!Q}K-!a;0XRQ2*>CaaqSQABWErLK0rn^=lY(Kyxr!R&+Ydwl2v$>*y7ftMpD ze75Zxohu%>GjHslMR>DL4%1>INosOBn0(T27vS@xnN{Q}BwW3+zJSa6I56LW+qb|* zQg9;}H=31w1YT;FYmDbQ4clj{`q9?N4B252;x>U&n4hCT9R2>7`uW4T|9`_9)P?M; z`Zn-1upkbAorkb-GSes_MmJ?_mH{=srb>f7X3fuCT3ETX6qb+uESZ+;PNsgj0>xCV z=?`Emh?}iHxS5y7H=v(H8W_yE=Ooc|^*~^(hMrR#;%{R7jAWHz;muDA3<>V>gHiMn z&B6Y(f&;S7P;zi?3mKoq0cJH#M(73;w218UU!=Dq|NGwaWRF%$m zAe0KdC`LlofM-ftVz&WJ9>nAHXD7-#1v0&HH<{QoeiLsD&Is&MTA*3THZW=6;8+}x z95+oK`5y*&iW&GzDYh!(gcbv%qobD(QDcS5Mhu^dIb$e0Qf?RCxY9`QOyaV(hPh3E9bwDEx`|d7!U3LzJ0x*&GKR zO>sZD*tq5j>%U&*nl;b<9G4zF`xdKPukG`adnzU7;>|k25pliX2faY$@Ozb&@zJEH zche#3f1cc&ONo3*xE#J}g31^yA}uDgh|;8pP{9x9=xqw-rtkVWCwe?-z+9r3a-whB zt879bl981+UOEqZrqW<9Ph=Zy}XFHZ)p^YknbWq9Vfdu~pggm*n zEmF}cpd3FEi}FpFvRU8=BX{|WRYc)_b*lZUP)6rkp9JmHWTOIXT@TyveZtPTDU|eH z%jwRm2`)|(OVsO({{=#+Nqhu)9u#@ICi3mZle^ig>X3@OvYh@aeM)yFDeurLV?ylI z=cA=?9IHK%;6k8gNX^Ad8?!;-+`B`Jo`I+QX0O|CO92$iQjk(FATo10JM<~mI)cjV z?ZwIFCTb-Xi{xzb=2)*p1?0^oDg$9?sm0)CprUq#mfwbNFvWxm((a?^BT>UbSaHEp zD{?(2?726gY)vPlm8t7X_?NJSqui1=@-%hCQf{?WWfRak( zHWwIcWcKRWmT>1!U2jBx^V;fhX+WQ2VIlc`PRhG`Ve!arS<1aVx2CV=z->r1h@0I4 zbZ_=$lk6||BIhkoXYM^PqglyKz>26CfUkeviX62_6`mZ7poaKp^J4x7L;=~q=%4kp zeQ~GFl1u!}k<86CeeYKAitmt&O+S&R*+3uS-GAcoM>*~OXvc{-H$U6Mb8IhaGZ4s# z$4vwBhI#%M*1vY5s%*svnfCDAiC?r?stiQ%JS8DADhFWlL*QEh zmAL@<+CY?`>iZ2cU?V;v%AeC8vuf+_Ts4~bD^GHpAAJ}Hnq1&F?EFFz2vHPCMI zPD`UorpN=9{~J_PYKsu_gjLd}xo3iw4GWT83V>ey{kCr>!;qU1@<@qGzH+y{!So+d zkRvs0ZK!kIk|N#KX2zTF_+&c~7I;uQ+`N|q^lIGyf4xa_I)CqsZ7Uo@$?jg75@ulo4Lm}kpqFY$HLv|Ix)yxeT+y;|9S zq`{WaB-mwF6I^;KgGFxDUq6S1Jvs>eD~67IRvIvp!4H%N7wm%^N~T}VE%XVgCPE8r z9Nh;vQU6?-#6Qzn-p7sv`6?d*vx01cF?w4BNF8Ck(cRm`0DXyZ{lZ$d@E>u<;!Z<$ zH$pG>Hea0-*2KpU(zowFNn~$(W?iybg8C{Pp0wO83uB}3sn`b+9UlKgg&w-tO6u;^ z6%DxyXHjqeYkXCFqR;28%*VAJh4=AGS0ykL$fyiw~fWEin;b)*9kNBaL_~B%?QJi_Y@5 zw^|~DG^(A3$X)nbH-gZ=wb&y3HI_B|f5bXo9||NwJ}F+T=pNnCG)EznAoGwY)nqyv zw~-x`@fq6R1Am4}$+!bVw0i9n5jl5p=C2_7Cd z3Obd*Fc(OcFv*!r<-60deD)91K;g+I)|=^AtpNOQ39+Ki=7&Ctq3^C_$NMWm1Pdsc zs*M?x`Ss=dg|PGF^Hc?o$;?eXJt;y^c2&xTo#flUxxbUeiaO?6QUR)(c!`VeY{W?Y z37K+nf~mhI7r6Sjwu9JdHEsHr`CD+!lcS|xPt1NX^~3WWSn1dr*bIzxrWCw0pp4V; z*MVIOR3%>QAy7Fga^mnrCRLOyUhs+WXc&WrSgPs5+#_&ae3!>>?$3;wdve}??*brWI5r_^X(~k; zTmL`QN@Z{eW%-FRFpX%ZyN#4uiR7l=8u3#$@IQ!-F51KVW;z9k9iy{JP^{Lkb?BoQ z3*dj`pR`?HOWJ1hlq4m*i-K;+b}%7bHxY(8u+a#l2C$KS*yo{fD{KHV?5~cF%|9mU zoZn{H8o*vFtW9PTdxk98hKXbJZ4l(E)sp~Fg#rttpJ+^8MB-rc#VE@JK15{3VVcEz z`fR-|rk7GU+cm5~I1SC`Q!fz^NjNoQc$OH}Yo81w>c7Pp$MiBBPwmcisg~SCfIZr~ z7uOF-+2sRfh6ce&^pH}C-QoI50&}QO?)Vtl91rGgFA2VR@E|dugebhts!5pI9c-c; z(P$6HYEy9?s)efN@nBTZO-u`MWb$1G49<^GRrf)7&KT@u#iAR|nrr-+5-C+?FdD%+ zoOcnEH>(d1O-=28eDRaq2;mIZINsn!E!A2UTYopXq>x%9g-}7Tcj$0_MgAy{>)b(d z95Z0V6FkbY{6a(p0?0f!r&oG3ZvZiAunqZ>aYci&XPy!%)(*0Pu$e-=Bbbci-vsM! z1gxiyT}`H8oK+%msMR?YlduzSW3LbG>UDd;W%>w@B&C-VijFE z;5QY^LB{&%Vxnu}VON0}k^g}X{fY1exV}`J6r)zgQ&_J0=Sy1VjRMRS?HLEU(k6FQp0XI6mV`61C>$Ua!#WNFHXr5MKE!p77)f)a@FJB4)+5%K zQ4v|p^vA~jqc0Or5pS&1kKvu8e0a^k>e|foUia+p+IhDG!9td z}B_d;PH(wpYksP{vy0Pv}8FJI2*YrDy0wf1$;o;oP)q=BSX?nu`(_-{h}BPe zT!Z`Husdzd8MhqB*`(1-BOar$zWTIxSNIG|i4Z>r0>b zsdb?5j$`tT^h}yELOjBuC03a9&wB&oO|gLHgo5@|d~$--6&GqxXI>28j-c4KQ5d#n z3^lhKg}}`Y!LoeVeEEcdfxPtC-;Y}UDvZ+AHXciai_)c+HCpvnIX2O>2$6x~#C&6+ zIfuat6?h}J55G}Xnu7j2FJtYfjU9q;cI&qo4e(((t?^8Df@JCJB{uBw7C!W>+$=$_ zP&m2X=#`EY;RI7<^}|gELng!c2u=bZVY?8%-h*74Ei3EK)Xa^l(SMQMV>{oYf)-|{ zTcgJF3PuWb+)DX?Kj*=j8x0^fHwrj;K$_#Ce@H}ciUxoKJsd!G&3J(!|9|CZNp%2* zJLo>8wG4@Wc+IHIm`Pkv)mm7j=2V#vJ%kZ|g#+joxlpJmvi-lZ0Gcj#uf~g=(=y(F zx@k^1VqC^7QntU^;3zB;4v5l#y`ED2GPI{w-1 zVF6LLcm7V@mHW&dy{r%F44ZK^kg&+xmf2#tPLtK>K}r4Kzv^<*lKX*>JDXa0u=Uw& zVE#uZ5bU@NTP2y`?T~JF(lfB9@Ep{MDLs)b^&RU?1`hBAAr`!(AGYZ1bh-T00>Lav zn#gR;H7qz!8vh2*Tg++{+0=0(Z2Ub!=9_QrM*<|+qfwR zm%?D*O}?UyAa18ID(9;_MI`vutum5*X#Xv`2Z>Q$K0`Ff^mHi#EsUfSG4KU1w)UHE zKx59alX;#v=!W&jMFZ+bqPTpHf;bsGzYUIwUb?gAoh)k>u+%4%BT=`UTXFQb<(5BN zzumi8IQMs9t&BLTic{0`NlQ4wO#pT9TD)Y}Bi`PzieI`x)GS30-ZP|JLeCv_y7or8 zEcw%o_;#)$(2?j333McuzYfl1*~+)8=6%6)XZ)lC;v$ zGXV!06KbZDf(;ckv4$Z= z;rcViCk(W}&pqIQ^;QF^Oz#xrCwK@Ch2Q9Uo<&cEQK7TKh&)9T$@*1*LVyS9O; z*c;|BgBEN^}YPG8B}NjWn@{N8QoFu{Bf6k)1xHFUXG&#x}AQeYt~F@x4b9x}>ZXe}7t{f;8MyZ8C}W zy(FQ4B8eHag-qHmVu(<95$drn??DSI<}r!^|@!EiZ4>~6DPk$G6Ezx+{aw6Q})dx8^}u0mO->+&QAMZ5ZYVf_(3Z!I#7FI z&*TLY@H=D3y!NY@O8+Tq*uLcqF4-3tZd~B%TMxh(jAg@X0lINBkz|7|jDAK4Fk37x zoH*U<0_&`EtO7J7ec4H0cFXDj7Qv&J{>obe;}aXp@f1CNxOKUA?W}J&ybuwm*HVNl zCHy0GkZab|dW=fj0o75@Sxju#0d}7HenKo3a0>5hbLUc=!R^KUwn9wzIJo~tqof+} zEBm!}*sh_iasPL%;CCq&kKc3GtGp<)B_eiWBSc>H#Zhx+0Mwdk} z69e{T#reii&&*UELkv0kbz0-F8ff8JiY9n`H(_D8E2zzNu}0(ULRA_ZhV3%!>BF`)lPYOL&l7R{O9J=y3?ucErg+=iYd8i z-NBDa}!O*XLl3H&MdE6%M5FaJ20aKQ68myLyowF`mDN2~esCMIw{EN520JvS` z*UGm7RUkv3c#G1pb~C0o;Cf3;J%b#dUk3EPu;yFDrSeQba!GW=q?Er5ip;6{;t%{} z2n_F5Z<@23JtI1U7Z|+qmLTUmi*xFsKScj04etRJAG?enLfSaboGfINN@=V+#NI^7 z_#IJmL*)cnxlA3;_K=&^Nn7Fa@m!%88KOKdcy^g2pGAotnis(CF$sVJ^?dZ{w{S@a zbKj;Ba;=q3nD!$3YCdJ!p@qF~hLUS45}3>rr;(zBlI|l|?=`X<&^G%BGbfi~U)$Ve zE);rT8jeXm=eg~Xl*hBH_t&I~Z3Z5?a!B(OxEoy|XVG)&CV}nMl`MNfErC%c$Vrw( z0e}T}&!?|l@^L~%<3Cs5AY2M|8pbkVz@=7)9wCIg^UGTtLVyptxNXpVyGGCvlCb?8 z#MH7X{R+2J*z=tD?IIE16CKU&ugwAt=2q*nSba)Lf3`rmeEH%@$|kq=BAg?zoGZL%{HpgdKSZMq<$d)u0B*XkTl57 zZdefLDg{WWqh?&XarIPPP1iHKs?);X)QhFTUgPe1k=QS8i4Qw1OSqh%D%jk`PuaKo z`TlE_e6yKuHQRtBhRL3j@Z*gwfV>>1^sE->&fZ;i*@d*|-cIBOxMY5b$N}K;(U?qU z9s65J$BeMdklD?+v)N$$${t+_90p9kO)V^0w_{efaxl{9>Oy-j9n*v#5OLVp=KQ*w z$Uz(hA_@~Ys|Kv$7WUa*IO-tqt&R{W=if{SF%Y71wE{`8RMZv%-AWH&buM^sm6*eg z>g#==qXk1%%uXhNaCR0RAKW4?IeeUY)x}Tlvo*_#*BAcKS4- zescQ@HwxSbZk|+t0aANmW&T&>TG=qzk!AefA%ke&-wgN-Uoc+(9l(fHC-FE%&xje) zNr?mb4QEo+F~sB-#t=uOhgpAoUUEXS5NR%C^`H#xe%=L4_X~C=w$QFEg$0?|4s(Z6 zr`^su32Hx^ZoFr0p_&hOv1Jm@S}Y?{sNP!+`(VO^0&P{Wn4D~P*;h&xQ4VT(WR^W} zOZ}+eYU{#iofiVBA!8PLZ5hDu)N&SF@%^H;&sUci6(4k8x1N^t%_Kw}x(iKX4#|Ti zKyb=c8YC-n7>)>yAwk~c7>B@D9uBbtQw>9TqG`g!vLLX9oOQG~VJb&&^j*aLbPOd8 zfU7=~73ml$JOty|@pSxwDQf)*j(fJrUMA1wJ+--5jtUMQ!RVmZ)e-daX5<-#9}OW~ zL!u~wdDM(mLIzi(ZT6o8PIYr{d!se?(^Qh$@0^9mGOkaW%%Iux*@5u89OX@*%E!t) zoBh2Hx=DF052AQVOI~vLbeDWx`4PLs>c(^0ddjTCH*o|x{Wh_G!lTCSu$(hUCeRdA z$1M1ANTeQ&bErpm;EA}DmJ}%IjKRheh;%~ZG4mw~5ZxGXoAexdE$p@uB{OwD(QOHI zajrJR@oP;IYeVYd$fyDUJF|}f_;^a|8(c}&Sugc6bCpWAZN+u+{?BIw0EkfB>p?4X zR9$*PiTm&|Ni@3K-fUt`G$r8$rc2t0xGS*y6AZ&xt#7xm!ju*lfdthP7*}l1`jmI3 zv&0WZitIs<}_5kEe=f-V6|S zRSIEY96Z^kxO0@QyC+KhLHgg+ERYLE9Y&}+T+LM{oe)BFr4w|R^jT*tF$=lhES4*6 zi8A)RX&8hq5k7c6Dk}7@>WTq^=yKW@C{=tOO5im0yKleH8~v^X6#hoZ zYv0#sgg+g&w{aesr_!wu6{myK{0CZ2NcFkcU>jGJSec-prCtAjvCt(rJXN9Qs-x7} zeCB<=oPP7c+p#K$t{o%)cUSLY9epC5b{GeTxIR2>!vk z^&)tLqSs^8zbB;#ZuS+(lJ4oB@A+P&OwX zKkjeU#5!vpP5l$kdYdDfpf46w{ST;rfdesi$xqB$*mr@j^OCD1*pwSN);yP^nFmHze#%!#KrbtaXi_~l?Zc@ zxPNX-G3L#msIodZfANc&_}&&}AYKJhGSt1n*3_o3VCd5_*2CvZo2bL0a15l!$0i0Z zB+{G|(={WZ2BkNsU`u|`R&HHZl-^!dcP4}!3m@y9!!L23*+FzC=sxJd5?hrpHI3_=e75=FHfI>DaT!7P29YE2P^YlPbp z0E=RTkM+S)tFmYH z67s`kphN2u@;Dc$dj0KdYv9G8oUiDzz>ucJoq#SA3~@O)1_H&L8VB3UYBM$f?-WQ} z$+FUPRR29~l{3`l9aG7=r1FDZw}MN5TyX-=d@)Vi?%>r6N)ju5GB1fnC;@U#pX@S!EGj5>z zYn?fCU+`IzS2ec1)*>Kme((s0eBz!%4>K+eg9J@nym)s(^%XAr7^_-`O%h-DXXx1L zuqhGMwS*)QCSpKp<3nh-`xji*p-peYXZaN;M zE)itJWa?X%|8;xp7JkjvUp}`q1&aJdB2fNgwn?@9RoXavus$e{F&-r(zd-1&M!t*3 z2!E8sw&H0W2ca+qJ*gJ+Kk2>K>)aZ-t%rrGdFaE>h`ceMn(BbmO9|5Lemf7BOFh;O zDpl>8FI~=obc}m^LTB>p@$E%)*E{HC8v?wjnft?`9Z@SmmVW?_U0M*E_`ain@RGp^ zx9phJQ#{gyzNRWOdh|nh#C74?Wpq9ff``>M!kTixo@Lpjh{=>lgs~dlJP{DN49cYy zfh#z1UKk)^Ksmm`c&_63v3t=^!zLu7#XEJm_j_q81 z&|tWhZxZ=I{N{{85y$9JfQnh|7OqIL*@Nz63ye zc#-9$Ev<)n3-77{_Yh^4w$CZWDliE!Djd-6;<|xhbhe=?{_+)_g=7T6mGCy#8c5!# zBtAJc+aeUY5ankz379*>emzX{9a`Zawv|aK`!S?dApn&XDOJthk;zbVjKm5MbcXgJ zxYl08@wEi*!;H$~h9rdGq%NQYzh9vvHsB9Mj zYLY5*R~3iI6Z(L%7NB*7M0nUsIVkN#c$As6KDi*k(v^k^t7v4(AV|#iL{5u&%IO_x zo%Bxa`&z4$<=Y1gGje`GpF*^@{Juhk(AXWsIFs%{-%3{s{ z@`|#rMX)Y~dS&qiq|@r=7W8EGDJ<<~pBVKGk4jKNt9O*cg(896IfTTHkpz3+kA^Wd zQ`%nwkf|eNJUBP{gZu>41}WrHzLbK)Y|KT!%7EQ`wtR9o!xvI*I7wY-rFIeMG7{P_ z1!tj30Pf3KiO5)r6->9o7jO=$ISQcUiVIXe+~?i9>nSF(b>1V7)3Q%4ixbKc)J-(@ z74CN z{c0+kxZTZdHn4ez^s3vl*)fI>1nMX>I0)0{+EzAue+EHl`Qo3sG`37Q7h`XhhC#UT zOZkMF`@8o)1FWfP_1I$5rtlz)4AeS!JKso@Z|aWc8V#afsu;_tkA})jmfkRbKbPF350{NW>p`@xEnnC?Wv7t!VtMsuzaNGW2&6jGZc zP84H-UvXf{=^7&ku(}OviQta4=q#lZ^VqCDk`ggy{NdP1Q+5UHzn+|IK++HhVPyOc zcfvlR4*-PWEFVw(5l{g>O!^TWK5&OtTFoKNQ4-VNg$L|1@VHU6dgA=KAxot!i@%sd zChKgchSO-GMB9Ii!nJTafFok8_O*)1dCe>=<`1#NWO8D5X-VhK!Nd+xUA`c^e}vMX z4}VD~$MH^C%89x5iEM`xANvlE)|9H!({ad|wx)G>ewrwWVNa61dG0-Mg59vLEuSQ$ zIHcY+#PvR%+Dl3mNX8bt`@F=mDf-Qo3IzMmOJP@#K8o-^9Ia^Qesk3EI{aAz;xn={ zOwuND=&puYZGNz)IV1KhrcD4zQLZah@Sd0c~w5kIrSSGF+-Ogwv;cGB&t7! z#aN*VwVWB%$8VKa0e5MhMTV+9iT!U?=^Ey27b_;(k}IOK_(dRrK+t-&)6%E1w0lY- zUA}WjR>O5H>X_#UqLdRC-;Gfd3Y_ei)EJi%T{X$eSV;V613Qnzw?4*RMzy{I!B+4` zYlG(!86(2OMv3-oe6A=Q-~_Xxu{f{KT*|K7G}UsV{Rc8s8gJ-%mNcsEAA*Y%i40@C zxsEx0I&<~HFAA13iMI_WZzT4=RC@>5(V7Jw?0$)C6HwY#&UM51p}*$Q7!6Y*51_yc zE(NIO=r}M~%~ud|tC_D4#0Ct<9Kz-51F+ zNtEgFug6tvXx(t-<6UPey2#|u?IIQ*{ES*)C3OIzff*TkP7#t4^H`2-STw>;xp35V zmRL)yWm!8M7HBnD+Du1}SaJ2+B)M%AQmgpzn9?TOy?Xvuo~nXCIF;!>U?53gt_>Q> zk|sU{(72a-z!kwx{2CNB*e$ubqy~}CEa>6*i*W^6+nOW3HiDysgJ^aR7hRCeYmu5= z7PLBoMgCm~zduTTzU#$p>Rf#f2G%GHu>nFTt9Em)V8>f+JBc0V3hWRk3F}`zC)a9_ zo6M!PWqvJd#`{=6#C*v|V+Lw12JzK_G49=9p#fD-%Pbzi;bAyvU6U%1K~}{Hyw1y5 zw&Qu|gq5({4ZVEKWG(FU78Wz_@wTk7vz03|>s!49ndLrm-b{?K=tcM%VjL080(KTY z=o9Y42KH0Fa0(n&rKtyW#z86zSNdse*F?xbp91T$e>K-et8dVC?j9+)TO`v-5^HC+ znqJ-B2Nwe@E*e5zE6n0jW#<jd zCv7M$j{09}ugpi1Wk;~cLH|fokHK4eZDbD+_$a2L<2f9YPrB2^f7-t(get6bF2|u? zh-Q%Ib;`fHw+rJ-R()I9io@uA!;gwB>7TYI3)hK$jCT}^-oiti`s1p7-sf<`HqbQP zJf`h#cbwrUajs)hZQQ{@XG5X`Ua4B*skmS_ne>CVKJL=)3NIWT{85J(ELxhX~jsle8sE z>Y90j2(I1cEu#j^m2;m?4@=N%c6b?UN(R?Mj0JSQErW6nPK+msI0?-^%Qbh+vYIo* zhIHErJ>Uz$lo4SWVJx;8O(+74<+t&O?xr2O_uA@!fUGHI;veA==gYhCBoSNxYyuUJ&~+~)(gm+jKLjeTLLjd&!S^^b!b*=ua14LTWTE#p9b$nAT0Tnm3DJ zR+@K7MS5T{Oqt1}{~Nt1E)qC%4|Iarq$Xw<8L>NJw^4s;;EVFXFyU8r2HP|Ls1o1P*0K2Zebp=BK_*# zW*(Q2H7iqwVe$dv?b(Q|oRYa4uaABt<*{nqa=hC!!7xNb-9?KH5(q(xOsc&+Kc`x8 z{O#MM=o1K*Ty*~hu_UmicI3Lh5_a;ff&A{f{tUz~D!b{L&Tp02x3sS>QRgfA(*PEE z@Z=y0K5+2+D0NI>eExb}XaZI^w#{kjY{@UxjYkr_Bny@i>*~2r(!5IUDaKk0Di#AX z{YM^QQ*?lHfIXQ)9E}LU`O;QbABE@Zrxp+y?ya0RkK9se{)T}eC+q|-1aq{VbXB1e zX2e{pPNhb;nZl=1ph48UQ#A*s{PKAPi|dnhEr=pHT`HY?NUG?K2?I%F#z1euR<}zb z)zT+c!melUA|?+J{!4kvGI~FhUCC;Jv8&q4?R{TD@>Lk`!I0f zR!}*SfT($%#=Ubsk19}R;_5HBzD5wdc6@Mg1KzuOuf%s-6H2=~yUo9qCuF>16jc7A z8r19q$MvNI@bCbGMVE|MF37nMK%~#!pNe^OiH!~(n5(&xKESk4re+U}!Q!;C&RbZ~ zGiQrIo45ab4qC_y5OKP0FZ~GqbX9_|7cDk z9)ym$va2^BCP1EQND=H^iDx-MN>WAx?=e0Ah4(1QYLj|&crV%8O|bG-#mgxrA4I09 zfU}M&@OplJaDemHCZ}w!Zd+mA!jSnI<8x-~RoU7w0@is7t@}1!cSK5qyKX1`Y>z5cjH$4>B~c;V6mk?C2t6~JVbSrPptH2a*|B~glMAw)ApqmOd=C(g zc9Ah$K9PP;!=I**>KO*CEDM#s>pu7tY6d9b&A+T;%)Z2na_q;XK|6$(l0{l#RdO$5 z7&2gwCV7Jy6eG^&J#m8B2H;{TYKB7TOA7vjsvP#Nm2WLBpo;+aoE+r+Ty$8(xG97o z?QRY*CR@=rm&5|mW92o@rsnFB-GxH(M#itNQUKim0<8-N<|2My6^GjLheBTXG~`-a z2K7x&-c{CG+0y~@V58uuID`25Q*%t7kKBrhH4|+0dL~7qFZPGV)@NMeI(JfN5REA* klkGr~>WK?z<^TWy literal 0 HcmV?d00001 diff --git a/osx/launcher.sh b/osx/launcher.sh new file mode 100755 index 0000000000000000000000000000000000000000..e6d78b473c04da5ac131801b103f8c606f902f7e --- /dev/null +++ b/osx/launcher.sh @@ -0,0 +1,174 @@ +#!/bin/sh + +if test "x$GTK_DEBUG_LAUNCHER" != x; then + set -x +fi + +if test "x$GTK_DEBUG_GDB" != x; then + EXEC="gdb --args" +else + EXEC=exec +fi + +name=`basename "$0"` +tmp="$0" +tmp=`dirname "$tmp"` +tmp=`dirname "$tmp"` +bundle=`dirname "$tmp"` +bundle_contents="$bundle"/Contents +bundle_res="$bundle_contents"/Resources +bundle_lib="$bundle_res"/lib +bundle_bin="$bundle_res"/bin +bundle_data="$bundle_res"/share +bundle_etc="$bundle_res"/etc + +export PREFIX="$bundle_res" +export DYLD_LIBRARY_PATH="$bundle_lib" +export XDG_CONFIG_DIRS="$bundle_etc"/xdg +export XDG_DATA_DIRS="$bundle_data" +export GTK_DATA_PREFIX="$bundle_res" +export GTK_EXE_PREFIX="$bundle_res" +export GTK_PATH="$bundle_res" + +export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc" +export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules" +export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders" +export PANGO_LIBDIR="$bundle_lib" +export PANGO_SYSCONFDIR="$bundle_etc" + +export OPENSSL_CONF="/System/Library/OpenSSL/openssl.cnf" + +export HEXCHAT_LIBDIR="$bundle_lib/hexchat/plugins" + +APP=name +I18NDIR="$bundle_data/locale" +# Set the locale-related variables appropriately: +unset LANG LC_MESSAGES LC_MONETARY LC_COLLATE + +# Has a language ordering been set? +# If so, set LC_MESSAGES and LANG accordingly; otherwise skip it. +# First step uses sed to clean off the quotes and commas, to change - to _, and change the names for the chinese scripts from "Hans" to CN and "Hant" to TW. +APPLELANGUAGES=`defaults read .GlobalPreferences AppleLanguages | sed -En -e 's/\-/_/' -e 's/Hant/TW/' -e 's/Hans/CN/' -e 's/[[:space:]]*\"?([[:alnum:]_]+)\"?,?/\1/p' ` +if test "$APPLELANGUAGES"; then + # A language ordering exists. + # Test, item per item, to see whether there is an corresponding locale. + for L in $APPLELANGUAGES; do + #test for exact matches: + if test -f "$I18NDIR/${L}/LC_MESSAGES/$APP.mo"; then + export LANG=$L + break + fi + #This is a special case, because often the original strings are in US + #English and there is no translation file. + if test "x$L" == "xen_US"; then + export LANG=$L + break + fi + #OK, now test for just the first two letters: + if test -f "$I18NDIR/${L:0:2}/LC_MESSAGES/$APP.mo"; then + export LANG=${L:0:2} + break + fi + #Same thing, but checking for any english variant. + if test "x${L:0:2}" == "xen"; then + export LANG=$L + break + fi; + done +fi +unset APPLELANGUAGES L + +# If we didn't get a language from the language list, try the Collation preference, in case it's the only setting that exists. +APPLECOLLATION=`defaults read .GlobalPreferences AppleCollationOrder` +if test -z ${LANG} -a -n $APPLECOLLATION; then + if test -f "$I18NDIR/${APPLECOLLATION:0:2}/LC_MESSAGES/$APP.mo"; then + export LANG=${APPLECOLLATION:0:2} + fi +fi +if test ! -z $APPLECOLLATION; then + export LC_COLLATE=$APPLECOLLATION +fi +unset APPLECOLLATION + +# Continue by attempting to find the Locale preference. +APPLELOCALE=`defaults read .GlobalPreferences AppleLocale` + +if test -f "$I18NDIR/${APPLELOCALE:0:5}/LC_MESSAGES/$APP.mo"; then + if test -z $LANG; then + export LANG="${APPLELOCALE:0:5}" + fi + +elif test -z $LANG -a -f "$I18NDIR/${APPLELOCALE:0:2}/LC_MESSAGES/$APP.mo"; then + export LANG="${APPLELOCALE:0:2}" +fi + +#Next we need to set LC_MESSAGES. If at all possilbe, we want a full +#5-character locale to avoid the "Locale not supported by C library" +#warning from Gtk -- even though Gtk will translate with a +#two-character code. +if test -n $LANG; then +#If the language code matches the applelocale, then that's the message +#locale; otherwise, if it's longer than two characters, then it's +#probably a good message locale and we'll go with it. + if test $LANG == ${APPLELOCALE:0:5} -o $LANG != ${LANG:0:2}; then + export LC_MESSAGES=$LANG +#Next try if the Applelocale is longer than 2 chars and the language +#bit matches $LANG + elif test $LANG == ${APPLELOCALE:0:2} -a $APPLELOCALE > ${APPLELOCALE:0:2}; then + export LC_MESSAGES=${APPLELOCALE:0:5} +#Fail. Get a list of the locales in $PREFIX/share/locale that match +#our two letter language code and pick the first one, special casing +#english to set en_US + elif test $LANG == "en"; then + export LC_MESSAGES="en_US" + else + LOC=`find $PREFIX/share/locale -name $LANG???` + for L in $LOC; do + export LC_MESSAGES=$L + done + fi +else +#All efforts have failed, so default to US english + export LANG="en_US" + export LC_MESSAGES="en_US" +fi +CURRENCY=`echo $APPLELOCALE | sed -En 's/.*currency=([[:alpha:]]+).*/\1/p'` +if test "x$CURRENCY" != "x"; then +#The user has set a special currency. Gtk doesn't install LC_MONETARY files, but Apple does in /usr/share/locale, so we're going to look there for a locale to set LC_CURRENCY to. + if test -f /usr/local/share/$LC_MESSAGES/LC_MONETARY; then + if test -a `cat /usr/local/share/$LC_MESSAGES/LC_MONETARY` == $CURRENCY; then + export LC_MONETARY=$LC_MESSAGES + fi + fi + if test -z "$LC_MONETARY"; then + FILES=`find /usr/share/locale -name LC_MONETARY -exec grep -H $CURRENCY {} \;` + if test -n "$FILES"; then + export LC_MONETARY=`echo $FILES | sed -En 's%/usr/share/locale/([[:alpha:]_]+)/LC_MONETARY.*%\1%p'` + fi + fi +fi +#No currency value means that the AppleLocale governs: +if test -z "$LC_MONETARY"; then + LC_MONETARY=${APPLELOCALE:0:5} +fi +#For Gtk, which only looks at LC_ALL: +export LC_ALL=$LC_MESSAGES + +unset APPLELOCALE FILES LOC + +if test -f "$bundle_lib/charset.alias"; then + export CHARSETALIASDIR="$bundle_lib" +fi + +# Extra arguments can be added in environment.sh. +EXTRA_ARGS= +if test -f "$bundle_res/environment.sh"; then + source "$bundle_res/environment.sh" +fi + +# Strip out the argument added by the OS. +if /bin/expr "x$1" : '^x-psn_' > /dev/null; then + shift 1 +fi + +$EXEC "$bundle_contents/MacOS/$name-bin" "$@" $EXTRA_ARGS diff --git a/osx/makebundle.sh b/osx/makebundle.sh new file mode 100755 index 0000000000000000000000000000000000000000..e1af058655681f38b881764faaaaa58972010cab --- /dev/null +++ b/osx/makebundle.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +rm -rf HexChat.app +rm -f *.app.zip + +python $HOME/.local/bin/gtk-mac-bundler hexchat.bundle + +echo "Compressing bundle" +#hdiutil create -format UDBZ -srcdir HexChat.app -quiet HexChat-2.9.6.1-$(git rev-parse --short master).dmg +zip -9rXq ./HexChat-$(git describe --tags).app.zip ./HexChat.app + diff --git a/plugins/checksum/checksum.c b/plugins/checksum/checksum.c new file mode 100644 index 0000000000000000000000000000000000000000..4db14c93b5136d5914322c371638039acc5bed9d --- /dev/null +++ b/plugins/checksum/checksum.c @@ -0,0 +1,204 @@ +/* HexChat + * Copyright (c) 2010-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "config.h" + +#include + +#include "hexchat-plugin.h" + +static hexchat_plugin *ph; /* plugin handle */ +static char name[] = "Checksum"; +static char desc[] = "Calculate checksum for DCC file transfers"; +static char version[] = "4.0"; + + +typedef struct { + gboolean send_message; + char *servername; + char *channel; +} ChecksumCallbackInfo; + + +static void +print_sha256_result (ChecksumCallbackInfo *info, const char *checksum, const char *filename, GError *error) +{ + // So then we get the next best available channel, since we always want to print at least somewhere, it's fine + hexchat_context *ctx = hexchat_find_context(ph, info->servername, info->channel); + if (!ctx) { + // before we print a private message to the wrong channel, we exit early + if (info->send_message) { + return; + } + + // if the context isn't found the first time, we search in the server + ctx = hexchat_find_context(ph, info->servername, NULL); + if (!ctx) { + // The second time we exit early, since printing in another server isn't desireable + return; + } + } + + hexchat_set_context(ph, ctx); + + if (error) { + hexchat_printf (ph, "Failed to create checksum for %s: %s\n", filename, error->message); + } else if (info->send_message) { + hexchat_commandf (ph, "quote PRIVMSG %s :SHA-256 checksum for %s (remote): %s", hexchat_get_info (ph, "channel"), filename, checksum); + } else { + hexchat_printf (ph, "SHA-256 checksum for %s (local): %s\n", filename, checksum); + } +} + +static void +file_sha256_complete (GFile *file, GAsyncResult *result, gpointer user_data) +{ + ChecksumCallbackInfo * callback_info = user_data; + GError *error = NULL; + char *sha256 = NULL; + const char *filename = g_task_get_task_data (G_TASK (result)); + + sha256 = g_task_propagate_pointer (G_TASK (result), &error); + print_sha256_result (callback_info, sha256, filename, error); + + g_free(callback_info->servername); + g_free(callback_info->channel); + g_free(callback_info); + g_free (sha256); + g_clear_error (&error); +} + +static void +thread_sha256_file (GTask *task, GFile *file, gpointer task_data, GCancellable *cancellable) +{ + GChecksum *checksum; + GFileInputStream *istream; + guint8 buffer[32768]; + GError *error = NULL; + gssize ret; + + istream = g_file_read (file, cancellable, &error); + if (error) { + g_task_return_error (task, error); + return; + } + + checksum = g_checksum_new (G_CHECKSUM_SHA256); + + while ((ret = g_input_stream_read (G_INPUT_STREAM (istream), buffer, sizeof(buffer), cancellable, &error)) > 0) + g_checksum_update (checksum, buffer, ret); + + if (error) { + g_checksum_free (checksum); + g_task_return_error (task, error); + return; + } + + g_task_return_pointer (task, g_strdup (g_checksum_get_string (checksum)), g_free); + g_checksum_free (checksum); +} + +static int +dccrecv_cb (char *word[], void *userdata) +{ + GTask *task; + char *filename_fs; + GFile *file; + const char *dcc_completed_dir; + char *filename; + + if (hexchat_get_prefs (ph, "dcc_completed_dir", &dcc_completed_dir, NULL) == 1 && dcc_completed_dir[0] != '\0') + filename = g_build_filename (dcc_completed_dir, word[1], NULL); + else + filename = g_strdup (word[2]); + + filename_fs = g_filename_from_utf8 (filename, -1, NULL, NULL, NULL); + if (!filename_fs) { + hexchat_printf (ph, "Checksum: Invalid filename (%s)\n", filename); + g_free (filename); + return HEXCHAT_EAT_NONE; + } + + ChecksumCallbackInfo *callback_data = g_new (ChecksumCallbackInfo, 1); + callback_data->servername = g_strdup(hexchat_get_info(ph, "server")); + callback_data->channel = g_strdup(hexchat_get_info(ph, "channel")); + callback_data->send_message = FALSE; + + + file = g_file_new_for_path (filename_fs); + task = g_task_new (file, NULL, (GAsyncReadyCallback) file_sha256_complete, (gpointer)callback_data); + g_task_set_task_data (task, filename, g_free); + g_task_run_in_thread (task, (GTaskThreadFunc) thread_sha256_file); + + g_free (filename_fs); + g_object_unref (file); + g_object_unref (task); + + return HEXCHAT_EAT_NONE; +} + +static int +dccoffer_cb (char *word[], void *userdata) +{ + GFile *file; + GTask *task; + char *filename; + + ChecksumCallbackInfo *callback_data = g_new (ChecksumCallbackInfo, 1); + callback_data->servername = g_strdup(hexchat_get_info(ph, "server")); + callback_data->channel = g_strdup(hexchat_get_info(ph, "channel")); + callback_data->send_message = TRUE; + + filename = g_strdup (word[3]); + file = g_file_new_for_path (filename); + task = g_task_new (file, NULL, (GAsyncReadyCallback) file_sha256_complete, (gpointer)callback_data); + g_task_set_task_data (task, filename, g_free); + g_task_run_in_thread (task, (GTaskThreadFunc) thread_sha256_file); + + g_object_unref (file); + g_object_unref (task); + + return HEXCHAT_EAT_NONE; +} + +int +hexchat_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + hexchat_hook_print (ph, "DCC RECV Complete", HEXCHAT_PRI_NORM, dccrecv_cb, NULL); + hexchat_hook_print (ph, "DCC Offer", HEXCHAT_PRI_NORM, dccoffer_cb, NULL); + + hexchat_printf (ph, "%s plugin loaded\n", name); + return 1; +} + +int +hexchat_plugin_deinit (void) +{ + hexchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/checksum/checksum.def b/plugins/checksum/checksum.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/checksum/checksum.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/checksum/checksum.vcxproj b/plugins/checksum/checksum.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..fba08ccecaf38ab5cce41bc2232940c93a0102fe --- /dev/null +++ b/plugins/checksum/checksum.vcxproj @@ -0,0 +1,59 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} + Win32Proj + checksum + + + + + + + hcchecksum + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;CHECKSUM_EXPORTS;%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + checksum.def + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(DepLibs);%(AdditionalDependencies) + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;CHECKSUM_EXPORTS;%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + checksum.def + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(DepLibs);%(AdditionalDependencies) + + + + + + + + + + diff --git a/plugins/checksum/checksum.vcxproj.filters b/plugins/checksum/checksum.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..e6ef5e81abcf1a0ff66b8d7ff7c373bb373d6073 --- /dev/null +++ b/plugins/checksum/checksum.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/plugins/checksum/meson.build b/plugins/checksum/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..e3008f75f9bfd8d2e0410649124a53df17fb9c47 --- /dev/null +++ b/plugins/checksum/meson.build @@ -0,0 +1,7 @@ +shared_module('checksum', 'checksum.c', + dependencies: [libgio_dep, hexchat_plugin_dep], + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'checksum.def', +) diff --git a/plugins/exec/exec.c b/plugins/exec/exec.c new file mode 100644 index 0000000000000000000000000000000000000000..d83a4d746a22cf85a116b6f80d975ac1e21ec194 --- /dev/null +++ b/plugins/exec/exec.c @@ -0,0 +1,160 @@ +/* HexChat + * Copyright (c) 2011-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include +#include + +#include "hexchat-plugin.h" + +static hexchat_plugin *ph; /* plugin handle */ +static char name[] = "Exec"; +static char desc[] = "Execute commands inside HexChat"; +static char version[] = "1.2"; + +static int +run_command (char *word[], char *word_eol[], void *userdata) +{ + char commandLine[1024]; + char buffer[4096]; + DWORD dwRead = 0; + DWORD dwLeft = 0; + DWORD dwAvail = 0; + time_t start; + double timeElapsed; + + char *token; + char *context = NULL; + int announce = 0; + + HANDLE readPipe; + HANDLE writePipe; + STARTUPINFO sInfo; + PROCESS_INFORMATION pInfo; + SECURITY_ATTRIBUTES secattr; + + ZeroMemory (&secattr, sizeof (secattr)); + secattr.nLength = sizeof (secattr); + secattr.bInheritHandle = TRUE; + + timeElapsed = 0.0; + + if (strlen (word[2]) > 0) + { + strcpy (commandLine, "cmd.exe /c "); + + if (!stricmp("-O", word[2])) + { + strcat (commandLine, word_eol[3]); + announce = 1; + } + else + { + strcat (commandLine, word_eol[2]); + } + + CreatePipe (&readPipe, &writePipe, &secattr, 0); /* might be replaced with MyCreatePipeEx */ + + ZeroMemory (&sInfo, sizeof (sInfo)); + ZeroMemory (&pInfo, sizeof (pInfo)); + sInfo.cb = sizeof (sInfo); + sInfo.dwFlags = STARTF_USESTDHANDLES; + sInfo.hStdInput = NULL; + sInfo.hStdOutput = writePipe; + sInfo.hStdError = writePipe; + + CreateProcess (0, commandLine, 0, 0, TRUE, NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW, 0, 0, &sInfo, &pInfo); + CloseHandle (writePipe); + + start = time (0); + while (PeekNamedPipe (readPipe, buffer, 1, &dwRead, &dwAvail, &dwLeft) && timeElapsed < 10) + { + if (dwRead) + { + if (ReadFile (readPipe, buffer, sizeof (buffer) - 1, &dwRead, NULL) && dwRead != 0 ) + { + /* avoid garbage */ + buffer[dwRead] = '\0'; + + if (announce) + { + /* Say each line seperately, TODO: improve... */ + token = strtok_s (buffer, "\n", &context); + while (token != NULL) + { + hexchat_commandf (ph, "SAY %s", token); + token = strtok_s (NULL, "\n", &context); + } + } + else + hexchat_printf (ph, "%s", buffer); + } + } + else + { + /* this way we'll more likely get full lines */ + SleepEx (100, TRUE); + } + timeElapsed = difftime (time (0), start); + } + + /* display a newline to separate things */ + if (!announce) + hexchat_printf (ph, "\n"); + + if (timeElapsed >= 10) + { + hexchat_printf (ph, "Command took too much time to run, execution aborted.\n"); + } + + CloseHandle (readPipe); + CloseHandle (pInfo.hProcess); + CloseHandle (pInfo.hThread); + } + else + { + hexchat_command (ph, "help exec"); + } + + return HEXCHAT_EAT_HEXCHAT; +} + +int +hexchat_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + hexchat_hook_command (ph, "EXEC", HEXCHAT_PRI_NORM, run_command, "Usage: /EXEC [-O] - execute commands inside HexChat", 0); + hexchat_printf (ph, "%s plugin loaded\n", name); + + return 1; /* return 1 for success */ +} + +int +hexchat_plugin_deinit (void) +{ + hexchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/exec/exec.def b/plugins/exec/exec.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/exec/exec.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/exec/exec.vcxproj b/plugins/exec/exec.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..ceb11843d133176cafb6c2fb91fb72bc2265ddfb --- /dev/null +++ b/plugins/exec/exec.vcxproj @@ -0,0 +1,55 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} + Win32Proj + exec + + + + + + + hcexec + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;EXEC_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;%(AdditionalIncludeDirectories) + + + exec.def + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;EXEC_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;%(AdditionalIncludeDirectories) + + + exec.def + + + + + + + + + + diff --git a/plugins/exec/exec.vcxproj.filters b/plugins/exec/exec.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..f800df939df784874da1589f2f273551aa086384 --- /dev/null +++ b/plugins/exec/exec.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/plugins/exec/meson.build b/plugins/exec/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..782814da05af83a980ef2877dc755a84353beb5c --- /dev/null +++ b/plugins/exec/meson.build @@ -0,0 +1,6 @@ +shared_module('exec', 'exec.c', + dependencies: hexchat_plugin_dep, + install: true, + install_dir: plugindir, + vs_module_defs: 'exec.def', +) diff --git a/plugins/fishlim/LICENSE b/plugins/fishlim/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..a3e0474abd2a85527806f8a243adfb4024ceb309 --- /dev/null +++ b/plugins/fishlim/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2010-2011 Samuel Lidén Borell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/plugins/fishlim/dh1080.c b/plugins/fishlim/dh1080.c new file mode 100644 index 0000000000000000000000000000000000000000..2bf6af74aa8870eb5105e58bc0b940a8a0e7cde5 --- /dev/null +++ b/plugins/fishlim/dh1080.c @@ -0,0 +1,238 @@ +/* HexChat +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA +*/ + +/* + * For Diffie-Hellman key-exchange a 1080bit germain prime is used, the + * generator g=2 renders a field Fp from 1 to p-1. Therefore breaking it + * means to solve a discrete logarithm problem with no less than 1080bit. + * + * Base64 format is used to send the public keys over IRC. + * + * The calculated secret key is hashed with SHA-256, the result is converted + * to base64 for final use with blowfish. + */ + +#include "config.h" +#include "dh1080.h" + +#include +#include +#include + +#include +#include + +#define DH1080_PRIME_BITS 1080 +#define DH1080_PRIME_BYTES 135 +#define SHA256_DIGEST_LENGTH 32 +#define B64ABC "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" +#define MEMZERO(x) memset(x, 0x00, sizeof(x)) + +/* All clients must use the same prime number to be able to keyx */ +static const guchar prime1080[DH1080_PRIME_BYTES] = +{ + 0xFB, 0xE1, 0x02, 0x2E, 0x23, 0xD2, 0x13, 0xE8, 0xAC, 0xFA, 0x9A, 0xE8, 0xB9, 0xDF, 0xAD, 0xA3, 0xEA, + 0x6B, 0x7A, 0xC7, 0xA7, 0xB7, 0xE9, 0x5A, 0xB5, 0xEB, 0x2D, 0xF8, 0x58, 0x92, 0x1F, 0xEA, 0xDE, 0x95, + 0xE6, 0xAC, 0x7B, 0xE7, 0xDE, 0x6A, 0xDB, 0xAB, 0x8A, 0x78, 0x3E, 0x7A, 0xF7, 0xA7, 0xFA, 0x6A, 0x2B, + 0x7B, 0xEB, 0x1E, 0x72, 0xEA, 0xE2, 0xB7, 0x2F, 0x9F, 0xA2, 0xBF, 0xB2, 0xA2, 0xEF, 0xBE, 0xFA, 0xC8, + 0x68, 0xBA, 0xDB, 0x3E, 0x82, 0x8F, 0xA8, 0xBA, 0xDF, 0xAD, 0xA3, 0xE4, 0xCC, 0x1B, 0xE7, 0xE8, 0xAF, + 0xE8, 0x5E, 0x96, 0x98, 0xA7, 0x83, 0xEB, 0x68, 0xFA, 0x07, 0xA7, 0x7A, 0xB6, 0xAD, 0x7B, 0xEB, 0x61, + 0x8A, 0xCF, 0x9C, 0xA2, 0x89, 0x7E, 0xB2, 0x8A, 0x61, 0x89, 0xEF, 0xA0, 0x7A, 0xB9, 0x9A, 0x8A, 0x7F, + 0xA9, 0xAE, 0x29, 0x9E, 0xFA, 0x7B, 0xA6, 0x6D, 0xEA, 0xFE, 0xFB, 0xEF, 0xBF, 0x0B, 0x7D, 0x8B +}; + +static DH *g_dh; + +int +dh1080_init (void) +{ + g_return_val_if_fail (g_dh == NULL, 0); + + if ((g_dh = DH_new())) + { + int codes; + BIGNUM *p, *g; + + p = BN_bin2bn (prime1080, DH1080_PRIME_BYTES, NULL); + g = BN_new (); + + if (p == NULL || g == NULL) + return 1; + + BN_set_word (g, 2); + +#ifndef HAVE_DH_SET0_PQG + g_dh->p = p; + g_dh->g = g; +#else + if (!DH_set0_pqg (g_dh, p, NULL, g)) + return 1; +#endif + + if (DH_check (g_dh, &codes)) + return codes == 0; + } + + return 0; +} + +void +dh1080_deinit (void) +{ + g_clear_pointer (&g_dh, DH_free); +} + +static inline int +DH_verifyPubKey (BIGNUM *pk) +{ + int codes; + return DH_check_pub_key (g_dh, pk, &codes) && codes == 0; +} + +static guchar * +dh1080_decode_b64 (const char *data, gsize *out_len) +{ + GString *str = g_string_new (data); + guchar *ret; + + if (str->len % 4 == 1 && str->str[str->len - 1] == 'A') + g_string_truncate (str, str->len - 1); + + while (str->len % 4 != 0) + g_string_append_c (str, '='); + + ret = g_base64_decode_inplace (str->str, out_len); + g_string_free (str, FALSE); + return ret; +} + +static char * +dh1080_encode_b64 (const guchar *data, gsize data_len) +{ + char *ret = g_base64_encode (data, data_len); + char *p; + + if (!(p = strchr (ret, '='))) + { + char *new_ret = g_new(char, strlen(ret) + 2); + strcpy (new_ret, ret); + strcat (new_ret, "A"); + g_free (ret); + ret = new_ret; + } + else + { + *p = '\0'; + } + + return ret; +} + +int +dh1080_generate_key (char **priv_key, char **pub_key) +{ + guchar buf[DH1080_PRIME_BYTES]; + int len; + DH *dh; + const BIGNUM *dh_priv_key, *dh_pub_key; + + g_assert (priv_key != NULL); + g_assert (pub_key != NULL); + + dh = DHparams_dup (g_dh); + if (!dh) + return 0; + + if (!DH_generate_key (dh)) + { + DH_free (dh); + return 0; + } + +#ifndef HAVE_DH_GET0_KEY + dh_pub_key = dh->pub_key; + dh_priv_key = dh->priv_key; +#else + DH_get0_key (dh, &dh_pub_key, &dh_priv_key); +#endif + + MEMZERO (buf); + len = BN_bn2bin (dh_priv_key, buf); + *priv_key = dh1080_encode_b64 (buf, len); + + MEMZERO (buf); + len = BN_bn2bin (dh_pub_key, buf); + *pub_key = dh1080_encode_b64 (buf, len); + + OPENSSL_cleanse (buf, sizeof (buf)); + DH_free (dh); + return 1; +} + +int +dh1080_compute_key (const char *priv_key, const char *pub_key, char **secret_key) +{ + char *pub_key_data; + gsize pub_key_len; + BIGNUM *pk; + DH *dh; +#ifdef HAVE_DH_SET0_KEY + BIGNUM *temp_pub_key = BN_new(); +#endif + + g_assert (secret_key != NULL); + + /* Verify base64 strings */ + if (strspn (priv_key, B64ABC) != strlen (priv_key) + || strspn (pub_key, B64ABC) != strlen (pub_key)) + return 0; + + dh = DHparams_dup (g_dh); + + pub_key_data = dh1080_decode_b64 (pub_key, &pub_key_len); + pk = BN_bin2bn (pub_key_data, pub_key_len, NULL); + + if (DH_verifyPubKey (pk)) + { + guchar shared_key[DH1080_PRIME_BYTES] = { 0 }; + guchar sha256[SHA256_DIGEST_LENGTH] = { 0 }; + char *priv_key_data; + gsize priv_key_len; + int shared_len; + BIGNUM *priv_key_num; + + priv_key_data = dh1080_decode_b64 (priv_key, &priv_key_len); + priv_key_num = BN_bin2bn(priv_key_data, priv_key_len, NULL); +#ifndef HAVE_DH_SET0_KEY + dh->priv_key = priv_key_num; +#else + DH_set0_key (dh, temp_pub_key, priv_key_num); +#endif + + shared_len = DH_compute_key (shared_key, pk, dh); + SHA256(shared_key, shared_len, sha256); + *secret_key = dh1080_encode_b64 (sha256, sizeof(sha256)); + + OPENSSL_cleanse (priv_key_data, priv_key_len); + g_free (priv_key_data); + } + + BN_free (pk); + DH_free (dh); + g_free (pub_key_data); + return 1; +} diff --git a/plugins/fishlim/dh1080.h b/plugins/fishlim/dh1080.h new file mode 100644 index 0000000000000000000000000000000000000000..7566218982b2e0b3e517902346e9a573f1fdde26 --- /dev/null +++ b/plugins/fishlim/dh1080.h @@ -0,0 +1,24 @@ +/* HexChat +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA +*/ + +#pragma once + +int dh1080_generate_key (char **, char **); +int dh1080_compute_key (const char *, const char *, char **); +int dh1080_init (void); +void dh1080_deinit (void); + diff --git a/plugins/fishlim/fish.c b/plugins/fishlim/fish.c new file mode 100644 index 0000000000000000000000000000000000000000..0b24ed48ffba91ff634da27a69cdc0410501a637 --- /dev/null +++ b/plugins/fishlim/fish.c @@ -0,0 +1,563 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + Copyright (c) 2019-2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifdef __APPLE__ +#define __AVAILABILITYMACROS__ +#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER +#endif + +#include +#include +#include +#include +#include +#include + +#include "keystore.h" +#include "fish.h" +#include "utils.h" + +#define IB 64 +/* rfc 2812; 512 - CR-LF = 510 */ +static const int MAX_COMMAND_LENGTH = 510; +static const char fish_base64[] = "./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +static const char base64_chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; +static const signed char fish_unbase64[256] = { + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB,IB,IB, + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB,IB,IB, +/* ! " # $ % & ' ( ) * + , - . / */ + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB, 0, 1, +/* 0 1 2 3 4 5 6 7 8 9 : ; < = > ? */ + 2, 3, 4, 5, 6, 7, 8, 9, 10,11,IB,IB,IB,IB,IB,IB, +/* @ A B C D E F G H I J K L M N O */ + IB,38,39,40,41,42,43,44, 45,46,47,48,49,50,51,52, +/* P Q R S T U V W X Y Z [ \ ] ^ _*/ + 53,54,55,56,57,58,59,60, 61,62,63,IB,IB,IB,IB,IB, +/* ` a b c d e f g h i j k l m n o */ + IB,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26, +/* p q r s t u v w x y z { | } ~ */ + 27,28,29,30,31,32,33,34, 35,36,37,IB,IB,IB,IB,IB, +}; + +/** + * Convert Int to 4 Bytes (Big-endian) + * + * @param int source + * @param char* dest + */ +#define GET_BYTES(dest, source) do { \ + *((dest)++) = ((source) >> 24) & 0xFF; \ + *((dest)++) = ((source) >> 16) & 0xFF; \ + *((dest)++) = ((source) >> 8) & 0xFF; \ + *((dest)++) = (source) & 0xFF; \ +} while (0); + +/** + * Convert 4 Bytes to Int (Big-endian) + * + * @param char* source + * @param int dest + */ +#define GET_LONG(dest, source) do { \ + dest = ((uint8_t)*((source)++) << 24); \ + dest |= ((uint8_t)*((source)++) << 16); \ + dest |= ((uint8_t)*((source)++) << 8); \ + dest |= (uint8_t)*((source)++); \ +} while (0); + +#if OPENSSL_VERSION_NUMBER >= 0x30000000L +#include +static OSSL_PROVIDER *legacy_provider; +static OSSL_PROVIDER *default_provider; +static OSSL_LIB_CTX *ossl_ctx; +#endif + +int fish_init(void) +{ +#if OPENSSL_VERSION_NUMBER >= 0x30000000L + ossl_ctx = OSSL_LIB_CTX_new(); + if (!ossl_ctx) + return 0; + + legacy_provider = OSSL_PROVIDER_load(ossl_ctx, "legacy"); + if (!legacy_provider) { + fish_deinit(); + return 0; + } + + default_provider = OSSL_PROVIDER_load(ossl_ctx, "default"); + if (!default_provider) { + fish_deinit(); + return 0; + } +#endif + return 1; +} + +void fish_deinit(void) +{ +#if OPENSSL_VERSION_NUMBER >= 0x30000000L + if (legacy_provider) { + OSSL_PROVIDER_unload(legacy_provider); + legacy_provider = NULL; + } + + if (default_provider) { + OSSL_PROVIDER_unload(default_provider); + default_provider = NULL; + } + + if (ossl_ctx) { + OSSL_LIB_CTX_free(ossl_ctx); + ossl_ctx = NULL; + } +#endif +} + +/** + * Encode ECB FiSH Base64 + * + * @param [in] message Bytes to encode + * @param [in] message_len Size of bytes to encode + * @return Array of char with encoded string + */ +char *fish_base64_encode(const char *message, size_t message_len) { + BF_LONG left = 0, right = 0; + int i; + size_t j; + char *encoded = NULL; + char *end = NULL; + char *msg = NULL; + + if (message_len == 0) + return NULL; + + /* Each 8-byte block becomes 12 bytes (fish base64 format) and add 1 byte for \0 */ + encoded = g_malloc(((message_len - 1) / 8) * 12 + 12 + 1); + end = encoded; + + /* Iterate over each 8-byte block (Blowfish block size) */ + for (j = 0; j < message_len; j += 8) { + msg = (char *) message; + + /* Set left and right longs */ + GET_LONG(left, msg); + GET_LONG(right, msg); + + for (i = 0; i < 6; ++i) { + *end++ = fish_base64[right & 0x3fu]; + right = (right >> 6u); + } + + for (i = 0; i < 6; ++i) { + *end++ = fish_base64[left & 0x3fu]; + left = (left >> 6u); + } + + /* The previous for'd ensure fill all bytes of encoded, we don't need will with zeros */ + message += 8; + } + + *end = '\0'; + return encoded; +} + +/** + * Decode ECB FiSH Base64 + * + * @param [in] message Base64 encoded string + * @param [out] final_len Real length of message + * @return Array of char with decoded message + */ +char *fish_base64_decode(const char *message, size_t *final_len) { + BF_LONG left, right; + int i; + char *bytes = NULL; + char *msg = NULL; + char *byt = NULL; + size_t message_len; + + message_len = strlen(message); + + /* Ensure blocks of 12 bytes each one and valid characters */ + if (message_len == 0 || message_len % 12 != 0 || strspn(message, fish_base64) != message_len) + return NULL; + + /* Each 12 bytes becomes 8-byte block and add 1 byte for \0 */ + *final_len = ((message_len - 1) / 12) * 8 + 8 + 1; + (*final_len)--; /* We support binary data */ + bytes = (char *) g_malloc0(*final_len); + byt = bytes; + + msg = (char *) message; + + while (*msg) { + right = 0; + left = 0; + for (i = 0; i < 6; i++) right |= (uint8_t) fish_unbase64[(int)*msg++] << (i * 6u); + for (i = 0; i < 6; i++) left |= (uint8_t) fish_unbase64[(int)*msg++] << (i * 6u); + GET_BYTES(byt, left); + GET_BYTES(byt, right); + } + + return bytes; +} + +/** + * Encrypt or decrypt data with Blowfish cipher, support binary data. + * + * Good documentation for EVP: + * + * - https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption + * + * - https://stackoverflow.com/questions/5727646/what-is-the-length-parameter-of-aes-evp-decrypt + * + * - https://stackoverflow.com/questions/26345175/correct-way-to-free-allocate-the-context-in-the-openssl + * + * - https://stackoverflow.com/questions/29874150/working-with-evp-and-openssl-coding-in-c + * + * @param [in] plaintext Bytes to encrypt or decrypt + * @param [in] plaintext_len Size of plaintext + * @param [in] key Bytes of key + * @param [in] keylen Size of key + * @param [in] encode 1 or encrypt 0 for decrypt + * @param [in] mode EVP_CIPH_ECB_MODE or EVP_CIPH_CBC_MODE + * @param [out] ciphertext_len The bytes written + * @return Array of char with data encrypted or decrypted + */ +char *fish_cipher(const char *plaintext, size_t plaintext_len, const char *key, size_t keylen, int encode, int mode, size_t *ciphertext_len) { + EVP_CIPHER_CTX *ctx; + EVP_CIPHER *cipher = NULL; + int bytes_written = 0; + unsigned char *ciphertext = NULL; + unsigned char *iv_ciphertext = NULL; + unsigned char *iv = NULL; + size_t block_size = 0; + + *ciphertext_len = 0; + + if (plaintext_len == 0 || keylen == 0 || encode < 0 || encode > 1) + return NULL; + + block_size = plaintext_len; + + if (mode == EVP_CIPH_CBC_MODE) { + if (encode == 1) { + iv = (unsigned char *) g_malloc0(8); + RAND_bytes(iv, 8); + } else { + if (plaintext_len <= 8) /* IV + DATA */ + return NULL; + + iv = (unsigned char *) plaintext; + block_size -= 8; + plaintext += 8; + plaintext_len -= 8; + } + +#if OPENSSL_VERSION_NUMBER >= 0x30000000L + cipher = EVP_CIPHER_fetch(ossl_ctx, "BF-CBC", NULL); +#else + cipher = (EVP_CIPHER *) EVP_bf_cbc(); +#endif + + } else if (mode == EVP_CIPH_ECB_MODE) { + +#if OPENSSL_VERSION_NUMBER >= 0x30000000L + cipher = EVP_CIPHER_fetch(ossl_ctx, "BF-ECB", NULL); +#else + cipher = (EVP_CIPHER *) EVP_bf_ecb(); +#endif + } + + /* Zero Padding */ + if (block_size % 8 != 0) { + block_size = block_size + 8 - (block_size % 8); + } + + ciphertext = (unsigned char *) g_malloc0(block_size); + memcpy(ciphertext, plaintext, plaintext_len); + + /* Create and initialise the context */ + if (!(ctx = EVP_CIPHER_CTX_new())) + return NULL; + + /* Initialise the cipher operation only with mode */ + if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, encode)) + return NULL; + + /* Set custom key length */ + if (!EVP_CIPHER_CTX_set_key_length(ctx, keylen)) + return NULL; + + /* Finish the initiation the cipher operation */ + if (1 != EVP_CipherInit_ex(ctx, NULL, NULL, (const unsigned char *) key, iv, encode)) + return NULL; + + /* We will manage this */ + EVP_CIPHER_CTX_set_padding(ctx, 0); + + /* Do cipher operation */ + if (1 != EVP_CipherUpdate(ctx, ciphertext, &bytes_written, ciphertext, block_size)) + return NULL; + + *ciphertext_len = bytes_written; + + /* Finalise the cipher. Further ciphertext bytes may be written at this stage */ + if (1 != EVP_CipherFinal_ex(ctx, ciphertext + bytes_written, &bytes_written)) + return NULL; + + *ciphertext_len += bytes_written; + + /* Clean up */ + EVP_CIPHER_CTX_free(ctx); + + + if (mode == EVP_CIPH_CBC_MODE && encode == 1) { + /* Join IV + DATA */ + iv_ciphertext = g_malloc0(8 + *ciphertext_len); + + memcpy(iv_ciphertext, iv, 8); + memcpy(&iv_ciphertext[8], ciphertext, *ciphertext_len); + *ciphertext_len += 8; + + g_free(ciphertext); + g_free(iv); + + return (char *) iv_ciphertext; + } else { + return (char *) ciphertext; + } +} + +/** + * Return a fish or standard Base64 encoded string with data encrypted + * is binary safe + * + * @param [in] key Bytes of key + * @param [in] keylen Size of key + * @param [in] message Bytes to encrypt + * @param [in] message_len Size of message + * @param [in] mode Chiper mode + * @return Array of char with data encrypted + */ +char *fish_encrypt(const char *key, size_t keylen, const char *message, size_t message_len, enum fish_mode mode) { + size_t ciphertext_len = 0; + char *ciphertext = NULL; + char *b64 = NULL; + + if (keylen == 0 || message_len == 0) + return NULL; + + ciphertext = fish_cipher(message, message_len, key, keylen, 1, mode, &ciphertext_len); + + if (ciphertext == NULL || ciphertext_len == 0) + return NULL; + + switch (mode) { + case FISH_CBC_MODE: + b64 = g_base64_encode((const unsigned char *) ciphertext, ciphertext_len); + break; + + case FISH_ECB_MODE: + b64 = fish_base64_encode((const char *) ciphertext, ciphertext_len); + } + + g_free(ciphertext); + + if (b64 == NULL) + return NULL; + + return b64; +} + +/** + * Return an array of bytes with data decrypted + * is binary safe + * + * @param [in] key Bytes of key + * @param [in] keylen Size of key + * @param [in] data Fish or standard Base64 encoded string + * @param [in] mode Chiper mode + * @param [out] final_len Length of returned array + * @return Array of char with data decrypted + */ +char *fish_decrypt(const char *key, size_t keylen, const char *data, enum fish_mode mode, size_t *final_len) { + size_t ciphertext_len = 0; + char *ciphertext = NULL; + char *plaintext = NULL; + + *final_len = 0; + + if (keylen == 0 || strlen(data) == 0) + return NULL; + + switch (mode) { + case FISH_CBC_MODE: + if (strspn(data, base64_chars) != strlen(data)) + return NULL; + ciphertext = (char *) g_base64_decode(data, &ciphertext_len); + break; + + case FISH_ECB_MODE: + ciphertext = fish_base64_decode(data, &ciphertext_len); + } + + if (ciphertext == NULL || ciphertext_len == 0) + return NULL; + + plaintext = fish_cipher(ciphertext, ciphertext_len, key, keylen, 0, mode, final_len); + g_free(ciphertext); + + if (*final_len == 0) + return NULL; + + return plaintext; +} + +/** + * Similar to fish_decrypt, but pad with zeros any after the first zero in the decrypted data + * + * @param [in] key Bytes of key + * @param [in] keylen Size of key + * @param [in] data Fish or standard Base64 encoded string + * @param [in] mode Chiper mode + * @return Array of char with data decrypted + */ +char *fish_decrypt_str(const char *key, size_t keylen, const char *data, enum fish_mode mode) { + char *decrypted = NULL; + char *plaintext_str = NULL; + size_t decrypted_len = 0; + + decrypted = fish_decrypt(key, strlen(key), data, mode, &decrypted_len); + + if (decrypted == NULL || decrypted_len == 0) + return NULL; + + plaintext_str = g_strndup(decrypted, decrypted_len); + g_free(decrypted); + + return plaintext_str; +} + +/** + * Determine if a nick have a key + * + * @param [in] nick Nickname + * @return TRUE if have a key or FALSE if not + */ +gboolean fish_nick_has_key(const char *nick) { + gboolean has_key = FALSE; + char *key; + enum fish_mode mode; + + key = keystore_get_key(nick, &mode); + if (key) { + has_key = TRUE; + g_free(key); + }; + + return has_key; +} + +/** + * Encrypts a message (see fish_encrypt). The key is searched for in the key store + * + * @param [in] nick Nickname + * @param [in] data Plaintext to encrypt + * @param [out] omode Mode of encryption + * @param [in] command_len Length of command to use without the message part + * @return A list of encoded strings with the message encrypted or NULL if any error occurred + */ +GSList *fish_encrypt_for_nick(const char *nick, const char *data, enum fish_mode *omode, size_t command_len) { + char *key; + GSList *encrypted_list = NULL; + char *encrypted = NULL; + enum fish_mode mode; + int max_len, max_chunks_len, chunks_len; + + /* Look for key */ + key = keystore_get_key(nick, &mode); + if (!key) return NULL; + + *omode = mode; + + /* Calculate max length of each line */ + max_len = MAX_COMMAND_LENGTH - command_len; + /* Add '*' */ + if (mode == FISH_CBC_MODE) max_len--; + + max_chunks_len = max_text_command_len(max_len, mode); + + const char *data_chunk = data; + + while(foreach_utf8_data_chunks(data_chunk, max_chunks_len, &chunks_len)) { + encrypted = fish_encrypt(key, strlen(key), data_chunk, chunks_len, mode); + + if (mode == FISH_CBC_MODE) { + /* Add '*' for CBC */ + encrypted_list = g_slist_append(encrypted_list, g_strdup_printf("*%s", encrypted)); + g_free(encrypted); + } else { + encrypted_list = g_slist_append(encrypted_list, encrypted); + } + + /* Next chunk */ + data_chunk += chunks_len; + } + + return encrypted_list; +} + +/** + * Decrypts a message (see fish_decrypt). The key is searched for in the key store + * + * @param [in] nick Nickname + * @param [in] data Plaintext to encrypt + * @param [out] omode Mode of encryption + * @return Plaintext message or NULL if any error occurred + */ +char *fish_decrypt_from_nick(const char *nick, const char *data, enum fish_mode *omode) { + char *key; + char *decrypted; + enum fish_mode mode; + + /* Look for key */ + key = keystore_get_key(nick, &mode); + if (!key) return NULL; + + *omode = mode; + + if (mode == FISH_CBC_MODE) + ++data; + + /* Decrypt */ + decrypted = fish_decrypt_str(key, strlen(key), data, mode); + g_free(key); + + return decrypted; +} + + diff --git a/plugins/fishlim/fish.h b/plugins/fishlim/fish.h new file mode 100644 index 0000000000000000000000000000000000000000..75829061680b9d14256dadf7121502596b11369d --- /dev/null +++ b/plugins/fishlim/fish.h @@ -0,0 +1,51 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + Copyright (c) 2019-2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef FISH_H +#define FISH_H + +#include + +#include + +enum fish_mode { + FISH_ECB_MODE = 0x1, + FISH_CBC_MODE = 0x2 +}; + +int fish_init(void); +void fish_deinit(void); +char *fish_base64_encode(const char *message, size_t message_len); +char *fish_base64_decode(const char *message, size_t *final_len); +char *fish_encrypt(const char *key, size_t keylen, const char *message, size_t message_len, enum fish_mode mode); +char *fish_decrypt(const char *key, size_t keylen, const char *data, enum fish_mode mode, size_t *final_len); +char *fish_decrypt_str(const char *key, size_t keylen, const char *data, enum fish_mode mode); +gboolean fish_nick_has_key(const char *nick); +GSList *fish_encrypt_for_nick(const char *nick, const char *data, enum fish_mode *omode, size_t command_len); +char *fish_decrypt_from_nick(const char *nick, const char *data, enum fish_mode *omode); + +#endif + + diff --git a/plugins/fishlim/fishlim.def b/plugins/fishlim/fishlim.def new file mode 100644 index 0000000000000000000000000000000000000000..6ce04e988501a7ad250d3665928ee11eacb6e4e9 --- /dev/null +++ b/plugins/fishlim/fishlim.def @@ -0,0 +1,4 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit +hexchat_plugin_get_info diff --git a/plugins/fishlim/fishlim.vcxproj b/plugins/fishlim/fishlim.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..3661e1e6cf921bf8cf4f9597fcedfc5d0a2558ae --- /dev/null +++ b/plugins/fishlim/fishlim.vcxproj @@ -0,0 +1,72 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} + Win32Proj + fishlim + + + + + + + hcfishlim + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;FISHLIM_EXPORTS;HAVE_DH_SET0_PQG;HAVE_DH_GET0_KEY;HAVE_DH_SET0_KEY;%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + fishlim.def + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(DepLibs);%(AdditionalDependencies) + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;FISHLIM_EXPORTS;HAVE_DH_SET0_PQG;HAVE_DH_GET0_KEY;HAVE_DH_SET0_KEY;%(PreprocessorDefinitions) + $(DepsRoot)\include;$(Glib);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + fishlim.def + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(DepLibs);%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/fishlim/fishlim.vcxproj.filters b/plugins/fishlim/fishlim.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..ee4e855ad5c4b2a778b00fdbcdd5257ab3b80aac --- /dev/null +++ b/plugins/fishlim/fishlim.vcxproj.filters @@ -0,0 +1,65 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/plugins/fishlim/irc.c b/plugins/fishlim/irc.c new file mode 100644 index 0000000000000000000000000000000000000000..19b810ebb8c460e4b7b03d2a4385fd747d39344e --- /dev/null +++ b/plugins/fishlim/irc.c @@ -0,0 +1,82 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include "config.h" + +#include +#include "irc.h" + +/** + * Parses an IRC message. The words array should contain the message splitted + * at spaces. The prefix and command is extracted from the message, and + * parameters_offset is set to the index of the first parameter. + */ +gboolean irc_parse_message(const char *words[], + const char **prefix, const char **command, + size_t *parameters_offset) { + size_t w = 1; + if (prefix) *prefix = NULL; + if (command) *command = NULL; + + /* See if the message starts with a prefix (sender user) */ + if (words[w][0] == ':') { + if (prefix) *prefix = &words[w][1]; + w++; + } + + /* Check command */ + if (words[w][0] == '\0') return FALSE; + if (command) *command = words[w]; + w++; + + if (parameters_offset) + *parameters_offset = w; + + return TRUE; +} + + +/** + * Finds the nick part of a "IRC prefix", which can have any + * of the following forms: + * + * nick + * nick@host + * nick!ident + * nick!ident@host + */ +char *irc_prefix_get_nick(const char *prefix) { + const char *end; + size_t length; + + if (!prefix) return NULL; + + /* Find end of nick */ + end = prefix; + while (*end != '\0' && *end != '!' && *end != '@') end++; + + /* Allocate string */ + length = end - prefix; + return g_strndup (prefix, length); +} diff --git a/plugins/fishlim/irc.h b/plugins/fishlim/irc.h new file mode 100644 index 0000000000000000000000000000000000000000..c56492338f6b372036b216034493b03d7474105f --- /dev/null +++ b/plugins/fishlim/irc.h @@ -0,0 +1,38 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef IRC_H +#define IRC_H + +#include +#include + +gboolean irc_parse_message(const char *words[], + const char **prefix, const char **command, + size_t *parameters_offset); +char *irc_prefix_get_nick(const char *prefix); + +#endif + + diff --git a/plugins/fishlim/keystore.c b/plugins/fishlim/keystore.c new file mode 100644 index 0000000000000000000000000000000000000000..adefc7007d4fa82a10e258c04931f1f3ef63fdaf --- /dev/null +++ b/plugins/fishlim/keystore.c @@ -0,0 +1,278 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include "config.h" + +#include +#include +#include +#include "irc.h" +#include "fish.h" +#include "keystore.h" +#include "plugin_hexchat.h" + + +static char *keystore_password = NULL; + + +/** + * Opens the key store file: ~/.config/hexchat/addon_fishlim.conf + */ +static GKeyFile *getConfigFile(void) { + gchar *filename = get_config_filename(); + + GKeyFile *keyfile = g_key_file_new(); + g_key_file_load_from_file(keyfile, filename, + G_KEY_FILE_KEEP_COMMENTS | + G_KEY_FILE_KEEP_TRANSLATIONS, NULL); + + g_free(filename); + return keyfile; +} + + +/** + * Returns the key store password, or the default. + */ +static const char *get_keystore_password(void) { + return (keystore_password != NULL ? + keystore_password : + /* Silly default value... */ + "blowinikey"); +} + + +static char *escape_nickname(const char *nick) { + char *escaped = g_strdup(nick); + char *p = escaped; + + while (*p) { + if (*p == '[') + *p = '~'; + else if (*p == ']') + *p = '!'; + + ++p; + } + + return escaped; +} + +/** + * Gets a value for a nick/channel from addon_fishlim.conf. Unlike + * g_key_file_get_string, this function is case insensitive. + */ +static gchar *get_nick_value(GKeyFile *keyfile, const char *nick, const char *item) { + gchar **group; + gchar **groups = g_key_file_get_groups(keyfile, NULL); + gchar *result = NULL; + + for (group = groups; *group != NULL; group++) { + if (!irc_nick_cmp(*group, nick)) { + result = g_key_file_get_string(keyfile, *group, item, NULL); + break; + } + } + + g_strfreev(groups); + return result; +} + + +/** + * Extracts a key from the key store file. + */ +char *keystore_get_key(const char *nick, enum fish_mode *mode) { + GKeyFile *keyfile; + char *escaped_nick; + gchar *value, *key_mode; + int encrypted_mode; + char *password; + char *encrypted; + char *decrypted; + + /* Get the key */ + keyfile = getConfigFile(); + escaped_nick = escape_nickname(nick); + value = get_nick_value(keyfile, escaped_nick, "key"); + key_mode = get_nick_value(keyfile, escaped_nick, "mode"); + g_key_file_free(keyfile); + g_free(escaped_nick); + + /* Determine cipher mode */ + *mode = FISH_ECB_MODE; + if (key_mode) { + if (*key_mode == '1') + *mode = FISH_ECB_MODE; + else if (*key_mode == '2') + *mode = FISH_CBC_MODE; + g_free(key_mode); + } + + if (!value) + return NULL; + + if (strncmp(value, "+OK ", 4) == 0) { + /* Key is encrypted */ + encrypted = (char *) value; + encrypted += 4; + + encrypted_mode = FISH_ECB_MODE; + + if (*encrypted == '*') { + ++encrypted; + encrypted_mode = FISH_CBC_MODE; + } + + password = (char *) get_keystore_password(); + decrypted = fish_decrypt_str((const char *) password, strlen(password), (const char *) encrypted, encrypted_mode); + g_free(value); + return decrypted; + } else { + /* Key is stored in plaintext */ + return value; + } +} + +/** + * Deletes a nick and the associated key in the key store file. + */ +static gboolean delete_nick(GKeyFile *keyfile, const char *nick) { + gchar **group; + gchar **groups = g_key_file_get_groups(keyfile, NULL); + gboolean ok = FALSE; + + for (group = groups; *group != NULL; group++) { + if (!irc_nick_cmp(*group, nick)) { + ok = g_key_file_remove_group(keyfile, *group, NULL); + break; + } + } + + g_strfreev(groups); + return ok; +} + +#if !GLIB_CHECK_VERSION(2,40,0) +/** + * Writes the key store file to disk. + */ +static gboolean keyfile_save_to_file (GKeyFile *keyfile, char *filename) { + gboolean ok; + + /* Serialize */ + gsize file_length; + gchar *file_data = g_key_file_to_data(keyfile, &file_length, NULL); + if (!file_data) + return FALSE; + + /* Write to file */ + ok = g_file_set_contents (filename, file_data, file_length, NULL); + g_free(file_data); + return ok; +} +#endif + +/** + * Writes the key store file to disk. + */ +static gboolean save_keystore(GKeyFile *keyfile) { + char *filename; + gboolean ok; + + filename = get_config_filename(); +#if !GLIB_CHECK_VERSION(2,40,0) + ok = keyfile_save_to_file (keyfile, filename); +#else +G_GNUC_BEGIN_IGNORE_DEPRECATIONS /* Hide false positive */ + ok = g_key_file_save_to_file (keyfile, filename, NULL); +G_GNUC_END_IGNORE_DEPRECATIONS +#endif + g_free (filename); + + return ok; +} + +/** + * Sets a key in the key store file. + */ +gboolean keystore_store_key(const char *nick, const char *key, enum fish_mode mode) { + const char *password; + char *encrypted; + char *wrapped; + gboolean ok = FALSE; + GKeyFile *keyfile = getConfigFile(); + char *escaped_nick = escape_nickname(nick); + + /* Remove old key */ + delete_nick(keyfile, escaped_nick); + + /* Add new key */ + password = get_keystore_password(); + if (password) { + /* Encrypt the password */ + encrypted = fish_encrypt(password, strlen(password), key, strlen(key), FISH_CBC_MODE); + if (!encrypted) goto end; + + /* Prepend "+OK " */ + wrapped = g_strconcat("+OK *", encrypted, NULL); + g_free(encrypted); + + /* Store encrypted in file */ + g_key_file_set_string(keyfile, escaped_nick, "key", wrapped); + g_free(wrapped); + } else { + /* Store unencrypted in file */ + g_key_file_set_string(keyfile, escaped_nick, "key", key); + } + + /* Store cipher mode */ + g_key_file_set_integer(keyfile, escaped_nick, "mode", mode); + + /* Save key store file */ + ok = save_keystore(keyfile); + + end: + g_key_file_free(keyfile); + g_free(escaped_nick); + return ok; +} + +/** + * Deletes a nick from the key store. + */ +gboolean keystore_delete_nick(const char *nick) { + GKeyFile *keyfile = getConfigFile(); + char *escaped_nick = escape_nickname(nick); + + /* Delete entry */ + gboolean ok = delete_nick(keyfile, escaped_nick); + + /* Save */ + if (ok) save_keystore(keyfile); + + g_key_file_free(keyfile); + g_free(escaped_nick); + return ok; +} diff --git a/plugins/fishlim/keystore.h b/plugins/fishlim/keystore.h new file mode 100644 index 0000000000000000000000000000000000000000..4af46693d7a8456cd07a9c3657b200b71ab8bf8b --- /dev/null +++ b/plugins/fishlim/keystore.h @@ -0,0 +1,38 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef KEYSTORE_H +#define KEYSTORE_H + +#include + +#include +#include "fish.h" + +char *keystore_get_key(const char *nick, enum fish_mode *mode); +gboolean keystore_store_key(const char *nick, const char *key, enum fish_mode mode); +gboolean keystore_delete_nick(const char *nick); + +#endif + diff --git a/plugins/fishlim/meson.build b/plugins/fishlim/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..232c9a33d6cf042493fe9375c19e374581f94094 --- /dev/null +++ b/plugins/fishlim/meson.build @@ -0,0 +1,23 @@ +if not libssl_dep.found() + error('fish plugin requires openssl') +endif + +# Run tests +subdir('tests') + +fishlim_sources = [ + 'dh1080.c', + 'fish.c', + 'utils.c', + 'irc.c', + 'keystore.c', + 'plugin_hexchat.c' +] + +shared_module('fishlim', fishlim_sources, + dependencies: [libgio_dep, hexchat_plugin_dep, libssl_dep], + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'fishlim.def', +) diff --git a/plugins/fishlim/plugin_hexchat.c b/plugins/fishlim/plugin_hexchat.c new file mode 100644 index 0000000000000000000000000000000000000000..a8b127f2e222a729a5e3dcf7f978086f03ee68a7 --- /dev/null +++ b/plugins/fishlim/plugin_hexchat.c @@ -0,0 +1,839 @@ +/* + + Copyright (c) 2010-2011 Samuel Lidén Borell + Copyright (c) 2015 + Copyright (c) 2019-2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include "config.h" + +#include +#include +#include +#include "hexchat-plugin.h" + +#include "fish.h" +#include "dh1080.h" +#include "keystore.h" +#include "irc.h" + +static const char *fish_modes[] = {"", "ECB", "CBC", NULL}; + +static const char plugin_name[] = "FiSHLiM"; +static const char plugin_desc[] = "Encryption plugin for the FiSH protocol. Less is More!"; +static const char plugin_version[] = "1.0.0"; + +static const char usage_setkey[] = "Usage: SETKEY [] [:], sets the key for a channel or nick. Modes: ECB, CBC"; +static const char usage_delkey[] = "Usage: DELKEY [], deletes the key for a channel or nick"; +static const char usage_keyx[] = "Usage: KEYX [], performs DH1080 key-exchange with "; +static const char usage_topic[] = "Usage: TOPIC+ , sets a new encrypted topic for the current channel"; +static const char usage_notice[] = "Usage: NOTICE+ "; +static const char usage_msg[] = "Usage: MSG+ "; + + +static hexchat_plugin *ph; +static GHashTable *pending_exchanges; + + +/** + * Compare two nicks using the current plugin + */ +int irc_nick_cmp(const char *a, const char *b) { + return hexchat_nickcmp (ph, a, b); +} + +/** + * Returns the path to the key store file. + */ +gchar *get_config_filename(void) { + char *filename_fs, *filename_utf8; + + filename_utf8 = g_build_filename(hexchat_get_info(ph, "configdir"), "addon_fishlim.conf", NULL); + filename_fs = g_filename_from_utf8 (filename_utf8, -1, NULL, NULL, NULL); + + g_free (filename_utf8); + return filename_fs; +} + +static inline gboolean irc_is_query (const char *name) { + const char *chantypes = hexchat_list_str (ph, NULL, "chantypes"); + + return strchr (chantypes, name[0]) == NULL; +} + +static hexchat_context *find_context_on_network (const char *name) { + hexchat_list *channels; + hexchat_context *ret = NULL; + int id; + + if (hexchat_get_prefs(ph, "id", NULL, &id) != 2) + return NULL; + + channels = hexchat_list_get(ph, "channels"); + if (!channels) + return NULL; + + while (hexchat_list_next(ph, channels)) { + int chan_id = hexchat_list_int(ph, channels, "id"); + const char *chan_name = hexchat_list_str(ph, channels, "channel"); + + if (chan_id == id && chan_name && irc_nick_cmp (chan_name, name) == 0) { + ret = (hexchat_context*)hexchat_list_str(ph, channels, "context"); + break; + } + }; + + hexchat_list_free(ph, channels); + return ret; +} + +/** + * Retrive the field for own user in current context + * @return the field value + */ +char *get_my_info(const char *field, gboolean find_in_other_context) { + char *result = NULL; + const char *own_nick; + hexchat_list *list; + hexchat_context *ctx_current, *ctx_channel; + + /* Display message */ + own_nick = hexchat_get_info(ph, "nick"); + + if (!own_nick) + return NULL; + + /* Get field for own nick if any */ + list = hexchat_list_get(ph, "users"); + if (list) { + while (hexchat_list_next(ph, list)) { + if (irc_nick_cmp(own_nick, hexchat_list_str(ph, list, "nick")) == 0) + result = g_strdup(hexchat_list_str(ph, list, field)); + } + hexchat_list_free(ph, list); + } + + if (result) { + return result; + } + + /* Try to get from a channel (we are outside a channel) */ + if (!find_in_other_context) { + return NULL; + } + + list = hexchat_list_get(ph, "channels"); + if (list) { + ctx_current = hexchat_get_context(ph); + while (hexchat_list_next(ph, list)) { + ctx_channel = (hexchat_context *) hexchat_list_str(ph, list, "context"); + + hexchat_set_context(ph, ctx_channel); + result = get_my_info(field, FALSE); + hexchat_set_context(ph, ctx_current); + + if (result) { + break; + } + } + hexchat_list_free(ph, list); + } + + return result; +} + +/** + * Retrive the prefix character for own nick in current context + * @return @ or + or NULL + */ +char *get_my_own_prefix(void) { + return get_my_info("prefix", FALSE); +} + +/** + * Retrive the mask for own nick in current context + * @return Host name in the form: user@host (or NULL if not known) + */ +char *get_my_own_host(void) { + return get_my_info("host", TRUE); +} + +/** + * Calculate the length of prefix for current user in current context + * + * @return Length of prefix + */ +int get_prefix_length(void) { + char *own_host; + int prefix_len = 0; + + /* ':! ' + 'nick' + 'ident@host', e.g. ':user!~name@mynet.com ' */ + prefix_len = 3 + strlen(hexchat_get_info(ph, "nick")); + own_host = get_my_own_host(); + if (own_host) { + prefix_len += strlen(own_host); + } else { + /* https://stackoverflow.com/questions/8724954/what-is-the-maximum-number-of-characters-for-a-host-name-in-unix */ + prefix_len += 64; + } + g_free(own_host); + + return prefix_len; +} + +/** + * Try to decrypt the first occurrence of fish message + * + * @param message Message to decrypt + * @param key Key of message + * @return Array of char with decrypted message or NULL. The returned string + * should be freed with g_free() when no longer needed. + */ +char *decrypt_raw_message(const char *message, const char *key) { + const char *prefixes[] = {"+OK ", "mcps ", NULL}; + char *start = NULL, *end = NULL; + char *left = NULL, *right = NULL; + char *encrypted = NULL, *decrypted = NULL; + int length = 0; + int index_prefix; + enum fish_mode mode; + GString *message_decrypted; + char *result = NULL; + + if (message == NULL || key == NULL) + return NULL; + + for (index_prefix = 0; index_prefix < 2; index_prefix++) { + start = g_strstr_len(message, strlen(message), prefixes[index_prefix]); + if (start) { + /* Length ALWAYS will be less that original message + * add '[CBC] ' length */ + message_decrypted = g_string_sized_new(strlen(message) + 6); + + /* Left part of message */ + left = g_strndup(message, start - message); + g_string_append(message_decrypted, left); + g_free(left); + + /* Encrypted part */ + start += strlen(prefixes[index_prefix]); + end = g_strstr_len(start, strlen(message), " "); + if (end) { + length = end - start; + right = end; + } + + if (length > 0) { + encrypted = g_strndup(start, length); + } else { + encrypted = g_strdup(start); + } + decrypted = fish_decrypt_from_nick(key, encrypted, &mode); + g_free(encrypted); + + if (decrypted == NULL) { + g_string_free(message_decrypted, TRUE); + return NULL; + } + + /* Add encrypted flag */ + g_string_append(message_decrypted, "["); + g_string_append(message_decrypted, fish_modes[mode]); + g_string_append(message_decrypted, "] "); + /* Decrypted message */ + g_string_append(message_decrypted, decrypted); + g_free(decrypted); + + /* Right part of message */ + if (right) { + g_string_append(message_decrypted, right); + } + + result = message_decrypted->str; + g_string_free(message_decrypted, FALSE); + return result; + } + } + + return NULL; +} + +/*static int handle_debug(char *word[], char *word_eol[], void *userdata) { + hexchat_printf(ph, "debug incoming: "); + for (size_t i = 1; word[i] != NULL && word[i][0] != '\0'; i++) { + hexchat_printf(ph, ">%s< ", word[i]); + } + hexchat_printf(ph, "\n"); + return HEXCHAT_EAT_NONE; +}*/ + +/** + * Called when a message is to be sent. + */ +static int handle_outgoing(char *word[], char *word_eol[], void *userdata) { + char *prefix; + enum fish_mode mode; + char *message; + GString *command; + GSList *encrypted_list, *encrypted_item; + + const char *channel = hexchat_get_info(ph, "channel"); + + /* Check if we can encrypt */ + if (!fish_nick_has_key(channel)) return HEXCHAT_EAT_NONE; + + command = g_string_new(""); + g_string_printf(command, "PRIVMSG %s :+OK ", channel); + + encrypted_list = fish_encrypt_for_nick(channel, word_eol[1], &mode, get_prefix_length() + command->len); + if (!encrypted_list) { + g_string_free(command, TRUE); + return HEXCHAT_EAT_NONE; + } + + /* Get prefix for own nick if any */ + prefix = get_my_own_prefix(); + + /* Add encrypted flag */ + message = g_strconcat("[", fish_modes[mode], "] ", word_eol[1], NULL); + + /* Display message */ + hexchat_emit_print(ph, "Your Message", hexchat_get_info(ph, "nick"), message, prefix, NULL); + g_free(message); + + /* Send encrypted messages */ + encrypted_item = encrypted_list; + while (encrypted_item) + { + hexchat_commandf(ph, "%s%s", command->str, (char *)encrypted_item->data); + + encrypted_item = encrypted_item->next; + } + + g_free(prefix); + g_string_free(command, TRUE); + g_slist_free_full(encrypted_list, g_free); + + return HEXCHAT_EAT_HEXCHAT; +} + +/** + * Called when a channel message or private message is received. + */ +static int handle_incoming(char *word[], char *word_eol[], hexchat_event_attrs *attrs, void *userdata) { + const char *prefix; + const char *command; + const char *recipient; + const char *raw_message = word_eol[1]; + char *sender_nick; + char *decrypted; + size_t parameters_offset; + GString *message; + + if (!irc_parse_message((const char **)word, &prefix, &command, ¶meters_offset)) + return HEXCHAT_EAT_NONE; + + /* Topic (command 332) has an extra parameter */ + if (!strcmp(command, "332")) + parameters_offset++; + + /* Extract sender nick and recipient nick/channel and try to decrypt */ + recipient = word[parameters_offset]; + decrypted = decrypt_raw_message(raw_message, recipient); + if (decrypted == NULL) { + sender_nick = irc_prefix_get_nick(prefix); + decrypted = decrypt_raw_message(raw_message, sender_nick); + g_free(sender_nick); + } + + /* Nothing to decrypt */ + if (decrypted == NULL) + return HEXCHAT_EAT_NONE; + + /* Build decrypted message */ + + /* decrypted + 'RECV ' + '@time=YYYY-MM-DDTHH:MM:SS.fffffZ ' */ + message = g_string_sized_new (strlen(decrypted) + 5 + 33); + g_string_append (message, "RECV "); + + if (attrs->server_time_utc) + { + GTimeVal tv = { (glong)attrs->server_time_utc, 0 }; + char *timestamp = g_time_val_to_iso8601 (&tv); + + g_string_append (message, "@time="); + g_string_append (message, timestamp); + g_string_append (message, " "); + g_free (timestamp); + } + + g_string_append (message, decrypted); + g_free(decrypted); + + /* Fake server message + * RECV command will throw this function again, if message have multiple + * encrypted data, we will decrypt all */ + hexchat_command(ph, message->str); + g_string_free (message, TRUE); + + return HEXCHAT_EAT_HEXCHAT; +} + +static int handle_keyx_notice(char *word[], char *word_eol[], void *userdata) { + const char *dh_message = word[4]; + const char *dh_pubkey = word[5]; + hexchat_context *query_ctx; + const char *prefix; + char *sender, *secret_key, *priv_key = NULL; + enum fish_mode mode = FISH_ECB_MODE; + + if (!*dh_message || !*dh_pubkey || strlen(dh_pubkey) != 181) + return HEXCHAT_EAT_NONE; + + if (!irc_parse_message((const char**)word, &prefix, NULL, NULL) || !prefix) + return HEXCHAT_EAT_NONE; + + sender = irc_prefix_get_nick(prefix); + query_ctx = find_context_on_network(sender); + if (query_ctx) + g_assert(hexchat_set_context(ph, query_ctx) == 1); + + dh_message++; /* : prefix */ + + if (g_strcmp0 (word[6], "CBC") == 0) + mode = FISH_CBC_MODE; + + if (!strcmp(dh_message, "DH1080_INIT")) { + char *pub_key; + + hexchat_printf(ph, "Received public key from %s (%s), sending mine...", sender, fish_modes[mode]); + if (dh1080_generate_key(&priv_key, &pub_key)) { + hexchat_commandf(ph, "quote NOTICE %s :DH1080_FINISH %s%s", sender, pub_key, (mode == FISH_CBC_MODE) ? " CBC" : ""); + g_free(pub_key); + } else { + hexchat_print(ph, "Failed to generate keys"); + goto cleanup; + } + } else if (!strcmp (dh_message, "DH1080_FINISH")) { + char *sender_lower = g_ascii_strdown(sender, -1); + /* FIXME: Properly respect irc casing */ + priv_key = g_hash_table_lookup(pending_exchanges, sender_lower); + g_hash_table_steal(pending_exchanges, sender_lower); + g_free(sender_lower); + + if (!priv_key) { + hexchat_printf(ph, "Received a key exchange response for unknown user: %s", sender); + goto cleanup; + } + } else { + /* Regular notice */ + g_free(sender); + return HEXCHAT_EAT_NONE; + } + + if (dh1080_compute_key(priv_key, dh_pubkey, &secret_key)) { + keystore_store_key(sender, secret_key, mode); + hexchat_printf(ph, "Stored new key for %s (%s)", sender, fish_modes[mode]); + g_free(secret_key); + } else { + hexchat_print(ph, "Failed to create secret key!"); + } + +cleanup: + g_free(sender); + g_free(priv_key); + return HEXCHAT_EAT_ALL; +} + +/** + * Command handler for /setkey + */ +static int handle_setkey(char *word[], char *word_eol[], void *userdata) { + const char *nick; + const char *key; + enum fish_mode mode; + + /* Check syntax */ + if (*word[2] == '\0') { + hexchat_printf(ph, "%s\n", usage_setkey); + return HEXCHAT_EAT_HEXCHAT; + } + + if (*word[3] == '\0') { + /* /setkey password */ + nick = hexchat_get_info(ph, "channel"); + key = word_eol[2]; + } else { + /* /setkey #channel password */ + nick = word[2]; + key = word_eol[3]; + } + + mode = FISH_ECB_MODE; + if (g_ascii_strncasecmp("cbc:", key, 4) == 0) { + key = key+4; + mode = FISH_CBC_MODE; + } else if (g_ascii_strncasecmp("ecb:", key, 4) == 0) { + key = key+4; + } + + /* Set password */ + if (keystore_store_key(nick, key, mode)) { + hexchat_printf(ph, "Stored key for %s (%s)\n", nick, fish_modes[mode]); + } else { + hexchat_printf(ph, "\00305Failed to store key in addon_fishlim.conf\n"); + } + + return HEXCHAT_EAT_HEXCHAT; +} + +/** + * Command handler for /delkey + */ +static int handle_delkey(char *word[], char *word_eol[], void *userdata) { + char *nick = NULL; + int ctx_type = 0; + + /* Delete key from input */ + if (*word[2] != '\0') { + nick = g_strstrip(g_strdup(word_eol[2])); + } else { /* Delete key from current context */ + nick = g_strdup(hexchat_get_info(ph, "channel")); + ctx_type = hexchat_list_int(ph, NULL, "type"); + + /* Only allow channel or dialog */ + if (ctx_type < 2 || ctx_type > 3) { + hexchat_printf(ph, "%s\n", usage_delkey); + return HEXCHAT_EAT_HEXCHAT; + } + } + + /* Delete the given nick from the key store */ + if (keystore_delete_nick(nick)) { + hexchat_printf(ph, "Deleted key for %s\n", nick); + } else { + hexchat_printf(ph, "\00305Failed to delete key in addon_fishlim.conf!\n"); + } + g_free(nick); + + return HEXCHAT_EAT_HEXCHAT; +} + +static int handle_keyx(char *word[], char *word_eol[], void *userdata) { + const char *target = word[2]; + hexchat_context *query_ctx = NULL; + char *pub_key, *priv_key; + int ctx_type; + + if (*target) + query_ctx = find_context_on_network(target); + else { + target = hexchat_get_info(ph, "channel"); + query_ctx = hexchat_get_context (ph); + } + + if (query_ctx) { + g_assert(hexchat_set_context(ph, query_ctx) == 1); + ctx_type = hexchat_list_int(ph, NULL, "type"); + } + + if ((query_ctx && ctx_type != 3) || (!query_ctx && !irc_is_query(target))) { + hexchat_print(ph, "You can only exchange keys with individuals"); + return HEXCHAT_EAT_ALL; + } + + if (dh1080_generate_key(&priv_key, &pub_key)) { + g_hash_table_replace (pending_exchanges, g_ascii_strdown(target, -1), priv_key); + + hexchat_commandf(ph, "quote NOTICE %s :DH1080_INIT %s CBC", target, pub_key); + hexchat_printf(ph, "Sent public key to %s (CBC), waiting for reply...", target); + + g_free(pub_key); + } else { + hexchat_print(ph, "Failed to generate keys"); + } + + return HEXCHAT_EAT_ALL; +} + +/** + * Command handler for /topic+ + */ +static int handle_crypt_topic(char *word[], char *word_eol[], void *userdata) { + const char *target; + const char *topic = word_eol[2]; + enum fish_mode mode; + GString *command; + GSList *encrypted_list; + + if (!*topic) { + hexchat_print(ph, usage_topic); + return HEXCHAT_EAT_ALL; + } + + if (hexchat_list_int(ph, NULL, "type") != 2) { + hexchat_printf(ph, "Please change to the channel window where you want to set the topic!"); + return HEXCHAT_EAT_ALL; + } + + target = hexchat_get_info(ph, "channel"); + + /* Check if we can encrypt */ + if (!fish_nick_has_key(target)) { + hexchat_printf(ph, "/topic+ error, no key found for %s", target); + return HEXCHAT_EAT_ALL; + } + + command = g_string_new(""); + g_string_printf(command, "TOPIC %s +OK ", target); + + encrypted_list = fish_encrypt_for_nick(target, topic, &mode, get_prefix_length() + command->len); + if (!encrypted_list) { + g_string_free(command, TRUE); + hexchat_printf(ph, "/topic+ error, can't encrypt %s", target); + return HEXCHAT_EAT_ALL; + } + + hexchat_commandf(ph, "%s%s", command->str, (char *) encrypted_list->data); + + g_string_free(command, TRUE); + g_slist_free_full(encrypted_list, g_free); + + return HEXCHAT_EAT_ALL; +} + +/** + * Command handler for /notice+ + */ +static int handle_crypt_notice(char *word[], char *word_eol[], void *userdata) { + const char *target = word[2]; + const char *notice = word_eol[3]; + char *notice_flag; + enum fish_mode mode; + GString *command; + GSList *encrypted_list, *encrypted_item; + + if (!*target || !*notice) { + hexchat_print(ph, usage_notice); + return HEXCHAT_EAT_ALL; + } + + /* Check if we can encrypt */ + if (!fish_nick_has_key(target)) { + hexchat_printf(ph, "/notice+ error, no key found for %s.", target); + return HEXCHAT_EAT_ALL; + } + + command = g_string_new(""); + g_string_printf(command, "quote NOTICE %s :+OK ", target); + + encrypted_list = fish_encrypt_for_nick(target, notice, &mode, get_prefix_length() + command->len); + if (!encrypted_list) { + g_string_free(command, TRUE); + hexchat_printf(ph, "/notice+ error, can't encrypt %s", target); + return HEXCHAT_EAT_ALL; + } + + notice_flag = g_strconcat("[", fish_modes[mode], "] ", notice, NULL); + hexchat_emit_print(ph, "Notice Send", target, notice_flag); + + /* Send encrypted messages */ + encrypted_item = encrypted_list; + while (encrypted_item) { + hexchat_commandf(ph, "%s%s", command->str, (char *) encrypted_item->data); + + encrypted_item = encrypted_item->next; + } + + g_free(notice_flag); + g_string_free(command, TRUE); + g_slist_free_full(encrypted_list, g_free); + + return HEXCHAT_EAT_ALL; +} + +/** + * Command handler for /msg+ + */ +static int handle_crypt_msg(char *word[], char *word_eol[], void *userdata) { + const char *target = word[2]; + const char *message = word_eol[3]; + char *message_flag; + char *prefix; + hexchat_context *query_ctx; + enum fish_mode mode; + GString *command; + GSList *encrypted_list, *encrypted_item; + + if (!*target || !*message) { + hexchat_print(ph, usage_msg); + return HEXCHAT_EAT_ALL; + } + + /* Check if we can encrypt */ + if (!fish_nick_has_key(target)) { + hexchat_printf(ph, "/msg+ error, no key found for %s", target); + return HEXCHAT_EAT_ALL; + } + + command = g_string_new(""); + g_string_printf(command, "PRIVMSG %s :+OK ", target); + + encrypted_list = fish_encrypt_for_nick(target, message, &mode, get_prefix_length() + command->len); + if (!encrypted_list) { + g_string_free(command, TRUE); + hexchat_printf(ph, "/msg+ error, can't encrypt %s", target); + return HEXCHAT_EAT_ALL; + } + + /* Send encrypted messages */ + encrypted_item = encrypted_list; + while (encrypted_item) { + hexchat_commandf(ph, "%s%s", command->str, (char *) encrypted_item->data); + + encrypted_item = encrypted_item->next; + } + + g_string_free(command, TRUE); + g_slist_free_full(encrypted_list, g_free); + + query_ctx = find_context_on_network(target); + if (query_ctx) { + g_assert(hexchat_set_context(ph, query_ctx) == 1); + + prefix = get_my_own_prefix(); + + /* Add encrypted flag */ + message_flag = g_strconcat("[", fish_modes[mode], "] ", message, NULL); + hexchat_emit_print(ph, "Your Message", hexchat_get_info(ph, "nick"), message_flag, prefix, NULL); + g_free(prefix); + g_free(message_flag); + } else { + hexchat_emit_print(ph, "Message Send", target, message); + } + + return HEXCHAT_EAT_ALL; +} + +static int handle_crypt_me(char *word[], char *word_eol[], void *userdata) { + const char *channel = hexchat_get_info(ph, "channel"); + enum fish_mode mode; + GString *command; + GSList *encrypted_list, *encrypted_item; + + /* Check if we can encrypt */ + if (!fish_nick_has_key(channel)) { + return HEXCHAT_EAT_NONE; + } + + command = g_string_new(""); + g_string_printf(command, "PRIVMSG %s :\001ACTION +OK ", channel); + + /* 2 = ' \001' */ + encrypted_list = fish_encrypt_for_nick(channel, word_eol[2], &mode, get_prefix_length() + command->len + 2); + if (!encrypted_list) { + g_string_free(command, TRUE); + hexchat_printf(ph, "/me error, can't encrypt %s", channel); + return HEXCHAT_EAT_ALL; + } + + hexchat_emit_print(ph, "Your Action", hexchat_get_info(ph, "nick"), word_eol[2], NULL); + + /* Send encrypted messages */ + encrypted_item = encrypted_list; + while (encrypted_item) { + hexchat_commandf(ph, "%s%s \001", command->str, (char *) encrypted_item->data); + + encrypted_item = encrypted_item->next; + } + + g_string_free(command, TRUE); + g_slist_free_full(encrypted_list, g_free); + + return HEXCHAT_EAT_ALL; +} + +/** + * Returns the plugin name version information. + */ +void hexchat_plugin_get_info(const char **name, const char **desc, + const char **version, void **reserved) { + *name = plugin_name; + *desc = plugin_desc; + *version = plugin_version; +} + +/** + * Plugin entry point. + */ +int hexchat_plugin_init(hexchat_plugin *plugin_handle, + const char **name, + const char **desc, + const char **version, + char *arg) { + ph = plugin_handle; + + /* Send our info to HexChat */ + *name = plugin_name; + *desc = plugin_desc; + *version = plugin_version; + + /* Register commands */ + hexchat_hook_command(ph, "SETKEY", HEXCHAT_PRI_NORM, handle_setkey, usage_setkey, NULL); + hexchat_hook_command(ph, "DELKEY", HEXCHAT_PRI_NORM, handle_delkey, usage_delkey, NULL); + hexchat_hook_command(ph, "KEYX", HEXCHAT_PRI_NORM, handle_keyx, usage_keyx, NULL); + hexchat_hook_command(ph, "TOPIC+", HEXCHAT_PRI_NORM, handle_crypt_topic, usage_topic, NULL); + hexchat_hook_command(ph, "NOTICE+", HEXCHAT_PRI_NORM, handle_crypt_notice, usage_notice, NULL); + hexchat_hook_command(ph, "MSG+", HEXCHAT_PRI_NORM, handle_crypt_msg, usage_msg, NULL); + hexchat_hook_command(ph, "ME", HEXCHAT_PRI_NORM, handle_crypt_me, NULL, NULL); + + /* Add handlers */ + hexchat_hook_command(ph, "", HEXCHAT_PRI_NORM, handle_outgoing, NULL, NULL); + hexchat_hook_server(ph, "NOTICE", HEXCHAT_PRI_HIGHEST, handle_keyx_notice, NULL); + hexchat_hook_server_attrs(ph, "NOTICE", HEXCHAT_PRI_NORM, handle_incoming, NULL); + hexchat_hook_server_attrs(ph, "PRIVMSG", HEXCHAT_PRI_NORM, handle_incoming, NULL); + /* hexchat_hook_server(ph, "RAW LINE", HEXCHAT_PRI_NORM, handle_debug, NULL); */ + hexchat_hook_server_attrs(ph, "TOPIC", HEXCHAT_PRI_NORM, handle_incoming, NULL); + hexchat_hook_server_attrs(ph, "332", HEXCHAT_PRI_NORM, handle_incoming, NULL); + + if (!fish_init()) + return 0; + + if (!dh1080_init()) + return 0; + + pending_exchanges = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); + + hexchat_printf(ph, "%s plugin loaded\n", plugin_name); + /* Return success */ + return 1; +} + +int hexchat_plugin_deinit(void) { + g_clear_pointer(&pending_exchanges, g_hash_table_destroy); + dh1080_deinit(); + fish_deinit(); + + hexchat_printf(ph, "%s plugin unloaded\n", plugin_name); + return 1; +} + diff --git a/plugins/fishlim/plugin_hexchat.h b/plugins/fishlim/plugin_hexchat.h new file mode 100644 index 0000000000000000000000000000000000000000..d619d239f094278f0a2e86fbc0d5b94e1e9d0175 --- /dev/null +++ b/plugins/fishlim/plugin_hexchat.h @@ -0,0 +1,32 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef PLUGIN_HEXCHAT_H +#define PLUGIN_HEXCHAT_H + +gchar *get_config_filename(void); +int irc_nick_cmp (const char *, const char *); + +#endif + diff --git a/plugins/fishlim/tests/meson.build b/plugins/fishlim/tests/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..1a0394a35e1bc011b5ac0d96f3c42b3e2c958c64 --- /dev/null +++ b/plugins/fishlim/tests/meson.build @@ -0,0 +1,16 @@ +fishlim_test_sources = [ + 'tests.c', + 'mock-keystore.c', + '../fish.c', + '../utils.c', +] + +fishlim_tests = executable('fishlim_tests', fishlim_test_sources, + dependencies: [libgio_dep, libssl_dep, hexchat_plugin_dep], + include_directories: include_directories('..'), +) + +test('Fishlim Tests', fishlim_tests, + protocol: 'tap', + timeout: 600, +) diff --git a/plugins/fishlim/tests/mock-keystore.c b/plugins/fishlim/tests/mock-keystore.c new file mode 100644 index 0000000000000000000000000000000000000000..57a988472bacb046231f71a6df7ec2e02078ff5e --- /dev/null +++ b/plugins/fishlim/tests/mock-keystore.c @@ -0,0 +1,51 @@ +/* + Copyright (c) 2010 Samuel Lidén Borell + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include "fish.h" + +/** + * Extracts a key from the key store file. + */ +char * +keystore_get_key(const char *nick, enum fish_mode *mode) +{ + return NULL; +} + +/** + * Sets a key in the key store file. + */ +gboolean +keystore_store_key(const char *nick, const char *key, enum fish_mode mode) +{ + return TRUE; +} + +/** + * Deletes a nick from the key store. + */ +gboolean +keystore_delete_nick(const char *nick) +{ + return TRUE; +} diff --git a/plugins/fishlim/tests/tests.c b/plugins/fishlim/tests/tests.c new file mode 100644 index 0000000000000000000000000000000000000000..553816d331a3999ec30bdb1df3f534ed5b0b6f49 --- /dev/null +++ b/plugins/fishlim/tests/tests.c @@ -0,0 +1,285 @@ +/* + Copyright (c) 2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include +#include + +#include "fish.h" +#include "utils.h" + +/** + * Auxiliary function: Generate a random string + * @param out Preallocated string to fill + * @param len Size of bytes to fill + */ +static void +random_string(char *out, size_t len) +{ + GRand *rand = NULL; + size_t i = 0; + + rand = g_rand_new(); + for (i = 0; i < len; ++i) { + out[i] = g_rand_int_range(rand, 1, 256); + } + + out[len] = 0; + + g_rand_free(rand); +} + +/** + * Check encrypt and decrypt in ECB mode + */ +static void +test_ecb(void) +{ + char *b64 = NULL; + char *de = NULL; + int key_len, message_len = 0; + char key[57]; + char message[1000]; + + /* Generate key 32–448 bits (Yes, I start with 8 bits) */ + for (key_len = 1; key_len < 57; ++key_len) { + + random_string(key, key_len); + + for (message_len = 1; message_len < 1000; ++message_len) { + random_string(message, message_len); + + /* Encrypt */ + b64 = fish_encrypt(key, key_len, message, message_len, FISH_ECB_MODE); + g_assert_nonnull(b64); + + /* Decrypt */ + /* Linear */ + de = fish_decrypt_str(key, key_len, b64, FISH_ECB_MODE); + g_assert_cmpstr (de, ==, message); + g_free(de); + + /* Mixed */ + de = fish_decrypt_str(key, key_len, b64, FISH_ECB_MODE); + g_assert_cmpstr (de, ==, message); + g_free(de); + + g_free(b64); + } + } +} + +/** + * Check encrypt and decrypt in CBC mode + */ +static void +test_cbc(void) +{ + char *b64 = NULL; + char *de = NULL; + int key_len, message_len = 0; + char key[57]; + char message[1000]; + + /* Generate key 32–448 bits (Yes, I start with 8 bits) */ + for (key_len = 1; key_len < 57; ++key_len) { + + random_string(key, key_len); + + for (message_len = 1; message_len < 1000; ++message_len) { + random_string(message, message_len); + + /* Encrypt */ + b64 = fish_encrypt(key, key_len, message, message_len, FISH_CBC_MODE); + g_assert_nonnull(b64); + + /* Decrypt */ + /* Linear */ + de = fish_decrypt_str(key, key_len, b64, FISH_CBC_MODE); + g_assert_cmpstr (de, ==, message); + g_free(de); + + g_free(b64); + } + } +} + +/** + * Check the calculation of final length from an encoded string in Base64 + */ +static void +test_base64_len (void) +{ + char *b64 = NULL; + char message[1000]; + int message_end = sizeof (message) - 1; + + random_string(message, message_end); + + for (; message_end >= 0; --message_end) { + message[message_end] = '\0'; /* Truncate instead of generating new strings */ + b64 = g_base64_encode((const unsigned char *) message, message_end); + g_assert_nonnull(b64); + g_assert_cmpuint(strlen(b64), == , base64_len(message_end)); + g_free(b64); + } +} + +/** + * Check the calculation of final length from an encoded string in BlowcryptBase64 + */ +static void +test_base64_fish_len (void) +{ + char *b64 = NULL; + int message_len = 0; + char message[1000]; + + for (message_len = 1; message_len < 1000; ++message_len) { + random_string(message, message_len); + b64 = fish_base64_encode(message, message_len); + g_assert_nonnull(b64); + g_assert_cmpuint(strlen(b64), == , base64_fish_len(message_len)); + g_free(b64); + } +} + +/** + * Check the calculation of final length from an encrypted string in ECB mode + */ +static void +test_base64_ecb_len(void) +{ + char *b64 = NULL; + int key_len, message_len = 0; + char key[57]; + char message[1000]; + + /* Generate key 32–448 bits (Yes, I start with 8 bits) */ + for (key_len = 1; key_len < 57; ++key_len) { + + random_string(key, key_len); + + for (message_len = 1; message_len < 1000; ++message_len) { + random_string(message, message_len); + b64 = fish_encrypt(key, key_len, message, message_len, FISH_ECB_MODE); + g_assert_nonnull(b64); + g_assert_cmpuint(strlen(b64), == , ecb_len(message_len)); + g_free(b64); + } + } +} + +/** + * Check the calculation of final length from an encrypted string in CBC mode + */ +static void +test_base64_cbc_len(void) +{ + char *b64 = NULL; + int key_len, message_len = 0; + char key[57]; + char message[1000]; + + /* Generate key 32–448 bits (Yes, I start with 8 bits) */ + for (key_len = 1; key_len < 57; ++key_len) { + + random_string(key, key_len); + + for (message_len = 1; message_len < 1000; ++message_len) { + random_string(message, message_len); + b64 = fish_encrypt(key, key_len, message, message_len, FISH_CBC_MODE); + g_assert_nonnull(b64); + g_assert_cmpuint(strlen(b64), == , cbc_len(message_len)); + g_free(b64); + } + } +} + +/** + * Check the calculation of length limit for a plaintext in each encryption mode + */ +static void +test_max_text_command_len(void) +{ + int max_encoded_len, plaintext_len; + enum fish_mode mode; + + for (max_encoded_len = 0; max_encoded_len < 10000; ++max_encoded_len) { + for (mode = FISH_ECB_MODE; mode <= FISH_CBC_MODE; ++mode) { + plaintext_len = max_text_command_len(max_encoded_len, mode); + g_assert_cmpuint(encoded_len(plaintext_len, mode), <= , max_encoded_len); + } + } +} + +/** + * Check the calculation of length limit for a plaintext in each encryption mode + */ +static void +test_foreach_utf8_data_chunks(void) +{ + GRand *rand = NULL; + GString *chunks = NULL; + int max_chunks_len, chunks_len; + char ascii_message[1001]; + char *data_chunk = NULL; + + rand = g_rand_new(); + max_chunks_len = g_rand_int_range(rand, 2, 301); + random_string(ascii_message, 1000); + + data_chunk = ascii_message; + + chunks = g_string_new(NULL); + + while (foreach_utf8_data_chunks(data_chunk, max_chunks_len, &chunks_len)) { + g_string_append(chunks, g_strndup(data_chunk, chunks_len)); + /* Next chunk */ + data_chunk += chunks_len; + } + /* Check data loss */ + g_assert_cmpstr(chunks->str, == , ascii_message); + + g_string_free(chunks, TRUE); + g_rand_free (rand); +} + +int +main(int argc, char *argv[]) { + + g_test_init(&argc, &argv, NULL); + + g_test_add_func("/fishlim/ecb", test_ecb); + g_test_add_func("/fishlim/cbc", test_cbc); + g_test_add_func("/fishlim/base64_len", test_base64_len); + g_test_add_func("/fishlim/base64_fish_len", test_base64_fish_len); + g_test_add_func("/fishlim/base64_ecb_len", test_base64_ecb_len); + g_test_add_func("/fishlim/base64_cbc_len", test_base64_cbc_len); + g_test_add_func("/fishlim/max_text_command_len", test_max_text_command_len); + g_test_add_func("/fishlim/foreach_utf8_data_chunks", test_foreach_utf8_data_chunks); + + fish_init(); + int ret = g_test_run(); + fish_deinit(); + return ret; +} diff --git a/plugins/fishlim/utils.c b/plugins/fishlim/utils.c new file mode 100644 index 0000000000000000000000000000000000000000..17ed4c2ef250a6e1378bc3a5aa4316072dd175de --- /dev/null +++ b/plugins/fishlim/utils.c @@ -0,0 +1,151 @@ +/* + + Copyright (c) 2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include + +#include "utils.h" +#include "fish.h" + +/** + * Calculate the length of Base64-encoded string + * + * @param plaintext_len Size of clear text to encode + * @return Size of encoded string + */ +unsigned long base64_len(size_t plaintext_len) { + int length_unpadded = (4 * plaintext_len) / 3; + /* Add padding */ + return length_unpadded % 4 != 0 ? length_unpadded + (4 - length_unpadded % 4) : length_unpadded; +} + +/** + * Calculate the length of BlowcryptBase64-encoded string + * + * @param plaintext_len Size of clear text to encode + * @return Size of encoded string + */ +unsigned long base64_fish_len(size_t plaintext_len) { + int length_unpadded = (12 * plaintext_len) / 8; + /* Add padding */ + return length_unpadded % 12 != 0 ? length_unpadded + (12 - length_unpadded % 12) : length_unpadded; +} + +/** + * Calculate the length of fish-encrypted string in CBC mode + * + * @param plaintext_len Size of clear text to encode + * @return Size of encoded string + */ +unsigned long cbc_len(size_t plaintext_len) { + /*IV + DATA + Zero Padding */ + return base64_len(8 + (plaintext_len % 8 != 0 ? plaintext_len + 8 - (plaintext_len % 8) : plaintext_len)); +} + +/** + * Calculate the length of fish-encrypted string in ECB mode + * + * @param plaintext_len Size of clear text to encode + * @return Size of encoded string + */ +unsigned long ecb_len(size_t plaintext_len) { + return base64_fish_len(plaintext_len); +} + +/** + * Calculate the length of encrypted string in 'mode' mode + * + * @param plaintext_len Length of plaintext + * @param mode Encryption mode + * @return Size of encoded string + */ +unsigned long encoded_len(size_t plaintext_len, enum fish_mode mode) { + switch (mode) { + + case FISH_CBC_MODE: + return cbc_len(plaintext_len); + break; + + case FISH_ECB_MODE: + return ecb_len(plaintext_len); + } + + return 0; +} + +/** + * Determine the maximum length of plaintext for a 'max_len' limit taking care the overload of encryption + * + * @param max_len Limit for plaintext + * @param mode Encryption mode + * @return Maximum allowed plaintext length + */ +int max_text_command_len(size_t max_len, enum fish_mode mode) { + int len; + + for (len = max_len; encoded_len(len, mode) > max_len; --len); + return len; +} + +/** + * Iterate over 'data' in chunks of 'max_chunk_len' taking care the UTF-8 characters + * + * @param data Data to iterate + * @param max_chunk_len Size of biggest chunk + * @param [out] chunk_len Current chunk length + * @return Pointer to current chunk position or NULL if not have more chunks + */ +const char *foreach_utf8_data_chunks(const char *data, int max_chunk_len, int *chunk_len) { + int data_len, last_chunk_len = 0; + + if (!*data) { + return NULL; + } + + /* Last chunk of data */ + data_len = strlen(data); + if (data_len <= max_chunk_len) { + *chunk_len = data_len; + return data; + } + + *chunk_len = 0; + const char *utf8_character = data; + + /* Not valid UTF-8, but maybe valid text, just split into max length */ + if (!g_utf8_validate(data, -1, NULL)) { + *chunk_len = max_chunk_len; + return utf8_character; + } + + while (*utf8_character && *chunk_len <= max_chunk_len) { + last_chunk_len = *chunk_len; + *chunk_len = (g_utf8_next_char(utf8_character) - data) * sizeof(*utf8_character); + utf8_character = g_utf8_next_char(utf8_character); + } + + /* We need the previous length before overflow the limit */ + *chunk_len = last_chunk_len; + + return utf8_character; +} \ No newline at end of file diff --git a/plugins/fishlim/utils.h b/plugins/fishlim/utils.h new file mode 100644 index 0000000000000000000000000000000000000000..623c67a49d415d3508feff9416e4d1cbadad399e --- /dev/null +++ b/plugins/fishlim/utils.h @@ -0,0 +1,39 @@ +/* + + Copyright (c) 2020 + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef PLUGIN_HEXCHAT_FISHLIM_UTILS_H +#define PLUGIN_HEXCHAT_FISHLIM_UTILS_H + +#include +#include "fish.h" + +unsigned long base64_len(size_t plaintext_len); +unsigned long base64_fish_len(size_t plaintext_len); +unsigned long cbc_len(size_t plaintext_len); +unsigned long ecb_len(size_t plaintext_len); +unsigned long encoded_len(size_t plaintext_len, enum fish_mode mode); +int max_text_command_len(size_t max_len, enum fish_mode mode); +const char *foreach_utf8_data_chunks(const char *data, int max_chunk_len, int *chunk_len); + +#endif \ No newline at end of file diff --git a/plugins/lua/lua.c b/plugins/lua/lua.c new file mode 100644 index 0000000000000000000000000000000000000000..f8f051f45ebd94805b7b5daae30c299db701d0f1 --- /dev/null +++ b/plugins/lua/lua.c @@ -0,0 +1,1771 @@ +/* + * Copyright (c) 2015-2016 mniip + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT + * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include +#include + +#include +#include +#include + +#include +#include + +#ifndef G_OS_WIN32 +#include +#endif + +#include + +#define WORD_ARRAY_LEN 32 + +static char plugin_name[] = "Lua"; +static char plugin_description[] = "Lua scripting interface"; +static char plugin_version[16] = "1.3"; + +static char console_tab[] = ">>lua<<"; +static char command_help[] = + "Usage: /lua load \n" + " unload \n" + " reload \n" + " exec \n" + " inject \n" + " reset\n" + " list\n" + " console"; + +static char registry_field[] = "plugin"; + +static hexchat_plugin *ph; + +#if LUA_VERSION_NUM < 502 +#define lua_rawlen lua_objlen +#define luaL_setfuncs(L, r, n) luaL_register(L, NULL, r) +#endif + +typedef struct +{ + hexchat_hook *hook; + lua_State *state; + int ref; +} +hook_info; + +typedef struct +{ + char *name; + char *description; + char *version; + hexchat_plugin *handle; + char *filename; + lua_State *state; + GPtrArray *hooks; + GPtrArray *unload_hooks; + int traceback; + int status; +} +script_info; + +#define STATUS_ACTIVE 1 +#define STATUS_DEFERRED_UNLOAD 2 +#define STATUS_DEFERRED_RELOAD 4 + +static void check_deferred(script_info *info); + +static inline script_info *get_info(lua_State *L) +{ + script_info *info; + + lua_getfield(L, LUA_REGISTRYINDEX, registry_field); + info = lua_touserdata(L, -1); + lua_pop(L, 1); + + return info; +} + +static int api_hexchat_register(lua_State *L) +{ + char const *name, *version, *description; + script_info *info = get_info(L); + if(info->name) + return luaL_error(L, "script is already registered as '%s'", info->name); + + name = luaL_checkstring(L, 1); + version = luaL_checkstring(L, 2); + description = luaL_checkstring(L, 3); + + info->name = g_strdup(name); + info->description = g_strdup(description); + info->version = g_strdup(version); + info->handle = hexchat_plugingui_add(ph, info->filename, info->name, info->description, info->version, NULL); + + return 0; +} + +static int api_hexchat_command(lua_State *L) +{ + hexchat_command(ph, luaL_checkstring(L, 1)); + return 0; +} + +static int tostring(lua_State *L, int n) +{ + luaL_checkany(L, n); + switch (lua_type(L, n)) + { + case LUA_TNUMBER: + lua_pushstring(L, lua_tostring(L, n)); + break; + case LUA_TSTRING: + lua_pushvalue(L, n); + break; + case LUA_TBOOLEAN: + lua_pushstring(L, (lua_toboolean(L, n) ? "true" : "false")); + break; + case LUA_TNIL: + lua_pushliteral(L, "nil"); + break; + default: + lua_pushfstring(L, "%s: %p", luaL_typename(L, n), lua_topointer(L, n)); + break; + } + return 1; +} + +static int api_hexchat_print(lua_State *L) +{ + int i, args = lua_gettop(L); + luaL_Buffer b; + luaL_buffinit(L, &b); + for(i = 1; i <= args; i++) + { + if(i != 1) + luaL_addstring(&b, " "); + tostring(L, i); + luaL_addvalue(&b); + } + luaL_pushresult(&b); + hexchat_print(ph, lua_tostring(L, -1)); + return 0; +} + +static int api_hexchat_emit_print(lua_State *L) +{ + hexchat_emit_print(ph, luaL_checkstring(L, 1), luaL_optstring(L, 2, NULL), luaL_optstring(L, 3, NULL), luaL_optstring(L, 4, NULL), luaL_optstring(L, 5, NULL), luaL_optstring(L, 6, NULL), NULL); + return 0; +} + +static int api_hexchat_emit_print_attrs(lua_State *L) +{ + hexchat_event_attrs *attrs = *(hexchat_event_attrs **)luaL_checkudata(L, 1, "attrs"); + hexchat_emit_print_attrs(ph, attrs, luaL_checkstring(L, 2), luaL_optstring(L, 3, NULL), luaL_optstring(L, 4, NULL), luaL_optstring(L, 5, NULL), luaL_optstring(L, 6, NULL), luaL_optstring(L, 7, NULL), NULL); + return 0; +} + +static int api_hexchat_send_modes(lua_State *L) +{ + size_t i, n; + int modes; + char const *mode; + char const **targets; + + luaL_checktype(L, 1, LUA_TTABLE); + n = lua_rawlen(L, 1); + mode = luaL_checkstring(L, 2); + if(strlen(mode) != 2) + return luaL_argerror(L, 2, "expected sign followed by a mode letter"); + modes = luaL_optinteger(L, 3, 0); + targets = g_new(char const *, n); + + for(i = 0; i < n; i++) + { + lua_rawgeti(L, 1, i + 1); + if(lua_type(L, -1) != LUA_TSTRING) + { + g_free(targets); + return luaL_argerror(L, 1, "expected an array of strings"); + } + targets[i] = lua_tostring(L, -1); + lua_pop(L, 1); + } + hexchat_send_modes(ph, targets, n, modes, mode[0], mode[1]); + g_free(targets); + return 0; +} + +static int api_hexchat_nickcmp(lua_State *L) +{ + lua_pushinteger(L, hexchat_nickcmp(ph, luaL_checkstring(L, 1), luaL_checkstring(L, 2))); + return 1; +} + +static int api_hexchat_strip(lua_State *L) +{ + size_t len; + char const *text; + gboolean leave_colors, leave_attrs; + char *result; + + luaL_checktype(L, 1, LUA_TSTRING); + text = lua_tolstring(L, 1, &len); + leave_colors = lua_toboolean(L, 2); + leave_attrs = lua_toboolean(L, 3); + result = hexchat_strip(ph, text, len, (leave_colors ? 0 : 1) | (leave_attrs ? 0 : 2)); + if(result) + { + lua_pushstring(L, result); + hexchat_free(ph, result); + return 1; + } + return 0; +} + +static void register_hook(hook_info *hook) +{ + script_info *info = get_info(hook->state); + g_ptr_array_add(info->hooks, hook); +} + +static void free_hook(hook_info *hook) +{ + if(hook->state) + luaL_unref(hook->state, LUA_REGISTRYINDEX, hook->ref); + if(hook->hook) + hexchat_unhook(ph, hook->hook); + g_free(hook); +} + +static int unregister_hook(hook_info *hook) +{ + script_info *info = get_info(hook->state); + + if(g_ptr_array_remove_fast(info->hooks, hook)) + return 1; + + if(g_ptr_array_remove_fast(info->unload_hooks, hook)) + return 1; + + return 0; +} + +static int api_command_closure(char *word[], char *word_eol[], void *udata) +{ + int base, i, ret; + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word[i]); + lua_rawseti(L, -2, i); + } + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word_eol[i]); + lua_rawseti(L, -2, i); + } + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 2, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in command hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return HEXCHAT_EAT_NONE; + } + ret = lua_tointeger(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_command(lua_State *L) +{ + hook_info *info, **u; + char const *command, *help; + int ref, pri; + + command = luaL_optstring(L, 1, ""); + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + help = luaL_optstring(L, 3, NULL); + pri = luaL_optinteger(L, 4, HEXCHAT_PRI_NORM); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_command(ph, command, pri, api_command_closure, help, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static int api_print_closure(char *word[], void *udata) +{ + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + int i, j, base, ret; + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + + for(j = 31; j >= 1; j--) + { + if(*word[j]) + break; + } + lua_newtable(L); + for(i = 1; i <= j; i++) + { + lua_pushstring(L, word[i]); + lua_rawseti(L, -2, i); + } + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 1, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in print hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return HEXCHAT_EAT_NONE; + } + ret = lua_tointeger(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_print(lua_State *L) +{ + char const *event = luaL_checkstring(L, 1); + hook_info *info, **u; + int ref, pri; + + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + pri = luaL_optinteger(L, 3, HEXCHAT_PRI_NORM); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_print(ph, event, pri, api_print_closure, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static hexchat_event_attrs *event_attrs_copy(const hexchat_event_attrs *attrs) +{ + hexchat_event_attrs *copy = hexchat_event_attrs_create(ph); + copy->server_time_utc = attrs->server_time_utc; + return copy; +} + +static int api_print_attrs_closure(char *word[], hexchat_event_attrs *attrs, void *udata) +{ + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + int base, i, j, ret; + hexchat_event_attrs **u; + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + for(j = 31; j >= 1; j--) + { + if(*word[j]) + break; + } + lua_newtable(L); + for(i = 1; i <= j; i++) + { + lua_pushstring(L, word[i]); + lua_rawseti(L, -2, i); + } + u = lua_newuserdata(L, sizeof(hexchat_event_attrs *)); + *u = event_attrs_copy(attrs); + luaL_newmetatable(L, "attrs"); + lua_setmetatable(L, -2); + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 2, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in print_attrs hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return HEXCHAT_EAT_NONE; + } + ret = lua_tointeger(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_print_attrs(lua_State *L) +{ + hook_info *info, **u; + int ref, pri; + char const *event = luaL_checkstring(L, 1); + + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + pri = luaL_optinteger(L, 3, HEXCHAT_PRI_NORM); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_print_attrs(ph, event, pri, api_print_attrs_closure, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static int api_server_closure(char *word[], char *word_eol[], void *udata) +{ + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + int base, i, ret; + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word[i]); + lua_rawseti(L, -2, i); + } + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word_eol[i]); + lua_rawseti(L, -2, i); + } + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 2, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in server hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return HEXCHAT_EAT_NONE; + } + ret = lua_tointeger(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_server(lua_State *L) +{ + char const *command = luaL_optstring(L, 1, "RAW LINE"); + hook_info *info, **u; + int ref, pri; + + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + pri = luaL_optinteger(L, 3, HEXCHAT_PRI_NORM); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_server(ph, command, pri, api_server_closure, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static int api_server_attrs_closure(char *word[], char *word_eol[], hexchat_event_attrs *attrs, void *udata) +{ + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + int base, i, ret; + hexchat_event_attrs **u; + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word[i]); + lua_rawseti(L, -2, i); + } + lua_newtable(L); + for(i = 1; i < WORD_ARRAY_LEN && *word_eol[i]; i++) + { + lua_pushstring(L, word_eol[i]); + lua_rawseti(L, -2, i); + } + + u = lua_newuserdata(L, sizeof(hexchat_event_attrs *)); + *u = event_attrs_copy(attrs); + luaL_newmetatable(L, "attrs"); + lua_setmetatable(L, -2); + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 3, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in server_attrs hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return HEXCHAT_EAT_NONE; + } + ret = lua_tointeger(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_server_attrs(lua_State *L) +{ + char const *command = luaL_optstring(L, 1, "RAW LINE"); + int ref, pri; + hook_info *info, **u; + + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + pri = luaL_optinteger(L, 3, HEXCHAT_PRI_NORM); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_server_attrs(ph, command, pri, api_server_attrs_closure, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static int api_timer_closure(void *udata) +{ + hook_info *info = udata; + lua_State *L = info->state; + script_info *script = get_info(L); + int base, ret; + + lua_rawgeti(L, LUA_REGISTRYINDEX, script->traceback); + base = lua_gettop(L); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->ref); + script->status |= STATUS_ACTIVE; + if(lua_pcall(L, 0, 1, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error in timer hook: %s", error ? error : "(non-string error)"); + check_deferred(script); + return 0; + } + ret = lua_toboolean(L, -1); + lua_pop(L, 2); + check_deferred(script); + return ret; +} + +static int api_hexchat_hook_timer(lua_State *L) +{ + int ref, timeout = luaL_checkinteger (L, 1); + hook_info *info, **u; + + lua_pushvalue(L, 2); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = hexchat_hook_timer(ph, timeout, api_timer_closure, info); + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + register_hook(info); + return 1; +} + +static int api_hexchat_hook_unload(lua_State *L) +{ + script_info *script; + hook_info *info, **u; + int ref; + + lua_pushvalue(L, 1); + ref = luaL_ref(L, LUA_REGISTRYINDEX); + info = g_new(hook_info, 1); + info->state = L; + info->ref = ref; + info->hook = NULL; + u = lua_newuserdata(L, sizeof(hook_info *)); + *u = info; + luaL_newmetatable(L, "hook"); + lua_setmetatable(L, -2); + script = get_info(info->state); + + g_ptr_array_add(script->unload_hooks, info); + return 1; +} + +static int api_hexchat_unhook(lua_State *L) +{ + hook_info **info = (hook_info **)luaL_checkudata(L, 1, "hook"); + if(*info) + { + unregister_hook(*info); + *info = 0; + return 0; + } + else + { + tostring(L, 1); + return luaL_error(L, "hook %s is already unhooked", lua_tostring(L, -1)); + } +} + +static int api_hexchat_find_context(lua_State *L) +{ + char const *server = luaL_optstring(L, 1, NULL); + char const *channel = luaL_optstring(L, 2, NULL); + hexchat_context *context = hexchat_find_context(ph, server, channel); + if(context) + { + hexchat_context **u = lua_newuserdata(L, sizeof(hexchat_context *)); + *u = context; + luaL_newmetatable(L, "context"); + lua_setmetatable(L, -2); + return 1; + } + else + { + lua_pushnil(L); + return 1; + } +} + +static int api_hexchat_get_context(lua_State *L) +{ + hexchat_context *context = hexchat_get_context(ph); + hexchat_context **u = lua_newuserdata(L, sizeof(hexchat_context *)); + *u = context; + luaL_newmetatable(L, "context"); + lua_setmetatable(L, -2); + return 1; +} + +static int api_hexchat_set_context(lua_State *L) +{ + hexchat_context *context = *(hexchat_context **)luaL_checkudata(L, 1, "context"); + int success = hexchat_set_context(ph, context); + lua_pushboolean(L, success); + return 1; +} + +static int wrap_context_closure(lua_State *L) +{ + hexchat_context *old, *context = *(hexchat_context **)luaL_checkudata(L, 1, "context"); + lua_pushvalue(L, lua_upvalueindex(1)); + lua_replace(L, 1); + old = hexchat_get_context(ph); + if(!hexchat_set_context(ph, context)) + return luaL_error(L, "could not switch into context"); + lua_call(L, lua_gettop(L) - 1, LUA_MULTRET); + hexchat_set_context(ph, old); + return lua_gettop(L); +} + +static inline void wrap_context(lua_State *L, char const *field, lua_CFunction func) +{ + lua_pushcfunction(L, func); + lua_pushcclosure(L, wrap_context_closure, 1); + lua_setfield(L, -2, field); +} + +static int api_hexchat_context_meta_eq(lua_State *L) +{ + hexchat_context *this = *(hexchat_context **)luaL_checkudata(L, 1, "context"); + hexchat_context *that = *(hexchat_context **)luaL_checkudata(L, 2, "context"); + lua_pushboolean(L, this == that); + return 1; +} + +static int api_hexchat_get_info(lua_State *L) +{ + char const *key = luaL_checkstring(L, 1); + char const *data = hexchat_get_info(ph, key); + if(data) + { + if(!strcmp(key, "gtkwin_ptr") || !strcmp(key, "win_ptr")) + lua_pushlightuserdata(L, (void *)data); + else + lua_pushstring(L, data); + return 1; + } + lua_pushnil(L); + return 1; +} + +static int api_hexchat_attrs(lua_State *L) +{ + hexchat_event_attrs *attrs = hexchat_event_attrs_create(ph); + hexchat_event_attrs **u = lua_newuserdata(L, sizeof(hexchat_event_attrs *)); + *u = attrs; + luaL_newmetatable(L, "attrs"); + lua_setmetatable(L, -2); + return 1; +} + +static int api_iterate_closure(lua_State *L) +{ + hexchat_list *list = *(hexchat_list **)luaL_checkudata(L, lua_upvalueindex(1), "list"); + if(hexchat_list_next(ph, list)) + { + lua_pushvalue(L, lua_upvalueindex(1)); + return 1; + } + else + return 0; +} + +static int api_hexchat_iterate(lua_State *L) +{ + char const *name = luaL_checkstring(L, 1); + hexchat_list *list = hexchat_list_get(ph, name); + if(list) + { + hexchat_list **u = lua_newuserdata(L, sizeof(hexchat_list *)); + *u = list; + luaL_newmetatable(L, "list"); + lua_setmetatable(L, -2); + lua_pushcclosure(L, api_iterate_closure, 1); + return 1; + } + else + return luaL_argerror(L, 1, "invalid list name"); +} + +static int api_hexchat_prefs_meta_index(lua_State *L) +{ + char const *key = luaL_checkstring(L, 2); + char const *string; + int number; + int ret = hexchat_get_prefs(ph, key, &string, &number); + switch(ret) + { + case 0: + lua_pushnil(L); + return 1; + case 1: + lua_pushstring(L, string); + return 1; + case 2: + lua_pushnumber(L, number); + return 1; + case 3: + lua_pushboolean(L, number); + return 1; + default: + return 0; + } +} + +static int api_hexchat_prefs_meta_newindex(lua_State *L) +{ + return luaL_error(L, "hexchat.prefs is read-only"); +} + +static inline int list_marshal(lua_State *L, const char *key, hexchat_list *list) +{ + char const *str = hexchat_list_str(ph, list, key); + int number; + if(str) + { + if(!strcmp(key, "context")) + { + hexchat_context **u = lua_newuserdata(L, sizeof(hexchat_context *)); + *u = (hexchat_context *)str; + luaL_newmetatable(L, "context"); + lua_setmetatable(L, -2); + return 1; + } + lua_pushstring(L, str); + return 1; + } + number = hexchat_list_int(ph, list, key); + if(number != -1) + { + lua_pushinteger(L, number); + return 1; + } + if (list != NULL) + { + time_t tm = hexchat_list_time(ph, list, key); + if(tm != -1) + { + lua_pushinteger(L, tm); + return 1; + } + } + + lua_pushnil(L); + return 1; +} + +static int api_hexchat_props_meta_index(lua_State *L) +{ + char const *key = luaL_checkstring(L, 2); + return list_marshal(L, key, NULL); +} + +static int api_hexchat_props_meta_newindex(lua_State *L) +{ + return luaL_error(L, "hexchat.props is read-only"); +} + +static int api_hexchat_pluginprefs_meta_index(lua_State *L) +{ + script_info *script = get_info(L); + const char *key; + hexchat_plugin *h; + char str[512]; + int r; + + if(!script->name) + return luaL_error(L, "cannot use hexchat.pluginprefs before registering with hexchat.register"); + + key = luaL_checkstring(L, 2); + h = script->handle; + r = hexchat_pluginpref_get_int(h, key); + if(r != -1) + { + lua_pushinteger(L, r); + return 1; + } + if(hexchat_pluginpref_get_str(h, key, str)) + { + /* Wasn't actually a failure */ + if (!strcmp(str, "-1")) + lua_pushinteger(L, r); + else + lua_pushstring(L, str); + return 1; + } + lua_pushnil(L); + return 1; +} + +static int api_hexchat_pluginprefs_meta_newindex(lua_State *L) +{ + script_info *script = get_info(L); + const char *key; + hexchat_plugin *h; + + if(!script->name) + return luaL_error(L, "cannot use hexchat.pluginprefs before registering with hexchat.register"); + + key = luaL_checkstring(L, 2); + h = script->handle; + switch(lua_type(L, 3)) + { + case LUA_TSTRING: + hexchat_pluginpref_set_str(h, key, lua_tostring(L, 3)); + return 0; + case LUA_TNUMBER: + hexchat_pluginpref_set_int(h, key, lua_tointeger(L, 3)); + return 0; + case LUA_TNIL: case LUA_TNONE: + hexchat_pluginpref_delete(h, key); + return 0; + default: + return luaL_argerror(L, 3, "expected string, number, or nil"); + } +} + +static int api_hexchat_pluginprefs_meta_pairs_closure(lua_State *L) +{ + char *dest = lua_touserdata(L, lua_upvalueindex(1)); + hexchat_plugin *h = get_info(L)->handle; + + if(dest && *dest) + { + int r; + char str[512]; + char *key = dest; + + dest = strchr(dest, ','); + if(dest) + *(dest++) = 0; + lua_pushlightuserdata(L, dest); + lua_replace(L, lua_upvalueindex(1)); + lua_pushstring(L, key); + r = hexchat_pluginpref_get_int(h, key); + if(r != -1) + { + lua_pushinteger(L, r); + return 2; + } + if(hexchat_pluginpref_get_str(h, key, str)) + { + lua_pushstring(L, str); + return 2; + } + lua_pushnil(L); + return 2; + } + else + return 0; +} + +static int api_hexchat_pluginprefs_meta_pairs(lua_State *L) +{ + script_info *script = get_info(L); + char *dest; + hexchat_plugin *h; + + if(!script->name) + + return luaL_error(L, "cannot use hexchat.pluginprefs before registering with hexchat.register"); + + dest = lua_newuserdata(L, 4096); + + h = script->handle; + if(!hexchat_pluginpref_list(h, dest)) + strcpy(dest, ""); + lua_pushlightuserdata(L, dest); + lua_pushlightuserdata(L, dest); + lua_pushcclosure(L, api_hexchat_pluginprefs_meta_pairs_closure, 2); + lua_insert(L, -2); // Return the userdata (second return value from pairs), + // even though it's not used by the closure (first return + // value from pairs), so that Lua knows not to GC it. + return 2; +} + +static int api_attrs_meta_index(lua_State *L) +{ + hexchat_event_attrs *attrs = *(hexchat_event_attrs **)luaL_checkudata(L, 1, "attrs"); + char const *key = luaL_checkstring(L, 2); + if(!strcmp(key, "server_time_utc")) + { + lua_pushinteger(L, attrs->server_time_utc); + return 1; + } + else + { + lua_pushnil(L); + return 1; + } +} + +static int api_attrs_meta_newindex(lua_State *L) +{ + hexchat_event_attrs *attrs = *(hexchat_event_attrs **)luaL_checkudata(L, 1, "attrs"); + char const *key = luaL_checkstring(L, 2); + if(!strcmp(key, "server_time_utc")) + { + attrs->server_time_utc = luaL_checkinteger(L, 3); + return 0; + } + else + return 0; +} + +static int api_attrs_meta_gc(lua_State *L) +{ + hexchat_event_attrs *attrs = *(hexchat_event_attrs **)luaL_checkudata(L, 1, "attrs"); + hexchat_event_attrs_free(ph, attrs); + return 0; +} + +static int api_list_meta_index(lua_State *L) +{ + hexchat_list *list = *(hexchat_list **)luaL_checkudata(L, 1, "list"); + char const *key = luaL_checkstring(L, 2); + return list_marshal(L, key, list); +} + +static int api_list_meta_newindex(lua_State *L) +{ + return luaL_error(L, "hexchat.iterate list is read-only"); +} + +static int api_list_meta_gc(lua_State *L) +{ + hexchat_list *list = *(hexchat_list **)luaL_checkudata(L, 1, "list"); + hexchat_list_free(ph, list); + return 0; +} + +static luaL_Reg api_hexchat[] = { + {"register", api_hexchat_register}, + {"command", api_hexchat_command}, + {"print", api_hexchat_print}, + {"emit_print", api_hexchat_emit_print}, + {"emit_print_attrs", api_hexchat_emit_print_attrs}, + {"send_modes", api_hexchat_send_modes}, + {"nickcmp", api_hexchat_nickcmp}, + {"strip", api_hexchat_strip}, + {"get_info", api_hexchat_get_info}, + {"hook_command", api_hexchat_hook_command}, + {"hook_print", api_hexchat_hook_print}, + {"hook_print_attrs", api_hexchat_hook_print_attrs}, + {"hook_server", api_hexchat_hook_server}, + {"hook_server_attrs", api_hexchat_hook_server_attrs}, + {"hook_timer", api_hexchat_hook_timer}, + {"hook_unload", api_hexchat_hook_unload}, + {"unhook", api_hexchat_unhook}, + {"get_context", api_hexchat_get_context}, + {"find_context", api_hexchat_find_context}, + {"set_context", api_hexchat_set_context}, + {"attrs", api_hexchat_attrs}, + {"iterate", api_hexchat_iterate}, + {NULL, NULL} +}; + +static luaL_Reg api_hexchat_props_meta[] = { + {"__index", api_hexchat_props_meta_index}, + {"__newindex", api_hexchat_props_meta_newindex}, + {NULL, NULL} +}; + +static luaL_Reg api_hexchat_prefs_meta[] = { + {"__index", api_hexchat_prefs_meta_index}, + {"__newindex", api_hexchat_prefs_meta_newindex}, + {NULL, NULL} +}; + +static luaL_Reg api_hexchat_pluginprefs_meta[] = { + {"__index", api_hexchat_pluginprefs_meta_index}, + {"__newindex", api_hexchat_pluginprefs_meta_newindex}, + {"__pairs", api_hexchat_pluginprefs_meta_pairs}, + {NULL, NULL} +}; + +static luaL_Reg api_hook_meta_index[] = { + {"unhook", api_hexchat_unhook}, + {NULL, NULL} +}; + +static luaL_Reg api_attrs_meta[] = { + {"__index", api_attrs_meta_index}, + {"__newindex", api_attrs_meta_newindex}, + {"__gc", api_attrs_meta_gc}, + {NULL, NULL} +}; + +static luaL_Reg api_list_meta[] = { + {"__index", api_list_meta_index}, + {"__newindex", api_list_meta_newindex}, + {"__gc", api_list_meta_gc}, + {NULL, NULL} +}; + +static int luaopen_hexchat(lua_State *L) +{ + lua_newtable(L); + luaL_setfuncs(L, api_hexchat, 0); + + lua_pushinteger(L, HEXCHAT_PRI_HIGHEST); lua_setfield(L, -2, "PRI_HIGHEST"); + lua_pushinteger(L, HEXCHAT_PRI_HIGH); lua_setfield(L, -2, "PRI_HIGH"); + lua_pushinteger(L, HEXCHAT_PRI_NORM); lua_setfield(L, -2, "PRI_NORM"); + lua_pushinteger(L, HEXCHAT_PRI_LOW); lua_setfield(L, -2, "PRI_LOW"); + lua_pushinteger(L, HEXCHAT_PRI_LOWEST); lua_setfield(L, -2, "PRI_LOWEST"); + lua_pushinteger(L, HEXCHAT_EAT_NONE); lua_setfield(L, -2, "EAT_NONE"); + lua_pushinteger(L, HEXCHAT_EAT_HEXCHAT); lua_setfield(L, -2, "EAT_HEXCHAT"); + lua_pushinteger(L, HEXCHAT_EAT_PLUGIN); lua_setfield(L, -2, "EAT_PLUGIN"); + lua_pushinteger(L, HEXCHAT_EAT_ALL); lua_setfield(L, -2, "EAT_ALL"); + + lua_newtable(L); + lua_newtable(L); + luaL_setfuncs(L, api_hexchat_prefs_meta, 0); + lua_setmetatable(L, -2); + lua_setfield(L, -2, "prefs"); + + lua_newtable(L); + lua_newtable(L); + luaL_setfuncs(L, api_hexchat_props_meta, 0); + lua_setmetatable(L, -2); + lua_setfield(L, -2, "props"); + + lua_newtable(L); + lua_newtable(L); + luaL_setfuncs(L, api_hexchat_pluginprefs_meta, 0); + lua_setmetatable(L, -2); + lua_setfield(L, -2, "pluginprefs"); + + luaL_newmetatable(L, "hook"); + lua_newtable(L); + luaL_setfuncs(L, api_hook_meta_index, 0); + lua_setfield(L, -2, "__index"); + lua_pop(L, 1); + + luaL_newmetatable(L, "context"); + lua_newtable(L); + lua_pushcfunction(L, api_hexchat_set_context); + lua_setfield(L, -2, "set"); + wrap_context(L, "find_context", api_hexchat_find_context); + wrap_context(L, "print", api_hexchat_print); + wrap_context(L, "emit_print", api_hexchat_emit_print); + wrap_context(L, "emit_print_attrs", api_hexchat_emit_print_attrs); + wrap_context(L, "command", api_hexchat_command); + wrap_context(L, "nickcmp", api_hexchat_nickcmp); + wrap_context(L, "get_info", api_hexchat_get_info); + wrap_context(L, "iterate", api_hexchat_iterate); + lua_setfield(L, -2, "__index"); + lua_pushcfunction(L, api_hexchat_context_meta_eq); + lua_setfield(L, -2, "__eq"); + lua_pop(L, 1); + + + luaL_newmetatable(L, "attrs"); + luaL_setfuncs(L, api_attrs_meta, 0); + lua_pop(L, 1); + + luaL_newmetatable(L, "list"); + luaL_setfuncs(L, api_list_meta, 0); + lua_pop(L, 1); + + return 1; +} + +static int pairs_closure(lua_State *L) +{ + lua_settop(L, 1); + if(luaL_getmetafield(L, 1, "__pairs")) + { + lua_insert(L, 1); + lua_call(L, 1, LUA_MULTRET); + return lua_gettop(L); + } + else + { + lua_pushvalue(L, lua_upvalueindex(1)); + lua_insert(L, 1); + lua_call(L, 1, LUA_MULTRET); + return lua_gettop(L); + } +} + +static void patch_pairs(lua_State *L) +{ + lua_getglobal(L, "pairs"); + lua_pushcclosure(L, pairs_closure, 1); + lua_setglobal(L, "pairs"); +} + +static void patch_clibs(lua_State *L) +{ + lua_pushnil(L); + while(lua_next(L, LUA_REGISTRYINDEX)) + { + if(lua_type(L, -2) == LUA_TLIGHTUSERDATA && lua_type(L, -1) == LUA_TTABLE) + { + lua_setfield(L, LUA_REGISTRYINDEX, "_CLIBS"); + lua_pop(L, 1); + break; + } + lua_pop(L, 1); + } +} + +static GPtrArray *scripts; + +static char *expand_buffer = NULL; +static char const *expand_path(char const *path) +{ + if(g_path_is_absolute(path)) + return path; +#ifndef G_OS_WIN32 + if(path[0] == '~') + { + if(!path[1] || path[1] == '/') + { + g_free(expand_buffer); + expand_buffer = g_build_filename(g_get_home_dir(), path + 1, NULL); + return expand_buffer; + } + else + { + char *user = g_strdup(path + 1); + char *slash_pos = strchr(user, '/'); + struct passwd *pw; + if(slash_pos) + *slash_pos = 0; + pw = getpwnam(user); + g_free(user); + if(pw) + { + slash_pos = strchr(path, '/'); + if(!slash_pos) + return pw->pw_dir; + + g_free(expand_buffer); + expand_buffer = g_strconcat(pw->pw_dir, slash_pos, NULL); + return expand_buffer; + } + else + { + return path; + } + } + } + else +#endif + { + g_free(expand_buffer); + expand_buffer = g_build_filename(hexchat_get_info(ph, "configdir"), "addons", path, NULL); + return expand_buffer; + } +} + +static inline int is_lua_file(char const *file) +{ + return g_str_has_suffix(file, ".lua") || g_str_has_suffix(file, ".luac"); +} + +static void prepare_state(lua_State *L, script_info *info) +{ + luaL_openlibs(L); + if(LUA_VERSION_NUM < 502) + patch_pairs(L); + if(LUA_VERSION_NUM > 502) + patch_clibs(L); + lua_getglobal(L, "debug"); + lua_getfield(L, -1, "traceback"); + info->traceback = luaL_ref(L, LUA_REGISTRYINDEX); + lua_pop(L, 1); + lua_pushlightuserdata(L, info); + lua_setfield(L, LUA_REGISTRYINDEX, registry_field); + luaopen_hexchat(L); + lua_setglobal(L, "hexchat"); + lua_getglobal(L, "hexchat"); + lua_getfield(L, -1, "print"); + lua_setglobal(L, "print"); + lua_pop(L, 1); +} + +static void run_unload_hook(hook_info *hook, lua_State *L) +{ + int base = lua_gettop(L); + + lua_rawgeti(L, LUA_REGISTRYINDEX, hook->ref); + if(lua_pcall(L, 0, 0, base)) + { + char const *error = lua_tostring(L, -1); + hexchat_printf(ph, "Lua error in unload hook: %s", error ? error : "(non-string error)"); + } + lua_settop(L, base); +} + +static void run_unload_hooks(script_info *info, void *unused) +{ + lua_State *L = info->state; + lua_rawgeti(L, LUA_REGISTRYINDEX, info->traceback); + g_ptr_array_foreach(info->unload_hooks, (GFunc)run_unload_hook, L); + lua_pop(L, 1); +} + +static void destroy_script(script_info *info) +{ + if (info) + { + g_clear_pointer(&info->hooks, g_ptr_array_unref); + g_clear_pointer(&info->unload_hooks, g_ptr_array_unref); + g_clear_pointer(&info->state, lua_close); + if (info->handle) + hexchat_plugingui_remove(ph, info->handle); + g_free(info->filename); + g_free(info->name); + g_free(info->description); + g_free(info->version); + g_free(info); + } +} + +static script_info *create_script(char const *file) +{ + int base; + char *filename_fs; + lua_State *L; + script_info *info = g_new0(script_info, 1); + info->hooks = g_ptr_array_new_with_free_func((GDestroyNotify)free_hook); + info->unload_hooks = g_ptr_array_new_with_free_func((GDestroyNotify)free_hook); + info->filename = g_strdup(expand_path(file)); + L = luaL_newstate(); + info->state = L; + if(!L) + { + hexchat_print(ph, "\00304Could not allocate memory for the script"); + destroy_script(info); + return NULL; + } + prepare_state(L, info); + lua_rawgeti(L, LUA_REGISTRYINDEX, info->traceback); + base = lua_gettop(L); + filename_fs = g_filename_from_utf8(info->filename, -1, NULL, NULL, NULL); + if(!filename_fs) + { + hexchat_printf(ph, "Invalid filename: %s", info->filename); + destroy_script(info); + return NULL; + } + if(luaL_loadfile(L, filename_fs)) + { + g_free(filename_fs); + hexchat_printf(ph, "Lua syntax error: %s", luaL_optstring(L, -1, "")); + destroy_script(info); + return NULL; + } + g_free(filename_fs); + info->status |= STATUS_ACTIVE; + if(lua_pcall(L, 0, 0, base)) + { + char const *error = lua_tostring(L, -1); + hexchat_printf(ph, "Lua error: %s", error ? error : "(non-string error)"); + destroy_script(info); + return NULL; + } + lua_pop(L, 1); + if(!info->name) + { + hexchat_printf(ph, "Lua script didn't register with hexchat.register"); + destroy_script(info); + return NULL; + } + return info; +} + +static script_info *get_script_by_file(char const *filename) +{ + char const *expanded = expand_path(filename); + guint i; + for(i = 0; i < scripts->len; i++) + { + script_info *script = scripts->pdata[i]; + if(!strcmp(script->filename, expanded)) + { + return script; + } + } + + return NULL; +} + +static int load_script(char const *file) +{ + script_info *info = get_script_by_file(file); + + if (info != NULL) + { + hexchat_print(ph, "Lua script is already loaded"); + return 0; + } + + info = create_script(file); + if (info) + { + g_ptr_array_add(scripts, info); + check_deferred(info); + } + + return 1; +} + +static int unload_script(char const *filename) +{ + script_info *script = get_script_by_file(filename); + + if (!script) + return 0; + + if(script->status & STATUS_ACTIVE) + script->status |= STATUS_DEFERRED_UNLOAD; + else + { + run_unload_hooks(script, NULL); + g_ptr_array_remove_fast(scripts, script); + } + + return 1; + +} + +static int reload_script(char const *filename) +{ + script_info *script = get_script_by_file(filename); + + if (!script) + return 0; + + if(script->status & STATUS_ACTIVE) + { + script->status |= STATUS_DEFERRED_RELOAD; + } + else + { + char *filename = g_strdup(script->filename); + run_unload_hooks(script, NULL); + g_ptr_array_remove_fast(scripts, script); + load_script(filename); + g_free(filename); + } + + return 1; +} + +static void autoload_scripts(void) +{ + char *path = g_build_filename(hexchat_get_info(ph, "configdir"), "addons", NULL); + GDir *dir = g_dir_open(path, 0, NULL); + if(dir) + { + char const *filename; + while((filename = g_dir_read_name(dir))) + { + if(is_lua_file(filename)) + load_script(filename); + } + g_dir_close(dir); + } + g_free(path); +} + +static script_info *interp = NULL; +static void create_interpreter(void) +{ + lua_State *L; + interp = g_new0(script_info, 1); + interp->hooks = g_ptr_array_new_with_free_func((GDestroyNotify)free_hook); + interp->unload_hooks = g_ptr_array_new_with_free_func((GDestroyNotify)free_hook); + interp->name = "lua interpreter"; + interp->description = ""; + interp->version = ""; + interp->handle = ph; + interp->filename = ""; + L = luaL_newstate(); + interp->state = L; + if(!L) + { + hexchat_print(ph, "\00304Could not allocate memory for the interpreter"); + g_free(interp); + interp = NULL; + return; + } + prepare_state(L, interp); +} + +static void destroy_interpreter(void) +{ + if(interp) + { + g_clear_pointer(&interp->hooks, g_ptr_array_unref); + g_clear_pointer(&interp->unload_hooks, g_ptr_array_unref); + g_clear_pointer(&interp->state, lua_close); + g_clear_pointer(&interp, g_free); + } +} + +static void inject_string(script_info *info, char const *line) +{ + lua_State *L = info->state; + int base, top; + char *ret_line; + gboolean force_ret = FALSE; + + if(line[0] == '=') + { + line++; + force_ret = TRUE; + } + ret_line = g_strconcat("return ", line, NULL); + + lua_rawgeti(L, LUA_REGISTRYINDEX, info->traceback); + base = lua_gettop(L); + if(luaL_loadbuffer(L, ret_line, strlen(ret_line), "@interpreter")) + { + if(!force_ret) + lua_pop(L, 1); + if(force_ret || luaL_loadbuffer(L, line, strlen(line), "@interpreter")) + { + hexchat_printf(ph, "Lua syntax error: %s", luaL_optstring(L, -1, "")); + lua_pop(L, 2); + g_free(ret_line); + return; + } + } + g_free(ret_line); + info->status |= STATUS_ACTIVE; + if(lua_pcall(L, 0, LUA_MULTRET, base)) + { + char const *error = lua_tostring(L, -1); + lua_pop(L, 2); + hexchat_printf(ph, "Lua error: %s", error ? error : "(non-string error)"); + return; + } + top = lua_gettop(L); + if(top > base) + { + int i; + luaL_Buffer b; + luaL_buffinit(L, &b); + for(i = base + 1; i <= top; i++) + { + if(i != base + 1) + luaL_addstring(&b, " "); + tostring(L, i); + luaL_addvalue(&b); + } + luaL_pushresult(&b); + hexchat_print(ph, lua_tostring(L, -1)); + lua_pop(L, top - base + 1); + } + lua_pop(L, 1); + check_deferred(info); +} + +static int command_load(char *word[], char *word_eol[], void *userdata) +{ + if(is_lua_file(word[2])) + { + load_script(word[2]); + return HEXCHAT_EAT_ALL; + } + else + return HEXCHAT_EAT_NONE; +} + +static int command_unload(char *word[], char *word_eol[], void *userdata) +{ + if(unload_script(word[2])) + return HEXCHAT_EAT_ALL; + else + return HEXCHAT_EAT_NONE; +} + +static int command_reload(char *word[], char *word_eol[], void *userdata) +{ + if(reload_script(word[2])) + return HEXCHAT_EAT_ALL; + else + return HEXCHAT_EAT_NONE; +} + +static int command_console_exec(char *word[], char *word_eol[], void *userdata) +{ + char const *channel = hexchat_get_info(ph, "channel"); + if(channel && !strcmp(channel, console_tab)) + { + if(interp) + { + hexchat_printf(ph, "> %s", word_eol[1]); + inject_string(interp, word_eol[1]); + } + return HEXCHAT_EAT_ALL; + } + return HEXCHAT_EAT_NONE; +} + +static void check_deferred(script_info *info) +{ + info->status &= ~STATUS_ACTIVE; + if(info->status & STATUS_DEFERRED_UNLOAD) + { + run_unload_hooks(info, NULL); + g_ptr_array_remove_fast(scripts, info); + } + else if(info->status & STATUS_DEFERRED_RELOAD) + { + if(info == interp) + { + run_unload_hooks(interp, NULL); + destroy_interpreter(); + create_interpreter(); + } + else + { + char *filename = g_strdup(info->filename); + run_unload_hooks(info, NULL); + g_ptr_array_remove_fast(scripts, info); + load_script(filename); + g_free(filename); + } + } +} + +static int command_lua(char *word[], char *word_eol[], void *userdata) +{ + if(!strcmp(word[2], "load")) + { + load_script(word[3]); + } + else if(!strcmp(word[2], "unload")) + { + if(!unload_script(word[3])) + hexchat_printf(ph, "Could not find a script by the name '%s'", word[3]); + } + else if(!strcmp(word[2], "reload")) + { + if(!reload_script(word[3])) + hexchat_printf(ph, "Could not find a script by the name '%s'", word[3]); + } + else if(!strcmp(word[2], "exec")) + { + if(interp) + inject_string(interp, word_eol[3]); + } + else if(!strcmp(word[2], "inject")) + { + script_info *script = get_script_by_file(word[3]); + if (script) + { + inject_string(script, word_eol[4]); + } + else + { + hexchat_printf(ph, "Could not find a script by the name '%s'", word[3]); + } + } + else if(!strcmp(word[2], "reset")) + { + if(interp) + { + if(interp->status & STATUS_ACTIVE) + { + interp->status |= STATUS_DEFERRED_RELOAD; + } + else + { + run_unload_hooks(interp, NULL); + destroy_interpreter(); + create_interpreter(); + } + } + } + else if(!strcmp(word[2], "list")) + { + guint i; + hexchat_print(ph, + "Name Version Filename Description\n" + "---- ------- -------- -----------\n"); + for(i = 0; i < scripts->len; i++) + { + script_info *info = scripts->pdata[i]; + char *basename = g_path_get_basename(info->filename); + hexchat_printf(ph, "%-16s %-8s %-20s %-10s\n", info->name, info->version, + basename, info->description); + g_free(basename); + } + if(interp) + hexchat_printf(ph, "%-16s %-8s", interp->name, plugin_version); + } + else if(!strcmp(word[2], "console")) + { + hexchat_commandf(ph, "query %s", console_tab); + } + else + { + hexchat_command(ph, "help lua"); + } + return HEXCHAT_EAT_ALL; +} + +/* Reinitialization safegaurd */ +static int initialized = 0; + +G_MODULE_EXPORT int hexchat_plugin_init(hexchat_plugin *plugin_handle, char **name, char **description, char **version, char *arg) +{ + if(initialized != 0) + { + hexchat_print(plugin_handle, "Lua interface already loaded\n"); + return 0; + } + + if (g_str_has_prefix(LUA_VERSION, "Lua ")) + { + strcat(plugin_version, "/"); + g_strlcat(plugin_version, LUA_VERSION + 4, sizeof(plugin_version)); + } + + *name = plugin_name; + *description = plugin_description; + *version = plugin_version; + + ph = plugin_handle; + initialized = 1; + + hexchat_hook_command(ph, "", HEXCHAT_PRI_NORM, command_console_exec, NULL, NULL); + hexchat_hook_command(ph, "LOAD", HEXCHAT_PRI_NORM, command_load, NULL, NULL); + hexchat_hook_command(ph, "UNLOAD", HEXCHAT_PRI_NORM, command_unload, NULL, NULL); + hexchat_hook_command(ph, "RELOAD", HEXCHAT_PRI_NORM, command_reload, NULL, NULL); + hexchat_hook_command(ph, "lua", HEXCHAT_PRI_NORM, command_lua, command_help, NULL); + + hexchat_printf(ph, "%s version %s loaded.\n", plugin_name, plugin_version); + + scripts = g_ptr_array_new_with_free_func((GDestroyNotify)destroy_script); + create_interpreter(); + + if(!arg) + autoload_scripts(); + return 1; +} + +G_MODULE_EXPORT int hexchat_plugin_deinit(hexchat_plugin *plugin_handle) +{ + guint i; + gboolean active = FALSE; + for(i = 0; i < scripts->len; i++) + { + if(((script_info*)scripts->pdata[i])->status & STATUS_ACTIVE) + { + active = TRUE; + break; + } + } + if(interp && interp->status & STATUS_ACTIVE) + active = TRUE; + if(active) + { + hexchat_print(ph, "\00304Cannot unload the lua plugin while there are active states"); + return 0; + } + if(interp) + run_unload_hooks(interp, NULL); + destroy_interpreter(); + g_ptr_array_foreach(scripts, (GFunc)run_unload_hooks, NULL); + g_clear_pointer(&scripts, g_ptr_array_unref); + g_clear_pointer(&expand_buffer, g_free); + return 1; +} diff --git a/plugins/lua/lua.vcxproj b/plugins/lua/lua.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..5c0be68e8b8e644d23ff5a03ad8e1d233fb318b1 --- /dev/null +++ b/plugins/lua/lua.vcxproj @@ -0,0 +1,54 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4} + Win32Proj + lua + + + + + + + $(LuaOutput) + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);%(PreprocessorDefinitions) + $(Glib);$(LuaInclude);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + "$(LuaLib).lib";$(DepLibs);%(AdditionalDependencies) + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);%(PreprocessorDefinitions) + $(Glib);$(LuaInclude);..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + "$(LuaLib).lib";$(DepLibs);%(AdditionalDependencies) + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + + + + + + + \ No newline at end of file diff --git a/plugins/lua/lua.vcxproj.filters b/plugins/lua/lua.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..9b41ebc0015cf98f411ab8ccad8a3b8facd61bbd --- /dev/null +++ b/plugins/lua/lua.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + {f4eaf231-f095-42d3-8427-b2b6006cacb1} + + + {0166c0f9-7968-4a09-9ef5-a5179c7746eb} + + + + + + \ No newline at end of file diff --git a/plugins/lua/meson.build b/plugins/lua/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..7faa305458b75fccfb32f32f9029964c5746c3f6 --- /dev/null +++ b/plugins/lua/meson.build @@ -0,0 +1,12 @@ +if cc.get_id() == 'msvc' + lua_dep = cc.find_library('lua51') +else + lua_dep = dependency(get_option('with-lua')) +endif + +shared_module('lua', 'lua.c', + dependencies: [libgio_dep, hexchat_plugin_dep, lua_dep], + install: true, + install_dir: plugindir, + name_prefix: '', +) diff --git a/plugins/meson.build b/plugins/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..6d41182b490fa675276e95b70bbc3376c408039b --- /dev/null +++ b/plugins/meson.build @@ -0,0 +1,39 @@ +plugindir = join_paths(get_option('libdir'), 'hexchat/plugins') + +if host_machine.system() == 'windows' + if get_option('with-exec') + subdir('exec') + endif + + if get_option('with-upd') + subdir('upd') + endif + + if get_option('with-winamp') + subdir('winamp') + endif +endif + +if get_option('with-checksum') + subdir('checksum') +endif + +if get_option('with-fishlim') + subdir('fishlim') +endif + +if get_option('with-lua') != 'false' + subdir('lua') +endif + +if get_option('with-perl') != 'false' + subdir('perl') +endif + +if get_option('with-python') != 'false' + subdir('python') +endif + +if get_option('with-sysinfo') + subdir('sysinfo') +endif diff --git a/plugins/perl/generate_header b/plugins/perl/generate_header new file mode 100644 index 0000000000000000000000000000000000000000..7dd437ce076ab2a350d5a6c31f4d4ffe56c6b7d4 --- /dev/null +++ b/plugins/perl/generate_header @@ -0,0 +1,58 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +sub header { + my $file = shift; + open my $input, "<", $file or die "Couldn't open '$file':$!"; + my @file = <$input>; + close $file; + return toc(@file); +} + +sub toc { + my @lines = @_; + for( @lines ) { + if( /^\s*$/s ) { $_ = qq{"\\n"\n}; next; } + if( /^\s*#/ ) { $_ = qq{"\\n"\n}; next; } + s/\\/\\\\/g; # double the number of \'s + s/"/\\"/g; + s/^\s*/"/; + s/\n/\\n"\n/; + } + return @lines; +} + +for my $files ( + [ "hexchat.pm.h", # output file + "lib/HexChat.pm", # input files + "lib/Xchat.pm", + "lib/HexChat/Embed.pm", + "lib/HexChat/List/Network.pm", + "lib/HexChat/List/Network/Entry.pm", + "lib/HexChat/List/Network/AutoJoin.pm", + ], + [ "irc.pm.h", # output file + "lib/IRC.pm" # input file + ] +) { + my ($output,@inputs) = @$files; + + open my $header, ">", $output or die "Couldn't open '$output': $!"; + + print $header qq["BEGIN {\\n"\n]; + for my $input ( @inputs ) { + (my $trimmed = $input) =~ s{^lib/}{}; + print $header qq["\$INC{'$trimmed'} = 'Compiled into the plugin.';\\n"\n]; + } + print $header qq["}\\n"\n]; + + for my $input ( @inputs ) { + print $header qq["{\\n"\n]; + print $header qq{"#line 1 \\"$input\\"\\n"\n}; + print $header header( $input ); + print $header qq["}\\n"\n]; + } + close $header; +} diff --git a/plugins/perl/generate_header.py b/plugins/perl/generate_header.py new file mode 100755 index 0000000000000000000000000000000000000000..ba7e02a3669c293d256ea1b738d624e29c6c072c --- /dev/null +++ b/plugins/perl/generate_header.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import sys +from os.path import basename + +out_file = sys.argv[1] +in_files = sys.argv[2:] + + +def escape_perl(file): + ret = '' + for line in file: + # Escape " and \, strip empty space, shove in C strings. + ret += '"' + line.strip().replace('\\', '\\\\').replace('"', '\\"') + '\\n"\n' + return ret + + +with open(out_file, 'w') as o: + o.write('"BEGIN {\\n"\n') + for in_file in in_files: + o.write("\"$INC{{'{}'}} = 'Compiled into the plugin.';\\n\"\n".format(basename(in_file))) + o.write('"}\\n"\n') + + for in_file in in_files: + o.write('"{\\n"\n') + o.write('"#line 1 \\"{}\\"\\n"\n'.format(basename(in_file))) + with open(in_file) as i: + o.write(escape_perl(i)) + o.write('"}\\n"\n') diff --git a/plugins/perl/lib/HexChat.pm b/plugins/perl/lib/HexChat.pm new file mode 100644 index 0000000000000000000000000000000000000000..d428a30e3ec68f9191880fcc90d63655b553df42 --- /dev/null +++ b/plugins/perl/lib/HexChat.pm @@ -0,0 +1,556 @@ +$SIG{__WARN__} = sub { + my $message = shift @_; + my ($package) = caller; + + # redirect Gtk/Glib errors and warnings back to STDERR + my $message_levels = qr/ERROR|CRITICAL|WARNING|MESSAGE|INFO|DEBUG/i; + if( $message =~ /^(?:Gtk|GLib|Gdk)(?:-\w+)?-$message_levels/i ) { + print STDERR $message; + } else { + + if( defined &HexChat::Internal::print ) { + HexChat::print( $message ); + } else { + warn $message; + } + } +}; + +use File::Spec (); +use File::Basename (); +use File::Glob (); +use List::Util (); +use Symbol(); +use Time::HiRes (); +use Carp (); + +package HexChat; +use base qw(Exporter); +use strict; +use warnings; + +sub PRI_HIGHEST (); +sub PRI_HIGH (); +sub PRI_NORM (); +sub PRI_LOW (); +sub PRI_LOWEST (); + +sub EAT_NONE (); +sub EAT_HEXCHAT (); +sub EAT_PLUGIN (); +sub EAT_ALL (); + +sub KEEP (); +sub REMOVE (); +sub FD_READ (); +sub FD_WRITE (); +sub FD_EXCEPTION (); +sub FD_NOTSOCKET (); + +sub get_context; +sub HexChat::Internal::context_info; +sub HexChat::Internal::print; + +#keep compatibility with Xchat scripts +sub EAT_XCHAT (); +BEGIN { + *Xchat:: = *HexChat::; +} + +our %EXPORT_TAGS = ( + constants => [ + qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW PRI_LOWEST), # priorities + qw(EAT_NONE EAT_HEXCHAT EAT_XCHAT EAT_PLUGIN EAT_ALL), # callback return values + qw(FD_READ FD_WRITE FD_EXCEPTION FD_NOTSOCKET), # fd flags + qw(KEEP REMOVE), # timers + ], + hooks => [ + qw(hook_server hook_command hook_print hook_timer hook_fd unhook), + ], + util => [ + qw(register nickcmp strip_code send_modes), # misc + qw(print prnt printf prntf command commandf emit_print), # output + qw(find_context get_context set_context), # context + qw(get_info get_prefs get_list context_info user_info), # input + qw(plugin_pref_set plugin_pref_get plugin_pref_delete plugin_pref_list), #settings + ], +); + +$EXPORT_TAGS{all} = [ map { @{$_} } @EXPORT_TAGS{qw(constants hooks util)}]; +our @EXPORT = @{$EXPORT_TAGS{constants}}; +our @EXPORT_OK = @{$EXPORT_TAGS{all}}; + +sub register { + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $filename = $pkg_info->{filename}; + my ($name, $version, $description, $callback) = @_; + + if( defined $pkg_info->{gui_entry} ) { + HexChat::print( "HexChat::register called more than once in " + . $pkg_info->{filename} ); + return (); + } + + $description = "" unless defined $description; + if( $callback ) { + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + } + $pkg_info->{shutdown} = $callback; + unless( $name && $name =~ /[[:print:]\w]/ ) { + $name = "Not supplied"; + } + unless( $version && $version =~ /\d+(?:\.\d+)?/ ) { + $version = "NaN"; + } + $pkg_info->{gui_entry} = + HexChat::Internal::register( $name, $version, $description, $filename ); + # keep with old behavior + return (); +} + +sub _process_hook_options { + my ($options, $keys, $store) = @_; + + unless( @$keys == @$store ) { + die 'Number of keys must match the size of the store'; + } + + my @results; + + if( ref( $options ) eq 'HASH' ) { + for my $index ( 0 .. @$keys - 1 ) { + my $key = $keys->[$index]; + if( exists( $options->{ $key } ) && defined( $options->{ $key } ) ) { + ${$store->[$index]} = $options->{ $key }; + } + } + } + +} + +sub hook_server { + return undef unless @_ >= 2; + my $message = shift; + my $callback = shift; + my $options = shift; + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + + my ($priority, $data) = ( HexChat::PRI_NORM, undef ); + _process_hook_options( + $options, + [qw(priority data)], + [\($priority, $data)], + ); + + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $hook = HexChat::Internal::hook_server( + $message, $priority, $callback, $data, $package + ); + push @{$pkg_info->{hooks}}, $hook if defined $hook; + return $hook; +} + +sub hook_command { + return undef unless @_ >= 2; + my $command = shift; + my $callback = shift; + my $options = shift; + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + + my ($priority, $help_text, $data) = ( HexChat::PRI_NORM, undef, undef ); + _process_hook_options( + $options, + [qw(priority help_text data)], + [\($priority, $help_text, $data)], + ); + + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $hook = HexChat::Internal::hook_command( + $command, $priority, $callback, $help_text, $data, $package + ); + push @{$pkg_info->{hooks}}, $hook if defined $hook; + return $hook; +} + +sub hook_print { + return undef unless @_ >= 2; + my $event = shift; + my $callback = shift; + my $options = shift; + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + + my ($priority, $run_after, $filter, $data) = ( HexChat::PRI_NORM, 0, 0, undef ); + _process_hook_options( + $options, + [qw(priority run_after_event filter data)], + [\($priority, $run_after, $filter, $data)], + ); + + if( $run_after and $filter ) { + Carp::carp( "HexChat::hook_print's run_after_event and filter options are mutually exclusive, you can only use of them at a time per hook" ); + return; + } + + if( $run_after ) { + my $cb = $callback; + $callback = sub { + my @args = @_; + hook_timer( 0, sub { + $cb->( @args ); + + if( ref $run_after eq 'CODE' ) { + $run_after->( @args ); + } + return REMOVE; + }); + return EAT_NONE; + }; + } + + if( $filter ) { + my $cb = $callback; + $callback = sub { + my @args = @{$_[0]}; + my $event_data = $_[1]; + my $event_name = $event; + my $last_arg = @args - 1; + + my @new = $cb->( \@args, $event_data, $event_name ); + + # allow changing event by returning the new value + if( @new > @args ) { + $event_name = pop @new; + } + + # a filter can either return the new results or it can modify + # @_ in place. + if( @new == @args ) { + emit_print( $event_name, @new[ 0 .. $last_arg ] ); + return EAT_ALL; + } elsif( + join( "\0", @{$_[0]} ) ne join( "\0", @args[ 0 .. $last_arg ] ) + ) { + emit_print( $event_name, @args[ 0 .. $last_arg ] ); + return EAT_ALL; + } + + return EAT_NONE; + }; + + } + + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $hook = HexChat::Internal::hook_print( + $event, $priority, $callback, $data, $package + ); + push @{$pkg_info->{hooks}}, $hook if defined $hook; + return $hook; +} + +sub hook_timer { + return undef unless @_ >= 2; + my ($timeout, $callback, $data) = @_; + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + + if( + ref( $data ) eq 'HASH' && exists( $data->{data} ) + && defined( $data->{data} ) + ) { + $data = $data->{data}; + } + + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $hook = HexChat::Internal::hook_timer( $timeout, $callback, $data, $package ); + push @{$pkg_info->{hooks}}, $hook if defined $hook; + return $hook; +} + +sub hook_fd { + return undef unless @_ >= 2; + my ($fd, $callback, $options) = @_; + return undef unless defined $fd && defined $callback; + + my $fileno = fileno $fd; + return undef unless defined $fileno; # no underlying fd for this handle + + my ($package, $calling_package) = HexChat::Embed::find_pkg(); + $callback = HexChat::Embed::fix_callback( + $package, $calling_package, $callback + ); + + my ($flags, $data) = (HexChat::FD_READ, undef); + _process_hook_options( + $options, + [qw(flags data)], + [\($flags, $data)], + ); + + my $cb = sub { + my $userdata = shift; + return $userdata->{CB}->( + $userdata->{FD}, $userdata->{FLAGS}, $userdata->{DATA}, + ); + }; + + my $pkg_info = HexChat::Embed::pkg_info( $package ); + my $hook = HexChat::Internal::hook_fd( + $fileno, $cb, $flags, { + DATA => $data, FD => $fd, CB => $callback, FLAGS => $flags, + }, + $package + ); + push @{$pkg_info->{hooks}}, $hook if defined $hook; + return $hook; +} + +sub unhook { + my $hook = shift @_; + my $package = shift @_; + ($package) = caller unless $package; + my $pkg_info = HexChat::Embed::pkg_info( $package ); + + if( defined( $hook ) + && $hook =~ /^\d+$/ + && grep { $_ == $hook } @{$pkg_info->{hooks}} ) { + $pkg_info->{hooks} = [grep { $_ != $hook } @{$pkg_info->{hooks}}]; + return HexChat::Internal::unhook( $hook ); + } + return (); +} + +sub _do_for_each { + my ($cb, $channels, $servers) = @_; + + # not specifying any channels or servers is not the same as specifying + # undef for both + # - not specifying either results in calling the callback inthe current ctx + # - specifying undef for for both results in calling the callback in the + # front/currently selected tab + if( @_ == 3 && !($channels || $servers) ) { + $channels = [ undef ]; + $servers = [ undef ]; + } elsif( !($channels || $servers) ) { + $cb->(); + return 1; + } + + $channels = [ $channels ] unless ref( $channels ) eq 'ARRAY'; + + if( $servers ) { + $servers = [ $servers ] unless ref( $servers ) eq 'ARRAY'; + } else { + $servers = [ undef ]; + } + + my $num_done = 0; + my $old_ctx = HexChat::get_context(); + for my $server ( @$servers ) { + for my $channel ( @$channels ) { + if( HexChat::set_context( $channel, $server ) ) { + $cb->(); + $num_done++ + } + } + } + HexChat::set_context( $old_ctx ); + return $num_done; +} + +sub print { + my $text = shift @_; + return "" unless defined $text; + if( ref( $text ) eq 'ARRAY' ) { + if( $, ) { + $text = join $, , @$text; + } else { + $text = join "", @$text; + } + } + + return _do_for_each( + sub { HexChat::Internal::print( $text ); }, + @_ + ); +} + +sub printf { + my $format = shift; + HexChat::print( sprintf( $format, @_ ) ); +} + +# make HexChat::prnt() and HexChat::prntf() as aliases for HexChat::print() and +# HexChat::printf(), mainly useful when these functions are exported +sub prnt { + goto &HexChat::print; +} + +sub prntf { + goto &HexChat::printf; +} + +sub command { + my $command = shift; + return "" unless defined $command; + my @commands; + + if( ref( $command ) eq 'ARRAY' ) { + @commands = @$command; + } else { + @commands = ($command); + } + + return _do_for_each( + sub { HexChat::Internal::command( $_ ) foreach @commands }, + @_ + ); +} + +sub commandf { + my $format = shift; + HexChat::command( sprintf( $format, @_ ) ); +} + +sub plugin_pref_set { + my $setting = shift // return 0; + my $value = shift // return 0; + + return HexChat::Internal::plugin_pref_set($setting, $value); +} + +sub plugin_pref_get { + my $setting = shift // return 0; + + return HexChat::Internal::plugin_pref_get($setting); +} + +sub plugin_pref_delete { + my $setting = shift // return 0; + + return HexChat::Internal::plugin_pref_delete($setting); +} + +sub plugin_pref_list { + my %list = HexChat::Internal::plugin_pref_list(); + + return \%list; +} + +sub set_context { + my $context; + if( @_ == 2 ) { + my ($channel, $server) = @_; + $context = HexChat::find_context( $channel, $server ); + } elsif( @_ == 1 ) { + if( defined $_[0] && $_[0] =~ /^\d+$/ ) { + $context = $_[0]; + } else { + $context = HexChat::find_context( $_[0] ); + } + } elsif( @_ == 0 ) { + $context = HexChat::find_context(); + } + return $context ? HexChat::Internal::set_context( $context ) : 0; +} + +sub get_info { + my $id = shift; + my $info; + + if( defined( $id ) ) { + if( grep { $id eq $_ } qw(state_cursor id) ) { + $info = HexChat::get_prefs( $id ); + } else { + $info = HexChat::Internal::get_info( $id ); + } + } + return $info; +} + +sub user_info { + my $nick = HexChat::strip_code(shift @_ || HexChat::get_info( "nick" )); + my $user; + for (HexChat::get_list( "users" ) ) { + if ( HexChat::nickcmp( $_->{nick}, $nick ) == 0 ) { + $user = $_; + last; + } + } + return $user; +} + +sub context_info { + my $ctx = shift @_ || HexChat::get_context; + my $old_ctx = HexChat::get_context; + my @fields = ( + qw(away channel charset host id inputbox libdirfs modes network), + qw(nick nickserv server topic version win_ptr win_status), + qw(configdir xchatdir xchatdirfs state_cursor), + ); + + if( HexChat::set_context( $ctx ) ) { + my %info; + for my $field ( @fields ) { + $info{$field} = HexChat::get_info( $field ); + } + + my $ctx_info = HexChat::Internal::context_info; + @info{keys %$ctx_info} = values %$ctx_info; + + HexChat::set_context( $old_ctx ); + return \%info; + } else { + return undef; + } +} + +sub get_list { + unless( grep { $_[0] eq $_ } qw(channels dcc ignore notify users networks) ) { + Carp::carp( "'$_[0]' does not appear to be a valid list name" ); + } + if( $_[0] eq 'networks' ) { + return HexChat::List::Network->get(); + } else { + return HexChat::Internal::get_list( $_[0] ); + } +} + +sub strip_code { + my $pattern = qr< + \cB| #Bold + \cC\d{0,2}(?:,\d{1,2})?| #Color + \e\[(?:\d{1,2}(?:;\d{1,2})*)?m| # ANSI color code + \cG| #Beep + \cO| #Reset + \cV| #Reverse + \c_ #Underline + >x; + + if( defined wantarray ) { + my $msg = shift; + $msg =~ s/$pattern//g; + return $msg; + } else { + $_[0] =~ s/$pattern//g if defined $_[0]; + } +} + +1 diff --git a/plugins/perl/lib/HexChat/Embed.pm b/plugins/perl/lib/HexChat/Embed.pm new file mode 100644 index 0000000000000000000000000000000000000000..c033d3c931bdac669fee2bd22940d544f7ae5ed4 --- /dev/null +++ b/plugins/perl/lib/HexChat/Embed.pm @@ -0,0 +1,348 @@ +package HexChat::Embed; +use strict; +use warnings; +use Data::Dumper; +# list of loaded scripts keyed by their package names +# The package names are generated from the filename of the script using +# the file2pkg() function. +# The values of this hash are hash references with the following keys: +# filename +# The full path to the script. +# gui_entry +# This is hexchat_plugin pointer that is used to remove the script from +# Plugins and Scripts window when a script is unloaded. This has also +# been converted with the PTR2IV() macro. +# hooks +# This is an array of hooks that are associated with this script. +# These are pointers that have been converted with the PTR2IV() macro. +# inner_packages +# Other packages that are defined in a script. This is not recommended +# partly because these will also get removed when a script is unloaded. +# loaded_at +# A timestamp of when the script was loaded. The value is whatever +# Time::HiRes::time() returns. This is used to retain load order when +# using the RELOADALL command. +# shutdown +# This is either a code ref or undef. It will be executed just before a +# script is unloaded. +our %scripts; + +# This is a mapping of "inner package" => "containing script package" +our %owner_package; + +# used to keep track of which package a hook belongs to, if the normal way of +# checking which script is calling a hook function fails this will be used +# instead. When a hook is created this will be copied to the HookData structure +# and when a callback is invoked this it will be used to set this value. +our $current_package; + +sub load { + my $file = expand_homedir( shift @_ ); + my $package = file2pkg( $file ); + + if( exists $scripts{$package} ) { + my $pkg_info = pkg_info( $package ); + my $filename = File::Basename::basename( $pkg_info->{filename} ); + HexChat::printf( + qq{'%s' already loaded from '%s'.\n}, + $filename, $pkg_info->{filename} + ); + HexChat::print( + 'If this is a different script then it rename and try '. + 'loading it again.' + ); + return 2; + } + + if( open my $source_handle, $file ) { + my $source = do {local $/; <$source_handle>}; + close $source_handle; + # we shouldn't care about things after __END__ + $source =~ s/^__END__.*//ms; + + # this must come before the eval or the filename will not be found in + # HexChat::register + $scripts{$package}{filename} = $file; + $scripts{$package}{loaded_at} = Time::HiRes::time(); + + # this must be done before the error check so the unload will remove + # any inner packages defined by the script. if a script fails to load + # then any inner packages need to be removed as well. + my @inner_packages = $source =~ + m/^\s*package \s+ + ((?:[^\W:]+(?:::)?)+)\s*? # package name + # strict version number + (?:\d+(?:[.]\d+) # positive integer or decimal-fraction + |v\d+(?:[.]\d+){2,})? # dotted-decimal v-string + [{;] + /mgx; + + # check if any inner package defined in the to be loaded script has + # already been defined by another script + my @conflicts; + for my $inner ( @inner_packages ) { + if( exists $owner_package{ $inner } ) { + push @conflicts, $inner; + } + } + + # report conflicts and bail out + if( @conflicts ) { + my $error_message = + "'$file' won't be loaded due to conflicting inner packages:\n"; + for my $conflict_package ( @conflicts ) { + $error_message .= " $conflict_package already defined in " . + pkg_info($owner_package{ $conflict_package })->{filename}."\n"; + } + HexChat::print( $error_message ); + + return 2; + } + + my $full_path = File::Spec->rel2abs( $file ); + $source =~ s/^/#line 1 "$full_path"\n\x7Bpackage $package;/; + + # make sure we add the closing } even if the last line is a comment + if( $source =~ /^#.*\Z/m ) { + $source =~ s/^(?=#.*\Z)/\x7D/m; + } else { + $source =~ s/\Z/\x7D/; + } + + $scripts{$package}{inner_packages} = [ @inner_packages ]; + @owner_package{ @inner_packages } = ($package) x @inner_packages; + _do_eval( $source ); + + unless( exists $scripts{$package}{gui_entry} ) { + $scripts{$package}{gui_entry} = + HexChat::Internal::register( + "", "unknown", "", $file + ); + } + + if( $@ ) { + # something went wrong + $@ =~ s/\(eval \d+\)/$file/g; + HexChat::print( "Error loading '$file':\n$@\n" ); + # make sure the script list doesn't contain false information + unload( $scripts{$package}{filename} ); + return 1; + } + } else { + HexChat::print( "Error opening '$file': $!\n" ); + return 2; + } + + return 0; +} + +sub _do_eval { + no strict; + no warnings; + eval $_[0]; +} + +sub unload { + my $file = shift @_; + my $package = file2pkg( $file ); + my $pkg_info = pkg_info( $package ); + + if( $pkg_info ) { + # take care of the shutdown callback + if( exists $pkg_info->{shutdown} ) { + # allow incorrectly written scripts to be unloaded + eval { + if( ref $pkg_info->{shutdown} eq 'CODE' ) { + $pkg_info->{shutdown}->(); + } elsif ( $pkg_info->{shutdown} ) { + no strict 'refs'; + &{$pkg_info->{shutdown}}; + } + }; + } + + if( exists $pkg_info->{hooks} ) { + for my $hook ( @{$pkg_info->{hooks}} ) { + HexChat::unhook( $hook, $package ); + } + } + + if( exists $pkg_info->{gui_entry} ) { + plugingui_remove( $pkg_info->{gui_entry} ); + } + + delete @owner_package{ @{$pkg_info->{inner_packages}} }; + for my $inner_package ( @{$pkg_info->{inner_packages}} ) { + Symbol::delete_package( $inner_package ); + } + Symbol::delete_package( $package ); + delete $scripts{$package}; + return HexChat::EAT_ALL; + } else { + HexChat::print( qq{"$file" is not loaded.\n} ); + return HexChat::EAT_NONE; + } +} + +sub unload_all { + for my $package ( keys %scripts ) { + unload( $scripts{$package}->{filename} ); + } + + return HexChat::EAT_ALL; +} + +sub reload { + my $file = shift @_; + my $package = file2pkg( $file ); + my $pkg_info = pkg_info( $package ); + my $fullpath = $file; + + if( $pkg_info ) { + $fullpath = $pkg_info->{filename}; + unload( $file ); + } + + load( $fullpath ); + return HexChat::EAT_ALL; +} + +sub reload_all { + my @dirs = HexChat::get_info( "configdir" ); + push @dirs, File::Spec->catdir( $dirs[0], "plugins" ); + for my $dir ( @dirs ) { + my $auto_load_glob = File::Spec->catfile( $dir, "*.pl" ); + my @scripts = map { $_->{filename} } + sort { $a->{loaded_at} <=> $b->{loaded_at} } values %scripts; + push @scripts, File::Glob::bsd_glob( $auto_load_glob ); + + my %seen; + @scripts = grep { !$seen{ $_ }++ } @scripts; + + unload_all(); + for my $script ( @scripts ) { + if( !pkg_info( file2pkg( $script ) ) ) { + load( $script ); + } + } + } +} + +sub evaluate { + my ($code) = @_; + + my @results = eval $code; + HexChat::print $@ if $@; #print warnings + + local $Data::Dumper::Sortkeys = 1; + local $Data::Dumper::Terse = 1; + + if (@results > 1) { + HexChat::print Dumper \@results; + } + elsif (ref $results[0] || !$results[0]) { + HexChat::print Dumper $results[0]; + } + else { + HexChat::print $results[0]; + } + + return HexChat::EAT_HEXCHAT; +}; + +sub expand_homedir { + my $file = shift @_; + + if ( $^O eq "MSWin32" ) { + $file =~ s/^~/$ENV{USERPROFILE}/; + } else { + $file =~ s{^~}{ + (getpwuid($>))[7] || $ENV{HOME} || $ENV{LOGDIR} + }ex; + } + return $file; +} + +sub file2pkg { + my $string = File::Basename::basename( shift @_ ); + $string =~ s/\.pl$//i; + $string =~ s|([^A-Za-z0-9/])|'_'.unpack("H*",$1)|eg; + return "HexChat::Script::" . $string; +} + +sub pkg_info { + my $package = shift @_; + return $scripts{$package}; +} + +sub find_external_pkg { + my $level = 1; + + while( my @frame = caller( $level ) ) { + return @frame if $frame[0] !~ /(?:^IRC$|^HexChat)/; + $level++; + } + return; +} + +sub find_pkg { + my $level = 1; + + while( my ($package, $file, $line) = caller( $level ) ) { + return $package if $package =~ /^HexChat::Script::/; + $level++; + } + + my $current_package = get_current_package(); + if( defined $current_package ) { + return $current_package; + } + + my @frame = find_external_pkg(); + my $location; + + if( $frame[0] or $frame[1] ) { + my $calling_package = $frame[0]; + if( defined( my $owner = $owner_package{ $calling_package } ) ) { + return ($owner, $calling_package); + } + + $location = $frame[1] ? $frame[1] : "package $frame[0]"; + $location .= " line $frame[2]"; + } else { + $location = "unknown location"; + } + + die "Unable to determine which script this hook belongs to. at $location\n"; + +} + +# convert function names into code references +sub fix_callback { + my ($package, $calling_package, $callback) = @_; + + unless( ref $callback ) { + unless( $callback =~ /::/ ) { + my $prefix = defined $calling_package ? $calling_package : $package; + $callback =~ s/^/${prefix}::/; + } + + no strict 'subs'; + $callback = \&{$callback}; + } + + return $callback; +} + +sub get_current_package { + return $current_package; +} + +sub set_current_package { + my $old_package = $current_package; + $current_package = shift; + + return $old_package; +} + +1 diff --git a/plugins/perl/lib/HexChat/List/Network.pm b/plugins/perl/lib/HexChat/List/Network.pm new file mode 100644 index 0000000000000000000000000000000000000000..64b3d14cf5553db66922db2e4d3e3a6037ab4132 --- /dev/null +++ b/plugins/perl/lib/HexChat/List/Network.pm @@ -0,0 +1,33 @@ +package HexChat::List::Network; +use strict; +use warnings; +use Storable qw(dclone); +my $last_modified; +my @servers; + +sub get { + my $server_file = HexChat::get_info( "configdir" ) . "/servlist.conf"; + + # recreate the list only if the server list file has changed + if( -f $server_file && + (!defined $last_modified || $last_modified != -M $server_file ) ) { + $last_modified = -M _; + + @servers = (); + if( open my $fh, "<", $server_file ) { + local $/ = "\n\n"; + while( my $record = <$fh> ) { + chomp $record; + next if $record =~ /^v=/; # skip the version line + push @servers, HexChat::List::Network::Entry::parse( $record ); + } + } else { + warn "Unable to open '$server_file': $!"; + } + } + + my $clone = dclone( \@servers ); + return @$clone; +} + +1 diff --git a/plugins/perl/lib/HexChat/List/Network/AutoJoin.pm b/plugins/perl/lib/HexChat/List/Network/AutoJoin.pm new file mode 100644 index 0000000000000000000000000000000000000000..cc51af2517b6c2b94e2d42b5912446723c2309cf --- /dev/null +++ b/plugins/perl/lib/HexChat/List/Network/AutoJoin.pm @@ -0,0 +1,80 @@ +package HexChat::List::Network::AutoJoin; +use strict; +use warnings; + +use overload +# '%{}' => \&as_hash, +# '@{}' => \&as_array, + '""' => 'as_string', + '0+' => 'as_bool'; + +sub new { + my $class = shift; + + my @autojoins; + + return bless \@autojoins, $class; +} + +sub add { + my $self = shift; + + my $line = shift; + + my ( $channel, $key ) = split /,/, $line, 2; + $key = $key || ''; + + push @$self, { + channel => $channel, + key => $key, + }; +} + +sub channels { + my $self = shift; + + if( wantarray ) { + return map { $_->{channel} } @$self; + } else { + return scalar @$self; + } +} + +sub keys { + my $self = shift; + return map { $_->{key} } @$self ; + +} + +sub pairs { + my $self = shift; + + my @channels = $self->channels; + my @keys = $self->keys; + + my @pairs = map { $_ => shift @keys } @channels; +} + +sub as_hash { + my $self = shift; + return +{ $self->pairs }; +} + +sub as_string { + my $self = shift; + return join " ", + join( ",", $self->channels ), + join( ",", $self->keys ); +} + +sub as_array { + my $self = shift; + return [ map { \%$_ } @$self ]; +} + +sub as_bool { + my $self = shift; + return $self->channels ? 1 : ""; +} + +1 diff --git a/plugins/perl/lib/HexChat/List/Network/Entry.pm b/plugins/perl/lib/HexChat/List/Network/Entry.pm new file mode 100644 index 0000000000000000000000000000000000000000..828a77911ae32cf4bedb409b644a3715052250a4 --- /dev/null +++ b/plugins/perl/lib/HexChat/List/Network/Entry.pm @@ -0,0 +1,106 @@ +package HexChat::List::Network::Entry; +use strict; +use warnings; + +my %key_for = ( + I => "irc_nick1", + i => "irc_nick2", + U => "irc_user_name", + R => "irc_real_name", + P => "server_password", + B => "nickserv_password", + N => "network", + D => "selected", + E => "encoding", +); +my $letter_key_re = join "|", keys %key_for; + +sub parse { + my $data = shift; + my $entry = { + irc_nick1 => undef, + irc_nick2 => undef, + irc_user_name => undef, + irc_real_name => undef, + server_password => undef, + + # the order of the channels need to be maintained + # list of { channel => .., key => ... } + autojoins => HexChat::List::Network::AutoJoin->new( '' ), + connect_commands => [], + flags => {}, + selected => undef, + encoding => undef, + servers => [], + nickserv_password => undef, + network => undef, + }; + + my @fields = split /\n/, $data; + chomp @fields; + + $entry->{ autojoins } = HexChat::List::Network::AutoJoin->new(); + + for my $field ( @fields ) { + SWITCH: for ( $field ) { + /^($letter_key_re)=(.*)/ && do { + $entry->{ $key_for{ $1 } } = $2; + last SWITCH; + }; + + /^J.(.*)/ && do { + $entry->{ autojoins }->add( $1 ); + }; + + /^F.(.*)/ && do { + $entry->{ flags } = parse_flags( $1 ); + }; + + /^S.(.+)/ && do { + push @{$entry->{servers}}, parse_server( $1 ); + }; + + /^C.(.+)/ && do { + push @{$entry->{connect_commands}}, $1; + }; + } + } + +# $entry->{ autojoins } = $entry->{ autojoin_channels }; + return $entry; +} + +sub parse_flags { + my $value = shift || 0; + my %flags; + + $flags{ "cycle" } = $value & 1 ? 1 : 0; + $flags{ "use_global" } = $value & 2 ? 1 : 0; + $flags{ "use_ssl" } = $value & 4 ? 1 : 0; + $flags{ "autoconnect" } = $value & 8 ? 1 : 0; + $flags{ "use_proxy" } = $value & 16 ? 1 : 0; + $flags{ "allow_invalid" } = $value & 32 ? 1 : 0; + + return \%flags; +} + +sub parse_server { + my $data = shift; + if( $data ) { + my ($host, $port) = split /\//, $data; + unless( $port ) { + my @parts = split /:/, $host; + + # if more than 2 then we are probably dealing with a IPv6 address + # if less than 2 then no port was specified + if( @parts == 2 ) { + $port = $parts[1]; + } + } + + $port ||= 6667; + return { host => $host, port => $port }; + } +} + +1 diff --git a/plugins/perl/lib/IRC.pm b/plugins/perl/lib/IRC.pm new file mode 100644 index 0000000000000000000000000000000000000000..e642fa3dd76020326c1c82dd20386ddd6f16af5d --- /dev/null +++ b/plugins/perl/lib/IRC.pm @@ -0,0 +1,257 @@ + +package IRC; +sub IRC::register { + my ($script_name, $version, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, undef, $callback) if $callback; + Xchat::register( $script_name, $version, undef, $callback ); +} + + +sub IRC::add_command_handler { + my ($command, $callback) = @_; + my $package = caller; + + $callback = Xchat::Embed::fix_callback( $package, undef, $callback ); + + # starting index for word_eol array + # this is for compatibility with '' as the command + my $start_index = $command ? 1 : 0; + + Xchat::hook_command( $command, + sub { + no strict 'refs'; + return &{$callback}($_[1][$start_index]); + } + ); + return; +} + +sub IRC::add_message_handler { + my ($message, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, undef, $callback ); + + Xchat::hook_server( $message, + sub { + no strict 'refs'; + return &{$callback}( $_[1][0] ); + } + ); + return; +} + +sub IRC::add_print_handler { + my ($event, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, undef, $callback ); + Xchat::hook_print( $event, + sub { + my @word = @{$_[0]}; + no strict 'refs'; + return &{$callback}( join( ' ', @word[0..3] ), @word ); + } + ); + return; +} + +sub IRC::add_timeout_handler { + my ($timeout, $callback) = @_; + my $package = caller; + $callback = Xchat::Embed::fix_callback( $package, undef, $callback ); + Xchat::hook_timer( $timeout, + sub { + no strict 'refs'; + &{$callback}; + return 0; + } + ); + return; +} + +sub IRC::command { + my $command = shift; + if( $command =~ m{^/} ) { + $command =~ s{^/}{}; + Xchat::command( $command ); + } else { + Xchat::command( qq[say $command] ); + } +} + +sub IRC::command_with_channel { + my ($command, $channel, $server) = @_; + my $old_ctx = Xchat::get_context; + my $ctx = Xchat::find_context( $channel, $server ); + + if( $ctx ) { + Xchat::set_context( $ctx ); + IRC::command( $command ); + Xchat::set_context( $ctx ); + } +} + +sub IRC::command_with_server { + my ($command, $server) = @_; + my $old_ctx = Xchat::get_context; + my $ctx = Xchat::find_context( undef, $server ); + + if( $ctx ) { + Xchat::set_context( $ctx ); + IRC::command( $command ); + Xchat::set_context( $ctx ); + } +} + +sub IRC::dcc_list { + my @dccs; + for my $dcc ( Xchat::get_list( 'dcc' ) ) { + push @dccs, $dcc->{nick}; + push @dccs, $dcc->{file} ? $dcc->{file} : ''; + push @dccs, @{$dcc}{qw(type status cps size)}; + push @dccs, $dcc->{type} == 0 ? $dcc->{pos} : $dcc->{resume}; + push @dccs, $dcc->{address32}; + push @dccs, $dcc->{destfile} ? $dcc->{destfile} : ''; + } + return @dccs; +} + +sub IRC::channel_list { + my @channels; + for my $channel ( Xchat::get_list( 'channels' ) ) { + push @channels, @{$channel}{qw(channel server)}, + Xchat::context_info( $channel->{context} )->{nick}; + } + return @channels; +} + +sub IRC::get_info { + my $id = shift; + my @ids = qw(version nick channel server configdir xchatdir away network host topic); + + if( $id >= 0 && $id <= 8 && $id != 5 ) { + my $info = Xchat::get_info($ids[$id]); + return defined $info ? $info : ''; + } else { + if( $id == 5 ) { + return Xchat::get_info( 'away' ) ? 1 : 0; + } else { + return 'Error2'; + } + } +} + +sub IRC::get_prefs { + return 'Unknown variable' unless defined $_[0]; + my $result = Xchat::get_prefs(shift); + return defined $result ? $result : 'Unknown variable'; +} + +sub IRC::ignore_list { + my @ignores; + for my $ignore ( Xchat::get_list( 'ignore' ) ) { + push @ignores, $ignore->{mask}; + my $flags = $ignore->{flags}; + push @ignores, $flags & 1, $flags & 2, $flags & 4, $flags & 8, $flags & 16, + $flags & 32, ':'; + } + return @ignores; +} + +sub IRC::print { + Xchat::print( $_ ) for @_; + return; +} + +sub IRC::print_with_channel { + Xchat::print( @_ ); +} + +sub IRC::send_raw { + Xchat::commandf( qq[quote %s], shift ); +} + +sub IRC::server_list { + my @servers; + for my $channel ( Xchat::get_list( 'channels' ) ) { + push @servers, $channel->{server} if $channel->{server}; + } + return @servers; +} + +sub IRC::user_info { + my $user; + if( @_ > 0 ) { + $user = Xchat::user_info( shift ); + } else { + $user = Xchat::user_info(); + } + + my @info; + if( $user ) { + push @info, $user->{nick}; + if( $user->{host} ) { + push @info, $user->{host}; + } else { + push @info, 'FETCHING'; + } + push @info, $user->{prefix} eq '@' ? 1 : 0; + push @info, $user->{prefix} eq '+' ? 1 : 0; + } + return @info; +} + +sub IRC::user_list { + my ($channel, $server) = @_; + my $ctx = Xchat::find_context( $channel, $server ); + my $old_ctx = Xchat::get_context; + + if( $ctx ) { + Xchat::set_context( $ctx ); + my @users; + for my $user ( Xchat::get_list( 'users' ) ) { + push @users, $user->{nick}; + if( $user->{host} ) { + push @users, $user->{host}; + } else { + push @users, 'FETCHING'; + } + push @users, $user->{prefix} eq '@' ? 1 : 0; + push @users, $user->{prefix} eq '+' ? 1 : 0; + push @users, ':'; + } + Xchat::set_context( $old_ctx ); + return @users; + } else { + return; + } +} + +sub IRC::user_list_short { + my ($channel, $server) = @_; + my $ctx = Xchat::find_context( $channel, $server ); + my $old_ctx = Xchat::get_context; + + if( $ctx ) { + Xchat::set_context( $ctx ); + my @users; + for my $user ( Xchat::get_list( 'users' ) ) { + my $nick = $user->{nick}; + my $host = $user->{host} || 'FETCHING'; + push @users, $nick, $host; + } + Xchat::set_context( $old_ctx ); + return @users; + } else { + return; + } + +} + +sub IRC::add_user_list {} +sub IRC::sub_user_list {} +sub IRC::clear_user_list {} +sub IRC::notify_list {} +sub IRC::perl_script_list {} + +1 diff --git a/plugins/perl/lib/Xchat.pm b/plugins/perl/lib/Xchat.pm new file mode 100644 index 0000000000000000000000000000000000000000..2a95674ed08b3abb41c4c1bc6623a00e889f6e81 --- /dev/null +++ b/plugins/perl/lib/Xchat.pm @@ -0,0 +1 @@ +require HexChat; diff --git a/plugins/perl/meson.build b/plugins/perl/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..ebcf35bbf2e7f7612b1777fdb9a989698010713d --- /dev/null +++ b/plugins/perl/meson.build @@ -0,0 +1,92 @@ +generate_perl_header = find_program('generate_header.py') + +hexchat_perl_module = custom_target('hexchat-perl-header', + input: [ + 'lib/HexChat.pm', + 'lib/Xchat.pm', + 'lib/HexChat/Embed.pm', + 'lib/HexChat/List/Network.pm', + 'lib/HexChat/List/Network/Entry.pm', + 'lib/HexChat/List/Network/AutoJoin.pm', + ], + output: 'hexchat.pm.h', + command: [generate_perl_header, '@OUTPUT@', '@INPUT@'] +) + +perl_cflags = [] +irc_perl_module = [] + +if get_option('with-perl-legacy-api') + irc_perl_module = custom_target('irc-perl-header', + input: 'lib/IRC.pm', + output: 'irc.pm.h', + command: [generate_perl_header, '@OUTPUT@', '@INPUT@'] + ) + perl_cflags += '-DOLD_PERL' +endif + +perl = find_program(get_option('with-perl')) + +ret = run_command([perl, '-MExtUtils::Embed', '-e', 'ccopts']) +if ret.returncode() != 0 + error('perl: Failed to get cflags') +endif +foreach flag : ret.stdout().strip().split(' ') + if flag.startswith('-I') or flag.startswith('-D') + perl_cflags += flag + endif +endforeach + +ret = run_command([perl, '-MExtUtils::Embed', '-e', 'ldopts']) +if ret.returncode() != 0 + error('perl: Failed to get ldflags') +endif +perl_ldflags = [] +perl_rpath = '' +foreach flag : ret.stdout().strip().split(' ') + if flag.startswith('-L') or flag.startswith('-l') + perl_ldflags += flag + endif + if flag.startswith('-Wl,-rpath,') + # Install rpath + split = flag.split(',') + perl_rpath = split[split.length() - 1] + + # For in tree + perl_ldflags += flag + endif +endforeach + +perl_cflags += [ + # Perl has its own 'config.h' that we must override + # TODO: Just rename ours to something more unique. + '-include', meson.build_root() + '/config.h' +] + +if not cc.links(''' +#define PERL_NO_INLINE_FUNCTIONS +#include +#include + +int main(void) { + PerlInterpreter *my_perl = perl_alloc(); + return 0; +} +''', args: perl_cflags + perl_ldflags) + error('found perl not suitable for plugin') +endif + +perl_dep = declare_dependency( + compile_args: perl_cflags, + link_args: perl_ldflags +) + +shared_module('perl', + sources: ['perl.c', hexchat_perl_module, irc_perl_module], + dependencies: [libgio_dep, hexchat_plugin_dep, perl_dep], + install: true, + install_dir: plugindir, + install_rpath: perl_rpath, + name_prefix: '', + vs_module_defs: 'perl.def', +) diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c new file mode 100644 index 0000000000000000000000000000000000000000..6f30400c441e97003270efa1e12e0e530d6d5d1f --- /dev/null +++ b/plugins/perl/perl.c @@ -0,0 +1,1647 @@ +/* X-Chat 2.0 PERL Plugin + * Copyright (C) 1998-2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include +#include +#include +#include +#include +#include +#ifdef ENABLE_NLS +#include +#endif +#ifdef WIN32 +#include +#include +#else +#include +#endif + +#include + +#undef PACKAGE + +#include "hexchat-plugin.h" + +static hexchat_plugin *ph; /* plugin handle */ + +static int perl_load_file (char *script_name); + +#ifdef WIN32 +/* STRINGIFY is from perl's CORE/config.h */ +#ifndef PERL_REQUIRED_VERSION + #define PERL_REQUIRED_VERSION STRINGIFY(PERL_REVISION) "." STRINGIFY(PERL_VERSION) +#endif + +#ifndef PERL_DLL + #define PERL_DLL "perl" STRINGIFY(PERL_REVISION) STRINGIFY(PERL_VERSION) ".dll" +#endif + +static DWORD +child (char *str) +{ + MessageBoxA (0, str, "Perl DLL Error", + MB_OK | MB_ICONHAND | MB_SETFOREGROUND | MB_TASKMODAL); + return 0; +} + +static void +thread_mbox (char *str) +{ + DWORD tid; + + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) child, + str, 0, &tid)); +} + +#endif + +/* leave this before XSUB.h, to avoid readdir() being redefined */ + +#ifdef WIN32 +static void +perl_auto_load_from_path (const char *path) +{ + char *search_path = g_build_filename (path, "*.pl", NULL); + WIN32_FIND_DATAA find_data; + HANDLE find_handle = FindFirstFileA (search_path, &find_data); + + if (find_handle != INVALID_HANDLE_VALUE) + { + do + { + if ((find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0 && (find_data.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) == 0) + { + char *full_path = g_build_filename (path, find_data.cFileName, NULL); + perl_load_file (full_path); + g_free (full_path); + } + } + while (FindNextFileA (find_handle, &find_data) != 0); + FindClose (find_handle); + } + + g_free (search_path); +} +#else +static void +perl_auto_load_from_path (const char *path) +{ + DIR *dir; + struct dirent *ent; + + dir = opendir (path); + if (dir) + { + while ((ent = readdir (dir))) + { + int len = strlen (ent->d_name); + if (len > 3 && strcasecmp (".pl", ent->d_name + len - 3) == 0) + { + char *file = g_build_filename (path, ent->d_name, NULL); + perl_load_file (file); + g_free (file); + } + } + closedir (dir); + } +} +#endif + +static int +perl_auto_load (void *unused) +{ + const char *xdir; + char *sub_dir; +#ifdef WIN32 + int copied = 0; + char *slash = NULL; +#endif + + /* get the dir in local filesystem encoding (what opendir() expects!) */ + xdir = hexchat_get_info (ph, "configdir"); + + /* don't pollute the filesystem with script files, this only causes misuse of the folders + * only use ~/.config/hexchat/addons/ and %APPDATA%\HexChat\addons */ + sub_dir = g_build_filename (xdir, "addons", NULL); + perl_auto_load_from_path (sub_dir); + g_free (sub_dir); + + return 0; +} + +#include +#define WIN32IOP_H +#include +#include + +typedef struct +{ + SV *callback; + SV *userdata; + hexchat_hook *hook; /* required for timers */ + hexchat_context *ctx; /* allow timers to remember their context */ + SV *package; /* need to track the package name when removing hooks + by returning REMOVE + */ + unsigned int depth; +} HookData; + +static PerlInterpreter *my_perl = NULL; +extern void boot_DynaLoader (pTHX_ CV * cv); + +/* + this is used for autoload and shutdown callbacks +*/ +static int +execute_perl (SV * function, char *args) +{ + + int count, ret_value = 1; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSVpv (args, 0))); + PUTBACK; + + count = call_sv (function, G_EVAL | G_SCALAR); + SPAGAIN; + if (SvTRUE (ERRSV)) { + hexchat_printf(ph, "Perl error: %s\n", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + } else if (count != 1) { + hexchat_printf (ph, "Perl error: expected 1 value from %s, " + "got: %d\n", SvPV_nolen (function), count); + } else { + ret_value = POPi; + } + PUTBACK; + FREETMPS; + LEAVE; + + return ret_value; +} + +static char * +get_filename (char *word[], char *word_eol[]) +{ + int len; + char *file; + + /* if called as /load "filename.pl" the only difference between word and + * word_eol will be the two quotes + */ + + if (strchr (word[2], ' ') != NULL + || (strlen (word_eol[2]) - strlen(word[2])) == 2 ) + { + file = word[2]; + } else { + file = word_eol[2]; + } + + len = strlen (file); + + if (len > 3 && strncasecmp (".pl", file + len - 3, 3) == 0) { + return file; + } + + return NULL; +} + +static SV * +list_item_to_sv ( hexchat_list *list, const char *const *fields ) +{ + HV *hash = newHV(); + SV *field_value; + const char *field; + int field_index = 0; + const char *field_name; + int name_len; + + while (fields[field_index] != NULL) { + field_name = fields[field_index] + 1; + name_len = strlen (field_name); + + switch (fields[field_index][0]) { + case 's': + field = hexchat_list_str (ph, list, field_name); + if (field != NULL) { + field_value = newSVpvn (field, strlen (field)); + } else { + field_value = &PL_sv_undef; + } + break; + case 'p': + field_value = newSViv (PTR2IV (hexchat_list_str (ph, list, + field_name))); + break; + case 'i': + field_value = newSVuv (hexchat_list_int (ph, list, field_name)); + break; + case 't': + /* From perldoc for Perl's own timelocal() and timegm(): + * + * On perl versions older than 5.12.0, the range of dates that can be actually be handled depends on the size of time_t (usually a signed integer) on the given platform. + * As of version 5.12.0, perl has stopped using the underlying time library of the operating system it's running on and has its own implementation of those routines with a + * safe range of at least +/ 2**52 (about 142 million years). + * + * + * This is further confirmed from looking at the source for Time::Local - it's a Perl module and the implementations of timelocal() and timegm() use simple addition and + * subtraction of numbers. Perl automatically promotes numbers from int32_t (IV) to uint32_t (UV) to 64-bit IEEE754 double (NV) as required. + * + * This means that using a double (NV) for our own time_t suffers from the same assumptions that Perl's own functions do. + */ + field_value = newSVnv ((const NV) hexchat_list_time (ph, list, field_name)); + break; + default: + field_value = &PL_sv_undef; + } + (void)hv_store (hash, field_name, name_len, field_value, 0); + field_index++; + } + return sv_2mortal (newRV_noinc ((SV *) hash)); +} + +#define WORD_ARRAY_LEN 32 + +static AV * +array2av (char *array[]) +{ + int count = 0; + SV *temp = NULL; + AV *av = newAV(); + sv_2mortal ((SV *)av); + + for ( + count = 1; + count < WORD_ARRAY_LEN && array[count] != NULL && array[count][0] != 0; + count++ + ) { + temp = newSVpv (array[count], 0); + SvUTF8_on (temp); + av_push (av, temp); + } + + return av; +} + +/* sets $HexChat::Embed::current_package */ +static void +set_current_package (SV *package) +{ + SV *current_package = get_sv ("HexChat::Embed::current_package", 1); + SvSetSV_nosteal (current_package, package); +} + +static int +fd_cb (int fd, int flags, void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (data->userdata); + PUTBACK; + + set_current_package (data->package); + count = call_sv (data->callback, G_EVAL); + set_current_package (&PL_sv_undef); + SPAGAIN; + + if (SvTRUE (ERRSV)) { + hexchat_printf (ph, "Error in fd callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = HEXCHAT_EAT_ALL; + } else { + if (count != 1) { + hexchat_print (ph, "Fd handler should only return 1 value."); + retVal = HEXCHAT_EAT_NONE; + } else { + retVal = POPi; + if (retVal == 0) { + /* if 0 is returned, the fd is going to get unhooked */ + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSViv (PTR2IV (data->hook)))); + PUTBACK; + + call_pv ("HexChat::unhook", G_EVAL); + SPAGAIN; + + SvREFCNT_dec (data->callback); + + if (data->userdata) { + SvREFCNT_dec (data->userdata); + } + g_free (data); + } + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +timer_cb (void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + PUSHMARK (SP); + XPUSHs (data->userdata); + PUTBACK; + + if (data->ctx) { + hexchat_set_context (ph, data->ctx); + } + + set_current_package (data->package); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); + set_current_package (&PL_sv_undef); + SPAGAIN; + + if (SvTRUE (ERRSV)) { + hexchat_printf (ph, "Error in timer callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = HEXCHAT_EAT_ALL; + } else { + if (count != 1) { + hexchat_print (ph, "Timer handler should only return 1 value."); + retVal = HEXCHAT_EAT_NONE; + } else { + retVal = POPi; + if (retVal == 0) { + /* if 0 is return the timer is going to get unhooked */ + PUSHMARK (SP); + XPUSHs (sv_2mortal (newSViv (PTR2IV (data->hook)))); + XPUSHs (sv_mortalcopy (data->package)); + PUTBACK; + + call_pv ("HexChat::unhook", G_EVAL); + SPAGAIN; + } + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +server_cb (char *word[], char *word_eol[], void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return HEXCHAT_EAT_NONE; + + /* hexchat_printf (ph, */ + /* "Received %d words in server callback", av_len (wd)); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) array2av (word))); + XPUSHs (newRV_noinc ((SV *) array2av (word_eol))); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + set_current_package (data->package); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); + set_current_package (&PL_sv_undef); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + hexchat_printf (ph, "Error in server callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = HEXCHAT_EAT_NONE; + } else { + if (count != 1) { + hexchat_print (ph, "Server handler should only return 1 value."); + retVal = HEXCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +command_cb (char *word[], char *word_eol[], void *userdata) +{ + HookData *data = (HookData *) userdata; + int retVal = 0; + int count = 0; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return HEXCHAT_EAT_NONE; + + /* hexchat_printf (ph, "Received %d words in command callback", */ + /* av_len (wd)); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) array2av (word))); + XPUSHs (newRV_noinc ((SV *) array2av (word_eol))); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + set_current_package (data->package); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); + set_current_package (&PL_sv_undef); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + hexchat_printf (ph, "Error in command callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = HEXCHAT_EAT_HEXCHAT; + } else { + if (count != 1) { + hexchat_print (ph, "Command handler should only return 1 value."); + retVal = HEXCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +static int +print_cb (char *word[], void *userdata) +{ + + HookData *data = (HookData *) userdata; + SV *temp = NULL; + int retVal = 0; + int count = 1; + int last_index = 31; + /* must be initialized after SAVETMPS */ + AV *wd = NULL; + + dSP; + ENTER; + SAVETMPS; + + if (data->depth) + return HEXCHAT_EAT_NONE; + + wd = newAV (); + sv_2mortal ((SV *) wd); + + /* need to scan backwards to find the index of the last element since some + events such as "DCC Timeout" can have NULL elements in between non NULL + elements */ + + while (last_index >= 0 + && (word[last_index] == NULL || word[last_index][0] == 0)) { + last_index--; + } + + for (count = 1; count <= last_index; count++) { + if (word[count] == NULL) { + av_push (wd, &PL_sv_undef); + } else if (word[count][0] == 0) { + av_push (wd, newSVpvn ("",0)); + } else { + temp = newSVpv (word[count], 0); + SvUTF8_on (temp); + av_push (wd, temp); + } + } + + /*hexchat_printf (ph, "Received %d words in print callback", av_len (wd)+1); */ + PUSHMARK (SP); + XPUSHs (newRV_noinc ((SV *) wd)); + XPUSHs (data->userdata); + PUTBACK; + + data->depth++; + set_current_package (data->package); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); + set_current_package (&PL_sv_undef); + data->depth--; + SPAGAIN; + if (SvTRUE (ERRSV)) { + hexchat_printf (ph, "Error in print callback %s", SvPV_nolen (ERRSV)); + if (!SvOK (POPs)) {} /* remove undef from the top of the stack */ + retVal = HEXCHAT_EAT_NONE; + } else { + if (count != 1) { + hexchat_print (ph, "Print handler should only return 1 value."); + retVal = HEXCHAT_EAT_NONE; + } else { + retVal = POPi; + } + + } + + PUTBACK; + FREETMPS; + LEAVE; + + return retVal; +} + +/* custom IRC perl functions for scripting */ + +/* HexChat::Internal::register (scriptname, version, desc, shutdowncallback, filename) + * + */ + +static +XS (XS_HexChat_register) +{ + char *name, *version, *desc, *filename; + void *gui_entry; + dXSARGS; + if (items != 4) { + hexchat_printf (ph, + "Usage: HexChat::Internal::register(scriptname, version, desc, filename)"); + } else { + name = SvPV_nolen (ST (0)); + version = SvPV_nolen (ST (1)); + desc = SvPV_nolen (ST (2)); + filename = SvPV_nolen (ST (3)); + + gui_entry = hexchat_plugingui_add (ph, filename, name, + desc, version, NULL); + + XSRETURN_IV (PTR2IV (gui_entry)); + + } +} + + +/* HexChat::print(output) */ +static +XS (XS_HexChat_print) +{ + + char *text = NULL; + + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::Internal::print(text)"); + } else { + text = SvPV_nolen (ST (0)); + hexchat_print (ph, text); + } + XSRETURN_EMPTY; +} + +static +XS (XS_HexChat_emit_print) +{ + char *event_name; + int RETVAL; + int count; + + dXSARGS; + if (items < 1) { + hexchat_print (ph, "Usage: HexChat::emit_print(event_name, ...)"); + } else { + event_name = (char *) SvPV_nolen (ST (0)); + RETVAL = 0; + + /* we need to figure out the number of defined values passed in */ + for (count = 0; count < items; count++) { + if (!SvOK (ST (count))) { + break; + } + } + + switch (count) { + case 1: + RETVAL = hexchat_emit_print (ph, event_name, NULL); + break; + case 2: + RETVAL = hexchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), NULL); + break; + case 3: + RETVAL = hexchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), NULL); + break; + case 4: + RETVAL = hexchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), + SvPV_nolen (ST (3)), NULL); + break; + case 5: + RETVAL = hexchat_emit_print (ph, event_name, + SvPV_nolen (ST (1)), + SvPV_nolen (ST (2)), + SvPV_nolen (ST (3)), + SvPV_nolen (ST (4)), NULL); + break; + + } + + XSRETURN_IV (RETVAL); + } +} + +static +XS (XS_HexChat_send_modes) +{ + AV *p_targets = NULL; + int modes_per_line = 0; + char sign; + char mode; + int i = 0; + const char **targets; + int target_count = 0; + SV **elem; + + dXSARGS; + if (items < 3 || items > 4) { + hexchat_print (ph, + "Usage: HexChat::send_modes( targets, sign, mode, modes_per_line)" + ); + } else { + if (SvROK (ST (0))) { + p_targets = (AV*) SvRV (ST (0)); + target_count = av_len (p_targets) + 1; + targets = g_new (const char *, target_count); + for (i = 0; i < target_count; i++ ) { + elem = av_fetch (p_targets, i, 0); + + if (elem != NULL) { + targets[i] = SvPV_nolen (*elem); + } else { + targets[i] = ""; + } + } + } else{ + targets = g_new (const char *, 1); + targets[0] = SvPV_nolen (ST (0)); + target_count = 1; + } + + if (target_count == 0) { + g_free ((char**) targets); + XSRETURN_EMPTY; + } + + sign = (SvPV_nolen (ST (1)))[0]; + mode = (SvPV_nolen (ST (2)))[0]; + + if (items == 4 ) { + modes_per_line = (int) SvIV (ST (3)); + } + + hexchat_send_modes (ph, targets, target_count, modes_per_line, sign, mode); + g_free ((char**) targets); + } +} +static +XS (XS_HexChat_get_info) +{ + SV *temp = NULL; + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::get_info(id)"); + } else { + SV *id = ST (0); + const char *RETVAL; + + RETVAL = hexchat_get_info (ph, SvPV_nolen (id)); + if (RETVAL == NULL) { + XSRETURN_UNDEF; + } + + if (!strncmp ("win_ptr", SvPV_nolen (id), 7) + || !strncmp ("gtkwin_ptr", SvPV_nolen (id), 10)) + { + XSRETURN_IV (PTR2IV (RETVAL)); + } else { + + if ( + !strncmp ("libdirfs", SvPV_nolen (id), 8) || + !strncmp ("xchatdirfs", SvPV_nolen (id), 10) || + !strncmp ("configdir", SvPV_nolen (id), 9) + ) { + XSRETURN_PV (RETVAL); + } else { + temp = newSVpv (RETVAL, 0); + SvUTF8_on (temp); + PUSHMARK (SP); + XPUSHs (sv_2mortal (temp)); + PUTBACK; + } + } + } +} + +static +XS (XS_HexChat_context_info) +{ + const char *const *fields; + dXSARGS; + + if (items > 0 ) { + hexchat_print (ph, "Usage: HexChat::Internal::context_info()"); + } + fields = hexchat_list_fields (ph, "channels" ); + XPUSHs (list_item_to_sv (NULL, fields)); + XSRETURN (1); +} + +static +XS (XS_HexChat_get_prefs) +{ + const char *str; + int integer; + SV *temp = NULL; + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::get_prefs(name)"); + } else { + + + switch (hexchat_get_prefs (ph, SvPV_nolen (ST (0)), &str, &integer)) { + case 0: + XSRETURN_UNDEF; + break; + case 1: + temp = newSVpv (str, 0); + SvUTF8_on (temp); + SP -= items; + sp = mark; + XPUSHs (sv_2mortal (temp)); + PUTBACK; + break; + case 2: + XSRETURN_IV (integer); + break; + case 3: + if (integer) { + XSRETURN_YES; + } else { + XSRETURN_NO; + } + } + } +} + +/* HexChat::Internal::hook_server(name, priority, callback, userdata) */ +static +XS (XS_HexChat_hook_server) +{ + + char *name; + int pri; + SV *callback; + SV *userdata; + SV *package; + hexchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 5) { + hexchat_print (ph, + "Usage: HexChat::Internal::hook_server(name, priority, callback, userdata, package)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + userdata = ST (3); + package = ST (4); + data = NULL; + data = g_new (HookData, 1); + data->callback = newSVsv (callback); + data->userdata = newSVsv (userdata); + data->depth = 0; + data->package = newSVsv (package); + + hook = hexchat_hook_server (ph, name, pri, server_cb, data); + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* HexChat::Internal::hook_command(name, priority, callback, help_text, userdata) */ +static +XS (XS_HexChat_hook_command) +{ + char *name; + int pri; + SV *callback; + char *help_text = NULL; + SV *userdata; + SV *package; + hexchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 6) { + hexchat_print (ph, + "Usage: HexChat::Internal::hook_command(name, priority, callback, help_text, userdata, package)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + + /* leave the help text as NULL if the help text is undefined to avoid + * overriding the default help message for builtin commands */ + if (SvOK(ST (3))) { + help_text = SvPV_nolen (ST (3)); + } + + userdata = ST (4); + package = ST (5); + data = NULL; + + data = g_new (HookData, 1); + data->callback = newSVsv (callback); + data->userdata = newSVsv (userdata); + data->depth = 0; + data->package = newSVsv (package); + hook = hexchat_hook_command (ph, name, pri, command_cb, help_text, data); + + XSRETURN_IV (PTR2IV (hook)); + } + +} + +/* HexChat::Internal::hook_print(name, priority, callback, [userdata]) */ +static +XS (XS_HexChat_hook_print) +{ + + char *name; + int pri; + SV *callback; + SV *userdata; + SV *package; + hexchat_hook *hook; + HookData *data; + dXSARGS; + if (items != 5) { + hexchat_print (ph, + "Usage: HexChat::Internal::hook_print(name, priority, callback, userdata, package)"); + } else { + name = SvPV_nolen (ST (0)); + pri = (int) SvIV (ST (1)); + callback = ST (2); + data = NULL; + userdata = ST (3); + package = ST (4); + + data = g_new (HookData, 1); + data->callback = newSVsv (callback); + data->userdata = newSVsv (userdata); + data->depth = 0; + data->package = newSVsv (package); + hook = hexchat_hook_print (ph, name, pri, print_cb, data); + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* HexChat::Internal::hook_timer(timeout, callback, userdata) */ +static +XS (XS_HexChat_hook_timer) +{ + int timeout; + SV *callback; + SV *userdata; + hexchat_hook *hook; + SV *package; + HookData *data; + + dXSARGS; + + if (items != 4) { + hexchat_print (ph, + "Usage: HexChat::Internal::hook_timer(timeout, callback, userdata, package)"); + } else { + timeout = (int) SvIV (ST (0)); + callback = ST (1); + data = NULL; + userdata = ST (2); + package = ST (3); + + data = g_new (HookData, 1); + data->callback = newSVsv (callback); + data->userdata = newSVsv (userdata); + data->ctx = hexchat_get_context (ph); + data->package = newSVsv (package); + hook = hexchat_hook_timer (ph, timeout, timer_cb, data); + data->hook = hook; + + XSRETURN_IV (PTR2IV (hook)); + } +} + +/* HexChat::Internal::hook_fd(fd, callback, flags, userdata) */ +static +XS (XS_HexChat_hook_fd) +{ + int fd; + SV *callback; + int flags; + SV *userdata; + SV *package; + hexchat_hook *hook; + HookData *data; + + dXSARGS; + + if (items != 5) { + hexchat_print (ph, + "Usage: HexChat::Internal::hook_fd(fd, callback, flags, userdata)"); + } else { + fd = (int) SvIV (ST (0)); + callback = ST (1); + flags = (int) SvIV (ST (2)); + userdata = ST (3); + package = ST (4); + data = NULL; + +#ifdef WIN32 + if ((flags & HEXCHAT_FD_NOTSOCKET) == 0) { + /* this _get_osfhandle if from win32iop.h in the perl distribution, + * not the one provided by Windows + */ + fd = _get_osfhandle(fd); + if (fd < 0) { + hexchat_print(ph, "Invalid file descriptor"); + XSRETURN_UNDEF; + } + } +#endif + + data = g_new (HookData, 1); + data->callback = newSVsv (callback); + data->userdata = newSVsv (userdata); + data->depth = 0; + data->package = newSVsv (package); + hook = hexchat_hook_fd (ph, fd, flags, fd_cb, data); + data->hook = hook; + + XSRETURN_IV (PTR2IV (hook)); + } +} + +static +XS (XS_HexChat_unhook) +{ + hexchat_hook *hook; + HookData *userdata; + int retCount = 0; + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::unhook(hook)"); + } else { + hook = INT2PTR (hexchat_hook *, SvUV (ST (0))); + userdata = (HookData *) hexchat_unhook (ph, hook); + + if (userdata != NULL) { + if (userdata->callback != NULL) { + SvREFCNT_dec (userdata->callback); + } + + if (userdata->userdata != NULL) { + XPUSHs (sv_mortalcopy (userdata->userdata)); + SvREFCNT_dec (userdata->userdata); + retCount = 1; + } + + if (userdata->package != NULL) { + SvREFCNT_dec (userdata->package); + } + + g_free (userdata); + } + XSRETURN (retCount); + } + XSRETURN_EMPTY; +} + +/* HexChat::Internal::command(command) */ +static +XS (XS_HexChat_command) +{ + char *cmd = NULL; + + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::Internal::command(command)"); + } else { + cmd = SvPV_nolen (ST (0)); + hexchat_command (ph, cmd); + + } + XSRETURN_EMPTY; +} + +static +XS (XS_HexChat_find_context) +{ + char *server = NULL; + char *chan = NULL; + hexchat_context *RETVAL; + + dXSARGS; + if (items > 2) + hexchat_print (ph, "Usage: HexChat::find_context ([channel, [server]])"); + { + + switch (items) { + case 0: /* no server name and no channel name */ + /* nothing to do, server and chan are already NULL */ + break; + case 1: /* channel name only */ + /* change channel value only if it is true or 0 */ + /* otherwise leave it as null */ + if (SvTRUE (ST (0)) || SvNIOK (ST (0))) { + chan = SvPV_nolen (ST (0)); + /* hexchat_printf( ph, "XSUB - find_context( %s, NULL )", chan ); */ + } + /* else { hexchat_print( ph, "XSUB - find_context( NULL, NULL )" ); } */ + /* chan is already NULL */ + break; + case 2: /* server and channel */ + /* change channel value only if it is true or 0 */ + /* otherwise leave it as NULL */ + if (SvTRUE (ST (0)) || SvNIOK (ST (0))) { + chan = SvPV_nolen (ST (0)); + /* hexchat_printf( ph, "XSUB - find_context( %s, NULL )", SvPV_nolen(ST(0) )); */ + } + + /* else { hexchat_print( ph, "XSUB - 2 arg NULL chan" ); } */ + /* change server value only if it is true or 0 */ + /* otherwise leave it as NULL */ + if (SvTRUE (ST (1)) || SvNIOK (ST (1))) { + server = SvPV_nolen (ST (1)); + /* hexchat_printf( ph, "XSUB - find_context( NULL, %s )", SvPV_nolen(ST(1) )); */ + } + /* else { hexchat_print( ph, "XSUB - 2 arg NULL server" ); } */ + break; + } + + RETVAL = hexchat_find_context (ph, server, chan); + if (RETVAL != NULL) { + /* hexchat_print (ph, "XSUB - context found"); */ + XSRETURN_IV (PTR2IV (RETVAL)); + } else { + /* hexchat_print (ph, "XSUB - context not found"); */ + XSRETURN_UNDEF; + } + } +} + +static +XS (XS_HexChat_get_context) +{ + dXSARGS; + if (items != 0) { + hexchat_print (ph, "Usage: HexChat::get_context()"); + } else { + XSRETURN_IV (PTR2IV (hexchat_get_context (ph))); + } +} + +static +XS (XS_HexChat_set_context) +{ + hexchat_context *ctx; + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::set_context(ctx)"); + } else { + ctx = INT2PTR (hexchat_context *, SvUV (ST (0))); + XSRETURN_IV ((IV) hexchat_set_context (ph, ctx)); + } +} + +static +XS (XS_HexChat_nickcmp) +{ + dXSARGS; + if (items != 2) { + hexchat_print (ph, "Usage: HexChat::nickcmp(s1, s2)"); + } else { + XSRETURN_IV ((IV) hexchat_nickcmp (ph, SvPV_nolen (ST (0)), + SvPV_nolen (ST (1)))); + } +} + +static +XS (XS_HexChat_get_list) +{ + SV *name; + hexchat_list *list; + const char *const *fields; + int count = 0; /* return value for scalar context */ + dXSARGS; + + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::get_list(name)"); + } else { + SP -= items; /*remove the argument list from the stack */ + + name = ST (0); + + list = hexchat_list_get (ph, SvPV_nolen (name)); + + if (list == NULL) { + XSRETURN_EMPTY; + } + + if (GIMME_V == G_SCALAR) { + while (hexchat_list_next (ph, list)) { + count++; + } + hexchat_list_free (ph, list); + XSRETURN_IV ((IV) count); + } + + fields = hexchat_list_fields (ph, SvPV_nolen (name)); + while (hexchat_list_next (ph, list)) { + XPUSHs (list_item_to_sv (list, fields)); + } + hexchat_list_free (ph, list); + + PUTBACK; + return; + } +} + +static +XS (XS_HexChat_Embed_plugingui_remove) +{ + void *gui_entry; + dXSARGS; + if (items != 1) { + hexchat_print (ph, "Usage: HexChat::Embed::plugingui_remove(handle)"); + } else { + gui_entry = INT2PTR (void *, SvUV (ST (0))); + hexchat_plugingui_remove (ph, gui_entry); + } + XSRETURN_EMPTY; +} + +static +XS (XS_HexChat_plugin_pref_set) +{ + dMARK; + dAX; + + XSRETURN_IV ((IV) hexchat_pluginpref_set_str (ph, SvPV_nolen (ST (0)), + SvPV_nolen (ST (1)))); +} + +static +XS (XS_HexChat_plugin_pref_get) +{ + int result; + char value[512]; + + dMARK; + dAX; + + result = hexchat_pluginpref_get_str (ph, SvPV_nolen (ST (0)), value); + + if (result) + XSRETURN_PV (value); + + XSRETURN_UNDEF; +} + +static +XS (XS_HexChat_plugin_pref_delete) +{ + dMARK; + dAX; + + XSRETURN_IV ((IV) hexchat_pluginpref_delete (ph, SvPV_nolen (ST (0)))); +} + +static +XS (XS_HexChat_plugin_pref_list) +{ + char list[4096]; + char value[512]; + char *token; + + dSP; + dMARK; + dAX; + + if (!hexchat_pluginpref_list (ph, list)) + XSRETURN_EMPTY; + + PUSHMARK (SP); + + token = strtok (list, ","); + while (token != NULL) + { + hexchat_pluginpref_get_str (ph, token, value); + + XPUSHs (sv_2mortal (newSVpv (token, 0))); + XPUSHs (sv_2mortal (newSVpv (value, 0))); + + token = strtok (NULL, ","); + } + + PUTBACK; +} + +/* xs_init is the second argument perl_parse. As the name hints, it + initializes XS subroutines (see the perlembed manpage) */ +static void +xs_init (pTHX) +{ + HV *stash; + SV *version; + /* This one allows dynamic loading of perl modules in perl + scripts by the 'use perlmod;' construction */ + newXS ("DynaLoader::boot_DynaLoader", boot_DynaLoader, __FILE__); + /* load up all the custom IRC perl functions */ + newXS ("HexChat::Internal::register", XS_HexChat_register, __FILE__); + newXS ("HexChat::Internal::hook_server", XS_HexChat_hook_server, __FILE__); + newXS ("HexChat::Internal::hook_command", XS_HexChat_hook_command, __FILE__); + newXS ("HexChat::Internal::hook_print", XS_HexChat_hook_print, __FILE__); + newXS ("HexChat::Internal::hook_timer", XS_HexChat_hook_timer, __FILE__); + newXS ("HexChat::Internal::hook_fd", XS_HexChat_hook_fd, __FILE__); + newXS ("HexChat::Internal::unhook", XS_HexChat_unhook, __FILE__); + newXS ("HexChat::Internal::print", XS_HexChat_print, __FILE__); + newXS ("HexChat::Internal::command", XS_HexChat_command, __FILE__); + newXS ("HexChat::Internal::set_context", XS_HexChat_set_context, __FILE__); + newXS ("HexChat::Internal::get_info", XS_HexChat_get_info, __FILE__); + newXS ("HexChat::Internal::context_info", XS_HexChat_context_info, __FILE__); + newXS ("HexChat::Internal::get_list", XS_HexChat_get_list, __FILE__); + + newXS ("HexChat::Internal::plugin_pref_set", XS_HexChat_plugin_pref_set, __FILE__); + newXS ("HexChat::Internal::plugin_pref_get", XS_HexChat_plugin_pref_get, __FILE__); + newXS ("HexChat::Internal::plugin_pref_delete", XS_HexChat_plugin_pref_delete, __FILE__); + newXS ("HexChat::Internal::plugin_pref_list", XS_HexChat_plugin_pref_list, __FILE__); + + newXS ("HexChat::find_context", XS_HexChat_find_context, __FILE__); + newXS ("HexChat::get_context", XS_HexChat_get_context, __FILE__); + newXS ("HexChat::get_prefs", XS_HexChat_get_prefs, __FILE__); + newXS ("HexChat::emit_print", XS_HexChat_emit_print, __FILE__); + newXS ("HexChat::send_modes", XS_HexChat_send_modes, __FILE__); + newXS ("HexChat::nickcmp", XS_HexChat_nickcmp, __FILE__); + + newXS ("HexChat::Embed::plugingui_remove", XS_HexChat_Embed_plugingui_remove, + __FILE__); + + stash = get_hv ("HexChat::", TRUE); + if (stash == NULL) { + exit (1); + } + + newCONSTSUB (stash, "PRI_HIGHEST", newSViv (HEXCHAT_PRI_HIGHEST)); + newCONSTSUB (stash, "PRI_HIGH", newSViv (HEXCHAT_PRI_HIGH)); + newCONSTSUB (stash, "PRI_NORM", newSViv (HEXCHAT_PRI_NORM)); + newCONSTSUB (stash, "PRI_LOW", newSViv (HEXCHAT_PRI_LOW)); + newCONSTSUB (stash, "PRI_LOWEST", newSViv (HEXCHAT_PRI_LOWEST)); + + newCONSTSUB (stash, "EAT_NONE", newSViv (HEXCHAT_EAT_NONE)); + newCONSTSUB (stash, "EAT_HEXCHAT", newSViv (HEXCHAT_EAT_HEXCHAT)); + newCONSTSUB (stash, "EAT_XCHAT", newSViv (HEXCHAT_EAT_HEXCHAT)); /* for compatibility */ + newCONSTSUB (stash, "EAT_PLUGIN", newSViv (HEXCHAT_EAT_PLUGIN)); + newCONSTSUB (stash, "EAT_ALL", newSViv (HEXCHAT_EAT_ALL)); + newCONSTSUB (stash, "FD_READ", newSViv (HEXCHAT_FD_READ)); + newCONSTSUB (stash, "FD_WRITE", newSViv (HEXCHAT_FD_WRITE)); + newCONSTSUB (stash, "FD_EXCEPTION", newSViv (HEXCHAT_FD_EXCEPTION)); + newCONSTSUB (stash, "FD_NOTSOCKET", newSViv (HEXCHAT_FD_NOTSOCKET)); + newCONSTSUB (stash, "KEEP", newSViv (1)); + newCONSTSUB (stash, "REMOVE", newSViv (0)); + + version = get_sv( "HexChat::VERSION", 1 ); + sv_setpv( version, PACKAGE_VERSION ); +} + +static void +perl_init (void) +{ + int warn; + int arg_count; + char *perl_args[] = { "", "-e", "0", "-w" }; + char *env[] = { "" }; + static const char xchat_definitions[] = { + /* Redefine the $SIG{__WARN__} handler to have HexChat + printing warnings in the main window. (TheHobbit) */ +#include "hexchat.pm.h" + }; +#ifdef OLD_PERL + static const char irc_definitions[] = { +#include "irc.pm.h" + }; +#endif +#ifdef ENABLE_NLS + + /* Problem is, dynamicaly loaded modules check out the $] + var. It appears that in the embedded interpreter we get + 5,00503 as soon as the LC_NUMERIC locale calls for a comma + instead of a point in separating integer and decimal + parts. I realy can't understant why... The following + appears to be an awful workaround... But it'll do until I + (or someone else :)) found the "right way" to solve this + nasty problem. (TheHobbit ) */ + + setlocale (LC_NUMERIC, "C"); + +#endif + + warn = 0; + hexchat_get_prefs (ph, "perl_warnings", NULL, &warn); + arg_count = warn ? 4 : 3; + + PERL_SYS_INIT3 (&arg_count, (char ***)&perl_args, (char ***)&env); + my_perl = perl_alloc (); + perl_construct (my_perl); + PL_exit_flags |= PERL_EXIT_DESTRUCT_END; + perl_parse (my_perl, xs_init, arg_count, perl_args, (char **)NULL); + + /* + Now initialising the perl interpreter by loading the + perl_definition array. + */ + + eval_pv (xchat_definitions, TRUE); +#ifdef OLD_PERL + eval_pv (irc_definitions, TRUE); +#endif + +} + + +static int +perl_load_file (char *filename) +{ +#ifdef WIN32 + static HMODULE lib = NULL; + + if (!lib) { + lib = LoadLibraryA (PERL_DLL); + if (!lib) { + if (GetLastError () == ERROR_BAD_EXE_FORMAT) + /* http://forum.xchat.org/viewtopic.php?t=3277 */ + thread_mbox ("Cannot use this " PERL_DLL "\n\n" +#ifdef _WIN64 + "64-bit HexChat Perl is required."); +#else + "32-bit HexChat Perl is required."); +#endif + else { + /* a lot of people install this old version */ + lib = LoadLibraryA ("perl56.dll"); + if (lib) { + FreeLibrary (lib); + lib = NULL; + thread_mbox ("Cannot open " PERL_DLL "!\n\n" + "You must have a Visual C++ build of Perl " + PERL_REQUIRED_VERSION " installed in order to\n" + "run Perl scripts. A reboot may be required.\n\n" + "http://hexchat.github.io/downloads.html\n\n" + "I have found Perl 5.6, but that is too old."); + } else { + thread_mbox ("Cannot open " PERL_DLL "!\n\n" + "You must have a Visual C++ build of Perl " + PERL_REQUIRED_VERSION " installed in order to\n" + "run Perl scripts. A reboot may be required.\n\n" + "http://hexchat.github.io/downloads.html\n\n" + "Make sure Perl's bin directory is in your PATH."); + } + } + /* failure */ + return FALSE; + } + + /* success */ + FreeLibrary (lib); + } +#endif + + if (my_perl == NULL) { + perl_init (); + } + + return execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::load", 0)), + filename); + +} + +static void +perl_end (void) +{ + + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::unload_all", 0)), ""); + PL_perl_destruct_level = 1; + perl_destruct (my_perl); + perl_free (my_perl); + PERL_SYS_TERM(); + my_perl = NULL; + } + +} + +static int +perl_command_unloadall (char *word[], char *word_eol[], void *userdata) +{ + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::unload_all", 0)), ""); + return HEXCHAT_EAT_HEXCHAT; + } + + return HEXCHAT_EAT_HEXCHAT; +} + +static int +perl_command_reloadall (char *word[], char *word_eol[], void *userdata) +{ + if (my_perl != NULL) { + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::reload_all", 0)), ""); + + return HEXCHAT_EAT_HEXCHAT; + } else { + perl_auto_load( NULL ); + } + return HEXCHAT_EAT_HEXCHAT; +} + +static int +perl_command_load (char *word[], char *word_eol[], void *userdata) +{ + char *file = get_filename (word, word_eol); + + if (file != NULL ) + { + perl_load_file (file); + return HEXCHAT_EAT_HEXCHAT; + } + + return HEXCHAT_EAT_NONE; +} + +static int +perl_command_unload (char *word[], char *word_eol[], void *userdata) +{ + char *file = get_filename (word, word_eol); + + if (my_perl != NULL && file != NULL) { + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::unload", 0)), file); + return HEXCHAT_EAT_HEXCHAT; + } + + return HEXCHAT_EAT_NONE; +} + +static int +perl_command_reload (char *word[], char *word_eol[], void *eat) +{ + char *file = get_filename (word, word_eol); + + if (my_perl != NULL && file != NULL) { + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::reload", 0)), file); + return HEXCHAT_EAT_HEXCHAT; + } + + if (eat) + return HEXCHAT_EAT_HEXCHAT; + else + return HEXCHAT_EAT_NONE; +} + +static int +perl_command_eval (char *word[], char *word_eol[], void *userdata) +{ + if (my_perl != NULL) + execute_perl (sv_2mortal (newSVpv ("HexChat::Embed::evaluate", 0)), word_eol[2]); + + return HEXCHAT_EAT_HEXCHAT; +} + +void +hexchat_plugin_get_info (char **name, char **desc, char **version, + void **reserved) +{ + *name = "Perl"; + *desc = "Perl scripting interface"; + *version = PACKAGE_VERSION; + if (reserved) + *reserved = NULL; +} + + +/* Reinit safeguard */ + +static int initialized = 0; + +int +hexchat_plugin_init (hexchat_plugin * plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + if (initialized != 0) { + hexchat_print (plugin_handle, "Perl interface already loaded\n"); + return 0; + } + + ph = plugin_handle; + initialized = 1; + + *plugin_name = "Perl"; + *plugin_desc = "Perl scripting interface"; + *plugin_version = PACKAGE_VERSION; + + hexchat_hook_command (ph, "load", HEXCHAT_PRI_NORM, perl_command_load, 0, 0); + hexchat_hook_command (ph, "unload", HEXCHAT_PRI_NORM, perl_command_unload, 0, + 0); + hexchat_hook_command (ph, "reload", HEXCHAT_PRI_NORM, perl_command_reload, 0, + 0); + hexchat_hook_command (ph, "pl_reload", HEXCHAT_PRI_NORM, perl_command_reload, + "Reloads a Perl script. Syntax: /pl_reload ", (int*)1); + hexchat_hook_command (ph, "unloadall", HEXCHAT_PRI_NORM, + perl_command_unloadall, "Unloads all loaded Perl scripts.", 0); + hexchat_hook_command (ph, "reloadall", HEXCHAT_PRI_NORM, + perl_command_reloadall, "Realoads all loaded Perl scripts.", 0); + + hexchat_hook_command (ph, "pl", HEXCHAT_PRI_NORM, + perl_command_eval, "Evaluates Perl code. Syntax: /pl ", 0); + + /*perl_init (); */ + hexchat_hook_timer (ph, 0, perl_auto_load, NULL ); + + hexchat_print (ph, "Perl interface loaded\n"); + + return 1; +} + +int +hexchat_plugin_deinit (hexchat_plugin * plugin_handle) +{ + perl_end (); + + initialized = 0; + hexchat_print (plugin_handle, "Perl interface unloaded\n"); + + return 1; +} diff --git a/plugins/perl/perl.def b/plugins/perl/perl.def new file mode 100644 index 0000000000000000000000000000000000000000..8589b9cb4a2541f67f27e10ca30b73e1f555aa7c --- /dev/null +++ b/plugins/perl/perl.def @@ -0,0 +1,4 @@ +EXPORTS + hexchat_plugin_init + hexchat_plugin_deinit + hexchat_plugin_get_info \ No newline at end of file diff --git a/plugins/perl/perl.vcxproj b/plugins/perl/perl.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..92c27408e1444afbbc657d38c20505f8a1ae595a --- /dev/null +++ b/plugins/perl/perl.vcxproj @@ -0,0 +1,77 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {D90BC3E3-1341-4849-9354-5F40489D39D1} + Win32Proj + perl520 + + + + + + + hcperl + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL520_EXPORTS;HAS_BOOL;$(OwnFlags);%(PreprocessorDefinitions) + $(IntDir);..\..\src\common;$(HexChatLib);$(PerlPath)\lib\CORE;$(Glib);%(AdditionalIncludeDirectories) + + + $(IntDir);$(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(PerlLib).lib;$(DepLibs);%(AdditionalDependencies) + perl.def + $(PerlLib).dll;%(DelayLoadDLLs) + + + "$(GendefPath)\gendef" "$(PerlPath)\bin\$(PerlLib).dll" +move $(PerlLib).def "$(IntDir)" +lib /nologo /machine:x86 "/def:$(IntDir)$(PerlLib).def" "/out:$(IntDir)\$(PerlLib).lib" +"$(PerlPath)\bin\perl.exe" generate_header +move irc.pm.h "$(IntDir)" +move hexchat.pm.h "$(IntDir)" + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PERL520_EXPORTS;HAS_BOOL;$(OwnFlags);%(PreprocessorDefinitions) + $(IntDir);..\..\src\common;$(HexChatLib);$(PerlPath)\lib\CORE;$(Glib);%(AdditionalIncludeDirectories) + + + $(IntDir);$(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(PerlLib).lib;$(DepLibs);%(AdditionalDependencies) + perl.def + $(PerlLib).dll;%(DelayLoadDLLs) + + + "$(GendefPath)\gendef" "$(PerlPath)\bin\$(PerlLib).dll" +move $(PerlLib).def "$(IntDir)" +lib /nologo /machine:x64 "/def:$(IntDir)$(PerlLib).def" "/out:$(IntDir)\$(PerlLib).lib" +"$(PerlPath)\bin\perl.exe" generate_header +move irc.pm.h "$(IntDir)" +move hexchat.pm.h "$(IntDir)" + + + + + + + + + + diff --git a/plugins/perl/perl.vcxproj.filters b/plugins/perl/perl.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..f6d00b5c6c282db90d18d5f7dcd6508c36cae2d9 --- /dev/null +++ b/plugins/perl/perl.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/plugins/python/_hexchat.py b/plugins/python/_hexchat.py new file mode 100644 index 0000000000000000000000000000000000000000..5e4b0c65f16fca5dc0be81ed091c0195ddfaf486 --- /dev/null +++ b/plugins/python/_hexchat.py @@ -0,0 +1,386 @@ +import inspect +import sys +from contextlib import contextmanager + +from _hexchat_embedded import ffi, lib + +__all__ = [ + 'EAT_ALL', 'EAT_HEXCHAT', 'EAT_NONE', 'EAT_PLUGIN', 'EAT_XCHAT', + 'PRI_HIGH', 'PRI_HIGHEST', 'PRI_LOW', 'PRI_LOWEST', 'PRI_NORM', + '__doc__', '__version__', 'command', 'del_pluginpref', 'emit_print', + 'find_context', 'get_context', 'get_info', + 'get_list', 'get_lists', 'get_pluginpref', 'get_prefs', 'hook_command', + 'hook_print', 'hook_print_attrs', 'hook_server', 'hook_server_attrs', + 'hook_timer', 'hook_unload', 'list_pluginpref', 'nickcmp', 'prnt', + 'set_pluginpref', 'strip', 'unhook', +] + +__doc__ = 'HexChat Scripting Interface' +__version__ = (2, 0) +__license__ = 'GPL-2.0+' + +EAT_NONE = 0 +EAT_HEXCHAT = 1 +EAT_XCHAT = EAT_HEXCHAT +EAT_PLUGIN = 2 +EAT_ALL = EAT_HEXCHAT | EAT_PLUGIN + +PRI_LOWEST = -128 +PRI_LOW = -64 +PRI_NORM = 0 +PRI_HIGH = 64 +PRI_HIGHEST = 127 + + +# We need each module to be able to reference their parent plugin +# which is a bit tricky since they all share the exact same module. +# Simply navigating up to what module called it seems to actually +# be a fairly reliable and simple method of doing so if ugly. +def __get_current_plugin(): + frame = inspect.stack()[1][0] + while '__plugin' not in frame.f_globals: + frame = frame.f_back + assert frame is not None + + return frame.f_globals['__plugin'] + + +# Keeping API compat +if sys.version_info[0] == 2: + def __decode(string): + return string + +else: + def __decode(string): + return string.decode() + + +# ------------ API ------------ +def prnt(string): + lib.hexchat_print(lib.ph, string.encode()) + + +def emit_print(event_name, *args, **kwargs): + time = kwargs.pop('time', 0) # For py2 compat + cargs = [] + for i in range(4): + arg = args[i].encode() if len(args) > i else b'' + cstring = ffi.new('char[]', arg) + cargs.append(cstring) + + if time == 0: + return lib.hexchat_emit_print(lib.ph, event_name.encode(), *cargs) + + attrs = lib.hexchat_event_attrs_create(lib.ph) + attrs.server_time_utc = time + ret = lib.hexchat_emit_print_attrs(lib.ph, attrs, event_name.encode(), *cargs) + lib.hexchat_event_attrs_free(lib.ph, attrs) + return ret + + +# TODO: this shadows itself. command should be changed to cmd +def command(command): + lib.hexchat_command(lib.ph, command.encode()) + + +def nickcmp(string1, string2): + return lib.hexchat_nickcmp(lib.ph, string1.encode(), string2.encode()) + + +def strip(text, length=-1, flags=3): + stripped = lib.hexchat_strip(lib.ph, text.encode(), length, flags) + ret = __decode(ffi.string(stripped)) + lib.hexchat_free(lib.ph, stripped) + return ret + + +def get_info(name): + ret = lib.hexchat_get_info(lib.ph, name.encode()) + if ret == ffi.NULL: + return None + if name in ('gtkwin_ptr', 'win_ptr'): + # Surely there is a less dumb way? + ptr = repr(ret).rsplit(' ', 1)[1][:-1] + return ptr + + return __decode(ffi.string(ret)) + + +def get_prefs(name): + string_out = ffi.new('char**') + int_out = ffi.new('int*') + _type = lib.hexchat_get_prefs(lib.ph, name.encode(), string_out, int_out) + if _type == 0: + return None + + if _type == 1: + return __decode(ffi.string(string_out[0])) + + if _type in (2, 3): # XXX: 3 should be a bool, but keeps API + return int_out[0] + + raise AssertionError('Out of bounds pref storage') + + +def __cstrarray_to_list(arr): + i = 0 + ret = [] + while arr[i] != ffi.NULL: + ret.append(ffi.string(arr[i])) + i += 1 + + return ret + + +__FIELD_CACHE = {} + + +def __get_fields(name): + return __FIELD_CACHE.setdefault(name, __cstrarray_to_list(lib.hexchat_list_fields(lib.ph, name))) + + +__FIELD_PROPERTY_CACHE = {} + + +def __cached_decoded_str(string): + return __FIELD_PROPERTY_CACHE.setdefault(string, __decode(string)) + + +def get_lists(): + return [__cached_decoded_str(field) for field in __get_fields(b'lists')] + + +class ListItem: + def __init__(self, name): + self._listname = name + + def __repr__(self): + return '<{} list item at {}>'.format(self._listname, id(self)) + + +# done this way for speed +if sys.version_info[0] == 2: + def get_getter(name): + return ord(name[0]) + +else: + def get_getter(name): + return name[0] + + +def get_list(name): + # XXX: This function is extremely inefficient and could be interators and + # lazily loaded properties, but for API compat we stay slow + orig_name = name + name = name.encode() + + if name not in __get_fields(b'lists'): + raise KeyError('list not available') + + list_ = lib.hexchat_list_get(lib.ph, name) + if list_ == ffi.NULL: + return None + + ret = [] + fields = __get_fields(name) + + def string_getter(field): + string = lib.hexchat_list_str(lib.ph, list_, field) + if string != ffi.NULL: + return __decode(ffi.string(string)) + + return '' + + def ptr_getter(field): + if field == b'context': + ptr = lib.hexchat_list_str(lib.ph, list_, field) + ctx = ffi.cast('hexchat_context*', ptr) + return Context(ctx) + + return None + + getters = { + ord('s'): string_getter, + ord('i'): lambda field: lib.hexchat_list_int(lib.ph, list_, field), + ord('t'): lambda field: lib.hexchat_list_time(lib.ph, list_, field), + ord('p'): ptr_getter, + } + + while lib.hexchat_list_next(lib.ph, list_) == 1: + item = ListItem(orig_name) + for _field in fields: + getter = getters.get(get_getter(_field)) + if getter is not None: + field_name = _field[1:] + setattr(item, __cached_decoded_str(field_name), getter(field_name)) + + ret.append(item) + + lib.hexchat_list_free(lib.ph, list_) + return ret + + +# TODO: 'command' here shadows command above, and should be renamed to cmd +def hook_command(command, callback, userdata=None, priority=PRI_NORM, help=None): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_command(lib.ph, command.encode(), priority, lib._on_command_hook, + help.encode() if help is not None else ffi.NULL, hook.handle) + + hook.hexchat_hook = handle + return id(hook) + + +def hook_print(name, callback, userdata=None, priority=PRI_NORM): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_print(lib.ph, name.encode(), priority, lib._on_print_hook, hook.handle) + hook.hexchat_hook = handle + return id(hook) + + +def hook_print_attrs(name, callback, userdata=None, priority=PRI_NORM): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_print_attrs(lib.ph, name.encode(), priority, lib._on_print_attrs_hook, hook.handle) + hook.hexchat_hook = handle + return id(hook) + + +def hook_server(name, callback, userdata=None, priority=PRI_NORM): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_server(lib.ph, name.encode(), priority, lib._on_server_hook, hook.handle) + hook.hexchat_hook = handle + return id(hook) + + +def hook_server_attrs(name, callback, userdata=None, priority=PRI_NORM): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_server_attrs(lib.ph, name.encode(), priority, lib._on_server_attrs_hook, hook.handle) + hook.hexchat_hook = handle + return id(hook) + + +def hook_timer(timeout, callback, userdata=None): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata) + handle = lib.hexchat_hook_timer(lib.ph, timeout, lib._on_timer_hook, hook.handle) + hook.hexchat_hook = handle + return id(hook) + + +def hook_unload(callback, userdata=None): + plugin = __get_current_plugin() + hook = plugin.add_hook(callback, userdata, is_unload=True) + return id(hook) + + +def unhook(handle): + plugin = __get_current_plugin() + return plugin.remove_hook(handle) + + +def set_pluginpref(name, value): + if isinstance(value, str): + return bool(lib.hexchat_pluginpref_set_str(lib.ph, name.encode(), value.encode())) + + if isinstance(value, int): + return bool(lib.hexchat_pluginpref_set_int(lib.ph, name.encode(), value)) + + # XXX: This should probably raise but this keeps API + return False + + +def get_pluginpref(name): + name = name.encode() + string_out = ffi.new('char[512]') + if lib.hexchat_pluginpref_get_str(lib.ph, name, string_out) != 1: + return None + + string = ffi.string(string_out) + # This API stores everything as a string so we have to figure out what + # its actual type was supposed to be. + if len(string) > 12: # Can't be a number + return __decode(string) + + number = lib.hexchat_pluginpref_get_int(lib.ph, name) + if number == -1 and string != b'-1': + return __decode(string) + + return number + + +def del_pluginpref(name): + return bool(lib.hexchat_pluginpref_delete(lib.ph, name.encode())) + + +def list_pluginpref(): + prefs_str = ffi.new('char[4096]') + if lib.hexchat_pluginpref_list(lib.ph, prefs_str) == 1: + return __decode(ffi.string(prefs_str)).split(',') + + return [] + + +class Context: + def __init__(self, ctx): + self._ctx = ctx + + def __eq__(self, value): + if not isinstance(value, Context): + return False + + return self._ctx == value._ctx + + @contextmanager + def __change_context(self): + old_ctx = lib.hexchat_get_context(lib.ph) + if not self.set(): + # XXX: Behavior change, previously used wrong context + lib.hexchat_print(lib.ph, b'Context object refers to closed context, ignoring call') + return + + yield + lib.hexchat_set_context(lib.ph, old_ctx) + + def set(self): + # XXX: API addition, C plugin silently ignored failure + return bool(lib.hexchat_set_context(lib.ph, self._ctx)) + + def prnt(self, string): + with self.__change_context(): + prnt(string) + + def emit_print(self, event_name, *args, **kwargs): + time = kwargs.pop('time', 0) # For py2 compat + with self.__change_context(): + return emit_print(event_name, *args, time=time) + + def command(self, string): + with self.__change_context(): + command(string) + + def get_info(self, name): + with self.__change_context(): + return get_info(name) + + def get_list(self, name): + with self.__change_context(): + return get_list(name) + + +def get_context(): + ctx = lib.hexchat_get_context(lib.ph) + return Context(ctx) + + +def find_context(server=None, channel=None): + server = server.encode() if server is not None else ffi.NULL + channel = channel.encode() if channel is not None else ffi.NULL + ctx = lib.hexchat_find_context(lib.ph, server, channel) + if ctx == ffi.NULL: + return None + + return Context(ctx) diff --git a/plugins/python/generate_plugin.py b/plugins/python/generate_plugin.py new file mode 100755 index 0000000000000000000000000000000000000000..5c52b37b1b977369751d358e000aa1e2b5bb5126 --- /dev/null +++ b/plugins/python/generate_plugin.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 + +import sys +import cffi + +builder = cffi.FFI() + +# hexchat-plugin.h +with open(sys.argv[1]) as f: + output = [] + eat_until_endif = 0 + # This is very specific to hexchat-plugin.h, it is not a cpp + for line in f: + if line.startswith('#define'): + continue + elif line.endswith('HEXCHAT_PLUGIN_H\n'): + continue + elif 'time.h' in line: + output.append('typedef int... time_t;') + elif line.startswith('#if'): + eat_until_endif += 1 + elif line.startswith('#endif'): + eat_until_endif -= 1 + elif eat_until_endif and '_hexchat_context' not in line: + continue + else: + output.append(line) + builder.cdef(''.join(output)) + +builder.embedding_api(''' +extern "Python" int _on_py_command(char **, char **, void *); +extern "Python" int _on_load_command(char **, char **, void *); +extern "Python" int _on_unload_command(char **, char **, void *); +extern "Python" int _on_reload_command(char **, char **, void *); +extern "Python" int _on_say_command(char **, char **, void *); + +extern "Python" int _on_command_hook(char **, char **, void *); +extern "Python" int _on_print_hook(char **, void *); +extern "Python" int _on_print_attrs_hook(char **, hexchat_event_attrs *, void *); +extern "Python" int _on_server_hook(char **, char **, void *); +extern "Python" int _on_server_attrs_hook(char **, char **, hexchat_event_attrs *, void *); +extern "Python" int _on_timer_hook(void *); + +extern "Python" int _on_plugin_init(char **, char **, char **, char *, char *); +extern "Python" int _on_plugin_deinit(void); + +static hexchat_plugin *ph; +''') + +builder.set_source('_hexchat_embedded', ''' +/* Python's header defines these.. */ +#undef HAVE_MEMRCHR +#undef HAVE_STRINGS_H + +#include "config.h" +#include "hexchat-plugin.h" + +static hexchat_plugin *ph; +CFFI_DLLEXPORT int _on_plugin_init(char **, char **, char **, char *, char *); +CFFI_DLLEXPORT int _on_plugin_deinit(void); + +int hexchat_plugin_init(hexchat_plugin *plugin_handle, + char **name_out, char **description_out, + char **version_out, char *arg) +{ + if (ph != NULL) + { + puts ("Python plugin already loaded\\n"); + return 0; /* Prevent loading twice */ + } + + ph = plugin_handle; + return _on_plugin_init(name_out, description_out, version_out, arg, HEXCHATLIBDIR); +} + +int hexchat_plugin_deinit(void) +{ + int ret = _on_plugin_deinit(); + ph = NULL; + return ret; +} +''') + +# python.py +with open(sys.argv[2]) as f: + builder.embedding_init_code(f.read()) + +# python.c +builder.emit_c_code(sys.argv[3]) diff --git a/plugins/python/hexchat.py b/plugins/python/hexchat.py new file mode 100644 index 0000000000000000000000000000000000000000..6922490b693cbb485129ec76cf1d0fe6ee29ffff --- /dev/null +++ b/plugins/python/hexchat.py @@ -0,0 +1 @@ +from _hexchat import * diff --git a/plugins/python/meson.build b/plugins/python/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..1e9b41adfa325a9ea20c40e79d82681fa1f4363c --- /dev/null +++ b/plugins/python/meson.build @@ -0,0 +1,32 @@ +python_opt = get_option('with-python') +if python_opt.startswith('python3') + # Python 3.8 introduced a new -embed variant + if not python_opt.endswith('-embed') + python_dep = dependency(python_opt + '-embed', version: '>= 3.3', required: false) + if not python_dep.found() + python_dep = dependency(python_opt, version: '>= 3.3') + endif + else + python_dep = dependency(python_opt, version: '>= 3.3') + endif +else + python_dep = dependency(python_opt, version: '>= 2.7') +endif + +python3_source = custom_target('python-bindings', + input: ['../../src/common/hexchat-plugin.h', 'python.py'], + output: 'python.c', + command: [find_program('generate_plugin.py'), '@INPUT@', '@OUTPUT@'] +) + +install_data(['_hexchat.py', 'hexchat.py', 'xchat.py'], + install_dir: join_paths(get_option('libdir'), 'hexchat/python') +) + +shared_module('python', python3_source, + dependencies: [hexchat_plugin_dep, python_dep], + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'python.def' +) diff --git a/plugins/python/python.def b/plugins/python/python.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/python/python.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/python/python.py b/plugins/python/python.py new file mode 100644 index 0000000000000000000000000000000000000000..9eca7d6e1d28f3e182fd1c099f8aa7685540326b --- /dev/null +++ b/plugins/python/python.py @@ -0,0 +1,566 @@ +from __future__ import print_function + +import importlib +import os +import pydoc +import signal +import sys +import traceback +import weakref +from contextlib import contextmanager + +from _hexchat_embedded import ffi, lib + +if sys.version_info < (3, 0): + from io import BytesIO as HelpEater +else: + from io import StringIO as HelpEater + +if not hasattr(sys, 'argv'): + sys.argv = [''] + +VERSION = b'2.0' # Sync with hexchat.__version__ +PLUGIN_NAME = ffi.new('char[]', b'Python') +PLUGIN_DESC = ffi.new('char[]', b'Python %d.%d scripting interface' % (sys.version_info[0], sys.version_info[1])) +PLUGIN_VERSION = ffi.new('char[]', VERSION) + +# TODO: Constants should be screaming snake case +hexchat = None +local_interp = None +hexchat_stdout = None +plugins = set() + + +@contextmanager +def redirected_stdout(): + sys.stdout = sys.__stdout__ + sys.stderr = sys.__stderr__ + yield + sys.stdout = hexchat_stdout + sys.stderr = hexchat_stdout + + +if os.getenv('HEXCHAT_LOG_PYTHON'): + def log(*args): + with redirected_stdout(): + print(*args) + +else: + def log(*args): + pass + + +class Stdout: + def __init__(self): + self.buffer = bytearray() + + def write(self, string): + string = string.encode() + idx = string.rfind(b'\n') + if idx != -1: + self.buffer += string[:idx] + lib.hexchat_print(lib.ph, bytes(self.buffer)) + self.buffer = bytearray(string[idx + 1:]) + else: + self.buffer += string + + def flush(self): + lib.hexchat_print(lib.ph, bytes(self.buffer)) + self.buffer = bytearray() + + def isatty(self): + return False + + +class Attribute: + def __init__(self): + self.time = 0 + + def __repr__(self): + return ''.format(id(self)) + + +class Hook: + def __init__(self, plugin, callback, userdata, is_unload): + self.is_unload = is_unload + self.plugin = weakref.proxy(plugin) + self.callback = callback + self.userdata = userdata + self.hexchat_hook = None + self.handle = ffi.new_handle(weakref.proxy(self)) + + def __del__(self): + log('Removing hook', id(self)) + if self.is_unload is False: + assert self.hexchat_hook is not None + lib.hexchat_unhook(lib.ph, self.hexchat_hook) + + +if sys.version_info[0] == 2: + def compile_file(data, filename): + return compile(data, filename, 'exec', dont_inherit=True) + + + def compile_line(string): + try: + return compile(string, '', 'eval', dont_inherit=True) + + except SyntaxError: + # For some reason `print` is invalid for eval + # This will hide any return value though + return compile(string, '', 'exec', dont_inherit=True) +else: + def compile_file(data, filename): + return compile(data, filename, 'exec', optimize=2, dont_inherit=True) + + + def compile_line(string): + # newline appended to solve unexpected EOF issues + return compile(string + '\n', '', 'single', optimize=2, dont_inherit=True) + + +class Plugin: + def __init__(self): + self.ph = None + self.name = '' + self.filename = '' + self.version = '' + self.description = '' + self.hooks = set() + self.globals = { + '__plugin': weakref.proxy(self), + '__name__': '__main__', + } + + def add_hook(self, callback, userdata, is_unload=False): + hook = Hook(self, callback, userdata, is_unload=is_unload) + self.hooks.add(hook) + return hook + + def remove_hook(self, hook): + for h in self.hooks: + if id(h) == hook: + ud = h.userdata + self.hooks.remove(h) + return ud + + log('Hook not found') + return None + + def loadfile(self, filename): + try: + self.filename = filename + with open(filename, 'rb') as f: + data = f.read().decode('utf-8') + compiled = compile_file(data, filename) + exec(compiled, self.globals) + + try: + self.name = self.globals['__module_name__'] + + except KeyError: + lib.hexchat_print(lib.ph, b'Failed to load module: __module_name__ must be set') + + return False + + self.version = self.globals.get('__module_version__', '') + self.description = self.globals.get('__module_description__', '') + self.ph = lib.hexchat_plugingui_add(lib.ph, filename.encode(), self.name.encode(), + self.description.encode(), self.version.encode(), ffi.NULL) + + except Exception as e: + lib.hexchat_print(lib.ph, 'Failed to load module: {}'.format(e).encode()) + traceback.print_exc() + return False + + return True + + def __del__(self): + log('unloading', self.filename) + for hook in self.hooks: + if hook.is_unload is True: + try: + hook.callback(hook.userdata) + + except Exception as e: + log('Failed to run hook:', e) + traceback.print_exc() + + del self.hooks + if self.ph is not None: + lib.hexchat_plugingui_remove(lib.ph, self.ph) + + +if sys.version_info[0] == 2: + def __decode(string): + return string + +else: + def __decode(string): + return string.decode() + + +# There can be empty entries between non-empty ones so find the actual last value +def wordlist_len(words): + for i in range(31, 0, -1): + if ffi.string(words[i]): + return i + + return 0 + + +def create_wordlist(words): + size = wordlist_len(words) + return [__decode(ffi.string(words[i])) for i in range(1, size + 1)] + + +# This function only exists for compat reasons with the C plugin +# It turns the word list from print hooks into a word_eol list +# This makes no sense to do... +def create_wordeollist(words): + words = reversed(words) + accum = None + ret = [] + for word in words: + if accum is None: + accum = word + + elif word: + last = accum + accum = ' '.join((word, last)) + + ret.insert(0, accum) + + return ret + + +def to_cb_ret(value): + if value is None: + return 0 + + return int(value) + + +@ffi.def_extern() +def _on_command_hook(word, word_eol, userdata): + hook = ffi.from_handle(userdata) + word = create_wordlist(word) + word_eol = create_wordlist(word_eol) + return to_cb_ret(hook.callback(word, word_eol, hook.userdata)) + + +@ffi.def_extern() +def _on_print_hook(word, userdata): + hook = ffi.from_handle(userdata) + word = create_wordlist(word) + word_eol = create_wordeollist(word) + return to_cb_ret(hook.callback(word, word_eol, hook.userdata)) + + +@ffi.def_extern() +def _on_print_attrs_hook(word, attrs, userdata): + hook = ffi.from_handle(userdata) + word = create_wordlist(word) + word_eol = create_wordeollist(word) + attr = Attribute() + attr.time = attrs.server_time_utc + return to_cb_ret(hook.callback(word, word_eol, hook.userdata, attr)) + + +@ffi.def_extern() +def _on_server_hook(word, word_eol, userdata): + hook = ffi.from_handle(userdata) + word = create_wordlist(word) + word_eol = create_wordlist(word_eol) + return to_cb_ret(hook.callback(word, word_eol, hook.userdata)) + + +@ffi.def_extern() +def _on_server_attrs_hook(word, word_eol, attrs, userdata): + hook = ffi.from_handle(userdata) + word = create_wordlist(word) + word_eol = create_wordlist(word_eol) + attr = Attribute() + attr.time = attrs.server_time_utc + return to_cb_ret(hook.callback(word, word_eol, hook.userdata, attr)) + + +@ffi.def_extern() +def _on_timer_hook(userdata): + hook = ffi.from_handle(userdata) + if hook.callback(hook.userdata) == True: + return 1 + + try: + # Avoid calling hexchat_unhook twice if unnecessary + hook.is_unload = True + except ReferenceError: + # hook is a weak reference, it might have been destroyed by the callback + # in which case it has already been removed from hook.plugin.hooks and + # we wouldn't be able to test it with h == hook anyway. + return 0 + + for h in hook.plugin.hooks: + if h == hook: + hook.plugin.hooks.remove(h) + break + + return 0 + + +@ffi.def_extern(error=3) +def _on_say_command(word, word_eol, userdata): + channel = ffi.string(lib.hexchat_get_info(lib.ph, b'channel')) + if channel == b'>>python<<': + python = ffi.string(word_eol[1]) + lib.hexchat_print(lib.ph, b'>>> ' + python) + exec_in_interp(__decode(python)) + return 1 + + return 0 + + +def load_filename(filename): + filename = os.path.expanduser(filename) + if not os.path.isabs(filename): + configdir = __decode(ffi.string(lib.hexchat_get_info(lib.ph, b'configdir'))) + + filename = os.path.join(configdir, 'addons', filename) + + if filename and not any(plugin.filename == filename for plugin in plugins): + plugin = Plugin() + if plugin.loadfile(filename): + plugins.add(plugin) + return True + + return False + + +def unload_name(name): + if name: + for plugin in plugins: + if name in (plugin.name, plugin.filename, os.path.basename(plugin.filename)): + plugins.remove(plugin) + return True + + return False + + +def reload_name(name): + if name: + for plugin in plugins: + if name in (plugin.name, plugin.filename, os.path.basename(plugin.filename)): + filename = plugin.filename + plugins.remove(plugin) + return load_filename(filename) + + return False + + +@contextmanager +def change_cwd(path): + old_cwd = os.getcwd() + os.chdir(path) + yield + os.chdir(old_cwd) + + +def autoload(): + configdir = __decode(ffi.string(lib.hexchat_get_info(lib.ph, b'configdir'))) + addondir = os.path.join(configdir, 'addons') + try: + with change_cwd(addondir): # Maintaining old behavior + for f in os.listdir(addondir): + if f.endswith('.py'): + log('Autoloading', f) + # TODO: Set cwd + load_filename(os.path.join(addondir, f)) + + except FileNotFoundError as e: + log('Autoload failed', e) + + +def list_plugins(): + if not plugins: + lib.hexchat_print(lib.ph, b'No python modules loaded') + return + + tbl_headers = [b'Name', b'Version', b'Filename', b'Description'] + tbl = [ + tbl_headers, + [(b'-' * len(s)) for s in tbl_headers] + ] + + for plugin in plugins: + basename = os.path.basename(plugin.filename).encode() + name = plugin.name.encode() + version = plugin.version.encode() if plugin.version else b'' + description = plugin.description.encode() if plugin.description else b'' + tbl.append((name, version, basename, description)) + + column_sizes = [ + max(len(item) for item in column) + for column in zip(*tbl) + ] + + for row in tbl: + lib.hexchat_print(lib.ph, b' '.join(item.ljust(column_sizes[i]) + for i, item in enumerate(row))) + lib.hexchat_print(lib.ph, b'') + + +def exec_in_interp(python): + global local_interp + + if not python: + return + + if local_interp is None: + local_interp = Plugin() + local_interp.locals = {} + local_interp.globals['hexchat'] = hexchat + + code = compile_line(python) + try: + ret = eval(code, local_interp.globals, local_interp.locals) + if ret is not None: + lib.hexchat_print(lib.ph, '{}'.format(ret).encode()) + + except Exception as e: + traceback.print_exc(file=hexchat_stdout) + + +@ffi.def_extern() +def _on_load_command(word, word_eol, userdata): + filename = ffi.string(word[2]) + if filename.endswith(b'.py'): + load_filename(__decode(filename)) + return 3 + + return 0 + + +@ffi.def_extern() +def _on_unload_command(word, word_eol, userdata): + filename = ffi.string(word[2]) + if filename.endswith(b'.py'): + unload_name(__decode(filename)) + return 3 + + return 0 + + +@ffi.def_extern() +def _on_reload_command(word, word_eol, userdata): + filename = ffi.string(word[2]) + if filename.endswith(b'.py'): + reload_name(__decode(filename)) + return 3 + + return 0 + + +@ffi.def_extern(error=3) +def _on_py_command(word, word_eol, userdata): + subcmd = __decode(ffi.string(word[2])).lower() + + if subcmd == 'exec': + python = __decode(ffi.string(word_eol[3])) + exec_in_interp(python) + + elif subcmd == 'load': + filename = __decode(ffi.string(word[3])) + load_filename(filename) + + elif subcmd == 'unload': + name = __decode(ffi.string(word[3])) + if not unload_name(name): + lib.hexchat_print(lib.ph, b'Can\'t find a python plugin with that name') + + elif subcmd == 'reload': + name = __decode(ffi.string(word[3])) + if not reload_name(name): + lib.hexchat_print(lib.ph, b'Can\'t find a python plugin with that name') + + elif subcmd == 'console': + lib.hexchat_command(lib.ph, b'QUERY >>python<<') + + elif subcmd == 'list': + list_plugins() + + elif subcmd == 'about': + lib.hexchat_print(lib.ph, b'HexChat Python interface version ' + VERSION) + + else: + lib.hexchat_command(lib.ph, b'HELP PY') + + return 3 + + +@ffi.def_extern() +def _on_plugin_init(plugin_name, plugin_desc, plugin_version, arg, libdir): + global hexchat + global hexchat_stdout + + signal.signal(signal.SIGINT, signal.SIG_DFL) + + plugin_name[0] = PLUGIN_NAME + plugin_desc[0] = PLUGIN_DESC + plugin_version[0] = PLUGIN_VERSION + + try: + libdir = __decode(ffi.string(libdir)) + modpath = os.path.join(libdir, '..', 'python') + sys.path.append(os.path.abspath(modpath)) + hexchat = importlib.import_module('hexchat') + + except (UnicodeDecodeError, ImportError) as e: + lib.hexchat_print(lib.ph, b'Failed to import module: ' + repr(e).encode()) + + return 0 + + hexchat_stdout = Stdout() + sys.stdout = hexchat_stdout + sys.stderr = hexchat_stdout + pydoc.help = pydoc.Helper(HelpEater(), HelpEater()) + + lib.hexchat_hook_command(lib.ph, b'', 0, lib._on_say_command, ffi.NULL, ffi.NULL) + lib.hexchat_hook_command(lib.ph, b'LOAD', 0, lib._on_load_command, ffi.NULL, ffi.NULL) + lib.hexchat_hook_command(lib.ph, b'UNLOAD', 0, lib._on_unload_command, ffi.NULL, ffi.NULL) + lib.hexchat_hook_command(lib.ph, b'RELOAD', 0, lib._on_reload_command, ffi.NULL, ffi.NULL) + lib.hexchat_hook_command(lib.ph, b'PY', 0, lib._on_py_command, b'''Usage: /PY LOAD + UNLOAD + RELOAD + LIST + EXEC + CONSOLE + ABOUT''', ffi.NULL) + + lib.hexchat_print(lib.ph, b'Python interface loaded') + autoload() + return 1 + + +@ffi.def_extern() +def _on_plugin_deinit(): + global local_interp + global hexchat + global hexchat_stdout + global plugins + + plugins = set() + local_interp = None + hexchat = None + hexchat_stdout = None + sys.stdout = sys.__stdout__ + sys.stderr = sys.__stderr__ + pydoc.help = pydoc.Helper() + + for mod in ('_hexchat', 'hexchat', 'xchat', '_hexchat_embedded'): + try: + del sys.modules[mod] + + except KeyError: + pass + + return 1 diff --git a/plugins/python/python3.vcxproj b/plugins/python/python3.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..3eb86c2aa4c21a3339e5543a86a8005481c274aa --- /dev/null +++ b/plugins/python/python3.vcxproj @@ -0,0 +1,70 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} + Win32Proj + python3 + + + + + + + $(Python3Output) + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTHON_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions) + $(Glib);$(Python3Path)\include;..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + python.def + "$(Python3Lib).lib";$(DepLibs);%(AdditionalDependencies) + $(DepsRoot)\lib;$(Python3Path)\libs;%(AdditionalLibraryDirectories) + + + "$(Python3Path)\python.exe" generate_plugin.py ..\..\src\common\hexchat-plugin.h python.py "$(IntDir)python.c" + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;PYTHON_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions) + $(Glib);$(Python3Path)\include;..\..\src\common;$(HexChatLib);%(AdditionalIncludeDirectories) + + + python.def + "$(Python3Lib).lib";$(DepLibs);%(AdditionalDependencies) + $(DepsRoot)\lib;$(Python3Path)\libs;%(AdditionalLibraryDirectories) + + + "$(Python3Path)\python.exe" generate_plugin.py ..\..\src\common\hexchat-plugin.h python.py "$(IntDir)python.c" + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/python/python3.vcxproj.filters b/plugins/python/python3.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..5c5834bb2cb066990cb77e9076df1b89496e91d7 --- /dev/null +++ b/plugins/python/python3.vcxproj.filters @@ -0,0 +1,34 @@ + + + + + {f4eaf231-f095-42d3-8427-b2b6006cacb1} + + + {0166c0f9-7968-4a09-9ef5-a5179c7746eb} + + + + + + + + Resource Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/plugins/python/python_style_guide.md b/plugins/python/python_style_guide.md new file mode 100644 index 0000000000000000000000000000000000000000..41db2474c029983805d25056180557fcc2fe0238 --- /dev/null +++ b/plugins/python/python_style_guide.md @@ -0,0 +1,26 @@ +# HexChat Python Module Style Guide + +(This is a work in progress). + +## General rules + +- PEP8 as general fallback recommendations +- Max line length: 120 +- Avoid overcomplex compound statements. i.e. dont do this: `somevar = x if x == y else z if a == b and c == b else x` + +## Indentation style + +### Multi-line functions + +```python +foo(really_long_arg_1, + really_long_arg_2) +``` + +### Mutli-line lists/dicts + +```python +foo = { + 'bar': 'baz', +} +``` diff --git a/plugins/python/xchat.py b/plugins/python/xchat.py new file mode 100644 index 0000000000000000000000000000000000000000..6922490b693cbb485129ec76cf1d0fe6ee29ffff --- /dev/null +++ b/plugins/python/xchat.py @@ -0,0 +1 @@ +from _hexchat import * diff --git a/plugins/sysinfo/format.c b/plugins/sysinfo/format.c new file mode 100644 index 0000000000000000000000000000000000000000..741c43e266b2e603b9fe0795321e0f3ae917ee8a --- /dev/null +++ b/plugins/sysinfo/format.c @@ -0,0 +1,90 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include + +char * +sysinfo_format_uptime (gint64 uptime) +{ + char buffer[128]; + + gint64 weeks = uptime / 604800; + int days = (uptime / 86400) % 7; + int hours = (uptime / 3600) % 24; + int minutes = (uptime / 60) % 60; + int seconds = uptime % 60; + + if (weeks != 0) + { + g_snprintf (buffer, sizeof(buffer), "%" G_GINT64_FORMAT "w %dd %dh %dm %ds", weeks, days, hours, minutes, seconds); + } + else if (days != 0) + { + g_snprintf (buffer, sizeof(buffer), "%dd %dh %dm %ds", days, hours, minutes, seconds); + } + else if (hours != 0) + { + g_snprintf (buffer, sizeof(buffer), "%dh %dm %ds", hours, minutes, seconds); + } + else if (minutes != 0) + { + g_snprintf (buffer, sizeof(buffer), "%dm %ds", minutes, seconds); + } + else + { + g_snprintf (buffer, sizeof(buffer), "%ds", seconds); + } + + return g_strdup (buffer); +} + +char * +sysinfo_format_memory (guint64 totalmem, guint64 freemem) +{ + char *total_fmt, *free_fmt, *ret; + + total_fmt = g_format_size_full (totalmem, G_FORMAT_SIZE_IEC_UNITS); + free_fmt = g_format_size_full (freemem, G_FORMAT_SIZE_IEC_UNITS); + ret = g_strdup_printf ("%s Total (%s Free)", total_fmt, free_fmt); + + g_free (total_fmt); + g_free (free_fmt); + return ret; +} + +char * +sysinfo_format_disk (guint64 total, guint64 free) +{ + char *total_fmt, *free_fmt, *used_fmt, *ret; + GFormatSizeFlags format_flags = G_FORMAT_SIZE_DEFAULT; + +#ifdef WIN32 /* Windows uses IEC size (with SI format) */ + format_flags = G_FORMAT_SIZE_IEC_UNITS; +#endif + + total_fmt = g_format_size_full (total, format_flags); + free_fmt = g_format_size_full (free, format_flags); + used_fmt = g_format_size_full (total - free, format_flags); + ret = g_strdup_printf ("%s / %s (%s Free)", used_fmt, total_fmt, free_fmt); + + g_free (total_fmt); + g_free (free_fmt); + g_free (used_fmt); + return ret; +} diff --git a/plugins/sysinfo/format.h b/plugins/sysinfo/format.h new file mode 100644 index 0000000000000000000000000000000000000000..5fe209be51fe793ca6f0f9225074020299e96395 --- /dev/null +++ b/plugins/sysinfo/format.h @@ -0,0 +1,28 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef FORMAT_H +#define FORMAT_H + +char *sysinfo_format_uptime(gint64 uptime); +char *sysinfo_format_memory(guint64 totalmem, guint64 freemem); +char *sysinfo_format_disk(guint64 total, guint64 free); + +#endif diff --git a/plugins/sysinfo/meson.build b/plugins/sysinfo/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..08f08c2c428818b7d2cfcf02a8e014d961ad6925 --- /dev/null +++ b/plugins/sysinfo/meson.build @@ -0,0 +1,61 @@ +sysinfo_sources = [ + 'format.c', + 'sysinfo.c', +] + +sysinfo_deps = [ + libgio_dep, + hexchat_plugin_dep, + common_sysinfo_deps, +] + +sysinfo_includes = [] +sysinfo_cargs = [] + +system = host_machine.system() +if system == 'linux' or system == 'gnu' or system.startswith('gnu/') or system == 'darwin' or system == 'freebsd' + sysinfo_includes += 'shared' + sysinfo_sources += [ + 'shared/df.c' + ] + + if system == 'linux' or system == 'gnu' or system.startswith('gnu/') or system == 'freebsd' + libpci = dependency('libpci', required: false, method: 'pkg-config') + if libpci.found() + sysinfo_deps += libpci + sysinfo_cargs += '-DHAVE_LIBPCI' + sysinfo_sources += 'unix/pci.c' + + picidsdir = libpci.get_pkgconfig_variable('idsdir') + pciids = join_paths(picidsdir, 'pci.ids') + sysinfo_cargs += '-DPCIIDS_FILE="@0@"'.format(pciids) + endif + sysinfo_includes += 'unix' + sysinfo_sources += [ + 'unix/backend.c', + 'unix/match.c', + 'unix/parse.c', + ] + elif system == 'darwin' + add_languages('objc') + sysinfo_sources += 'osx/backend.m' + endif + +elif system == 'windows' + sysinfo_sources += [ + 'win32/backend.c', + '../../src/common/sysinfo/win32/backend.c' + ] +else + error('sysinfo: Unknown system?') +endif + +shared_module('sysinfo', sysinfo_sources, + dependencies: sysinfo_deps, + include_directories: include_directories(sysinfo_includes), + c_args: sysinfo_cargs, + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'sysinfo.def', +) diff --git a/plugins/sysinfo/osx/backend.m b/plugins/sysinfo/osx/backend.m new file mode 100644 index 0000000000000000000000000000000000000000..73bdf996248d7c3bc7b8d1f3cf7721ec32b73790 --- /dev/null +++ b/plugins/sysinfo/osx/backend.m @@ -0,0 +1,275 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + /* + * Some snippets based upon Textual's System Profiler plugin. + * https://github.com/Codeux-Software/Textual + */ + +#import + +#include +#include +#include +#include +#include + +#include + +#include "format.h" +#include "df.h" + +static char * +get_os (void) +{ + NSDictionary *systemversion = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/CoreServices/SystemVersion.plist"]; + NSString *build = [systemversion objectForKey:@"ProductBuildVersion"]; + if (!build) + return NULL; + NSString *version = [systemversion objectForKey:@"ProductUserVisibleVersion"]; + if (!version) + { + [build release]; + return NULL; + } + + NSDictionary *profiler = [NSDictionary dictionaryWithContentsOfFile:[@"~/Library/Preferences/com.apple.SystemProfiler.plist" stringByExpandingTildeInPath]]; + NSDictionary *names = [profiler objectForKey:@"OS Names"]; + NSString *os_name = nil; + + for (NSString *name in names) + { + if ([name hasPrefix:build]) + { + os_name = [names objectForKey:name]; + break; + } + } + [build release]; + + if (!os_name) + { + [version release]; + return NULL; + } + + char *ret = g_strdup_printf ("%s %s", [os_name UTF8String], [version UTF8String]); + [version release]; + + return ret; +} + +static char * +get_os_fallback (void) +{ +#if !defined (MAC_OS_X_VERSION_10_9) || MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_9 + SInt32 ver_major = 0, + ver_minor = 0, + ver_patch = 0; + + Gestalt (gestaltSystemVersionMajor, &ver_major); + Gestalt (gestaltSystemVersionMinor, &ver_minor); + Gestalt (gestaltSystemVersionBugFix, &ver_patch); + + return g_strdup_printf ("OS X %d.%d.%d", ver_major, ver_minor, ver_patch); +#else + NSProcessInfo *info = [NSProcessInfo processInfo]; + NSOperatingSystemVersion version = [info operatingSystemVersion]; + + return g_strdup_printf ("OS X %ld.%ld.%ld", version.majorVersion, version.minorVersion, version.patchVersion); +#endif +} +char * +sysinfo_backend_get_os(void) +{ + static char *os_str = NULL; + if (!os_str) + { + os_str = get_os(); + if (!os_str) + os_str = get_os_fallback(); + } + return g_strdup (os_str); +} + +char * +sysinfo_backend_get_disk(void) +{ + gint64 total, free_space; + + if (xs_parse_df (&total, &free_space)) + { + return NULL; + } + + return sysinfo_format_disk (total, free_space); +} + +static guint64 +get_free_memory (void) +{ + mach_msg_type_number_t infoCount = (sizeof(vm_statistics_data_t) / sizeof(natural_t)); + + vm_size_t pagesize; + vm_statistics_data_t vm_stat; + + host_page_size(mach_host_self(), &pagesize); + + if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vm_stat, &infoCount) == KERN_SUCCESS) + return ((vm_stat.inactive_count + vm_stat.free_count) * pagesize); + + return 0; +} + +char * +sysinfo_backend_get_memory(void) +{ + NSProcessInfo *info = [NSProcessInfo processInfo]; + guint64 totalmem, freemem; + + totalmem = [info physicalMemory]; + + if ((freemem = get_free_memory()) == 0) + return NULL; + + return sysinfo_format_memory (totalmem, freemem); +} + +char * +sysinfo_backend_get_cpu(void) +{ + guint64 cpu_clock_uint = 0; + double cpu_clock; + char cpu_string[256]; + gsize len; + gboolean giga = FALSE; + + len = sizeof(cpu_string); + if (sysctlbyname ("machdep.cpu.brand_string", cpu_string, &len, NULL, 0) != 0) + return NULL; + cpu_string[sizeof(cpu_string) - 1] = '\0'; + + len = sizeof(cpu_clock_uint); + if (sysctlbyname("hw.cpufrequency", &cpu_clock_uint, &len, NULL, 0) < 0) + return NULL; + + cpu_clock = cpu_clock_uint / 1000000; + if (cpu_clock > 1000) + { + cpu_clock /= 1000; + giga = TRUE; + } + + if (giga) + return g_strdup_printf ("%s (%.2fGHz)", cpu_string, cpu_clock); + else + return g_strdup_printf ("%s (%.0fMHz)", cpu_string, cpu_clock); +} + +static char * +get_gpu(void) +{ + CFMutableDictionaryRef pciDevices = IOServiceMatching("IOPCIDevice"); + io_iterator_t entry_iterator, serviceObject; + + if (IOServiceGetMatchingServices(kIOMasterPortDefault, pciDevices, &entry_iterator) != kIOReturnSuccess) + return NULL; + + GString *gpu_list = g_string_new(NULL); + while ((serviceObject = IOIteratorNext(entry_iterator))) + { + CFMutableDictionaryRef serviceDictionary; + + kern_return_t status = IORegistryEntryCreateCFProperties(serviceObject, &serviceDictionary, + kCFAllocatorDefault, kNilOptions); + + if (status != kIOReturnSuccess) + { + IOObjectRelease(serviceObject); + continue; + } + + const void *class = CFDictionaryGetValue(serviceDictionary, @"class-code"); + if (!class || *(guint32*)CFDataGetBytePtr(class) != 0x30000) /* DISPLAY_VGA */ + { + CFRelease(serviceDictionary); + continue; + } + + const void *model = CFDictionaryGetValue(serviceDictionary, @"model"); + if (model) + { + if (CFGetTypeID(model) == CFDataGetTypeID() && CFDataGetLength(model) > 1) + { + if (gpu_list->len != 0) + g_string_append (gpu_list, ", "); + g_string_append_len (gpu_list, (const char*)CFDataGetBytePtr(model), CFDataGetLength(model) - 1); + } + } + + CFRelease(serviceDictionary); + } + + if (gpu_list->len == 0) + { + g_string_free (gpu_list, TRUE); + return NULL; + } + + /* The string may contain nul-chars we must replace */ + int i; + for (i = 0; i < gpu_list->len; i++) + { + if (gpu_list->str[i] == '\0') + gpu_list->str[i] = ' '; + } + + return g_string_free (gpu_list, FALSE); +} + +char * +sysinfo_backend_get_gpu(void) +{ + static char *gpu_str = NULL; + if (!gpu_str) + gpu_str = get_gpu(); + + return g_strdup (gpu_str); +} + +char * +sysinfo_backend_get_sound(void) +{ + return NULL; +} + +char * +sysinfo_backend_get_uptime(void) +{ + NSProcessInfo *info = [NSProcessInfo processInfo]; + double uptime = [info systemUptime]; + + return sysinfo_format_uptime ((gint64)uptime); +} + +char * +sysinfo_backend_get_network(void) +{ + return NULL; +} diff --git a/plugins/sysinfo/shared/df.c b/plugins/sysinfo/shared/df.c new file mode 100644 index 0000000000000000000000000000000000000000..bb2c2131620de18eb02390ac4080630d7741ba2f --- /dev/null +++ b/plugins/sysinfo/shared/df.c @@ -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. + * + * 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include + +#include "sysinfo.h" + +int xs_parse_df(gint64 *out_total, gint64 *out_free) +{ + FILE *pipe; + char buffer[bsize]; + + pipe = popen("df -k -l -P --exclude-type=squashfs --exclude-type=devtmpfs --exclude-type=tmpfs", "r"); + if(pipe==NULL) + return 1; + + *out_total = *out_free = 0; + + while(fgets(buffer, bsize, pipe) != NULL) + { + long long int avail, total; + + /* Filesystem 1024-blocks Used Available Capacity Mounted-on */ + if (sscanf (buffer, "%*s %lld %*s %lld %*s %*s", &total, &avail) == 2) + { + *out_total += total; + *out_free += avail; + } + } + + /* Convert to bytes */ + *out_total *= 1000; + *out_free *= 1000; + + pclose(pipe); + return 0; +} diff --git a/plugins/sysinfo/shared/df.h b/plugins/sysinfo/shared/df.h new file mode 100644 index 0000000000000000000000000000000000000000..5f7f329630439b0824bebc365842311fbdec6d35 --- /dev/null +++ b/plugins/sysinfo/shared/df.h @@ -0,0 +1,23 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef SYSINFO_SHARED_H +#define SYSINFO_SHARED_H + +int xs_parse_df(gint64 *total_bytes, gint64 *free_bytes); + +#endif diff --git a/plugins/sysinfo/sysinfo-backend.h b/plugins/sysinfo/sysinfo-backend.h new file mode 100644 index 0000000000000000000000000000000000000000..c69a0853e3102a655e8cbec4e979799537284c69 --- /dev/null +++ b/plugins/sysinfo/sysinfo-backend.h @@ -0,0 +1,33 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef SYSINFO_BACKEND_H +#define SYSINFO_BACKEND_H + +char *sysinfo_backend_get_os(void); +char *sysinfo_backend_get_disk(void); +char *sysinfo_backend_get_memory(void); +char *sysinfo_backend_get_cpu(void); +char *sysinfo_backend_get_gpu(void); +char *sysinfo_backend_get_sound(void); +char *sysinfo_backend_get_uptime(void); +char *sysinfo_backend_get_network(void); + +#endif diff --git a/plugins/sysinfo/sysinfo.c b/plugins/sysinfo/sysinfo.c new file mode 100644 index 0000000000000000000000000000000000000000..a09e4766d5009986cd6bfee9840bd075636614ec --- /dev/null +++ b/plugins/sysinfo/sysinfo.c @@ -0,0 +1,249 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2012 Berke Viktor. + * + * xsys.c - main functions for X-Sys 2 + * by mikeshoup + * Copyright (C) 2003, 2004, 2005 Michael Shoup + * Copyright (C) 2005, 2006, 2007 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include +#include +#include +#include + +#include "hexchat-plugin.h" +#include "sysinfo-backend.h" +#include "sysinfo.h" + +#define _(x) hexchat_gettext(ph,x) +#define DEFAULT_ANNOUNCE TRUE + +static hexchat_plugin *ph; + +static char name[] = "Sysinfo"; +static char desc[] = "Display info about your hardware and OS"; +static char version[] = "1.0"; +static char sysinfo_help[] = "SysInfo Usage:\n /SYSINFO [-e|-o] [CLIENT|OS|CPU|RAM|DISK|VGA|SOUND|ETHERNET|UPTIME], print various details about your system or print a summary without arguments\n /SYSINFO SET \n"; + +typedef struct +{ + const char *name; /* Lower case name used for prefs */ + const char *title; /* Used for the end formatting */ + char *(*callback) (void); + gboolean def; /* Hide by default? */ +} hwinfo; + +static char * +get_client (void) +{ + return g_strdup_printf ("HexChat %s", hexchat_get_info(ph, "version")); +} + +static hwinfo hwinfos[] = { + {"client", "Client", get_client}, + {"os", "OS", sysinfo_backend_get_os}, + {"cpu", "CPU", sysinfo_backend_get_cpu}, + {"memory", "Memory", sysinfo_backend_get_memory}, + {"storage", "Storage", sysinfo_backend_get_disk}, + {"vga", "VGA", sysinfo_backend_get_gpu}, + {"sound", "Sound", sysinfo_backend_get_sound, TRUE}, + {"ethernet", "Ethernet", sysinfo_backend_get_network, TRUE}, + {"uptime", "Uptime", sysinfo_backend_get_uptime}, + {NULL, NULL}, +}; + +static gboolean sysinfo_get_bool_pref (const char *pref, gboolean def); + +static gboolean +should_show_info (hwinfo info) +{ + char hide_pref[32]; + + g_snprintf (hide_pref, sizeof(hide_pref), "hide_%s", info.name); + return !sysinfo_get_bool_pref (hide_pref, info.def); +} + +static void +print_summary (gboolean announce) +{ + char **strings = g_new0 (char*, G_N_ELEMENTS(hwinfos)); + int i, x; + char *output; + + for (i = 0, x = 0; hwinfos[i].name != NULL; i++) + { + if (should_show_info (hwinfos[i])) + { + char *str = hwinfos[i].callback(); + if (str) + { + strings[x++] = g_strdup_printf ("\002%s\002: %s", hwinfos[i].title, str); + g_free (str); + } + } + } + + output = g_strjoinv (" \002\342\200\242\002 ", strings); + hexchat_commandf (ph, "%s %s", announce ? "SAY" : "ECHO", output); + + g_strfreev (strings); + g_free (output); +} + +static void +print_info (char *info, gboolean announce) +{ + int i; + + for (i = 0; hwinfos[i].name != NULL; i++) + { + if (!g_ascii_strcasecmp (info, hwinfos[i].name)) + { + char *str = hwinfos[i].callback(); + if (str) + { + hexchat_commandf (ph, "%s \002%s\002: %s", announce ? "SAY" : "ECHO", + hwinfos[i].title, str); + g_free (str); + } + else + hexchat_print (ph, _("Sysinfo: Failed to get info. Either not supported or error.")); + return; + } + } + + hexchat_print (ph, _("Sysinfo: No info by that name\n")); +} + +static gboolean +sysinfo_get_bool_pref (const char *pref, gboolean def) +{ + int value = hexchat_pluginpref_get_int (ph, pref); + + if (value != -1) + return value; + + return def; +} + +static void +sysinfo_set_pref_real (const char *pref, char *value, gboolean def) +{ + if (value && value[0]) + { + guint64 i = g_ascii_strtoull (value, NULL, 0); + hexchat_pluginpref_set_int (ph, pref, i != 0); + hexchat_printf (ph, _("Sysinfo: %s is set to: %d\n"), pref, i != 0); + } + else + { + hexchat_printf (ph, _("Sysinfo: %s is set to: %d\n"), pref, + sysinfo_get_bool_pref(pref, def)); + } +} + +static void +sysinfo_set_pref (char *key, char *value) +{ + if (!key || !key[0]) + { + hexchat_print (ph, _("Sysinfo: Valid settings are: announce and hide_* for each piece of information. e.g. hide_os. Without a value it will show current (or default) setting.\n")); + return; + } + + if (!strcmp (key, "announce")) + { + sysinfo_set_pref_real (key, value, DEFAULT_ANNOUNCE); + return; + } + else if (g_str_has_prefix (key, "hide_")) + { + int i; + for (i = 0; hwinfos[i].name != NULL; i++) + { + if (!strcmp (key + 5, hwinfos[i].name)) + { + sysinfo_set_pref_real (key, value, hwinfos[i].def); + return; + } + } + } + + hexchat_print (ph, _("Sysinfo: Invalid variable name\n")); +} + +static int +sysinfo_cb (char *word[], char *word_eol[], void *userdata) +{ + gboolean announce = sysinfo_get_bool_pref("announce", DEFAULT_ANNOUNCE); + int offset = 0, channel_type; + char *cmd; + + /* Allow overriding global announce setting */ + if (!strcmp ("-e", word[2])) + { + announce = FALSE; + offset++; + } + else if (!strcmp ("-o", word[2])) + { + announce = TRUE; + offset++; + } + + /* Cannot send to server tab */ + channel_type = hexchat_list_int (ph, NULL, "type"); + if (channel_type != 2 /* SESS_CHANNEL */ && channel_type != 3 /* SESS_DIALOG */) + announce = FALSE; + + cmd = word[2+offset]; + if (!g_ascii_strcasecmp ("SET", cmd)) + sysinfo_set_pref (word[3+offset], word_eol[4+offset]); + else if (!cmd || !cmd[0]) + print_summary (announce); + else + print_info (cmd, announce); + + return HEXCHAT_EAT_ALL; +} + +int +hexchat_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + hexchat_hook_command (ph, "SYSINFO", HEXCHAT_PRI_NORM, sysinfo_cb, sysinfo_help, NULL); + + hexchat_command (ph, "MENU ADD \"Window/Send System Info\" \"SYSINFO\""); + hexchat_printf (ph, _("%s plugin loaded\n"), name); + return 1; +} + +int +hexchat_plugin_deinit (void) +{ + hexchat_command (ph, "MENU DEL \"Window/Display System Info\""); + hexchat_printf (ph, _("%s plugin unloaded\n"), name); + return 1; +} diff --git a/plugins/sysinfo/sysinfo.def b/plugins/sysinfo/sysinfo.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/sysinfo/sysinfo.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/sysinfo/sysinfo.h b/plugins/sysinfo/sysinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..16ec03e4c78cc790e344b772cb46c73b5dd2791f --- /dev/null +++ b/plugins/sysinfo/sysinfo.h @@ -0,0 +1,26 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef SYSINFO_H +#define SYSINFO_H + +#define bsize 1024 + +#endif diff --git a/plugins/sysinfo/sysinfo.vcxproj b/plugins/sysinfo/sysinfo.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..a3ff0f8ac3098acda298e376388d67d0871770a5 --- /dev/null +++ b/plugins/sysinfo/sysinfo.vcxproj @@ -0,0 +1,71 @@ + + + + v142 + DynamicLibrary + Unicode + + + + Release + Win32 + + + Release + x64 + + + + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} + Win32Proj + sysinfo + + + + + + + hcsysinfo + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSINFO_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;$(DepsRoot)\include;$(Glib);$(HexChatLib);%(AdditionalIncludeDirectories) + false + + + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;$(DepLibs);%(AdditionalDependencies) + comsupp.lib + sysinfo.def + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;SYSINFO_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;$(DepsRoot)\include;$(Glib);$(HexChatLib);%(AdditionalIncludeDirectories) + false + + + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + $(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;$(DepLibs);%(AdditionalDependencies) + comsupp.lib + sysinfo.def + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/sysinfo/sysinfo.vcxproj.filters b/plugins/sysinfo/sysinfo.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..aa173bb50c9a4d6e28b50dda30e63eb6a33c9178 --- /dev/null +++ b/plugins/sysinfo/sysinfo.vcxproj.filters @@ -0,0 +1,43 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {c873eb6b-aca6-434d-8ec9-199838b80838} + + + + + Resource Files + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/sysinfo/unix/backend.c b/plugins/sysinfo/unix/backend.c new file mode 100644 index 0000000000000000000000000000000000000000..b6876452a036be960e9c70a86fb580163a117d37 --- /dev/null +++ b/plugins/sysinfo/unix/backend.c @@ -0,0 +1,170 @@ +/* + * SysInfo - sysinfo plugin for HexChat + * Copyright (c) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include "parse.h" +#include "match.h" +#include "sysinfo.h" +#include "format.h" +#include "df.h" + +char *sysinfo_backend_get_os(void) +{ + char name[bsize]; + + if (xs_parse_distro (name) != 0) + { + return NULL; + } + + return g_strdup(name); +} + +char *sysinfo_backend_get_disk(void) +{ + gint64 total, free; + + if (xs_parse_df (&total, &free)) + { + return NULL; + } + + return sysinfo_format_disk (total, free); +} + +char *sysinfo_backend_get_memory(void) +{ + unsigned long long mem_total; + unsigned long long mem_free; + unsigned long long swap_total; + unsigned long long swap_free; + char *swap_fmt = NULL, *mem_fmt, *ret; + + if (xs_parse_meminfo (&mem_total, &mem_free, 0) == 1) + { + return NULL; + } + if (xs_parse_meminfo (&swap_total, &swap_free, 1) != 1 && swap_total != 0) + { + swap_fmt = sysinfo_format_memory (swap_total, swap_free); + } + + mem_fmt = sysinfo_format_memory (mem_total, mem_free); + + if (swap_fmt) + { + ret = g_strdup_printf ("Physical: %s Swap: %s", mem_fmt, swap_fmt); + g_free (mem_fmt); + g_free (swap_fmt); + } + else + ret = mem_fmt; + + return ret; +} + +char *sysinfo_backend_get_cpu(void) +{ + char model[bsize]; + char vendor[bsize]; + char buffer[bsize]; + double freq; + int giga = 0; + + if (xs_parse_cpu (model, vendor, &freq) != 0) + { + return NULL; + } + + if (freq > 1000) + { + freq /= 1000; + giga = 1; + } + + if (giga) + { + g_snprintf (buffer, bsize, "%s (%.2fGHz)", model, freq); + } + else + { + g_snprintf (buffer, bsize, "%s (%.0fMHz)", model, freq); + } + + return g_strdup (buffer); +} + +char *sysinfo_backend_get_gpu(void) +{ + char vid_card[bsize]; + char agp_bridge[bsize]; + char buffer[bsize]; + int ret; + + if ((ret = xs_parse_video (vid_card)) != 0) + { + return NULL; + } + + if (xs_parse_agpbridge (agp_bridge) != 0) + { + g_snprintf (buffer, bsize, "%s", vid_card); + } + else + { + g_snprintf (buffer, bsize, "%s @ %s", vid_card, agp_bridge); + } + + return g_strdup (buffer); +} + +char *sysinfo_backend_get_sound(void) +{ + char sound[bsize]; + + if (xs_parse_sound (sound) != 0) + { + return NULL; + } + return g_strdup (sound); +} + +char *sysinfo_backend_get_uptime(void) +{ + gint64 uptime; + + if ((uptime = xs_parse_uptime ()) == 0) + { + return NULL; + } + + return sysinfo_format_uptime (uptime); +} + +char *sysinfo_backend_get_network(void) +{ + char ethernet_card[bsize]; + + if (xs_parse_ether (ethernet_card)) + { + g_strlcpy (ethernet_card, "None found", bsize); + } + + return g_strdup (ethernet_card); +} diff --git a/plugins/sysinfo/unix/match.c b/plugins/sysinfo/unix/match.c new file mode 100644 index 0000000000000000000000000000000000000000..2ef51f3f2c080adaa981f73bcf94d1f30fda3e2c --- /dev/null +++ b/plugins/sysinfo/unix/match.c @@ -0,0 +1,98 @@ +/* + * match.c - matching functions for X-Sys + * Copyright (C) 2005, 2006, 2007 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include +#include "sysinfo.h" + +#define delims ":=" + +void find_match_char(char *buffer, char *match, char *result) +{ + char *position; + g_strchug(buffer); + if(strstr(buffer, match) == strstr(buffer, buffer)) + { + position = strpbrk(buffer, delims); + if (position != NULL) + { + position += 1; + strcpy(result, position); + position = strstr(result, "\n"); + *(position) = '\0'; + g_strchug(result); + } + else + strcpy(result, "\0"); + } +} + +void find_match_double(char *buffer, char *match, double *result) +{ + char *position; + g_strchug(buffer); + if(strstr(buffer, match) == strstr(buffer, buffer)) + { + position = strpbrk(buffer, delims); + if (position != NULL) + { + position += 1; + *result = strtod(position, NULL); + } + else + *result = 0; + } +} + +void find_match_double_hex(char *buffer, char *match, double *result) +{ + char *position; + g_strchug(buffer); + if(strstr(buffer, match) == strstr(buffer, buffer)) + { + position = strpbrk(buffer, delims); + if (position != NULL) + { + memcpy(position,"0x",2); + *result = strtod(position,NULL); + } + else + *result = 0; + } +} + +void find_match_ll(char *buffer, char *match, unsigned long long *result) +{ + char *position; + g_strchug(buffer); + if(strstr(buffer, match) == strstr(buffer, buffer)) + { + position = strpbrk(buffer, delims); + if (position != NULL) + { + position += 1; + *result = strtoll(position, NULL, 10); + } + else + *result = 0; + } +} + diff --git a/plugins/sysinfo/unix/match.h b/plugins/sysinfo/unix/match.h new file mode 100644 index 0000000000000000000000000000000000000000..16999fa2b4b2c1dcd46111b9dfad372b900496aa --- /dev/null +++ b/plugins/sysinfo/unix/match.h @@ -0,0 +1,29 @@ +/* + * match.h - matching header for X-Sys + * Copyright (C) 2005 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _MATCH_H_ +#define _MATCH_H_ + +void find_match_char(char *buffer, char *match, char *result); +void find_match_double(char *buffer, char *match, double *result); +void find_match_double_hex(char *buffer, char *match, double *result); +void find_match_ll(char *buffer, char *match, unsigned long long *result); +void remove_leading_whitespace(char *buffer); + +#endif diff --git a/plugins/sysinfo/unix/parse.c b/plugins/sysinfo/unix/parse.c new file mode 100644 index 0000000000000000000000000000000000000000..8e1e8bb7a8866fced7116a3034335302f52b1783 --- /dev/null +++ b/plugins/sysinfo/unix/parse.c @@ -0,0 +1,357 @@ +/* + * parse.c - parsing functions for X-Sys + * by mike9010 + * Copyright (C) 2003, 2004, 2005 Michael Shoup + * Copyright (C) 2005, 2006, 2007 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include +#ifdef HAVE_LIBPCI + #include + #include "pci.h" +#endif +#include + +#ifdef __sparc__ +#include +#endif + +#include "match.h" +#include "parse.h" +#include "sysinfo.h" + +int xs_parse_cpu(char *model, char *vendor, double *freq) +{ +#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || defined(__alpha__) || defined(__ia64__) || defined(__parisc__) || defined(__sparc__) + char buffer[bsize]; +#endif + FILE *fp; + + fp = fopen("/proc/cpuinfo", "r"); + if(fp == NULL) + return 1; + +#if defined(__i386__) || defined(__x86_64__) + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "model name", model); + find_match_char(buffer, "vendor_id", vendor); + find_match_double(buffer, "cpu MHz", freq); + } + +#elif defined(__powerpc__) + { + char *pos; + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "cpu", model); + find_match_char(buffer, "machine", vendor); + find_match_double(buffer, "clock", freq); + } + pos = strstr(model, ","); + if (pos != NULL) + *pos = '\0'; + } +#elif defined( __alpha__) + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "cpu model", model); + find_match_char(buffer, "system type", vendor); + find_match_double(buffer, "cycle frequency [Hz]", freq); + } + *freq = *freq / 1000000; + +#elif defined(__ia64__) + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "model", model); + find_match_char(buffer, "vendor", vendor); + find_match_double(buffer, "cpu MHz", freq); + } + +#elif defined(__parisc__) + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "cpu ", model); + find_match_char(buffer, "cpu family", vendor); + find_match_double(buffer, "cpu MHz", freq); + } + +#elif defined(__sparc__) + { + DIR *dir; + struct dirent *entry; + FILE *fp2; + + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "cpu ", model); + find_match_char(buffer, "type ", vendor); + find_match_double_hex(buffer, "Cpu0ClkTck", freq); + } + *freq = *freq / 1000000; + } +#else + + fclose(fp); + return 1; /* Unsupported */ + +#endif + + fclose(fp); + return 0; +} + +gint64 xs_parse_uptime(void) +{ + char buffer[bsize]; + gint64 uptime = 0; + FILE *fp = fopen("/proc/uptime", "r"); + if(fp == NULL) + return 0; + + if(fgets(buffer, bsize, fp) != NULL) + uptime = g_ascii_strtoll(buffer, NULL, 0); + + fclose(fp); + + return uptime; +} + +int xs_parse_sound(char *snd_card) +{ +#ifndef HAVE_LIBPCI + return 1; +#else + char buffer[bsize], cards[bsize] = "\0", vendor[7] = "\0", device[7] = "\0", *pos; + u16 class = PCI_CLASS_MULTIMEDIA_AUDIO; + + FILE *fp = NULL; + if((fp = fopen("/proc/asound/cards", "r"))== NULL) + { + if (pci_find_by_class(&class, vendor, device) == 0) + { + pci_find_fullname(snd_card, vendor, device); + return 0; + } + else + return 1; + } + + + while(fgets(buffer, bsize, fp) != NULL) + { + if(isdigit(buffer[0]) || isdigit(buffer[1])) + { + char card_buf[bsize]; + gint64 card_id = 0; + pos = strstr(buffer, ":"); + card_id = g_ascii_strtoll(buffer, NULL, 0); + if (card_id == 0) + g_snprintf(card_buf, bsize, "%s", pos+2); + else + g_snprintf(card_buf, bsize, "%"G_GINT64_FORMAT": %s", card_id, pos+2); + pos = strstr(card_buf, "\n"); + *pos = '\0'; + strcat(cards, card_buf); + } + } + + strcpy(snd_card, cards); + + fclose(fp); + return 0; +#endif +} + +int xs_parse_video(char *vid_card) +{ +#ifndef HAVE_LIBPCI + return 1; +#else + char vendor[7] = "\0", device[7] = "\0"; + u16 class = PCI_CLASS_DISPLAY_VGA; + if (pci_find_by_class(&class, vendor, device)) + return 1; + else + pci_find_fullname(vid_card, vendor, device); + return 0; +#endif +} + +int xs_parse_ether(char *ethernet_card) +{ +#ifndef HAVE_LIBPCI + return 1; +#else + char vendor[7] = "\0", device[7] = "\0"; + u16 class = PCI_CLASS_NETWORK_ETHERNET; + if (pci_find_by_class(&class, vendor, device)) + return 1; + else + pci_find_fullname(ethernet_card, vendor, device); + return 0; +#endif +} + +int xs_parse_agpbridge(char *agp_bridge) +{ +#ifndef HAVE_LIBPCI + return 1; +#else + char vendor[7] = "\0", device[7] = "\0"; + u16 class = PCI_CLASS_BRIDGE_HOST; + if (pci_find_by_class(&class, vendor, device)) + return 1; + else + pci_find_fullname(agp_bridge, vendor, device); + return 0; +#endif +} + +int xs_parse_meminfo(unsigned long long *mem_tot, unsigned long long *mem_free, int swap) +{ + FILE *fp; + char buffer[bsize]; + unsigned long long freemem = 0, buffers = 0, cache = 0; + *mem_tot = 0; + *mem_free = 0; + + if((fp = fopen("/proc/meminfo", "r")) == NULL) + return 1; + + while(fgets(buffer, bsize, fp) != NULL) + { + if(!swap) + { + find_match_ll(buffer, "MemTotal:", mem_tot); + find_match_ll(buffer, "MemFree:", &freemem); + find_match_ll(buffer, "Buffers:", &buffers); + find_match_ll(buffer, "Cached:", &cache); + } + else + { + find_match_ll(buffer, "SwapTotal:", mem_tot); + find_match_ll(buffer, "SwapFree:", mem_free); + } + } + if (!swap) + { + *mem_free = freemem + buffers + cache; + } + fclose(fp); + + /* Convert to bytes */ + *mem_free *= 1000; + *mem_tot *= 1000; + return 0; +} + +static void strip_quotes(char *string) +{ + size_t len = strlen(string); + if (string[len - 1] == '"') + string[--len] = '\0'; + + if (string[0] == '"') + memmove(string, string + 1, len); +} + +int xs_parse_distro(char *name) +{ + FILE *fp = NULL; + char buffer[bsize], *pos = NULL; + + if((fp = fopen("/etc/redhat-release", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/mageia-release", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/slackware-version", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/mandrake-release", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/SuSE-release", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/turbolinux-release", "r")) != NULL) + fgets(buffer, bsize, fp); + else if((fp = fopen("/etc/arch-release", "r")) != NULL) + g_snprintf(buffer, bsize, "ArchLinux"); + else if((fp = fopen("/etc/lsb-release", "r")) != NULL) + { + char id[bsize], codename[bsize], release[bsize]; + strcpy(id, "?"); + strcpy(codename, "?"); + strcpy(release, "?"); + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "DISTRIB_ID", id); + find_match_char(buffer, "DISTRIB_CODENAME", codename); + find_match_char(buffer, "DISTRIB_RELEASE", release); + } + g_snprintf(buffer, bsize, "%s \"%s\" %s", id, codename, release); + } + else if((fp = fopen("/etc/debian_version", "r")) != NULL) + { + char release[bsize]; + fgets(release, bsize, fp); + g_snprintf(buffer, bsize, "Debian %s", release); + } + else if((fp = fopen("/etc/portage/make.conf", "r")) != NULL || + (fp = fopen("/etc/make.conf", "r")) != NULL) + { + char keywords[bsize]; + while(fgets(buffer, bsize, fp) != NULL) + find_match_char(buffer, "ACCEPT_KEYWORDS", keywords); + /* cppcheck-suppress uninitvar */ + if (strstr(keywords, "\"") == NULL) + g_snprintf(buffer, bsize, "Gentoo Linux (stable)"); + else + g_snprintf(buffer, bsize, "Gentoo Linux %s", keywords); + } + else if((fp = fopen("/etc/os-release", "r")) != NULL) + { + char name[bsize], version[bsize]; + strcpy(name, "?"); + strcpy(version, "?"); + while(fgets(buffer, bsize, fp) != NULL) + { + find_match_char(buffer, "NAME=", name); + find_match_char(buffer, "VERSION=", version); + } + strip_quotes(name); + strip_quotes(version); + g_snprintf(buffer, bsize, "%s %s", name, version); + } + else + g_snprintf(buffer, bsize, "Unknown Distro"); + if(fp != NULL) + fclose(fp); + + pos=strchr(buffer, '\n'); + if(pos != NULL) + *pos = '\0'; + strcpy(name, buffer); + return 0; +} diff --git a/plugins/sysinfo/unix/parse.h b/plugins/sysinfo/unix/parse.h new file mode 100644 index 0000000000000000000000000000000000000000..c7cb571e6c0a08db2d669e7ab0eb9c1ab8ca82a1 --- /dev/null +++ b/plugins/sysinfo/unix/parse.h @@ -0,0 +1,35 @@ +/* + * parse.h - parsing header for X-Sys + * by mikeshoup + * Copyright (C) 2003, 2004, 2005 Michael Shoup + * Copyright (C) 2005, 2006 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef _PARSE_H_ +#define _PARSE_H_ + +int xs_parse_cpu(char *model, char *vendor, double *freq); +gint64 xs_parse_uptime(void); +int xs_parse_sound(char *snd_card); +int xs_parse_meminfo(unsigned long long *mem_tot, unsigned long long *mem_free, int swap); +int xs_parse_video(char *vid_card); +int xs_parse_agpbridge(char *agp_bridge); +int xs_parse_ether(char *ethernet_card); +int xs_parse_distro(char *name); + +#endif diff --git a/plugins/sysinfo/unix/pci.c b/plugins/sysinfo/unix/pci.c new file mode 100644 index 0000000000000000000000000000000000000000..528afd97ac735e8838004b1af728cd67e0a0c340 --- /dev/null +++ b/plugins/sysinfo/unix/pci.c @@ -0,0 +1,171 @@ +/* + * pci.c - PCI functions for X-Sys + * Copyright (C) 1997-1999 Martin Mares [PCI routines from lspci] + * Copyright (C) 2000 Tom Rini [XorgAutoConfig pci.c, based on lspci] + * Copyright (C) 2005, 2006 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include +#include +#include +#include +#include + +#include "sysinfo.h" + +static struct pci_filter filter; /* Device filter */ +static struct pci_access *pacc; +int bus, dev, func; /* Location of the card */ + +struct device { + struct device *next; + struct pci_dev *dev; + unsigned int config_cnt; + u8 config[256]; +}; + +static struct device *first_dev; + +static struct device *scan_device(struct pci_dev *p) +{ + int how_much = 64; + struct device *d; + + if (!pci_filter_match(&filter, p)) + return NULL; + d = g_new0 (struct device, 1); + d->dev = p; + if (!pci_read_block(p, 0, d->config, how_much)) + exit(1); + if (how_much < 128 && (d->config[PCI_HEADER_TYPE] & 0x7f) == PCI_HEADER_TYPE_CARDBUS) + { + /* For cardbus bridges, we need to fetch 64 bytes more to get the full standard header... */ + if (!pci_read_block(p, 64, d->config+64, 64)) + exit(1); + how_much = 128; + } + d->config_cnt = how_much; + pci_setup_cache(p, d->config, d->config_cnt); + pci_fill_info(p, PCI_FILL_IDENT); + return d; +} + +static void scan_devices(void) +{ + struct device *d; + struct pci_dev *p; + + pci_scan_bus(pacc); + for(p=pacc->devices; p; p=p->next) + { + if ((d = scan_device(p))) + { + d->next = first_dev; + first_dev = d; + } + } +} + +static u16 get_conf_word(struct device *d, unsigned int pos) +{ + return d->config[pos] | (d->config[pos+1] << 8); +} + +int pci_find_by_class(u16 *class, char *vendor, char *device) +{ + struct device *d; + struct pci_dev *p; + int nomatch = 1; + + /* libpci has no way to report errors it calls exit() + * so we need to manually avoid potential failures like this one */ + if (!g_file_test ("/proc/bus/pci", G_FILE_TEST_EXISTS)) + return 1; + + pacc = pci_alloc(); + pci_filter_init(pacc, &filter); + pci_init(pacc); + scan_devices(); + + for(d=first_dev; d; d=d->next) + { + p = d->dev; + /* Acquire vendor & device ID if the class matches */ + if(get_conf_word(d, PCI_CLASS_DEVICE) == *class) + { + nomatch = 0; + g_snprintf(vendor,7,"%04x",p->vendor_id); + g_snprintf(device,7,"%04x",p->device_id); + break; + } + } + + pci_cleanup(pacc); + return nomatch; +} + +void pci_find_fullname(char *fullname, char *vendor, char *device) +{ + char buffer[bsize]; + char vendorname[bsize/2] = ""; + char devicename[bsize/2] = ""; + char *position; + int cardfound = 0; + FILE *fp; + + fp = fopen (PCIIDS_FILE, "r"); + if(fp == NULL) + { + g_snprintf(fullname, bsize, "%s:%s", vendor, device); + //sysinfo_print_error ("pci.ids file not found! You might want to adjust your pciids setting with /SYSINFO SET pciids (you can query its current value with /SYSINFO LIST).\n"); + return; + } + + while(fgets(buffer, bsize, fp) != NULL) + { + if (!isspace(buffer[0]) && strstr(buffer, vendor) != NULL) + { + position = strstr(buffer, vendor); + position += 6; + g_strlcpy(vendorname, position, sizeof (vendorname)); + position = strstr(vendorname, "\n"); + *(position) = '\0'; + break; + } + } + while(fgets(buffer, bsize, fp) != NULL) + { + if(strstr(buffer, device) != NULL) + { + position = strstr(buffer, device); + position += 6; + g_strlcpy(devicename, position, sizeof (devicename)); + position = strstr(devicename, " ("); + if (position == NULL) + position = strstr(devicename, "\n"); + *(position) = '\0'; + cardfound = 1; + break; + } + } + if (cardfound == 1) + g_snprintf(fullname, bsize, "%s %s", vendorname, devicename); + else + g_snprintf(fullname, bsize, "%s:%s", vendor, device); + fclose(fp); +} diff --git a/plugins/sysinfo/unix/pci.h b/plugins/sysinfo/unix/pci.h new file mode 100644 index 0000000000000000000000000000000000000000..673f0a0a7e1be374df2a45dd1da1ba00a6f0904e --- /dev/null +++ b/plugins/sysinfo/unix/pci.h @@ -0,0 +1,28 @@ +/* + * pci.h - PCI header for X-Sys + * Copyright (C) 2005 Tony Vroon + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#ifndef _PCI_H_ +#define _PCI_H_ + +#include +void pci_find_fullname(char *fullname, char *vendor, char *device); +int pci_find_by_class(u16 *class, char *vendor, char *device); + +#endif diff --git a/plugins/sysinfo/win32/backend.c b/plugins/sysinfo/win32/backend.c new file mode 100644 index 0000000000000000000000000000000000000000..9bf949c5b09690e1a9243636678e477e0e42cd8f --- /dev/null +++ b/plugins/sysinfo/win32/backend.c @@ -0,0 +1,105 @@ +/* HexChat + * Copyright (c) 2011-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include +#include +#include + +#include + +#include "../../../src/common/sysinfo/sysinfo.h" + +#include "../format.h" + +static char *get_memory_info (void); + +char * +sysinfo_backend_get_sound (void) +{ + return NULL; +} + +char * +sysinfo_backend_get_network (void) +{ + return NULL; +} + +char * +sysinfo_backend_get_uptime (void) +{ + return sysinfo_format_uptime (GetTickCount64 () / 1000); +} + +char * +sysinfo_backend_get_disk (void) +{ + guint64 hdd_capacity; + guint64 hdd_free_space; + + sysinfo_get_hdd_info (&hdd_capacity, &hdd_free_space); + + if (hdd_capacity != 0) + { + return sysinfo_format_disk(hdd_capacity, hdd_free_space); + } + + return NULL; +} + +char * +sysinfo_backend_get_cpu (void) +{ + return sysinfo_get_cpu (); +} + +char * +sysinfo_backend_get_memory (void) +{ + /* Memory information is always loaded dynamically since it includes the current amount of free memory */ + return get_memory_info (); +} + +char * +sysinfo_backend_get_gpu (void) +{ + return sysinfo_get_gpu (); +} + +char * +sysinfo_backend_get_os (void) +{ + return sysinfo_get_os (); +} + +static char *get_memory_info (void) +{ + MEMORYSTATUSEX meminfo = { 0 }; + meminfo.dwLength = sizeof (meminfo); + + if (!GlobalMemoryStatusEx (&meminfo)) + { + return NULL; + } + + return sysinfo_format_memory (meminfo.ullTotalPhys, meminfo.ullAvailPhys); +} diff --git a/plugins/upd/meson.build b/plugins/upd/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..68217b31ca15374edbc7c4dae2482892eae19502 --- /dev/null +++ b/plugins/upd/meson.build @@ -0,0 +1,9 @@ +winsparkle_dep = cc.find_library('WinSparkle') + +shared_module('upd', 'upd.c', + dependencies: [winsparkle_dep, hexchat_plugin_dep], + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'upd.def', +) diff --git a/plugins/upd/upd.c b/plugins/upd/upd.c new file mode 100644 index 0000000000000000000000000000000000000000..c9011c0432846523e19950a9e7ecebb76f9bf801 --- /dev/null +++ b/plugins/upd/upd.c @@ -0,0 +1,70 @@ +/* HexChat + * Copyright (c) 2010-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include + +#include "hexchat-plugin.h" + +#define APPCAST_URL "https://dl.hexchat.net/appcast.xml" + +static hexchat_plugin *ph; /* plugin handle */ +static char name[] = "Update Checker"; +static char desc[] = "Check for HexChat updates automatically"; +static char version[] = "5.0"; +static const char upd_help[] = "Update Checker Usage:\n /UPDCHK, check for HexChat updates\n"; + +static int +check_cmd (char *word[], char *word_eol[], void *userdata) +{ + win_sparkle_check_update_with_ui (); + + return HEXCHAT_EAT_ALL; +} + +int +hexchat_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + win_sparkle_set_appcast_url (APPCAST_URL); + win_sparkle_init (); + + hexchat_hook_command (ph, "UPDCHK", HEXCHAT_PRI_NORM, check_cmd, upd_help, NULL); + hexchat_command (ph, "MENU -ishare\\download.png ADD \"Help/Check for Updates\" \"UPDCHK\""); + hexchat_printf (ph, "%s plugin loaded\n", name); + + return 1; +} + +int +hexchat_plugin_deinit (void) +{ + win_sparkle_cleanup (); + + hexchat_command (ph, "MENU DEL \"Help/Check for updates\""); + hexchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/upd/upd.def b/plugins/upd/upd.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/upd/upd.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/upd/upd.vcxproj b/plugins/upd/upd.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..5dc497b46d0667a685ffacefafd7200573267fce --- /dev/null +++ b/plugins/upd/upd.vcxproj @@ -0,0 +1,59 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {461DC24A-A410-4171-8C02-CCDBF3702C2A} + Win32Proj + upd + + + + + + + hcupd + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;UPD_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;$(WinSparklePath);%(AdditionalIncludeDirectories) + + + upd.def + $(DepLibs);WinSparkle.lib;%(AdditionalDependencies) + $(DepsRoot)\lib;$(WinSparklePath);%(AdditionalLibraryDirectories) + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;UPD_EXPORTS;%(PreprocessorDefinitions) + ..\..\src\common;$(WinSparklePath);%(AdditionalIncludeDirectories) + + + upd.def + $(DepLibs);WinSparkle.lib;%(AdditionalDependencies) + $(DepsRoot)\lib;$(WinSparklePath);%(AdditionalLibraryDirectories) + + + + + + + + + + diff --git a/plugins/upd/upd.vcxproj.filters b/plugins/upd/upd.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..e3d7397e2acdcdc8c23312b8b6837b0dbda65999 --- /dev/null +++ b/plugins/upd/upd.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/plugins/winamp/meson.build b/plugins/winamp/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..8d298651fc6465b0dffc44779b624a9e11000524 --- /dev/null +++ b/plugins/winamp/meson.build @@ -0,0 +1,7 @@ +shared_module('winamp', 'winamp.c', + dependencies: [libgio_dep, hexchat_plugin_dep], + install: true, + install_dir: plugindir, + name_prefix: '', + vs_module_defs: 'winamp.def', +) diff --git a/plugins/winamp/winamp.c b/plugins/winamp/winamp.c new file mode 100644 index 0000000000000000000000000000000000000000..d8788164946be2a265a19dcd8c63f7e670e91d44 --- /dev/null +++ b/plugins/winamp/winamp.c @@ -0,0 +1,154 @@ +/********************* Winamp Plugin 0.3****************************** + * + * Distribution: GPL + * + * Originally written by: Leo - leo.nard@free.fr + * Modified by: SilvereX - SilvereX@karklas.mif.vu.lt + * Modified again by: Derek Buitenhuis - daemon404@gmail.com + * Modified yet again by: Berke Viktor - berkeviktor@aol.com + *********************************************************************/ + +#include "windows.h" + +#include +#include +#include +#include + +#include "hexchat-plugin.h" + +#define PLAYING 1 +#define PAUSED 3 + +static hexchat_plugin *ph; /* plugin handle */ + +static int +winamp(char *word[], char *word_eol[], void *userdata) +{ + HWND hwndWinamp = FindWindowW(L"Winamp v1.x",NULL); + + if (hwndWinamp) + { + if (!stricmp("PAUSE", word[2])) + { + if (SendMessage(hwndWinamp,WM_USER, 0, 104)) + { + SendMessage(hwndWinamp, WM_COMMAND, 40046, 0); + + if (SendMessage(hwndWinamp, WM_USER, 0, 104) == PLAYING) + hexchat_printf(ph, "Winamp: playing"); + else + hexchat_printf(ph, "Winamp: paused"); + } + } + else if (!stricmp("STOP", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40047, 0); + hexchat_printf(ph, "Winamp: stopped"); + } + else if (!stricmp("PLAY", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40045, 0); + hexchat_printf(ph, "Winamp: playing"); + } + else if (!stricmp("NEXT", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40048, 0); + hexchat_printf(ph, "Winamp: next playlist entry"); + } + else if (!stricmp("PREV", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40044, 0); + hexchat_printf(ph, "Winamp: previous playlist entry"); + } + else if (!stricmp("START", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40154, 0); + hexchat_printf(ph, "Winamp: playlist start"); + } + else if (!word_eol[2][0]) + { + wchar_t wcurrent_play[2048]; + char *current_play, *p; + int len = GetWindowTextW(hwndWinamp, wcurrent_play, G_N_ELEMENTS(wcurrent_play)); + + current_play = g_utf16_to_utf8 (wcurrent_play, len, NULL, NULL, NULL); + if (!current_play) + { + hexchat_print (ph, "Winamp: Error getting song information."); + return HEXCHAT_EAT_ALL; + } + + if (strchr(current_play, '-')) + { + /* Remove any trailing text and whitespace */ + p = current_play + strlen(current_play) - 8; + while (p >= current_play) + { + if (!strnicmp(p, "- Winamp", 8)) + break; + p--; + } + + if (p >= current_play) + p--; + + while (p >= current_play && *p == ' ') + p--; + *++p = '\0'; + + /* Ignore any leading track number */ + p = strstr (current_play, ". "); + if (p) + p += 2; + else + p = current_play; + + if (*p != '\0') + hexchat_commandf (ph, "me is now playing: %s", p); + else + hexchat_print (ph, "Winamp: No song information found."); + g_free (current_play); + } + else + hexchat_print(ph, "Winamp: Nothing being played."); + } + else + hexchat_printf(ph, "Usage: /WINAMP [PAUSE|PLAY|STOP|NEXT|PREV|START]\n"); + } + else + { + hexchat_print(ph, "Winamp not found.\n"); + } + return HEXCHAT_EAT_ALL; +} + +int +hexchat_plugin_init(hexchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + /* we need to save this for use with any hexchat_* functions */ + ph = plugin_handle; + + *plugin_name = "Winamp"; + *plugin_desc = "Winamp plugin for HexChat"; + *plugin_version = "0.6"; + + hexchat_hook_command (ph, "WINAMP", HEXCHAT_PRI_NORM, winamp, "Usage: /WINAMP [PAUSE|PLAY|STOP|NEXT|PREV|START] - control Winamp or show what's currently playing", 0); + hexchat_command (ph, "MENU -ishare\\music.png ADD \"Window/Display Current Song (Winamp)\" \"WINAMP\""); + + hexchat_print (ph, "Winamp plugin loaded\n"); + + return 1; /* return 1 for success */ +} + +int +hexchat_plugin_deinit(void) +{ + hexchat_command (ph, "MENU DEL \"Window/Display Current Song (Winamp)\""); + hexchat_print (ph, "Winamp plugin unloaded\n"); + return 1; +} diff --git a/plugins/winamp/winamp.def b/plugins/winamp/winamp.def new file mode 100644 index 0000000000000000000000000000000000000000..e560f50f427106d46ed9f4f7758fdfe5c25a8ab5 --- /dev/null +++ b/plugins/winamp/winamp.def @@ -0,0 +1,3 @@ +EXPORTS +hexchat_plugin_init +hexchat_plugin_deinit diff --git a/plugins/winamp/winamp.vcxproj b/plugins/winamp/winamp.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..78367ae92bf4d8117a94385661bd433a7042297a --- /dev/null +++ b/plugins/winamp/winamp.vcxproj @@ -0,0 +1,57 @@ + + + + v142 + DynamicLibrary + + + + Release + Win32 + + + Release + x64 + + + + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} + Win32Proj + winamp + + + + + + + hcwinamp + $(HexChatRel)plugins\ + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;WINAMP_EXPORTS;%(PreprocessorDefinitions) + + + + + WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;_USRDLL;WINAMP_EXPORTS;%(PreprocessorDefinitions) + + + + + $(DepsRoot)\include;$(Glib);..\..\src\common;%(AdditionalIncludeDirectories) + + + winamp.def + $(DepLibs);%(AdditionalDependencies) + $(DepsRoot)\lib;%(AdditionalLibraryDirectories) + + + + + + + + + + diff --git a/plugins/winamp/winamp.vcxproj.filters b/plugins/winamp/winamp.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..1a800a33502801969140a9c09a34aad4489af255 --- /dev/null +++ b/plugins/winamp/winamp.vcxproj.filters @@ -0,0 +1,23 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + + + Source Files + + + \ No newline at end of file diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000000000000000000000000000000000000..f3bd51b5599b1815574f9c5c112ab125e09f3749 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,53 @@ +af +am +ast +az +be +bg +ca +cs +da +de +el +en_GB +es +et +eu +fi +fr +gl +gu +hi +hu +id +it +ja_JP +kn +ko +lt +lv +mk +ml +ms +nb +nl +no +pa +pl +pt +pt_BR +ru +rw +sk +sl +sq +sr +sr@latin +sv +th +tr +uk +vi +wa +zh_CN +zh_TW diff --git a/po/POTFILES b/po/POTFILES new file mode 100644 index 0000000000000000000000000000000000000000..0d1795d16cef4c3f77902d6ef62bb69ed0658225 --- /dev/null +++ b/po/POTFILES @@ -0,0 +1,46 @@ +data/misc/io.github.Hexchat.appdata.xml.in +data/misc/io.github.Hexchat.desktop.in.in +data/misc/io.github.Hexchat.ThemeManager.desktop.in +src/common/cfgfiles.c +src/common/chanopt.c +src/common/dcc.c +src/common/hexchat.c +src/common/ignore.c +src/common/inbound.c +src/common/notify.c +src/common/outbound.c +src/common/plugin.c +src/common/plugin-identd.c +src/common/plugin-timer.c +src/common/server.c +src/common/servlist.c +src/common/textevents.h +src/common/text.c +src/common/util.c +src/common/dbus/dbus-client.c +src/common/dbus/dbus-plugin.c +src/fe-gtk/ascii.c +src/fe-gtk/banlist.c +src/fe-gtk/chanlist.c +src/fe-gtk/dccgui.c +src/fe-gtk/editlist.c +src/fe-gtk/fe-gtk.c +src/fe-gtk/fkeys.c +src/fe-gtk/gtkutil.c +src/fe-gtk/ignoregui.c +src/fe-gtk/joind.c +src/fe-gtk/maingui.c +src/fe-gtk/menu.c +src/fe-gtk/notifygui.c +src/fe-gtk/plugin-notification.c +src/fe-gtk/plugin-tray.c +src/fe-gtk/plugingui.c +src/fe-gtk/rawlog.c +src/fe-gtk/servlistgui.c +src/fe-gtk/setup.c +src/fe-gtk/sexy-spell-entry.c +src/fe-gtk/textgui.c +src/fe-gtk/urlgrab.c +src/fe-gtk/userlistgui.c +src/fe-text/fe-text.c +plugins/sysinfo/sysinfo.c diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 0000000000000000000000000000000000000000..d3018f49c1cd8e024b404f2c3c1cf844698dc5fa --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1 @@ +data/misc/io.github.Hexchat.desktop.in.in diff --git a/po/af.po b/po/af.po new file mode 100644 index 0000000000000000000000000000000000000000..f3956e3256cf53b33fe7f2941cdce442597444bb --- /dev/null +++ b/po/af.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Petri Jooste , 2004 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing \n" +"Language-Team: Afrikaans (http://www.transifex.com/hexchat/hexchat/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Ek is besig" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Verlaat..." + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Network" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "" +msgstr "" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Besig om te wag" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktief" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Gefaal" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Klaar" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Konnekteer" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Gekanselleer" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan nie toegang verkry na %s nie\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Geen aktiewe DCCs\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Om IRC as root te loop is onnosel! Jy moet\n 'n gebruiker-ID skep en dit gebruik om aan te teken.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEE" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server []\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Hierdie inprop kon nie gevind word nie.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON , adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER , adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN , sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL , sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV , sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN [], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] []" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] , finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP , send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET - accept an offered file\n" +"DCC SEND [-maxcps=#] [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT - offer DCC CHAT to someone\n" +"DCC PCHAT - offer DCC CHAT using passive mode\n" +"DCC CLOSE example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP , removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON , deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP , removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE , removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS , Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT " +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO , Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] , runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE [], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP , gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID , identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE \n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE [], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN , joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] , searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] , loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME , sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG , sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP , Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] []" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK , sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE , sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP , gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [] [], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING , CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET [], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE , sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [] [] [], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [] [] [], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV , send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD , reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY , sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND []" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN , connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] [] [], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER [] [], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] []" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+], reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB , change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT , replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f [] Blink tray between two icons.\n" +"TRAY -f Set tray to a fixed icon.\n" +"TRAY -i Blink tray with an internal icon.\n" +"TRAY -t Set the tray tooltip.\n" +"TRAY -b <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-adres" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "" + +#: src/common/text.c:980 +msgid "The action" +msgstr "" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teks" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Teks" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Gebruikers" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Poort" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "" + +#: src/common/util.c:738 +msgid "China" +msgstr "" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:770 +msgid "France" +msgstr "" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "" + +#: src/common/util.c:782 +msgid "Government" +msgstr "" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Griekeland" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ierland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indië" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internasionaal" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Ysland" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italië" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "St. Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberië" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libië" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:843 +msgid "Military" +msgstr "" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolië" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mosambiek" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibië" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigerië" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noorweë" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Pole" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romenië" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Swede" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapoer" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenië" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalië" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sirië" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisië" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraďne" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda " + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Vereenigde Koninkryk" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Viëtnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Suid-Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambië" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Beide" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Peru" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Af" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafiek" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Wagwoord:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Indië" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Viëtnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Algemeen" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Bo" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Onder" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Weggesteek" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Vensters" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letters." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Masjiennaam:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Poort:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipe:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Gebruikerskode:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Kies 'n beeldlęer" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Kies font" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Blaai..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Kies kleur" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC kleure:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Voorgrond:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Agtergrond:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Verlig:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Gebeurtenis" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Koppelvlak" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Gebruikerslys" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Kleure" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Netwerkopstelling" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Lęeroordragte" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Katagorieë" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Daar was 'n fout met die ontleding van die string" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Nommer" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Redigeer gebeurtenisse" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Toets almal" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Maak lys skoon" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopieer geselkteerde URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopieer" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Stoor lys in 'n lęer" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/am.po b/po/am.po new file mode 100644 index 0000000000000000000000000000000000000000..e13bf33c9d6b986b10363400b474f1fbfc84a43b --- /dev/null +++ b/po/am.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Ge'ez Frontier Foundation <locales@geez.org>, 2002 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Amharic (http://www.transifex.com/hexchat/hexchat/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "መረብ" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ምንም>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "ጣቢያ" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "ጨርሷል" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "አገናኝ" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "ውድቅ ሆኗል" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "ስህተት" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "ሰርዝ" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "አዎ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "አይ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "አጠቃቀም፦ %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP አድራሻ" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "የተጠቃሚ ስም" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "እንግዳ ተቀባይ" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "ቅጽል ስም" + +#: src/common/text.c:980 +msgid "The action" +msgstr "ትግባር" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "ጽሑፉ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "መልእክቱ" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "የሰርቨር ስም" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "አሮጌ ቅጽል ስም" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "አዲስ ቅጽል ስም" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "ጉዳዩ" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "ጣቢያው ሰዓቱ" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "ቅጽል" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "እንግዳ ተቀባይ" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "ድምፁ" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "ቁልፉ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "ሙሉ ስም" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "መልእክት" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "የጣቢያ ስም" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "ጽሑፍ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "ተጠቃሚዎች" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "ፖርት" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC ዓይነት" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "የፋይል ስም" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "የመተላለፊያ ስም" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "ቦታ" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "መጠን" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC ሐረግ" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "አሮጌ የፋይል ስም" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "አዲስ የፋይል ስም" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "የእንግዳ ተቀባይ ስም" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "ሴኮንዶች" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "አንዶራ" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "የተባበሩት አረብ ኤምሬትስ" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "አፍጋኒስታን" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "አንቲጓ እና ባሩዳ" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "አንጉኢላ" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "አልባኒያ" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "አርሜኒያ" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "ኔዘርላንድስ አንቲልስ" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "አንጐላ" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "አንታርክቲካ" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "አርጀንቲና" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "የአሜሪካ ሳሞአ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "ኦስትሪያ" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "አውስትሬሊያ" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "አሩባ" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "አዘርባጃን" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "ቦስኒያ እና ሄርዞጎቪኒያ" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "ባርቤዶስ" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "ባንግላዲሽ" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "ቤልጄም" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "ቡርኪና ፋሶ" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "ቡልጌሪያ" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "ባህሬን" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "ብሩንዲ" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "ቤኒን" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "ቤርሙዳ" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "ብሩኒ ዳሩሳላም" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "ቦሊቪያ" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "ብራዚል" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "ባሃማስ" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ቡህታን" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "የቦውቬት ደሴት" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "ቦትስዋና" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "ቤላሩስ" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "ቤሊዘ" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "ካናዳ" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "የኮኮስ ደሴቶች" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "የመካከለኛው አፍሪካ ሪፐብሊክ" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "ኮንጐ" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "ስዊዘርላንድ" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "ኩክ ደሴቶች" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "ቺሊ" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "ካሜሩን" + +#: src/common/util.c:738 +msgid "China" +msgstr "ቻይና" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "ኮሎምቢያ" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "ኮስታ ሪካ" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "ኩባ" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "ኬፕ ቬርዴ" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "የገና ደሴቶች" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "ሳይፕረስ" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "ቼክ ሪፑብሊክ" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "ጀርመን" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "ጂቡቲ" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "ዴንማርክ" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "ዶሚኒካ" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "ዶሚኒክ ሪፑብሊክ" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "አልጄሪያ" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "ኢኳዶር" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "ኤስቶኒያ" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "ግብጽ" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "ምዕራባዊ ሳህራ" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "ኤርትራ" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "ስፔን" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "ኢትዮጵያ" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "ፊንላንድ" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "ፊጂ" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "የፎልክላንድ ደሴቶች" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "ሚክሮኔዢያ" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "የፋሮይ ደሴቶች" + +#: src/common/util.c:770 +msgid "France" +msgstr "ፈረንሳይ" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "ጋቦን" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "ታላቋ ብሪታኒያ" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "ግሬናዳ" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "ጆርጂያ" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "የፈረንሳይ ጉዊአና" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "ጋና" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "ጊብራልታር" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "ግሪንላንድ" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "ጋምቢያ" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "ጊኒ" + +#: src/common/util.c:782 +msgid "Government" +msgstr "መንግስት" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "ጉዋደሉፕ" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "ኢኳቶሪያል ጊኒ" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ግሪክ" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "ጉዋቲማላ" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "ጉዋም" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "ጊኒ ቢሳዎ" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "ጉያና" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "ሆንግ ኮንግ" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "የኧርድ እና የማክዶናልድ ደሴቶች" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "ሆንዱራስ" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "ክሮኤሽያ" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "ሀይቲ*" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "ሀንጋሪ" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "ኢንዶኔዢያ" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "አየርላንድ" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "እስራኤል" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "ህንድ" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "የብሪታኒያ ህንድ ውቂያኖስ ግዛት" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "ኢራቅ" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "ኢራን" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "አይስላንድ" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "ጣሊያን" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "ጃማይካ" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "ጆርዳን" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "ጃፓን" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "ኬንያ" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "ካምቦዲያ" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "ኪሪባቲ" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "ኮሞሮስ" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "ቅዱስ ኪትስ እና ኔቪስ" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "ሰሜን ኮሪያ" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "ደቡብ ኮሪያ" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "ክዌት" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "ካይማን ደሴቶች" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "ካዛኪስታን" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "ላኦስ" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "ሊባኖስ" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "ሴንት ሉቺያ" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "ሊችተንስታይን" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "ሲሪላንካ" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "ላይቤሪያ" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "ሌሶቶ" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "ሊቱዌኒያ" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "ሉክሰምበርግ" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "ላትቪያ" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "ሊቢያ" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "ሞሮኮ" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "ሞናኮ" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "ሞልዶቫ" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "ማዳጋስካር" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "ማርሻል አይላንድ" + +#: src/common/util.c:843 +msgid "Military" +msgstr "ወታደራዊ" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "ማከዶኒያ" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "ማሊ" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "ማያንማር" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "ሞንጎሊያ" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "ማካዎ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "የሰሜናዊ ማሪያና ደሴቶች" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "ማርቲኒክ" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "ሞሪቴኒያ" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "ሞንትሴራት" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "ማልታ" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "ማሩሸስ" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "ማልዲቭስ" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "ማላዊ" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "ሜክሲኮ" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "ማሌዢያ" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "ሞዛምቢክ" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "ናሚቢያ" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "ኒው ካሌዶኒያ" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "ኒጀር" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "ኖርፎልክ ደሴት" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "ናይጄሪያ" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "ኒካራጓ" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "ኔዘርላንድ" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "ኖርዌ" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "ኔፓል" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "ናኡሩ" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "ኒኡይ" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "ኒው ዚላንድ" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "ኦማን" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "ፓናማ" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "ፔሩ" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "የፈረንሳይ ፖሊኔዢያ" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "ፓፑዋ ኒው ጊኒ" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "ፊሊፒንስ" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "ፓኪስታን" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "ፖላንድ" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "ቅዱስ ፒዬር እና ሚኩኤሎን" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "ፒትካኢርን" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "ፖርታ ሪኮ" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "ፖርቱጋል" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "ፓላው" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "ፓራጓይ" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "ኳታር" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "ውህደት" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "ሮሜኒያ" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "ራሺያ" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "ሩዋንዳ" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "ሳውድአረቢያ" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "ሰሎሞን ደሴት" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "ሲሼልስ" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "ሱዳን" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "ስዊድን" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "ሲንጋፖር" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "ሴንት ሄለና" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "ስሎቬኒያ" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "የስቫልባርድ እና ዣን ማየን ደሴቶች" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "ስሎቫክ ሪፐብሊክ" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "ሴራሊዮን" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "ሳን ማሪኖ" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "ሴኔጋል" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "ሱማሌ" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "ሱሪናም" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "ሳኦ ቶሜ እና ፕሪንሲፔ" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "ኤል ሳልቫዶር" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "ሲሪያ" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "ሱዋዚላንድ" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "የቱርኮችና የካኢኮስ ደሴቶች" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "ቻድ" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "የፈረንሳይ ደቡባዊ ግዛቶች" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "ቶጐ" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "ታይላንድ" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "ታጃኪስታን" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "ቶክላው" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "ምስራቅ ቲሞር" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "ቱርክሜኒስታን" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "ቱኒዚያ" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "ቶንጋ" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "ቱርክ" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "ትሪኒዳድ እና ቶባጎ" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "ቱቫሉ" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "ታይዋን" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "ታንዛኒያ" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "ዩክሬን" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "ዩጋንዳ" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "እንግሊዝ" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "አሜሪካ" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "ኡራጓይ" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "ዩዝበኪስታን" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "ቫቲካን ከተማ" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "ቬንዙዌላ" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "የእንግሊዝ ድንግል ደሴቶች" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "የአሜሪካ ቨርጂን ደሴቶች" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "ቬትናም" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "ቫኑአቱ" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "ዋሊስ እና ፉቱና ደሴቶች" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "ሳሞአ" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "የመን" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "ሜይኦቴ" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "ዩጎዝላቪያ" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "ደቡብ አፍሪካ" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "ዛምቢያ" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "ዚምቧቤ" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "ከ" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "ቀን" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "አስወግድ" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "በድጋሚ ጀምር" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "የጣቢያን ስም" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "ፈልግ፦" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "ሁኔታ" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ፋይል" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "ሁለትም" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "ውድቅ" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "ቀጥል" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "ተልኳል" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "አጥፉ" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "ተወው" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "አስቀምጥ" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "ጣቢያ፦" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "ቁልፍ ቃላት" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "ያልታወቀ" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "የውነት ስም፦" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "ጣቢያ አትጫን" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "አጥፋ" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_ሰርቨር" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_ምርጫዎች" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_መስኮት" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "ጽሑፉ _ሰርዝ" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_መረጃ" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "ስም" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "በፍጹም" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ኦንላይን" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "ዝርያ" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "መግለጫ" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_ጫን..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "አዲስ መረብ" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "መረቦች" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_አገናኝ" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "አልባኒያ" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "አዘርባጃን" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "ቤላሩስ" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "ቡልጌሪያ" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "ኤስቶኒያ" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "ህንድ" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "ማሌዢያ" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "ታይላንድ" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "ቬትናም" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "አጠቃላይ" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "የፊደል ቅርጽ፦" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "የመደቡ ምስል፦" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "ወደ ላይ" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "ወደ ታች" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "የተደበቀ" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "መስኮቶች" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "መክፈቻዎች" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(የተበላሸ)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "የፊደል ቅርጹ ምረጡ" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "ቃኝ..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "ቀለም ምረጡ" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "የmIRC ቀለሞች፦" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "ፊት ለፊት፦" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "መደቡ፦" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "አቅልም፦" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "የተጠቃሚ ዝርዝር" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "ቀለሞች" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "ወሪ" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "የመረብ ቅንጅት" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "ምድብ" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ ቍጥር" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "ሁሉም ሙከራ" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/ast.po b/po/ast.po new file mode 100644 index 0000000000000000000000000000000000000000..db45a2871fc486197a2392ecb5614b753f0f75d3 --- /dev/null +++ b/po/ast.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Marcos <maacub@gmail.com>, 2008 +# Marcos <maacub@gmail.com>, 2008 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Asturian (http://www.transifex.com/hexchat/hexchat/language/ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Toi ocupáu" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Abandonando" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rede" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<dengún>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Esperando" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Activu" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Falló" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Fináu" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Coneutar" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Albortáu" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nun pue accedese a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Fallu" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ta ufriendo «%s». ¿Quies aceutalo?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nun hai dengún DCC activu\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Abrir la ventana de diálogu" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Unviar un ficheru" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Información d'u_suariu (WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Amestar a la Llista de Collacios" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Aiciones d'O_perador" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dar Op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Tomar Op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dar la voz" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Tomar la voz" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Echar/Banear" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Echar" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Banear" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Banear" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Colar de la canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Entrar a canal…" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Introduz la canal pa xunite:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Enllaces del sirvidor" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping al sirvidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Anubrir versión" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "talluéu" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduz una razón pa echar a %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Diálogu" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Unviar" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Charra" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Llimpiar" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* ¡Executar IRC como superusuariu ye de fatos! Tendríes\n de crear una cuenta d'usuariu y usala pa coneutate.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SÍ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NON " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Tas recibiendo abondos CTCP de %s, inorando a %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s coneutaos\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desconeutaos\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nun entraste en denguna canal. Intenta /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nun tas coneutáu. Intenta /server <agospiador> [<puertu>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Yá ta marcáu como ausente: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Yá ta marcáu como de vuelta.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "¡Necesito /bin/sh pa poder executalo!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Órdenes disponibles:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Órdenes definíes pol usuariu" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Órdenes definíes pol complementu:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escribi /HELP <orde> o /HELP -l pa más información" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumentu desconocíu '%s' inoráu." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Nun s'atopó'l complementu.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Esti complementu niégase a ser desactiváu.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <aición>, amiesta un botón baxo la llista d'usuariu" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, unvia una orde a toles canales nes que tas" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, unvia una orde a tolos sirvidores nos que tas" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, afítate de vuelta (non ausente)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mázcara> [<triba de vetu>], veta a toos aquellos que concasen cola mázcara de la canal actual. Si yá tán na canal esto nun los espulsa (ye necesario ser operador de la canal)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <códigu|comodín>, gueta un códigu de país, ex: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nomatu> <mensax>, unvia'l mensax CTCP al nomatu, los mensaxes comunes son VERSION y USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], marchaste de la canal actual y vuelves a entrar darréu" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nomatu> - recibe un ficheru ufríu\nDCC SEND [-maxcps=#] <nomatu> [ficheru] - unvia un ficheru a dalguien\nDCC PSEND [-maxcps=#] <nomatu> [ficheru] - unvia un ficheru a dalguien usando mou pasivu\nDCC LIST - amuesa la llista DCC\nDCC CHAT <nomatu> - ufierta'l DCC CHAT a dalguien\nDCC PCHAT <nomatu> - ufierta'l DCC CHAT a dalguien usando mou pasivu\nDCC CLOSE <triba> <nomatu> <ficheru> - exemplu:\n /dcc close send xuancostales ficheru.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nomatu>, quita l'estáu de semi-operador de la canal al nomatu na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, desanicia un botón baxo la llista d'usuarios" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nomatu>, quita l'estáu d'operador al nomatu na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nomatu>, quita l'estáu de voz del nomatu na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, desconeutase del sirvidor" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <testu>, Imprenta testu llocalmente" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <orde>, executa la orde. Si usaste la etiqueta -o entós la salida únviase a la canal actual, si non, impréntase na caxa de testu actual" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, unvia al procesu la señal de siguir" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], mata un executable corriendo na sesión actual. Si s'indicase -9 el procesu mátase pola fuercia" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, unvia al procesu la señal de detenese" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, unvia los datos a la entrada standard del procesu" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, desanicia la cola d'unvíu actual del sirvidor" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <agospiador> [<puertu>], usa un proxy a traviés d'un agospiador, el puertu predetermináu ye'l 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nomatu> [contraseña], desconeuta a un usuariu pantasma" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nomatu>, otorga estáu de semi-operador al nomatu (necesites ser operador de la canal)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contraseña>, identifícate nel sirvidor de nomatos" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mázcara> <tribes..> <opciones..>\n mázcara - mázcara d'anfitrión a inorar, ex: *!*@*.aol.com\n tribes - tribes de datos a inorar, un o toos de:\n PRIV, CHAN, NOTI, CTCP, INVI, ALL\n opciones - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nomatu> [<canal>], invita a dalguien a una canal, por omisión la canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra a la canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, fuercia una nueva prueba d'allanciu" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ficheru>, carga una estensión (complementu) o script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, quita masivamente l'estáu de semi-operador na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, quita masivamente l'estáu de operador na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <aición>, unvia l'aición a la canal actual (les aiciones tán escrites en tercer persona del inglés, como /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, espulsa masivamente a toos, sacante a ti, na canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, otorga masivamente l'estáu d'operador de la canal actual (necesites ser operador de la canal)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nomatu> <mensax>, unvia una noticia CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nome del agospiador> [<puertu>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nomatu>, afita'l to nomatu" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,…]][<nomatu>, llista la to llista de notificaciones o amiesta a dalguien a ella" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nomatu>, otorga l'estáu d'operador de la canal al nomatu (necesites ser operador de la canal)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<razón>], abandona la canal, por omisión de la canal actual" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nomatu | canal>, unvia pings CTCP al nomatu o canal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razón>], desconeutase del sirvidor actual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <testu>, unvia'l testu en formatu planu pal sirvidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<agospiador>] [<puertu>] [<contraseña>], pue llamase sólo como /RECONNECT pa reconeutase al sirvidor actual o con /RECONNECT_ALL pa reconeutase a tolos sirvidores abiertos" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<agospiador>] [<puertu>] [<contraseña>], pue llamase sólo como /RECONNECT pa reconeutase al sirvidor actual o con /RECONNECT ALL pa reconeutase a tolos sirvidores abiertos" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <testu>, unvia'l testu pa un oxetu de la ventana actual" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nomatu> [<ficheru>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <agospiador> <puertu> <canal>, conéutate y entra nuna canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <agospiador> <puertu> <canal>, conéutate y entra nuna canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <agospiador> [<puertu>] [<contraseña>], conéutate a un sirvidor, el puertu predetermináu ye 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-or] [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<asuntu>], afita l'asuntu si se provee ún, si non, amuesa l'asuntu actual" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <ficheru1> [<ficheru2>] parpaguéu de la bandexa ente dos iconos.\nTRAY -f <ficheru> afitar la bandexa a un iconu fixu.\nTRAY -i <númberu> parpaguéu de la bandexa con un iconu internu .\nTRAY -t <testu> afitar l'iconu de la bandexa.\nTRAY -b <título> <testu> afitar la burbuxa de la bandexa." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mázcara> [<mázcara>…], reincorpora les mázcares especificaes." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mázcara> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, desactiva una estensión (complementu) o un guión (script)" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre una URL nel to restolador" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nomatu1> <nomatu2> etc, resalta los nomatos na llista d'usuarios" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nomatu>, da l'estáu de voz a dalguien (necesites ser operador de la canal)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensax>, escribe'l mensaxe en toles canales" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensaxe>, unvia'l mensax a tolos operadores de la canal na canal actual" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Usu: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNun hai ayuda disponible pa esa orde.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Nun esiste esa orde.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumentos inválidos pa la orde d'usuariu.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Abondos comandos recursivos d'usuariu, albortando." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "¿Tas seguru que ye un sirvidor y puertu SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nun pudo resolvese'l nome d'agospiador %s\n¡Verifica la to configuración d'IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Falló'l proxy traversal.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Intentando nel siguiente sirvidor en %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Avisu: el conxuntu de caráuteres \"%s\" desconozse. Nun s'aplicará conversión pa la rede %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UTema de los usuarios de la canal" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLa llista de notificaciones ta erma." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Rexistru cargáu dende" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINANDO CONEXÓN EN %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ANICIANDO CONEXÓN EN %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Mensax a manzorga" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Mensax a mandrecha" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Direición IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nome d'usuariu" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "El nomatu de la persona qu'entra" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "La canal a la que tas entrando" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "L'agospiador de la persona" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nomatu" + +#: src/common/text.c:980 +msgid "The action" +msgstr "L'aición" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mou caráuter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Testu Identificativu" + +#: src/common/text.c:987 +msgid "The text" +msgstr "El testu" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "El mensax" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nome del sirvidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Nomatu antiguu" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nuevu nomatu" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nomatu de la persona que camudó l'asuntu" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Asuntu" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "El nomatu del qu'espulsa" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "La persona a la que s'espulsa" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "La canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "La razón" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "El nomatu de la persona que marcha" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "El tiempu" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "El creador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nomatu" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razón" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Agospiador" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De quién vien" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "El tiempu nel formatu x.x (mira embaxo)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "La canal vase a" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "El soníu" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "El nomatu de la persona" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "L'eventu CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "El nomatu de la persona qu'afita la contraseña" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "La contraseña" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "El nomatu de la persona qu'afita'l llímite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "El llímite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "El nomatu de la persona qu'otorgó los permisos d'operador" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "El nomatu de la persona que se convirtió n'operador" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "El nomatu de la persona que se convirtió en semi-operador" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "El nomatu de la persona qu'otorgó los permisos de semi-operador" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "El nomatu de la persona qu'otorgó los permisos de voz" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "El nomatu de la persona que se convirtió en voz" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "El nomatu de la persona que fizo'l vetu (banning)" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "La mázcara de vetos" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "El nomatu de quien desanició la contraseña" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "El nomatu de quien desanició'l llímite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "El nomatu de la persona a la que se-y quitó'l permisu d'operador" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "El nomatu de la persona a la que se-y quitó los permisos de semi-operador" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "El nomatu de la persona a la que se-y quitó los permisos de voz" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "El nomatu de la persona qu'otorgó la exención" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "La mázcara d'exención" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "El nomatu de la persona que quitó la exención" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "El nomatu de la persona que fizo la invitación" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "La mázcara d'invitación" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "El nomatu de la persona que desanició la invitación" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "El nomatu de la persona que afitó'l mou" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "El signu del mou (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "La lletra del mou" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "La canal ta configurándose" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nome completu" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membresía de canal/es ye un operador d'IRC" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Información del sirvidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tiempu inactivu" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Tiempu de conexón" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razón d'ausencia" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mensax" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Cuenta" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "usuariu@agospiador braeru" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Braera IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nome de la canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Númberu Raw o Identificador" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Testu" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nomatu de la persona que t'invitó" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Usuarios" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nomatu n'usu" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Intentando usar el nomatu" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Puertu" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Cadena de modos" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Triba DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nome de ficheru" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nome de ficheru de destín" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Camín" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posición" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamañu" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Cadena DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Númberu d'elementos de notificación" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Nome anterior del ficheru" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nome nuevu del ficheru" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receutor" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Mázcara d'anfitrión" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nome d'agospiador" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "El paquete" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nomatu de la persona invitada" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Mázcara de vetu" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Quien afitó'l vetu" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Tiempu de vetu" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nun puede lleese'l ficheru de soníu:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Puertu zarráu nel agospiador remotu" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Conexón refugada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ensin camín fasta l'agospiador" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Espiró la conexón" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nun pue asignase esa direición" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Conexón reaniciada pol par" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Islla d'Ascensión" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emiratos Árabes Xuníos" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistán" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua y Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilles Holandeses" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antártida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Arxentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS inversu" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "OTAN" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Islles Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaixán" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia y Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladex" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bélxica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Baḥréin" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negocios" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunéi" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahames" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bután" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Islla Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorrusia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belice" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Islles Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democrática del Congu" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centru Africana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congu" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suiza" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa de Marfil" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Islles Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camerún" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Anunciu d'Internic" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia y Montenegru" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabu Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Islla Natividá" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemaña" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Arxelia" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institución educativa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Exiptu" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sáhara Occidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "España" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopía" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Xunión Europea" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fixi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Islles Malvines" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Islles Feroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabón" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Gran Bretaña" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Xeorxa" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guayana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Islles del Canal de la Mancha" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Xibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Gobiernu" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea Ecuatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Islles Xeorxa y Sandwich del Sur" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guayana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Ḥong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Islles Heard y McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hondures" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croacia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungría" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Islla de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativu" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territoriu Oceánicu Indiu Británicu" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Xerséi" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Xamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Xordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Xapón" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirguistán" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Camboya" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "San Kitts y Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corea del Norte" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corea del Sur" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Islles Caimán" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakstán" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líbanu" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Llucía" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesothu" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lletonia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marruecos" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mónacu" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Serviciu médicu d'Estaos Xuníos" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Islles Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Islles Marianes del Norte" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauriciu" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Méxicu" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malasia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nueva Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níxer" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rede d'Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Islla Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nixeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nueva Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organización ensin ánimu de llucru Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papúa Nueva Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipines" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Paquistán" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "San Pierre y Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puertu Ricu" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territoriu Oceánicu Indiu Británicu" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguái" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunión" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Vieya escuela d'ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federación Rusa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabia Saudí" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Islles Salomón" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seyxeles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suecia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Islles Svalbard y Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "República d'Eslovaquia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Lleona" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marinu" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Santu Tomé y Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Antigua URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swazilandia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Islles Turks y Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territorios Franceses del Sur" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Taxiquistán" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokeláu" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistán" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Túnez" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquía" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidá y Tobagu" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwán" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucraína" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Reinu Xuníu" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estaos Xuníos" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguái" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbequistán" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ciudá Estáu del Vaticanu" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "San Vicente y les Granadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Islles Vírxenes Britániques" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Islles Vírxenes Norteamericanes" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Islles Wallis y Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yeme" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sudáfrica" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabue" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nun pudo coneutase a la sesión bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Imposible completar NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Imposible completar comandu" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "accesu remotu" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "complementu p'accesu remotu usando DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nun pudo coneutase al bus de la sesión: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Fallu al alquirir %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Llista de caráuteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Banear" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invitar" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Non coneutáu." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Tienes de seleicionar dalgún baneáu" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Mázcara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Namái pues abrir la llista de baneaos mentanto hai llingüeta de canal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Desaniciar" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Amenorgar" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Refrescar" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Estadístiques d'usuarios y canales: %d/%d Usuarios en %d/%d Canales" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Escueyi un ficheru de salida" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Entrar a la canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copiar Nome de Canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copiar Testu _Tema" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Guetar" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Descargar _llista" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Guardar _Llista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Amosar namái:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canales de" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "usuarios." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Mirar en:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nome de la canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Guetar triba:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Gueta Simple" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Concasar con patrón (Comodines)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Espresión Regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Guetar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Unviar ficheru a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Esi ficheru nun pue retomase" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Nun pudo accedese al ficheru: %s\n%s.\nNun ye dable retomar." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "El ficheru nel direutoriu de baxada ye más grande que'l ficheru ufríu. Nun ye dable retomar." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nun puede retomase'l mesmu ficheru de dos persones." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estáu" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Ficheru" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Dambos" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Xubíos" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Baxaes" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalles" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Ficheru:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Direición:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Albortar" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Aceutar" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Siguir" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Abrir carpeta..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recibíu" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Unviáu" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Tiempu d'aniciu" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Desaniciar" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Encaboxar" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Guardar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Nun reconeutase al sirvidor automáticamente" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "usar un direutoriu de configuración distintu" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Nun activar automáticamente dengún complementu" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Amosar direutoriu de configuración d'usuariu" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Executar orde:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Aniciar minimizáu. Nivel 0=Normal 1=Iconificáu 2=Estaya de Notificación" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivel" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Amosar información de la versión" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "falló l'apertura de la fonte:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "El búffer de gueta ta ermu.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Unviar la cola de la rede: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "El comandu Insert in Buffer inxertará'l conteníu de Data 1 na entrada onde se calcó la secuencia de tecles na posición actual del cursor" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "El comandu Set Buffer afita la entrada au la secuencia de tecles s'introduxo a los conteníos de Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "El comandu Last Command afita la entrada pa caltener el caberu comandu ingresáu al igual que calcar la tecla p'arriba na llinia de comandos" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "El comandu Next Command afita la entrada pa que caltenga'l siguiente comandu ingresáu al igual qu'al calcar la tecla abaxo na llinia de comandos" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Esti comandu camuda'l testu na entrada pa completar un nomatu incompletu o un comandu. Si Data 1 ta afitáu entós al calcar dos vegaes la tecla TAB sobro una cadena seleicionará'l caberu nomatu, non el siguiente." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Esti comandu desplaza p'arriba y p'abaxo la llista de nomatos. Si Data 1 ta afitáu a cualesquiera entós desplazaráse p'arriba, sinon desplazaráse p'abaxo" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Esti comandu comprueba la cabera pallabra introducida na entrada escontra la llista de reemplazos y trócala si alcuentra una coincidencia" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Esti comandu mueve una vegada la llingüeta superior a manzorga" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Esti comandu mueve una posición la llingüeta superior a mandrecha" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Esti comandu mueve la familia actual de llingüetes a manzorga" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Esti comandu mueve la familia actual de llingüetes a mandrecha" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Colocar la llinia d'entrada nel hestorial pero ensin unviala al sirvidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Ocurrió un fallu cargando la configuración de les combinaciones de tecles" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nun pue escribise a esi ficheru." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nun pue lleese esi ficheru." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Esa mázcara yá esiste." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Priváu" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Noticia" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Nun inorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Introduz la mázcara que quies inorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estadístiques d'inoraos:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Priváu:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Noticia:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invitar:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Amestar..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nome de canal enforma curtiu, intenta de nuevu." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexón a %s completada." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "¿Qué quies facer agora?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, yá me coneutaré dempués." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Entrar a esta canal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Si conoces el nome de la canal a la que quies xunite, escríbilu equí." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Amosar siempre esti diálogu dempués de la conexón." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Diálogu con" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "El tema pa %s ye: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nun hai definíu dengún tema" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Esti sirvidor entá tien %d canales o diálogos asociaos con elli. ¿Quies zarralos toos?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Nun entrugar más." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Tas coneutáu a %i redes IRC" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "¿De xuru que quies colar?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Dalgunes tresferencies de ficheros siguen actives." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizar a bandexa" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Inxertar atributu o códigu de color" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Negrina</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Solliñáu</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Colores 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Colores 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "C_onfiguración" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Rexistrar nel discu" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Recargar hestorial anterior" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "An_ubrir mensaxes d'entrar/colar" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Alertes _Estra" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Pitar al llegar un _mensax" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Chisbar _Iconu na Estaya de Notificación" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Chisbar na _Barra de Xeres" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Dixebrar" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zarrar" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "¡El llímite d'usuarios tien de ser un númberu!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Nun hai mensaxes esternos" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Proteición del tema" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Namái invitaos" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderáu" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Llista de Baneaos" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Pallabra contraseña" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Llímite d'usuarios" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Introduz el nomatu nuevu:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Equipu desconocíu" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Desconocíu" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nome Real:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Usuariu:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Sirvidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "fai %u minutos" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Caberu mensaxe:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Mensax d'ausencia:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nomatos seleicionaos." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Abrir enllaz nel restolador" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copiar URL seleicionada" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Entrar a la canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Invitar Canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ciclar canal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Rempuestes CTCP - Códigos especiales:\n\n%d = datos (el ctcp completu)\n%m = información de la máquina\n%s = nomatu de quien unvió'l ctcp\n%t = hora/data\n%2 = pallabra 2\n%3 = pallabra 3\n&2 = pallabra 2 fasta'l fin de llinia\n&3 = pallabra 3 fasta'l fin de llinia\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Camudar con" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nuevu" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Colar" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barra del _menú" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra del _tema" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Llista d'_usuarios" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Botones de M_ou" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Camudar _Canal" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Llingüe_tes" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Árbol" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Métriques de Rede" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Apagar" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Gráficu" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Sirvidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desconeutar" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconeutar" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menú d'_usuariu" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "A_xustes" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferencies" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ventana" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reaniciar la llinia de marcáu" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Llimpiar testu" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "Ayu_da" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Índi_z" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "Tocante _a" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Axuntar" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Vistu por cabera vegada" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Desconeutáu" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Enxamás" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "fai %d minutos" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Coneutáu" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Introduz el nomatu p'amestar:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificar sobre eses redes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Acéutase una coma como separtador na llista de redes." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Abrir ventana" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Parpaguiar" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Mensax de Canal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mensaxe Priváu" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Mensaxes resaltaos" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Camudar estáu" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Ausente" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_P'atrás" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versión" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descripción" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Escueyi una estensión o guión a cargar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Cargar..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Guardar como..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nueva rede" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "¿Daveres que quies desaniciar la rede \"%s\" y tolos sos sirvidores?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Contraseña:" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Coneutar únicamente al sirvidor escoyíu" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Nun recorrer tolos sirvidores cuando la conexón falle." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Usar un sirvidor proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Usar SSL con tolos sirvidores d'esta rede" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Usar información global d'usuariu" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nomatu:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segunda opción:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nome rea_l:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nome d'_usuariu:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Contraseña:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Xuegu de caráuteres:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Información sobre usuariu" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tercer opción:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Saltar llista de redes al aniciar" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Axe_itar" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_oneutar" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaixán" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorrusia" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonia" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malasia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailandia" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Xeneral" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Nomatos coloreaos" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada persona nel IRC un color distintu" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indentar nomatos" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Xustificar los nomatos a mandrecha" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Amosar llinia de marcar" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Inxertar una llinia colorada dempués del caberu testu lleíu" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imaxe de fondu:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Configuración de tresparencia" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Finó caberu falante" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Comprobación ortográfica" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Completar nomatu" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufixu al completar el nomatu:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Nomatu al completar ordenáu:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Desordenada" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Arriba" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Abaxo" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Anubríu" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Llista d'usuarios" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Amosar nomes agospiadores na llista d'usuarios" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Usar la fonte de la caxa de testu y colores" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Llista d'usuarios ordenada por:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Amosar llista d'usuarios en:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Nes canales más pequeñes que:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Comportamientu del duble clic" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Ventanes" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Llingüetes" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Siempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Namái llingüetes solicitaes" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Árbol" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Camudar triba:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Abrir llingüeta estra pa los mensaxes del sirvidor" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir nueva llingüeta cuando recibas un mensax priváu" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Tresnar llingüetes alfabéticamente" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Testu pequeñu" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Centrase en nueves llingüetes:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Amosar camudar canal en:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Amenorgar llingüetes a:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "lletres." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Ventana del caberu rexistru" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Abrir canales en:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Abrir diálogos en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Abrir utilidaes en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "¿Abrir DCC, Inorar, Notificar etc, en llingüetes o en ventanes?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Ficheros y direutorios" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Aceutar ficheros automáticamente:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Baxar ficheros en:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mover ficheros completaos a:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Guardar el nomatu nos nomes de ficheros" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Abrir les ventanes de diálogu automáticamente" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Ventana d'unviu" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Ventana de recepción" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Ventana de canal" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Una xuba:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocidá máx. pa una tresferencia" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Una baxada" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Toles xubes amestaes:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocidá máx. pa tol tráficu" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Toles baxaes amestaes:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertes" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Parpaguiar iconu na estaya notificación en:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Parpaguiar barra de xeres en:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Facer soníu en:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Activar iconu na estaya de notificaciones" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mensaxes Resaltaos" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Resaltar mensaxes cuando nomen el to nomatu, pero cuando:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Pallabres adicionales pa resaltar:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nomatos que nun resaltarán:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nomatos que siempre van rescamplase:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Dixebrar multiples pallabres con comes.\nComodines aceutaos." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mensaxes predeterminaos:" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Colar:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Abandonar canal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Ausente:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Ausente" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Amosar namái una vegada" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Desmarcar ausencia automática" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Amosar los MODOs en forma plana" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Anubrir mensaxes d'entrar/colar" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Allanciu de reconexón automática:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Rexistros" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Amosar charres de la to sesión previa" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Llinies de desplazamientu:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Activar rexistru de charres a discu" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nome de ficheru de rexistru:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Sirvidor %c=Canal %n=Rede." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Inxertar marques de data/hora nos rexistros" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formatu de data/hora pal rexistru:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Desactiváu)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "La to direición" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Asociar a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Namái ye útil pa ordenadores con direiciones múltiples." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obtener la mio IP del sirvidor IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Entruga la to direición real al sirvidor IRC. ¡Úsalo si tienes una direición de la triba 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Direición IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Pretender tar nesta direición cuando tes ufriendo ficheros." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Dexar los puertos en cero pal rangu completu." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Sirvidor proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nome d'equipu:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Puertu:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Triba:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Usar un sirvidor proxy pa:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticación nel sirvidor proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nome d'usuariu:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Escueyi un ficheru d'imaxe" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Seleicionar carpeta de baxaes" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Seleicionar fonte" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Desaminar..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Abrir carpeta de datos..." + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleicionar color" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Colores de testu" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Colores de mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Colores llocales:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Primer planu:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fondu:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Colores de la interface" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Dato nuevu:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Llinia pa señalar:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Mensax nuevu:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Usuariu ausente:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Resaltar:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Eventu" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Ficheru de soníu:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Escueyi un ficheru de soníu" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Ficheru de soníu:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "R_estolar..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Reproducir" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Caxa d'entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Llista d'usuarios" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Camudar Canal" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Colores" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Charra" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avanzáu" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configuración de rede" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Tresferencies de ficheros" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categoríes" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "¡Nun pues poner l'árbol arriba o abaxo!\nPor favor, camuda la disposición de les <b>Llingüetes</> nel menú <b>Ver</b> primero." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Dalgunes opciones que camudaron requieren un reaniciu pa tener efeutu." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ALVERTENCIA*\nAceutar automáticamente DCC haza'l to direutoriu d'aniciu\npue ser peligroso y ye esplotable. Por exemplu: Dalguien \npue unviate un ficheru .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Ocurrió un fallu analizando la cadena" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Esta señal namái pasó %d argumentos, $%d nun ye válidu" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Imprentar ficheros de testos" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Númberu" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editar eventos" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Cargar dende..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testear too" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Llimpiar la llista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copiar URL seleicionada" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Guardar llista nun ficheru." + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir una URL irc://server:port/channel" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/az.po b/po/az.po new file mode 100644 index 0000000000000000000000000000000000000000..313f5f37236d77f85b32091c5f153bf366fb9316 --- /dev/null +++ b/po/az.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Metin Amiroff <metin@karegen.com>, 2004 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Azerbaijani (http://www.transifex.com/hexchat/hexchat/language/az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Məşğulam" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Gedirəm" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Şəbəkə" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<boş>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Gözləyir" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Fəal" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Bacarılmadı" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Oldu" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Bağlan" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Ləğv Edildi" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ünvanına yetişilə bilmir\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Xəta" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Fəal DCC-lər yoxdur\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Op Ver" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Op Al" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Voice Ver" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Voice Al" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick-lə" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Ban-la" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan-la" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Kanaldan Çıx" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Kanala Daxil Ol..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Daxil Olunacaq Kanalı Bildir:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Verici Körpüləri" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Vericini Pinglə" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Buraxılışı Gizlət" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "Di ha!" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Kickləmə səbəbi %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialoq" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Yolla" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Söhbət" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Təmizlə" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "IRC-ni Ali İstifadəçi olaraq işlətmək dəlilikdir.\n Xahiş edirik istifadəçi hesabı yaradın.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "BƏLİ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "XEYİR " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s xətdədir\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s xətdə deyil\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Heç bir kanalda deyilsiniz. /join #<kanal> əmrini verin\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Bağlı deyilsiniz. /server <qovşaq> [<port>] əmrini verin\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh əmrini icra etməliyəm!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "İstifadə Qaydası: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nBu əmrlə əlaqəli yardım mövcud deyil.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Belə əmr yoxdur.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "%s qovşaq adı tapıla bilmir\nIP qurğularınızı yoxlayın!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Vəkil traversalı bacarılmadı.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s üstündəki növbəti vericiyə keçilir...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Sol ismarış" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Sağ ismarış" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP ünvanı" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "İstifadəçi adı" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Daxil olan şəxsin ləqəbi" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Daxil olunan kanal" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Şəxsin qovşağı" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Ləqəb" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Gedişat" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mod hərfi" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Mətn" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "İsmarış" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Verici Adı" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Köhnə ləqəb" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Yeni ləqəb" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Mövzunu dəyişdirən şəxsin ləqəbi" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Mövzu" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Atanın ləqəbi" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Atılanın ləqəbi" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Səbəb" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Ayrılan şəxsin ləqəbi" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Vaxt" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Yaradıcı" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Ləqəb" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Səbəb" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Qovşaq" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Mənşəyi" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x şəklində vaxt (alta baxın)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Getdiyi kanal" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Səs" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Şəxsin ləqəbi" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP hadisəsi" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Üçarı seçən şəxsin ləqəbi" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Açar" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Hüdudu seçən şəxsin ləqəbi" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Hüdud" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Oplayan şəxsin ləqəbi" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Oplanan şəxsin ləqəbi" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Yarı oplanan şəxsin ləqəbi" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Yarı oplayan şəxsin ləqəbi" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Voice-layan şəxsin ləqəbi" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Voice-lanan şəxsin ləqəbi" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Banlayan şəxsin ləqəbi" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Ban maskası" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Açarı ləğv edənin ləqəbi" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Hüdüdu ləğv edənin ləqəbi" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Exempt maskası" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Dəvət maskası" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Modun işarəsi (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Mod hərfi" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Tam ad" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Verici Haqqında" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Passiv olma vaxtı" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Giriş vaxtı" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Uzaqlaşma səbəbi" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "İsmarış" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Hesab" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Həqiqi istifadəçi@qovşaq" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Həqiqi IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanal Adı" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Mətn" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Sizi dəvət edən şəxsin ləqəbi" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "İstifadəçilər" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Ləqəb istifadədədir" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Ləqəb sınanır" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Mod qatarı" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC Növü" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Fayl adı" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Hədəf fayl adı" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Cığır adı" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Mövqe" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Böyüklük" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC Qatarı" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Bildiriş üzvləri ədədi" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Köhnə Fayl Adı" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Yeni Fayl Adı" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Alıcı" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Qovşaq Maskası" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Qovşaq Adı" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Saniyə" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Dəvət edilən şəxsin ləqəbi" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Ban Maskası" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Banı qoyan" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Ban vaxtı" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Uzaq qovşaq soketi bağladı" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Bağlantı rədd edildi" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Uzaq qovşaq yoxdur" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Bağlantı vaxtı doldu" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Bu ünvan verilə bilməz" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Bağlantı düyün tərəfindən sıfırlandı" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Birləşmiş Ərəb Əmirlikləri" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Əfqanıstan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antiqua və Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anquilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albaniya" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Ermənistan" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Holland Antilləri" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Anqola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikan Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Avstriya" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Avstraliya" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azərbaycan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosniya və Herzoqovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Banqladeş" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belçika" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bolqarıstan" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahreyn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Təşkilatlar" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Bruney Darüssəlim" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Boliviya" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Braziliya" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamalar" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Buvet Adası" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarusiya" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Beliz" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kakos Adaları" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Mərkəzi Afrika Respublikası" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Konqo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "İsveçrə" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kuku Adaları" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Çili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Çin" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbiya" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Təşkilatı" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Keyp Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Kristmas Adası" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kipr" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Çex Respublikası" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Almaniya" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Cibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danimarka" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominik" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikan Respublikası" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Əlcəzair" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Tədris Təşkilatı" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estoniya" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Misir" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Qərbi Saxara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritre" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "İspaniya" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Efiopiya" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandiya" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fici" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland Adaları" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikroneziya" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faro Adaları" + +#: src/common/util.c:770 +msgid "France" +msgstr "Fransa" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Qabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Böyük Britaniya" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Qrenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gürcüstan" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Fransız Gvineyası" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britaniya Kanal Adaları" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Qana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Qrinland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Qambiya" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Qvineya" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Hökümət" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Quadelup" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatorial Qvineya" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Yunanıstan" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Quatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Quam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Qvineya Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Quyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Honq Konq" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Hird Adası və Mkdonald Adaları" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Xırvatıstan" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Macarıstan" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "İndoneziya" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "İrlandiya" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "İsrail" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Hindistan" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Məlumat verici" + +#: src/common/util.c:803 +msgid "International" +msgstr "Beynəlmilləl" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britaniya Hind Okeanı Sahəsi" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "İraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "İran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "İslandiya" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "İtaliya" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Yamayka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "İordaniya" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Yaponiya" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Qırğızıstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodiya" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komor" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts və Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Şimali Koreya" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Cənubi Koreya" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Küveyt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kayman Adaları" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Qazaxstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Livan" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Müqəddəs Lusiya" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lixtenşteyn" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Şri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberiya" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lüksemburq" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latviya" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Liviya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Mərakeş" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "ABŞ Medikalı" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madaqaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marşal Adaları" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Silahlı Qüvvələr" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedoniya" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Monqolustan" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Şimali Marian Adaları" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martiniq" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mavritaniya" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurit" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldiv" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksika" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malayziya" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambiq" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibiya" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Yeni Kaledoniya" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Şəbəkəsi" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Adaları" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeriya" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaraqua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Hollandiya" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norveç" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niu" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Yeni Zellandiya" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Təşkilatı" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Fransız Poloneziyası" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Yeni Qvineya" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippinlər" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polşa" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre və Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitkairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Riko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portuqaliya" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraqvay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reyunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumıniya" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rusiya Federasiyası" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Səudiyyə Ərəbistan" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomon Adaları" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seyşel" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "İsveç" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Sinqapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Sloveniya" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard və Jan Mayen Adaları" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakiya Respublikası" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Siera Lione" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Seneqal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somali" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome və Prinsip" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Köhnə SSSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siriya" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Türk və Kaykos Adaları" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Çad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Cənubi Fransız Sahələri" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Toqo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tayland" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tacikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelo" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Şərqi Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Türkmənistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonqa" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Türkiyə" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad və Tobaqo" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tayvan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzaniya" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrayna" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uqanda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Birləşmiş Krallıq" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerika Birləşmiş Ştatları" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruqvay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Özbəkistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikan Şəhər Höküməti" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britaniya Virgin Adaları" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ABŞ Virgin Adaları" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vyetnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Vallis və Futuna Adaları" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yəmən" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayot" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yuqoslaviya" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Cənubi Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambiya" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Hərf Cədvəli" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban-la" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Dəvət Et" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Bir iki ban seçməlisiniz." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Göndərən" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Tarix" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Sil" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Kəs" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Yenilə" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Çıxış fay adını seç" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanal adı" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Axtar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Faylı %s-a yolla" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Bu fayl davam etdirilə bilən deyil." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Fayla yetişilə bilmir: %s\n%s.\nDavam etdirmə mümkün olmayacaqdır." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Endirilən fayl təklif olunandan daha böyükdür. Davam etdirmə mümkün deyil." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Eyni fayl iki nəfərdən davam etdirilə bilməz." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Vəziyyət" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fayl" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Hər ikisi də" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Ləğv Et" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Qəbul Et" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Davam Et" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Alc" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Gnd" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Sil" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Ləğv Et" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Qeyd Et" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Yazə növü açıla bilmədi:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Axtarış bufferi boşdur.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bayt" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Bu fayla yazıla bilmir." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Bu fayl oxuna bilmir." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Bu maska onsuz da mövcuddur." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Şəxsi" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Bildiriş" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Qəbul Et" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Rədd ediləcək maskanı bildir:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Rədd Statistikaları:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Şəxsi:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Bildiriş:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Dəvət:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s mövzusu: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Mövzu seçilməyib" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Bağla" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "İstifadəçi hüdüdu nömrə olmalıdır!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Xarici ismarışlar göstərilməsin" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Mövzu Qoruması" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Ancaq Dəvət Et" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Modereytlənmiş" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Ban Siyahısı" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Açar Kəlmə" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "İstifadəçi Hüdüdu" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Yeni ləqəb bildir:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Namə'lum qovşaq" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Namə'lum" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Həqiqi Adınız:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Kanala Daxil Ol" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Part Kanalı" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Cycle Kanalı" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Bağlı" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Qrafika" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Verici" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Qurğular" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Pəncərə" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Mətni _Təmizlə" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Yardım" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Məzmun" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Haqqında" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Ad" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Son Görülmüşdür" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Xətdən Xaric" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Qətiyyən" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Xətdə" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Əlavə ediləcək ləqəbi yazın:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Buraxılış" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "İzahat" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Yüklənəcək Əlavə ya da Skripti Seç" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Yüklə..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Yeni Şəbəkə" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Həqiqətən də \"%s\" şəbəkəsi və bütün onun vericiləri silinsin?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Şifrə:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Şəbəkələr" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Bağlan" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albaniya" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azərbaycan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarusiya" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bolqarıstan" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estoniya" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindistan" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malayziya" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tayland" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vyetnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Ümumi" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Yazı növü:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Arxa plan rəsmi:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nizamsız" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Üstdə" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Altda" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Göstərmə" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "İstifadəçi Siyahısı" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Söhbət pəncərəsi yazı növü və rənglərini işlət" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Pəncərələrdə" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Səkmələrdə" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "hərf." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Kanalların açılma şəkli:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Dialoqların açılma şəkli:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Vasitələrin açılma şəkli:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC Açılması, Rədd Etmə, Bildirişlər səkmələrdəmi yoxsa pəncərələrdəmi açılsın?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Faylları buraya endir:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Tamamlanan faylları buraya daşı:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Uzaqda cəziyyətini bir dəfə göstər" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Qeyd" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Geri dönüş sətiri miqdarı:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Qeydlərə tarix mühürünü daxil et" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Qeyri fəaldır)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP ünvanı:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Fayl təklif edəndə bu ünvanda olduğunu bildir." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Qovşaq adı:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Qapı:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Növ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "İstifadəçi adı:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Rəsm faylı seç" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Yazı növü seç" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Gəz..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Rəng seç" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC rəngləri:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Ön plan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Arxa plan:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "İşıqlandırma:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Hadisə" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Ara üz" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Giriş qutusu" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "İstifadəçi siyahısı" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Rənglər" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Söhbət" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Şəbəkə qurğusu" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Fayl transferləri" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kateqoriyalar" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Bə'zi seçimlərin tətbiq edilməsi üçün proqramı yenidən başlatmalısınız." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Qatar oxunanda xəta yarandı" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Mətn Faylını Çap Et" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Nömrəsi" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Hadisələri Dəyişdir" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Hamısı Sına" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Siyahını təmizlə" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Seçili URL-ni Köçür" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Köçür" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Siyahını fayla qeyd et" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d toplam" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000000000000000000000000000000000000..9fa1c137d30b1fee297f20cf2ee4345a4cba0a3f --- /dev/null +++ b/po/be.po @@ -0,0 +1,6253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Belarusian (http://www.transifex.com/hexchat/hexchat/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Я заняты" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Выходжу" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Сеціва" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ніякі>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Канал" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Чаканне" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Актыўны" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Памылка" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Выканана" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Злучэнне" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Перарвана" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Няма доступу да %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Памылка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s прапануе \"%s\". Вы згодны?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Няма актыўных каналаў данніх (DCC)\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Даць аператара" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Забраць аператара" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Даць голас" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Забраць голас" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Выпхнуць/забараніць" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Выпхнуць" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Забараніць" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Выпхнуць і забараніць" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Выйсці з канала" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Увайсці на канал..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Вызначце канал для ўваходу:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Спасылкі сервера" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Пінгаваць сервер" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Схаваць версію" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Аператар" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Адабраць аператара" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "пакуль" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Увядзіце прычыну выпіхвання %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Дыялог" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Хто ёсць" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Даслаць" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Размова" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Ачысціць" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Выконваць IRC з-пад root'a - глупства.\n Вы павінны стварыць карыстальніцкі\n рахунак у сістэме і ўжываць яго\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "Так " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "Не " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вас затапліваюць CTCP запытамі з %s, %s ігнаруецца\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s у сеціве\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s адключаны\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не зайшлі на канал. Паспрабуйце /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Няма злучэння. Паспрабуйце /server <вузел> [<порт>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Ужо пазначаны адышэдшым: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Ужо пазначаны вярнуўшымся.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Для запуску патрэбна праграма /bin/sh !\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Даступныя каманды:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Вызначаныя карыстальнікам каманды:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Вызначаныя плагінам каманды:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Набярыце /HELP <каманда> для даведкі ці /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Невядомы аргумент '%s' праігнараваны." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Плагін не знойдзены.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Гэты плагін немагчыма выгрузіць.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <імя> <дзеянне>, дадае кнопку пад спісам карыстальнікаў" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <каманда>, дасылае каманду на ўсе каналы, куды вы зайшлі" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <каманда>, дасылае каманду на ўсе серверы, з якімі вы злучаны" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, пазначае вас вярнуўшымся (не адышэдшым)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <маска> [<тыпзабароны>], забараняе доступ да канала кожнаму, хто адпавядае маске. Калі гэткія карыстальнікі ўжо на канале, яны не будуць выпхнутыя. (Трэба правы аператара)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|маска>, шукае код краіны, напрыклад: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <мянушка> <паведамленне>, дасылае мянушцы CTCP-паведамленне, напрыклад, VERSION ці USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <мянушка> - дазволіць прапанаваны файл\nDCC SEND [-maxcps=#] <мянушка> [файл] - даслаць файл камусьці\nDCC PSEND [-maxcps=#] <мянушка> [файл] - даслаць файл у пасіўным рэжыме\nDCC LIST - паказаць спіс DCC\nDCC CHAT <мянушка> - прапанаваць DCC CHAT камусьці\nDCC PCHAT <мянушка> - прапанаваць DCC CHAT у пасіўным рэжыме\nDCC CLOSE <тып> <мянушка> <файл> напрыклад:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <мянушка>, выдаляе статус паўаператара ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <імя>, выдаляе кнопку пад спісам карыстальнікаў" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <мянушка>, выдаляе статус аператара ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <мянушка>, выдаляе права голасу ў мянушкі на бягучым канале (патрэбен статус аператара)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Адлучыцца ад сервера" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <тэкст>, Выводзіць тэкст на лакальнай машыне" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <каманда>, запускае каманду. Калі ўжыты параметр -o, вывад будзе дасланы ў бягучы канал, інакш у бягучае тэкставае акно" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, дасылае працэсу сігнал SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], забівае выконваючуюся каманду ў бягучай сесіі. Калі адзначаны флаг -9, працэсу дасылается сігнал SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, дасылае працэсу сігнал SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, дасылае данні на стандартны ўваход працэса (stdin)" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, скінуць чаргу дасылкі на бягучы сервер" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <вузел> [<порт>], далучыцца праз вузел, прадвызначаны порт 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <мянушка>, даць правы паў-аператара карыстальніку (патрэбна мець правы аператара)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <пароль>, ідэнтыфікаваць сябе nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <маска> <тыпы..> <уласцівасці..>\n маска - маска для ігнаравання, напрыклад: *!*@*.aol.com\n тыпы - тыпы дадзеных для ігнаравання:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n уласцівасці - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <мянушка> [<канал>], запрасіць кагосьці на канал, калі назва канала не пазначана - на бягучы канал (патрэбен статус аператара)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, увайсці на канал" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, выканаць праверку сігнала" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <файл>, загрузіць плагін ці скрыпт" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Адабраць паў-аператара ва ўсіх карыстальнікаў бягучага канала (патрэбен статус аператара)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Адабраць аператара ва ўсіх карыстальнікаў бягучага канала (патрабуе статус аператара)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <дзеянне>, дасылае дзеянне на бягучы канал (дзеянні пішуцца ад трэцяй асобы, напрыклад, /me скача)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Выпхнуць усіх карыстальнікаў з бягучага канала, акрамя вас (патрэбен статус аператара)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Надаць усім карыстальнікам бягучага канала статус аператара (патрэбен статус аператара)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <мянушка> <паведамленне>, Дасылае CTCP-абвяшчэнне" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <мянушка>, змяняе вашую мянушку" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n сеціва1[,сеціва2]] [<мянушка>], пералічвае ваш спіс абвяшчэнняў ці дадае некага ў яго" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, дае мянушцы статус аператара канала (патрэбен статус аператара)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<прычына>], выйсці з канала, калі канал не вызначаны, то з бягучага" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <мянушка | канал>, CTCP пінг мянушкі ці канала" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<прычына>], адлучыцца ад бягучага сервера" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <тэкст>, даслаць тэкст у неапрацованай форме да сервера" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<вузел>] [<порт>] [<пароль>], Можа быць выклікана як /RECONNECT для перадалучэння да бягучага сервера ці /RECONNECT ALL для перадалучэння да ўсіх адкрытых сервераў" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [-ssl] [<вузел>] [<порт>] [<пароль>], Можа быць выклікана як /RECONNECT для перадалучэння да бягучага сервера ці /RECONNECT ALL для перадалучэння да ўсіх адкрытых сервераў" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <тэкст>, дасылае тэкст аб'екту ў бягучым акне" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <вузел> <порт> <канал>, злучыцца і ўвайсці на канал" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <вузел> <порт> <канал>, злучыцца і ўвайсці на канал" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <вузел> [<порт>] [<пароль>], злучыцца з серверам, прадвызначаны порт 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<тэма>], усталяваць тэму, калі яна вызначана, інакш вывесці бягучую тэму" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Мірганне ў сподку між двума значкамі.\nTRAY -f <filename> Замацаваць значку ў сподкавым элеменце.\nTRAY -i <number> Мірганне ў сподку ўнутранай значкай.\nTRAY -t <text> Усталяваць тэкст сподкавага элемента.\nTRAY -b <title> <text> Усталяваць выплыўны тэкст сподкавага элемента." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], зняць забарону з вызначаных масак." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <імя>, выгрузіць плагін ці скрыпт" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, адкрыць URL у вашым браўзеры" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <мянушка1> <мянушка2> і г.д., падсвечваць вызначаную(ыя) мянушку(і) ў спісе карыстальнікаў" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <мянушка>, даць голас камусьці (патрэбен статус аператара канала)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <паведамленне>, напісаць паведамленне ва ўсіх каналах" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <паведамленне>, даслаць паведамленне ўсім аператарам бягучага канала" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Карыстанне: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nНіякай даведкі не існуе для гэтай каманды.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Няма гэткай каманды.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Дрэнныя аргументы карыстальніцкай каманды.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Зашмат рэкурсіўных падкаманд, перарываюся." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ці вы ўпэўнены, што гэта сумяшчальны з SSL сервер і порт?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Немагчыма знайсці імя %s\nПраверце вашыя наладкі IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Не атрымліваецца злучыцца з проксі.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Спрабую іншы сервер %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Увага: \"%s\" знаказбор невядомы. Ніякага пераўтварэння знакаў для сеціва %s не будзе." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UКанал Карыст. Тэма" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tСпіс абвяшчэнняў пусты." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КАНЕЦ УВАХОДУ НА %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПАЧАТАК УВАХОДУ НА %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Левае паведамленне" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Правае паведамленне" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP адрас" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Імя карыстальніка" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Мянушка ўваходзячай асобы" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Канал для ўваходу" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Хост гэтай асобы" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Мянушка" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Дзеянне" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Знак рэжыму" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Вылучаны тэкст" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Тэкст" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Паведамленне" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Назва сервера" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Старая мянушка" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Новая мянушка" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Мянушка асобы, якая змяніла тэму" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Тэма" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Мянушка асобы, якая выпхнула вас" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Асоба, якую выпхнулі" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Прычына" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Мянушка асобы, што выходзіць" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Час" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Стваральнік" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Мянушка" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Прычына" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Хост" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Адкуль" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Час у фармаце x.x (глядзі ніжэй)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Спіс каналаў" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Гук" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Мянушка гэтай асобы" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP падзея" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Мянушка асобы, якая ўсталявала ключ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Мянушка асобы, якая ўсталявала абмежаванне" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Абмежаванне" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Мянушка асобы, якая дала статус аператара" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Мянушка асобы, якая атрымала статус аператара" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Мянушка асобы, якая атрымала статус паў-аператара" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Мянушка асобы, якая дала статус паў-аператара" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Мянушка асобы, якая дала голас" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Мянушка асобы, якая атрымала голас" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Мянушка асобы, якая ўсталявала забарону" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Маска забароны" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Мянушка, якая выдаліла ключ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Мянушка, якая выдаліла абмежаванне" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Мянушка асобы, у якой быў адабраны статус аператара" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Мянушка асобы, у якой быў адабраны статус паў-аператара" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Мянушка асобы, у якой быў адабраны голас" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Мянушка асобы, якая ўсталявала выключэнне" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Маска выключэння" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Мянушка асобы, якая выдаліла выключэнне" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Мянушка асобы, якая зрабіла запрашэнне" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Маска запрашэння" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Мянушка асобы, якая выдаліла запрашэнне" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Мянушка асобы, якая ўсталявала рэжым" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знак рэжыму (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Сімвал рэжыму" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Канал для ўжыцця" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Поўнае імя" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член канала /\"аператар IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Інфармацыя аб серверы" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Час бяздзеяння" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Час з уваходу" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Прычына адыходу" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Паведамленне" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Рахунак" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Сапраўдны user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Сапраўдны IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Назва канала" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Тэкст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Мянушка асобы, якая запрасіла вас" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Карыстальнікі" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Мянушка выкарыстоўваецца" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Спрабуемая мянушка" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Радок рэжымаў" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Тып DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Імя файла" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Назва файла ў атрымальніка" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS(знакаў у секунду)" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Шлях" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Пазіцыя" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Памер" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Радок DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Колькасць абвяшчэнняў" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Старое імя файла" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Новае імя файла" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Атрымальнік" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Маска камп'ютэра" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Назва камп'ютэра" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунды" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Мянушка запрошанай асобы" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Маска забароны" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Хто ўсталяваў забарону" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Час забароны" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Немагчыма прачытаць гукавы файл:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Аддалены вузел закрыў сокет" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "У злучэнні адмоўлена" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Няма шляху да вузла" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Час злучэння выйшаў" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Немагчыма ўжыць гэта адрас" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Злучэнне пераўсталяваны тым бокам" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Узнясення астравы" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Злучаныя Арабскія Эміраты" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Аўганістан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Антыгуа і Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ангілья" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албанія" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Арменія" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Нідэрландскія Антылы" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антарктыка" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аргентына" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Адваротны DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Амерыканскае Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Аўстрыя" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "НАТО Фэйл" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Аўстралія" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Аланавы астравы" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Боснія і Герцагавіна" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладэш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Бельгія" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркіна Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Баўгарыя" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахрэйн" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурундзі" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Бізнесовыя" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенін" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бэрмуды" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Брунэй" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Балівія" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразілія" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Багамы" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Востраў Бувет" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Батсвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Беларусь" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Белізе" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Какос астравы" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Дэмакратычная Рэспубліка Конга" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Цэнтральна-Афрыканская Рэспубліка" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конга" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швейцарыя" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Кот д'Івуар" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Астравы Кука" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чылі" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Кітай" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Калумбія" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Камерцыйныя Адрасы" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Коста Рыка" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Сербія і Чарнагорыя" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Кабо Вердэ" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Востраў Каляд" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кіпр" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Чэхія" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Нямеччына" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Джыбуці" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Данія" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Дамініка" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Дамініканская Рэспубліка" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжыр" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Эквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Адукацыйныя" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Эстонія" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Егіпет" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Заходняя Сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Эрытрэя" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Гішпанія" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Эфіёпія" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Еўразвяз" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Фінляндыя" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фіджы" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фалклендскія астравы (Мальвіны)" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Федэрацыя Мiкранэзіі" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Астравы Фароэ" + +#: src/common/util.c:770 +msgid "France" +msgstr "Францыя" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Вялікая Брытанія" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Грэнада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузія" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Французская Грэнада" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Брытанскія астравы Канала" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Гібралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Грынланд" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбія" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвінея" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Урад" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гвадэлупа" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Экватарыяльная Гвінэя" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Грэцыя" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Св.Георгія і Св.Сэндвіча астравы" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватэмала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвінея-Бісаў" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гвіяна" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Гонг-Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Астравы Гэарда і МакДональда " + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Гандурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Харватыя" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Гаіці" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Вугоршчына" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Інданэзія" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ірландыя" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Ізраіль" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Востраў Мэн" + +#: src/common/util.c:801 +msgid "India" +msgstr "Індыя" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Інфармацыйныя" + +#: src/common/util.c:803 +msgid "International" +msgstr "Міжнародныя" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Брытанская тэрыторыя Індыйскага акіяна" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ірак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Іран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Ісландыя" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Італія" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Джэрсі" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Ярданія" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Японія" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кенія" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Кыргызстан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кiрыбацi" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Каморы" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Сэнт-Кітс і Нэвіс" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Паўночная Карэя" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Паўднёвая Карэя" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувэйт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Кайманавы астравы" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Ліван" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Сэнт-Люсія" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Ліхтэнштэйн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шры-Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Лібэрыя" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесота" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Літва" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Люксэмбург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвія" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Лівія" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Марока" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Манака" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Малдова" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Злучаныя Штаты, медыцына" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршалавы астравы" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Вайсковыя" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македонія" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Малі" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "М'янма" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Манголія" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макау" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Паўночныя Марыянскія астравы" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартыніка" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Маўрытанія" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Мантсэрат" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маўрыцы" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Мальдывы" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малаві" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мэксыка" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малайзыя" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мазамбік" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намібія" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Новая Каледонія" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нігер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Унутраныя сецівы" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфалк" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нігерыя" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Нікарагуа" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Галяндыя" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Нарвэгія" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Нэпал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ніўэ" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Новая Зеландыя" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Аман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Унутраныя некамерцыйныя арганізацыі" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Пэру" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Французская Палінэзія" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Папуа Новая Гвінея" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Філіпіны" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакістан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Польшча" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Сэн-П'ер і Мікелон" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Піткэрн" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Пуэрта Рыка" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестынская тэрыторыя" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Партугалія" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палаў" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Рэюньён" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Румынія" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Старое сеціва ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Расія" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саўдаўская Арабія" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Саламонавы астравы" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сэйшэлы" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Швецыя" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сінгапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Востраў Сьвятой Алены" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Славенія" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Астравы Свальбард і Яна Майхема" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Славакія" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сьера-Леонэ" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан-Марына" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Самалі" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Сурынам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сан-Тамэ і Прынсіпі" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Былы СССР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сырыя" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазылэнд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Астравы Тэркс і Кайкас" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Французскія паўднёвыя тэрыторыі" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Тога" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Тайланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таджыкістан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Такелаў" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Усходні Тымор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменістан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Туніс" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Турцыя" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Трынідад і Табага" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Злучаная Рэспубліка Танзанія" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Украіна" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Аб'яднанае Каралеўства" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Злучаныя Штаты Амерыкі" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекістан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ватыкан" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Св.Вінсент і Грэнадзіны" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венесуэла" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Брытанскія астравы Вірджын" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ЗША астравы Вірджын" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "В'етнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Воліс і Футуна астравы" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Маёт" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Югаславія" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Паўдневая Афрыка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Забмія" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зімбабвэ" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Немагчыма злучыцца з шынай сесій (session bus)" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Немагчыма скончыць NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Немагчыма скончыць Command" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "аддалены доступ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "Плагін для аддаленага доступу (выкарыстоўвае DBUS)" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Немагчыма злучыцца з шынай сесій : %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Немагчыма дасягнуць %s : %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Палітра літар" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Забараніць" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Запрашэнне" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Не злучана." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Трэба выбраць некалькі забаронаў." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Адкуль" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Вы можаце адкрыць акно са спісам забаронаў толькі пры адкрытай укладцы канала." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Выдаліць" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Сціснуць" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Аднавіць" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Паказ %d/%d карыстальнікаў на %d/%d каналах." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Абярыце імя файла для вываду" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "У_вайсці на канал" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Капіяваць назву канала" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Капіяваць тэкст _тэмы" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Пошук" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Спіс спа_мповак" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Захаваць _спіс як..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Паказаць толькі:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "каналы з ад" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "да" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "карыстальнікамі" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Глядзець у" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Назва канала" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Тып пошуку:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Просты пошук" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Узор адпавядае (Wildcards)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Рэгулярны выраз" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Знайсці:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Даслаць файл %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Працяг гэтага файла немагчымы." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Немагчыма атрымаць доступ да файла: %s\n%s.\nПрацяг немагчымы." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Файл у тэчцы спампоўванняў большы за прапанаваны файл. Працяг немагчымы." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Немагчыма працягнуць той жа самы файл з двух чалавек." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Прайшло часу" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Абодва" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Запампоўкі" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Спампоўкі" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Падрабязнасці" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Адрас:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Перарваць" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Прыняць" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Працягнуць" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Адкрыць тэчку..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Прын" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Дасл" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Час пачатку" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Выдаліць" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Адмяніць" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Захаваць" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Не злучацца з серверамі аўтаматычна" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Выкарыстоўваць іншую тэчку наладак" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Не загружаць плагіны аўтаматычна" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Паказаць тэчку карыстальніцкіх наладак" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Выканаць каманду:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Паказаць звесткі аб версіі" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Памылка адкрыцця шрыфту:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Буфер пошуку пусты.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d байтаў" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Сеціўная чарга дасылкі: %d байтаў" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Каманда Ўставіць у буфер уставіць змест Данніх 1 у поле, дзе была націснута камбінацыя клавішаў, у бягучую пазіцыю курсора" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Каманда Усталяваць Буфер усталёўвае значэнне поля поля, дзе была націснута камбінацыя клавішаў, у значэнне Данніх 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Каманда Апошняя Каманда вяртае ў поле апошнюю каманду, гэтаксама ж, як у каманднай абалонцы націсканне кнопкі Ўверх" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Каманда Наступная Каманда вяртае ў поле наступную каманду, гэтаксама ж, як у каманднай абалонцы націсканне кнопкі Ўніз" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Гэта каманда змяняе тэкст у полі для дапаўнення нескончанай мянушкі ці каманы. Калі Данні 1 усталяваныя, двайны націск табуляцыі выбярэ не наступную, а апошнюю мянушку" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Гэта каманда пракручвае ўніз і ўверх спіс карыстальнікаў. Калі Данні 1 усталяваны, будзе пракрутка ўверх, інакш - уніз" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Гэта каманда правярае апошняе ўведзенае слова ў спіс заменаў і замяняе ў выпадку знаходжання адпаведнасці" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Гэта каманда перамяшчае пярэднюю ўкладку на адну пазіцыю ўлева" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Гэта каманда перамяшчае пярэднюю ўкладку на адну пазіцыю ўправа" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Гэта каманда перамяшчае бягучую групу ўкладак на адну пазіцыю ўлева" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Гэта каманда перамяшчае бягучую групу ўкладак на адну пазіцыю ўправа" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Запісаць радок у журнал, але не дасылаць да сервера" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Памылка загрузкі наладак камбінацыяў клавішаў" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Немагчыма запісаць у гэты файл" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Немагчыма прачытаць гэты файл" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Гэта маска ўжо існуе" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Асабісты" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Абвяшчэнне" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Не ігнараваць" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Увядзіце маску для ігнаравання:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Статыстыка ігнараванняў:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Асабісты:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Абвяшчэнне:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Запрашэнне:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Дадаць..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Імя канала занадта кароткае, паспрабуйце зноў." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Злучэнне з %s выканана." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Што вы маеце рабіць наступным?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Нічога, Я ўвайду на канал пазней." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Увайсці на канал:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Калі вы ведаеце імя канала для ўваходу, увядзіце яго тут." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Заўсёды паказваць гэты дыялог пасля злучэння." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Дыялог з" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тэма для %s : %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Ніякай тэмы не ўсталявана" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Гэты сервер мае %d адкрытых каналаў ці дыялогаў. Ці закрыць іх усе?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Пакіньце ўласцівасць ці код колеру" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Тлусты</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Падкрэслены</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Звычайны" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Колеры 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Колеры 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Закрыць" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Абмежаванне карыстальніка павінна быць лічбай!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Няма вонкавых паведамленняў" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Ахова тэмы" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Толькі па запрашэннях" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Мадэраваны" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Спіс забарон" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ключавое слова" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Абмежаванне карыстальніка" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Увядзіце новую мянушку:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Вузел невядомы" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Невядома" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Сапраўднае імя:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Карыстальнік:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Краіна:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u хвілін таму" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Апошняе паведамленне:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Паведамленне адыходу:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Адкрыць спасылку ў браўзеры" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Капіяваць пазначаную спасылку" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Увайсці на канал" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Выйсці з канала" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Каналы па кругу" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Адказы CTCP - Спецыянальныя кады::\n\n%d = данні (ctcp цалкам)\n%e = назва бягучага сеціва\n%m = інфармацыя пра машыну\n%s = мянушка таго, хто даслаў ctcp\n%t = час/дата\n%2 = слова 2\n%3 = слова 3\n&2 = слова 2 ад канцу радка\n&3 = слова 3 ад канцу радка\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Замяніць" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Новы" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Выйсці" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "Пра_гляд" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Кнопкі рэжыму" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Укладкі" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Дрэва" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Вымярэнне сеціва" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Выкл" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Графік" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Разлучыцца" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Перадалучыцца" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Меню карыстальніка" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Наладкі" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Асаблівасці" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "Акно" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Скінуць маркер" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "А_чысціць тэкст" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Дапамога" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Змест" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "Аб праграме" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Імя" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Апошні прагляд" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Разлучаны" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Ніколі" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d хвілін таму" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Злучаны" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Увядзіце мянушку:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Абвяшчаць у гэтых сецівах:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Прымаецца спіс сеціваў, падзеленых коскамі." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Пачаць дыялог" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Міргаць пры" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Канальным паведамленні" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Асабістым паведамленні" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Падсвечаным паведамленні" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Версія" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Апісанне" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Выберыце плагін ці скрыпт для загрузкі" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Загрузіць" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Захаваць як..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Новае сеціва" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Сапраўды выдаліць сеціва \"%s\" і ўсе яго серверы?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Рэдагаваць" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Злучацца толькі з абранымі серверамі" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не зацыклівацца на серверах, калі злучэнні абрываюцца" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Ужываць SSL для ўсіх сервераў у гэтым сеціве" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Выкарыстоўваць глабальная звесткі" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Мянушка" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Другі выбар" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Сапраўднае _імя" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Імя карыстальніка" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Знаказбор:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Звесткі аб карыстальніку" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Трэці выбар" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Сецівы" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Не паказваць спіс сервераў пры старце" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Змяніць..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Упарадкаваць" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Злучыцца" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албанія" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербайджан" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Беларусь" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Баўгарыя" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Эстонія" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Індыя" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малайзыя" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Тайланд" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "В'етнам" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Агульнае" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Шрыфт:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Каляровыя мянушкі" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Пазначыць кожнай персоне розны колер" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Рабіць водступ перад мянушкамі" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Выраўняць мянушкі па правым краі" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Паказваць маркер" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Устаўляць чырвоную лінію пасля апошняга прагледжанага тэксту" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Фонавая выява:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Параметры празрыстасці" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Апошнесказаны парадак " + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Праверка правапісу" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Дапаўненне мянушак" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Суфікс дапаўнення мянушак" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Дапаўненне сартавана" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Не сартаваць" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Верх" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Ніз" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Схаваць" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Спіс карыстальнікаў" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Паказваць імёны хастоў у спісе карыстальнікаў" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Шрыфт і колер як у тэкставым акне" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Сартаваць спіс карыстальнікаў па:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "На каналах менш за" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Рэакцыя на падвоены націск мышы" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Вокны" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Укладкі" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Заўсёды" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Толькі запрошаныя ўкладкі" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Адкрываць дадатковыя ўкладкі для паведамленняў сервера (message)" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Адкрываць новую ўкладку для атрымання асабістага паведамлення" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Сартаваць укладкі ў алфавітным парадку" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Фокус на новыя ўкладкі:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Скарачаць укладкі да:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "знакаў" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Укладкі ці вокны:" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Адкрываць каналы ў:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Адкрываць дыялогі ў:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Адкрываць сродкі ў:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Адкрываць DCC, Ігнараванне, Абвяшчэнні і г.д. ва ўкладках ці вокнах?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Файлы і тэчкі" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Аўтаматычна згаджацца з прапановамі файлаў" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Спампоўваць файлы ў:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Перамяшчаць завершаныя файлы ў:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Захоўваць мянушкі ў імёнах файлаў" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Аўтаматычна адкрываць вокны DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Акно дасылкі" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Акно атрымання" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Акно размовы" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Адно запампоўванне:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Найвялікшая хуткасць для адной перадачы" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Адно спампоўванне:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Усе запампоўванні:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Найвялікшая хуткасць" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Усе спампоўванні:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Тэрміновыя паведамленні" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Міргаць сподкавай значкай пры:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Міргаць сподкам пры:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Паведаміць піскам пры:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Задзейнічаць значку ў сістэмным сподку" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Падсвечаныя паведамленні" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Падсвечваць паведамленні, дзе згадана ваша мянушка і:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Дадатковыя словы для падсветкі:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Мянушкі, тэкст ад якіх не падсвечваць" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Мянушкі, тэкст ад якіх заўжды падсвечваць" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Прадвызначаныя паведамленні" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Выхад:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Выйсці з канала: " + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Адыйсці:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Адыход" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Паказваць \"Адышэдшы\" толькі адзін раз" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Аўтаматычна здымаць статус \"Адышэдшы\"" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Паказваць рэжымы ў чыстым выглядзе " + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Схаваць паведамленні аб уваходзе і адыходзе" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Затрымка паміж спробамі злучыцца" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Журнал" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Лініі пракруткі:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Імя файла журналу:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "(%s=Сервер %c=Канал %n=Сеціва)." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Устаўляць адзнакі часу ў журнал" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Фармат адзнакаў часу:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Адключана)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Ваш адрас" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Ужываць адрас:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Карысна толькі для кампутараў з некалькімі адрасамі." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Атрымаць мой адрас ад IRC-сервера" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Запытаць IRC-сервер аб вашым сапраўдным адрасе. Выкарыстоувайце, калі вы маеце адрас кшталту 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP адрас:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Абвяшчаць аб гэтым адрасе пры прапанове файлаў." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Пакіньце парты нулявымі для поўнага дыяпазону." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Проксі-сервер" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Хост:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Тып:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Выкарыстоўваць проксі для:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Спраўжванне на проксі" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Імя карыстальніка:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Абярыце файл выявы" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Абярыце тэчку для спамповак" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Абярыце шрыфт" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Агляд.." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Адкрыць тэчку данніх" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Вылучце колер" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Колеры тэксту" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Колеры mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Лакальныя колеры:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Колер літар:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Колеры інтэрфейсу" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Новыя дадзеныя:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Лінія-адзнака:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Новае паведамленне:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Адышэдшы карыстальнік:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Падсветка:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Падзея" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Гукавы файл" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Абярыце гукавы файл" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Гукавы файл:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Знайсці..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Граць" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Інтэрфейс" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Акно ўводу" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Спіс карыстальнікаў" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Колеры" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Размовы" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Адмысловыя" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Сеціўныя наладкі" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Абмен файламі" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Катэгорыі" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Вы не можаце размясціць дрэва ўверсе ці ўнізе!\nСпачатку змяніце Асяроддзе на <b>Ўкладкі</b> ў меню <b>Прагляд</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Некаторыя наладкі будуць зменены толькі пасля рэстарту." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*УВАГА*\nАўтапрыманне DCC у вашу хатнюю тэчку ёсць\nнебяспечным і можа быць выкарыставана, напрыклад,\nнехта можа даслаць вам .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Узнікла памылка пры апрацоўцы радка" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Гэты сігнал прымае толькі %d аргументаў, $%d няправільны" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Друкаваць тэкставы файл" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Лічба" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Рэдагаваць падзеі" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Загрузіць з..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Праверыць усё" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Ачысціць спіс" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Капіяваць выбраны URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Капіяваць" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Захаваць спіс у файл" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d апер, %d усяго" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Адкрыць URL, irc://server:port/channel" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000000000000000000000000000000000000..02f2f41249cc01b03be5785ea4b7a96539b6e55f --- /dev/null +++ b/po/bg.po @@ -0,0 +1,6256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# n0kS Phr33d0m <shibam@v-gz.cz.cc>, 2012 +# Rostislav Raykov <zbrox@i-space.org>, 2005 +# n0kS Phr33d0m <shibam@v-gz.cz.cc>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Bulgarian (http://www.transifex.com/hexchat/hexchat/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Зает съм" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Напускам" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Мрежа" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<няма>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Стая" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Чакам" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Активна" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Пропадна" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Готово" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Свързване" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Прекъснато" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Няма достъп до %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Грешка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ви предлага \"%s\". Приемате ли?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Няма активни DCC-та\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Даване на операторски статус" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Взимане на операторски статус" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Даване на Voice статус" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Взимане на Voice статус" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Изхвърляне/Забрана" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Изхвърляне" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Забрана" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Изхвърляне и Забрана" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Напускане на стаята" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Влизане в стая ..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Въведете име на стая:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Сървърни връзки" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Пингване на сървър" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Скриване на версията" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Даване на оп. статус" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Взимане на оп. статус" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "чао" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Причина за изхвърлянето на %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Разговор" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Кой е ...?" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Изпращане" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Разговор" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Изчистване" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Пинг" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Да влизате в IRC като root е ГЛУПАВО! Направете си\n потребител и използвайте него.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ДА" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "НЕ" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вие сте CTCP flood-нати от %s, игнорира се %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s онлайн\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлайн\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не сте влезли в стая. Опитайте с /join #<стая>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не сте свързани. Опитайте с /server <хост> [<порт>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Сървърът %s вече съществува в мрежата %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Добавен сървър %s към мрежа %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Вече сте маркиран като отсъстващ: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Вече сте маркиран като завърнал.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Нужен е /bin/sh, за да се изпълни!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Налични команди:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Дефинирани команди от потребителя:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Дефинирани команди от добавки:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Напишете /HELP <команда> за повече информация, или /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознатия аргумент '%s' се игнорира." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Няма намерен такъв плъгин.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Този плъгин не иска да се отзарежда.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <действие>, добавя бутон под списъка с потребители" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, изпраща команда към всички присъединени стаи" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <команда>, изпраща команда към всички сървъри, към които сте свързан" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, маркира ви като завърнал (не отсъстващ)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <код>, намира код на страна, пример: au = Австралия" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, изтрива бутон от тези, които са под списъка с потребителите" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, прекъсва връзката към сървъра" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, Принтира текст в прозореца" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ник>, давате half-op статус на ник (нужен е op статус)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <парола>, идентифицира Ви към nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <стая>, влизане в дадена стая" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, пуска нова проверка на забавянето на репликите" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <действие>, изпраща действието към текущата стая (действията трябва да са в трето лице. пример: /me скача)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, масово дава операторски статус на всички потребители в дадената стая (изисква същия статус)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <хост/IP> [<порт>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <прякор>, настройва прякора ви" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <прякор>, дава операторски статус на прякора (изисква същия статус)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<стая>] [<причина>], напуска стаята, по подразбиране текущата" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <прякор | стая>, CTCP пинг към прякор или стая" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>], разкача се от текущия сървър" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, праща текста в чиста форма към сървъра" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, праща текста към обекта в текущия прозорец" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ник> [<файл>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <хост> <порт> <стая>, свързва се и влиза в стая" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <хост> <порт> <стая>, свързва се и влиза в стая" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <хост> [<порт>] [<парола>], свързва се със сървър, стандартния порт е 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<тема>], настройва темата ако е дадената такава, ако не-показва текущата" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], маха забраната от избраните маски" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име>, отзарежда плъгин или скрипт" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отваря URL-то в браузъра ви" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <прякор>, дава статуса \"voice\" на някой (изисква операторски статус в стаята)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <съобщение>, изпраща съобщението до всички канали" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <съобщение>, изпраща съобщение до всички оператори в текущата стая" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Употреба: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nНяма налична помощ за тази команда.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Няма такава команда.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Грешни аргументи за потребителската команда.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Прекалено много рекурсивни потребителски команди, прекъсва се..." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Сигурни ли сте, че това е SSL сървър и правилния порт?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Не може да се разбере името на хоста %s\nПроверете вашите IP настройки!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Пренасянето към проксито пропадна.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Минава се към следващия сървър в %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Внимание: Кодовата таблица \"%s\" е непозната. Няма да има преобразуване за мрежата %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UСтая Потребители Тема" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tСписъка с приятелчета е празен." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КРАЙ НА ЗАПИСВАНЕ НА РАЗГОВОРА В %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** НАЧАЛО НА ЗАПИСВАНЕ НА РАЗГОВОРА В %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Ляво съобщение" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Дясно съобщение" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP адрес" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Потребителско име" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Прякора на човека, който влиза" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Стаята, в която се влиза" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Хоста на човека" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Прякор" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Действието" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Текстът" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Съобщението" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Име на сървъра" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Стар прякор" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Нов прякор" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Прякорът на човека, който смени темата" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Прякора на човека, който е изхвърлил някой" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Човека, който е бил изхвърлен от стаята" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Стаята" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Причината" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Прякорът на човека, който излиза" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Времето" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Създателят" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Прякор" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Причина" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Хост" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "От кой е" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Времето във х.х формат (вижте долу)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Стаята, към която отива" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Звукът" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Прякорът на човека" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP събитието" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Прякорът на човека, който е поставил ключа" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ключът" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Прякора на този, който е настроил лимита" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Лимитът" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Прякорът на човека, който е дал операторския статус" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Прякорът на човека, който е получил операторски статус" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Прякорът на човека, който е получил полу-операторски статус" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Прякора на човека, който е дал полу-операторския статус" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Прякора на човека, който е дал статус \"Voice\"" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Прякора на човека, който е получил статус \"Voice\"" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Прякора на този, който е сложил забраната" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Маската на забраната" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Прякорът, който е премахнал ключа" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Прякорът, който премахва лимита" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Прякорът на човека, на който му е бил взет операторския статус" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Прякорът на човека, на който му е бил взет полу-операторския статус" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Прякорът на човека, на който е бил взет статус \"Voice\"" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Маската на exempt статуса" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Прякорът на човека, който е отправил поканата" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Маската за поканата" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Прякорът на човека, който е махнал поканата" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Прякорът на човека, който е настроил режима" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знакът на режима (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Буквата на режима" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Стаята, за която се настройва" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Пълно име" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Информация за сървъра" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Време без активност" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Време на влизане" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Причина за отсъствието" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Съобщение" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Абонамент" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "истински потребител@хост" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Истинско IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Име на стаята" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Прякора на този, който ви е поканил" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Потребители" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Прякора е зает" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Опитва се с този прякор" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC Вид" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Име на файла" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Име, под което да се запази файла" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Позиция" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Размер" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC низ" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Брой на обектите за уведомяване" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Старо име на файла" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Ново име на файла" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Получател" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Хостмаска" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Име на хоста" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакетът" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Прякор на човека, който е поканен" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Маска на забраната" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Кой е настроил бана" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Време на забраната" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Звуковият файл не може да бъде прочетен:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Връзката отказана" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Няма път то хоста" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Връзката се разпадна (Connection timed out)" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Не може да се назначи този адрес" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "ОАЕ" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Афганистан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Атигуа и Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ангила" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албания" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Армения" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Холандски антили" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антарктика" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аржентина" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Американска Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Австрия" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "НАТО" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Австралия" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Белгия" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "България" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Бизнеси" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Бруней Дарусалам" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Боливия" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразилия" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Бахамите" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Острови Буве" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Беларус" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Кокосови острови" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Демократична република Конго" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Централна Африканска Република" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швейцария" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Кот Д'Ивоар" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Островите Кук" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чили" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Колумбия" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Интерник Комерсиален" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Коста Рика" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Сърбия и Черна гора" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Капе Верде" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Коледния остров" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кипър" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Чехия" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Германия" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Джибути" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Дания" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Доминиканската република" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Образователна институция" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Естония" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Задана сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Еритрея" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Испания" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Етиопия" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Финландия" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фиджи" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фолкландските острови" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Микронезия" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Фарьорските острови" + +#: src/common/util.c:770 +msgid "France" +msgstr "Франция" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Великобритания" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузия" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Френска Гвиана" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "О-ви при Британския канал" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Гренландия" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбия" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвинея" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Правителствен" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Екваториалня Гвинея" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Гърция" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Св. Джорджия и Св. Сандичеви о-ви" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвинея-Бисау" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гияна" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Хърд и Макдоналдови о-ви" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Хърватска" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Унгария" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Индонезия" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ирландия" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Индия" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Информационен" + +#: src/common/util.c:803 +msgid "International" +msgstr "Международен" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Британска територия в Индийския океан" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Исландия" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Италия" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Йордания" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Япония" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кения" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Св. Китс и Невис" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Северна Корея" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Южна Корея" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Каймановите острови" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казакстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Ливан" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Св. Лучия" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Лихтенщайн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Либерия" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвия" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Либия" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Медицински САЩ" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршаловите острови" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Военен" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македония" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Мианмар" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Монголия" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Северни Мариански острови" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартиника" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Мавритания" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Монсера" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маврициус" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Малдивите" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малайзия" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намибия" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Нова Каледония" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Мрежата на InterNIC" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфолксите острови" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нигерия" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Никарагуа" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Холандия" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Норвегия" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Нова Зеландия" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "InterNIC огранизация с идеална цел" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Френска полинезия" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинея" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Филипините" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Полша" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пиер и Микелон" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Пуерто Рико" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестински територии" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Португалия" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Румъния" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Руската федерация" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саудитска Арабия" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Соломоновите острови" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сейшелските острови" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Швеция" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Св. Елена" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Словения" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "О-ви Свалбард и Ян Майен" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Словакия" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сиера Леоне" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Сомалия" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принцип" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Бившият СССР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Ел Салвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сирия" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Турски и Кайко о-ви" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Френски южни територии" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Тайланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Токелау" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Източен Тимор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Турция" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тайван" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Танзания" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Украйна" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Обединеното Кралство" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "САЩ" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ватикана" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и гренадините" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Британските Вирджински острови" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Американските Вирджински острови" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Виетнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Майот" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Югославия" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Южна Африка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Замбия" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Таблица със символи" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Забрана" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Покана" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Трябва да изберете някои забрани." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "От" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Премахване" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Изрязване" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Опресняване" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Изберете изходно файлово име" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Име на стаята" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Търсене:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Изпращане на файл на %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Приемането на файла не може да бъде продължено." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Няма достъп до файл: %s\n%s.\nПродължаването не възможно." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Файлът в папката за сваляне и по-голям от предлагания файл. Продължаването не е възможно." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Не може да се продължава същия файл от различни хора." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "И двете" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Прекъсване" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Приемане" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Продължаване" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Изпратено" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Изтриване" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Отмяна" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Запазване" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Изпълнение на команда:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Неуспех при отваряне на шрифта:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Буфера за търсенето е празен.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d байта" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Тази команда премества избрания таб с една позиция на ляво" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Тази команда премества избрания таб с една позиция на дясно" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Тази команда премества избраната група табове на ляво" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Тази команда премества избраната група табове надясно" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Внасяне на реда написан в полето за писане в историята, но без да се изпраща на сървъра" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Не може да се пише в този файл." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Не може да се чете от този файл." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Тази маска вече съществува." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Частен" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Уведомяване" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Махане на игнорирането" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Въведете маската, която да се игнорира:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Статистика за игнорирането:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Стая:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Частен:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Уведомяване:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Покана:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Разговор с" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Темата на %s е: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Няма настроена тема" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "Затваряне" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Лимита на потребители трябва да е номер!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Без външни съобщения" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Защита на темата" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Само с покана" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Модериран" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Списък със забранени потребители/адреси" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ключова дума" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Потребителски лимит" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Въведете нов прякор:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Непознат хост" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Непознат" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Влизане в стая" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Напускане на стаята" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Излизане и влизане в стаята" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Изкл." + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Графа" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "Сървър" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Настройки" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "Прозорец" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Зануляване на отбелязващата линия" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Изчистване на текста" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "Помощ" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Потребителско ръководство" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Относно" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Последно видян" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Не е на линия" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Никога" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "На линия" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Въведете прякор за добавяне:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Версия" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Описание" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Избор на плъгин или скрипт за зареждане" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Зареждане..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Наистина ли да се изтрие мрежата \"%s\" и всичките и сървъри?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Редактиране" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Свързване САМО към избрания сървър" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Да не се пробват един по един сървърите, ако връзката пропада." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Използване на SSL за всички сървъри от тази мрежа" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Използване на глобална потребителска информация" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Прякор:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Втори избор:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Истинско име:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Потребител:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Парола:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Кодиране:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Потребителска информация" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Трети избор:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Мрежи" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Редактиране..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Подреждане" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Свързване" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албания" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербайджан" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Беларус" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "България" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Естония" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Индия" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малайзия" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Тайланд" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Виетнам" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Общи" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Цветни прякори" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Всеки прякор да има назначен различен цвят" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Прякорите да са подравнени в дясно" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Показва маркиращата линия" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Вмъкване на червена линия след последно прочетения текст" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Изображение за фон:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Довършване на прякорите" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Допълнение след довършените прякори:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Неподреден" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Горе" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Долу" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Скрит" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Списък с потребители" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Показва хостовете в списъка с потребители" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Използване на шрифта и цветовете на полето за текста" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Списък с потребителите сортиран по:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "В стаи по-малки от:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Действие при двойно натискане" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Прозорци" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Табове" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Винаги" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Само изискани табове" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Отваряне на допълнителен таб за сървърни съобщения" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Подрежда табовете по азбучен ред" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Фокусиране на новите табове:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Скъсява табовете до:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "букви." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Табове или Прозорци" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Отваряне на стаи в:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Отваряне на разговори в:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Отваряне на инструментите в:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Отваряне на DCC, Игнориране, Списък с приятелчета и т.н. в отделни табове или прозорци?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Файлове и папки" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Сваляне на файловете в:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Преместване на завършените файлове в:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Запазване на прякора в името на файла" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Автоматично отваряне на DCC прозорци" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Прозореца за изпращане на файлове" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Прозореца за получване на файлове" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Прозореца за разговори" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Едно качване:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Максимална скорост за един трансфер" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Едно сваляне:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Всички качвания комбинирано:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Маскимална скорост за всички файлове" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Всички сваляния комбинирано:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Звукови уведомявания" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Стандартни съобщения" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Изход:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Напускане на стая" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Няма ме:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "\"Няма ме\"" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Показване на съобщението за липса само веднъж" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Автоматично махане на статуса \"Няма ме\"" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Показване на режимите в чиста форма" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Скриване на кой влиза и излиза" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Изчакване преди автоматично свързване:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Записване на разговори" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Запазени редове назад:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Вмъква времето на репликите\nв записаните разговори(логовете)" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Формат на отбелязване на времето:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(изключено)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Вашият адрес" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Вързване към:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Взимане на собствения адрес от IRC сървъра" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Пита IRC сървъра за истинския ви адрес. Използвайте това ако имате адрес от вида 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP адрес:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Заявяване, че сте на този адрес при изпращането на файлове" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Прокси сървър" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Хост:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Вид:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Потребител:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Избор на файл с Изображение" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Избор на шрифт" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Разглеждане..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Избор на цвят" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Цветове за текста" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Цветове на mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Цвят:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Цветовете на интерфейса" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Нови данни:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Отбелязваща линия:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Ново съобщение:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Липсващ потребител:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Осветявания:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Събитие" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Звуков файл" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Избор на звуков файл" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Звуков файл:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Разглеждане..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Изпълнение" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Поле за писане" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Списък с потребителите" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Цветове" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Разговаряне" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Допълнителни" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Настройки на мрежата" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Файлови трансфери" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Някои от променените настройки изискват рестартиране на програмата преди да влезнат в действие." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ВНИМАНИЕ*\nАвтоматично приемане на DCC във вашата домашна папка\nможе да бъде опасно и използваемо от други. Пример:\nНякой може да ви прати .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Имаше грешка при обработването на низа" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "На този сигнал се подават само %d аргумента, $%d е невалиден" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Разпечатване на текстов файл" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Номер" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Редактиране на събития" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Тестване на всички" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Изчистване на списъка" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Копиране на избрания URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Копиране" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Запазване на списък във файл" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оператора, %d общо" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000000000000000000000000000000000000..d53d21f11eb97c574e54405a0dab7d9ee80d664c --- /dev/null +++ b/po/ca.po @@ -0,0 +1,6260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# David Planella Molas <david.planella@gmail.com>, 2007 +# Ernest Adrogué Calveras <eadrogue@gmx.net>, 2004,2007 +# NeoMahler <roc.humet@gmail.com>, 2015-2016 +# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2017-2018 +# NeoMahler <roc.humet@gmail.com>, 2015 +# Softcatalà <info@softcatala.org>, 2001 +# Yannick Garcia <ygp@tinet.fut.es>, 2001 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Catalan (http://www.transifex.com/hexchat/hexchat/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Client IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat és un client IRC extensible i fàcil d'utilitzar. Et permet unir-te a múltiples xarxes amb seguretat i parlar amb altres usuaris en privat o en canals utilitzant una interfície personalitzable. Fins i tot pots transferir fitxers." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat té suport per: DCC, SASL, proxis, correcció d'escriptura, notificacions, registre, temes personalitzats i scripts en Python o Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Finestra de xat principal" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Xategeu amb altres persones en línia" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "MI;Xat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Obre el mode segur" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Gestor de temes d'HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Ara estic ocupat" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Me'n vaig" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Xarxa" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<cap>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Esperant" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Actiu" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Ha fallat" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Fet" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Connecta" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Avortat" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "No es pot accedir a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Error" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s us està oferint «%s». Voleu acceptar-lo?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "No hi ha connexions DCC actives\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Obre una finestra de diàleg" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "Envia un _fitxer" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Informació de l'_usuari (whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Afegeix a la Llista d'amics" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignora" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Accions d'operador" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dóna l'estatus d'operador" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Treu l'estatus d'operador" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dóna l'estatus de veu" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Treu l'estatus de veu" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Fes fora/Bandeja" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Fes fora" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bandeja" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Fes fora i bandeja" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Deixa el canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Uneix-te al canal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Introduïu el canal per unir-vos:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Enllaços del servidor" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping al servidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Oculta la versió" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "adéu" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduïu el motiu per a fer fora a %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Envia un fitxer" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Diàleg" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Envia" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Xat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Neteja" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "No tens permís d'escriptura a %s. No es pot desar res d'aquesta sessió." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* L'execució d'IRC com a root és estúpid! Hauríeu de crear\n  un compte d'usuari i utilitzar-lo per identificar-vos.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SÍ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Esteu sent bombardejat amb peticions CTCP des de %s, s'ignorarà %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Esteu sent bombardejat amb missatges de %s, s'estableix l'opció gui_autoopen_dialog OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Resolt a %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "No trobat" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "S'ha resolt a:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "S'està buscant %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s connectat\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s no connectat\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No esteu a cap canal. Proveu amb /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "No connectat. Proveu amb /server <amfitrió> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "El servidor %s ja existeix a la xarxa %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Afegit el servidor %s a la xarxa %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Ja està marcat com a absent: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Ja està marcat com he tornat.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Es necessita /bin/sh per a executar-lo!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Ordres disponibles:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Ordres definides per l'usuari:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Ordres definides pels connectors:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Per a més informació teclegeu /HELP <ordre>, o /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "S'ignorarà l'argument desconegut «%s»." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "El silenciament no està admès per aquest servidor." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "No s'ha trobat tal connector.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Aquest connector refusa ser descarregat.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nom> <acció>, afegeix un botó a sota de la llista d'usuaris" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NovaXarxa> <nouservidor/6667>, afegeix una xarxa nova amb un servidor nou a la llista de xarxes" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envia una ordre a tots els canals on estigueu" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, envia una ordre a tots els canals del servidor actual" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envia una ordre a tots els servidors on estigueu" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<motiu>], us estableix com a absent (utilitzeu /BACK per desestablir-ho)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, us estableix com a he tornat (no absent)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], bandeja tots els usuaris que coincideixin amb la màscara. Si ja es troben al canal amb això no els fareu fora (requereix chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encoding>], obtén o estableix la codificació utilitzada per la connexió actual" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<amount>], neteja el text actual de la finestra o l'historial d'ordres" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], tanca la pestanya actual, amb el tancament de la finestra si aquesta és l'única pestanya oberta, o amb l'indicador \"-m\", tanca tots els missatges." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <codi|comodí>, troba un codi de país, p. ex.: au = Austràlia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <sobrenom> <missatge>, envia el missatge CTCP al sobrenom indicat, els missatges més comuns són VERSION i USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], abandona el canal actual o especificat i immediatament torna a unir-se" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <sobrenom> - accepta un fitxer ofert\nDCC SEND [-maxcps=#] <sobrenom> [fitxer] - envia un fitxer a algú\nDCC PSEND [-maxcps=#] <sobrenom> [fitxer] -envia un fitxer utilitzant el mode passiu\nDCC LIST - mostra la llista DCC\nDCC CHAT <sobrenom> - ofereix un xat DCC a algú\nDCC PCHAT <sobrenom> - ofereix un xat DCC utilitzant el mode passiu\nDCC CLOSE <tipus> <sobrenom> <fitxer> exemple:\n/dcc close send johnsmith fitxer.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <sobrenom>, treu l'estatus de semioperador de canal del sobrenom indicat al canal actual (requereix chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nom>, elimina un botó de sota la llista d'usuaris" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <sobrenom>, treu l'estatus d'operador del canal al sobrenom indicat (requereix chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <sobrenom>, treu l'estatus de veu al sobrenom indicat (requereix chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desconnecta del servidor" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <sobrenom|amfitrió|ip>, resol una IP o nom d'amfitrió" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <canal,llista,/xarxa> <ordre>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Imprimeix localment el text" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <ordre>, executa l'ordre. Si utilitzeu l'indicador -o s'enviarà la sortida cap al canal actual, si no es mostrarà al quadre de text actual" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envia un senyal SIGCONT al procés" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], mata un procés que s'estigui executant en la sessió actual. Si es dóna -9, el senyal serà SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envia un senyal SIGSTOP al procés" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envia dades a l'stdin dels processos" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporta els paràmetres d'HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, neteja la cua d'enviaments al servidor actual" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <amfitrió> [<port>], servidors intermediaris a través d'un amfitrió, el port per defecte és el 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <sobrenom> [contrasenya], mata un sobrenom fantasma" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <sobrenom>, dóna l'estatus de semioperador de canal al sobrenom indicat (requereix chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contrasenya>, us identificarà al servidor de sobrenoms" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <màscara> <tipus..> <opcions..>\n màscara - màscara d'amfitrió a ignorar, p. ex.: *!*@*.pooles.rima-tde.net\n tipus - tipus de dades a ignorar, una de les següents o totes:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opcions - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <sobrenom> [<canal>], convida algú al canal, per defecte al canal actual (requereix chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, s'uneix al canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <sobrenom> [motiu], expulsa el sobrenom del canal actual (requereix chanop)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <sobrenom> [motiu], bandeja i expulsa el sobrenom del canal actual (requereix chanop)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, força una nova comprovació de desfasament" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <cadena>, cerca un text al registre\n Utilitzeu -h per ressaltar les cadenes trobades\n Utilitzeu -m per distingir entre majúscules i minúscules\n Utilitzeu -r si la cadena és una expressió regular\n Utilitzeu -- (doble guió) per marcar el final de les opcions quan se cerca una cadena, per exemple, '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fitxer>, carrega un connector o script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Treu l'estatus a tots els semioperadors del canal en el canal actual (requereix chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Treu l'estatus a tots els operadors del canal en el canal actual (requereix chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <acció>, anuncia una acció al canal actual (les accions s'escriuen en tercera persona, com ara /me salta d'alegria)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Fa fora tots els usuaris del canal actual (requereix chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Dóna l'estatus d'operador a tots els usuaris en el canal actual (necessiteu ser operador del canal)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <sobrenom> <missatge>, envia un missatge privat, envia \".\" per enviar-lo a l'últim sobrenom o prefixa'l amb \"=\" per un xat dcc" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [canal], Llista els usuaris que hi ha al canal actual" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <sobrenom> <missatge>, Envia un avís per CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nom_amfitrió> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <sobrenom>, estableix el vostre sobrenom" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <sobrenom/canal> <missatge>, envia una 'notice'" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n xarxa1[,xarxa2,...]] [<sobrenom>], mostra la vostra llista de notificacions o afegeix algú a ella" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <sobrenom>, dóna l'estat chanop al sobrenom (requereix chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<motiu>], abandona el canal, per defecte és l'actual" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <sobrenom | canal>, envia un ping CTCP a l'usuari o canal indicat" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <sobrenom> [missatge], obre una nova finestra de missatge privat amb algú i, opcionalment, envia un missatge" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <màscara> [<tipus de quiet>], silencia tots els que concorden amb la màscara al canal actual si el servidor ho admet." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<motiu>], desconnecta del servidor actual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, envia el text «en cru» cap al servidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONENCT [-ssl] [<amfitrió>] [<port>] [<contrasenya>], Pot invocar-se sols amb /RECONNECT per així reconnectar-se al servidor actual o amb /RECONNECT ALL per a reconnectar-se a tots els servidors oberts" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONENCT [<amfitrió>] [<port>] [<contrasenya>], Pot invocar-se sols amb /RECONNECT per així reconnectar-se al servidor actual o amb /RECONNECT ALL per a reconnectar-se a tots els servidors oberts" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <text>, envia dades en cru a HexChat, com si haguessin set enviades des del servidor IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nom>, recarrega un connector o script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, envia el text a l'objecte a la finestra actual" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <sobrenom> [<fitxer>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <amfitrió> <port> <canal>, es connecta i uneix a un canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <amfitrió> <port> <canal>, connecta i uneix-te a un canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <amfitrió> [<port>] [contrasenya>], connecta a un servidor, el port per defecte és 6667 per a les connexions normals, i 6697 per a les connexions ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <amfitrió> [<port>] [<contrasenya>], connecta amb un servidor, el port per defecte és el 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posició>, recol·loca el cursor a la caixa de text" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nou nom>, canvia el nom de la pestanya, el límit tab_trunc s'aplica igualment" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <nou text>, substitueix el text al quadre d'entrada" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tema>], estableix o mostra el tema del canal actual" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <màscara> [<màscara>...], readmet els usuaris indicats al canal." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <màscara> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <fitxer>, descarrega un connector o script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <màscara> [<màscara>...], treu el silenciament a les màscares especificades si el servidor ho admet." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, obre un URL al vostre navegador" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <sobrenom1> <sobrenom2> etc,, ressalta el(s) sobrenom(s) a la llista d'usuaris del canal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <sobrenom>, dóna l'estat voice a algú (requereix chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <missatge>, escriu un missatge a tots els canals" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, envia un missatge a tots els operadors del canal actual" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Ordre d'usuari per: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Sintaxi: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNo hi ha ajuda disponible per a aquesta ordre.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "No existeix tal ordre.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Els arguments per a l'ordre d'usuari no són vàlids.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Massa ordres d'usuari recursives, s'avorta." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "%s: Ordre desconeguda. prova /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "No hi ha cap símbol hexchat_plugin_init; realment és un connector d'HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tError en iniciar el servidor identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <nom_usuari>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "No hi ha cap temporitzador instal·lat.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Esteu segur que aquest servidor permet l'ús de SSL i que el port és correcte?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "No s'ha pogut resoldre el nom d'amfitrió %s\nComproveu els vostres paràmetres IP\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Ha fallat la connexió amb el servidor intermediari.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Passant al següent servidor de %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Atenció: El joc de caràcters «%s» és desconegut. No es farà cap conversió per la xarxa %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O s'ha afegit a la llista de notificacions." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O a %C24$4%O per %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNo pot unir-se a %C22$1 %O(%C20Esteu bandejat%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tCapacitats reconegudes: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tS'han suprimit les capacitats: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tCapacitats admeses: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tCapacitats sol·licitades: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O és conegut com a %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O estableix el bandejament a %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tS'ha creat el canal %C22$1%O a %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanal Usuaris Tema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O estableix el mode %C24$2$3%O a %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O suprimeix la paraula clau del canal" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O suprimeix el límit d'usuaris" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O estableix la paraula clau del canal a %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O estableix el límit del canal a %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O suprimeix el bandejament a %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tURL del canal %C22$1%O: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tS'ha connectat. Ara s'està identificant." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tS'està connectant a %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tHa fallat la connexió (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tS'ha rebut un so de CTCP %C24$1%C de %C18$2%C (a %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT s'ha establert la connexió a %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV s'ha establert la connexió a %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: No es pot obrir '%C23$1%C' per a l'escriptura (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C ha sol·licitat reprendre '%C23$2%C' del %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND s'ha establert la connexió a %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O s'ha suprimit de la llista de notificacions." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDesconnectat (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tS'ha trobat la vostra IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O s'ha afegit a la llista d'ignorats." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O s'ha suprimit de la llista d'ignorats." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLa la llista d'ignorats està buida." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) s'ha unit" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C ha fet fora %C18$2%C de %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Heu estat morts per %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotifica: %C18$1%C està absent (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotifca: %C18$1%C ha tornat" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLa llista de notificacions està buida." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Llista de notificacions" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O usuaris a la llista de notificacions." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotifcació: %C18$1%C està desconnectat (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotifcació: %C18$1%C està connectat (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tJa hi ha un procés en execució" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 ha sortit ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C estableix els modes %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tS'està buscant el número IP per %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tS'està autentificant a través de SASL com %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConnectat." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tS'està buscant %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tEl tema per %C22$1%C és: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tEl tema per %C22$1%C l'ha establert %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tAmfitrió desconegut. Potser l'heu escrit malament?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tNo es pot unir a %C22$1%C (%C20S'ha assolit el límit d'usuaris%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C està absent %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFinal de la llista WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tAra esteu parlant a %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tAra se us coneix com a %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "S'ha carregat el registre del" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINAL DEL REGISTRE A %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICI EL REGISTRE A %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Missatge de l'esquerra" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Missatge de la dreta" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Adreça IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nom d'usuari" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "El sobrenom de la persona que s'uneix" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Canal al qual s'uneix" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "L'amfitrió de la persona" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "El compte de la persona" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Sobrenom" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Acció" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Caràcter de mode" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Text identificat" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Missatge" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nom del servidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Capacitats reconegudes" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Capacitats suprimides" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Capacitats del servidor" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Capacitats sol·licitades" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Sobrenom antic" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Sobrenom nou" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Sobrenom de la persona que ha canviat el tema" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Sobrenom de qui l'ha fet fora" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Persona expulsada" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Motiu" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Sobrenom de la persona que surt" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Hora" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Creador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Sobrenom" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Motiu" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Amfitrió" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De qui prové" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Hora en format x.x (vegeu més avall)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Canal de destinació" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "So" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Sobrenom de la persona" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Esdeveniment CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Sobrenom de la persona que estableix la contrasenya" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "La contrasenya" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "El sobrenom de la persona que estableix el límit" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Límit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Sobrenom de la persona que dóna l'estatus d'operador" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Sobrenom de la persona a qui s'ha fet operador" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Sobrenom de la persona a qui s'ha fet semioperador" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Sobrenom de la persona que dóna l'estatus de semioperador" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Sobrenom de la persona que dóna l'estatus de veu" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Sobrenom de la persona a qui s'ha donat veu" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "El sobrenom de la persona que ha fet el bandejament" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "La màscara de bandejament" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Sobrenom de qui ha eliminat la contrasenya" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Sobrenom de qui ha eliminat el límit" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus d'operador" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus de semioperador" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Sobrenom de la persona a qui s'ha tret l'estatus de veu" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "El sobrenom de la persona que ha desfet el bandejament" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Sobrenom de la persona que dóna l'estatus d'exempt" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Màscara d'usuaris als quals es dóna l'estatus d'exempt" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Sobrenom de la persona a qui s'ha eliminat l'exempció" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Sobrenom de la persona que dóna l'estatus de convidat" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Màscara de convidats" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Sobrenom de la persona que ha tret l'estatus de convidat" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Sobrenom de la persona que estableix el mode" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Senyal del mode (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Lletra del mode" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Canal al qual s'estableix" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nom complet" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membre del canal/\"és un operador IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informació del servidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Temps inactiu" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Temps d'accés" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Motiu de l'absència" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Missatge" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Compte" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "usuari@amfitrió" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP real" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nom del canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mecanisme" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Sobrenom de la persona que us ha convidat" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Usuaris" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Sobrenom en ús" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Provant el sobrenom escollit" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Cadena de modes" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipus de DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nom del fitxer" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nom del fitxer de destí" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Ubicació" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posició" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Mida" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Cadena DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Motiu de l'absència" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Nombre d'elements notificats" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Nom del fitxer antic" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nom del fitxer nou" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Màscara d'amfitrió" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nom d'amfitrió" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paquet" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segons" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Sobrenom de la persona que ha estat convidada" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Màscara de bandejament" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Qui ha establert el bandejament" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Duració del bandejament" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "No s'ha pogut llegir el fitxer de so:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "L'amfitrió remot ha tancat el sòcol" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Connexió refusada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "No hi ha cap encaminament a l'amfitrió" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "S'ha excedit el temps d'espera" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "No s'ha pogut assignar aquesta adreça" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Connexió reiniciada des de l'altre costat" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Illa Ascensió" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emirats Àrabs Units" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua i Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albània" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armènia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilles Holandeses" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antàrtida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS invers" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Àustria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Camp de l'OTAN" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austràlia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Illes Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaitjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bòsnia i Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bèlgica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgària" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negocis" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benín" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahames" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Illa Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorússia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadà" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Català" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Illes Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democràtica del Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centreafricana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suïssa" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa d'Ivori" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Illes Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Xile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Xina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colòmbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Comercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Sèrbia i Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cap Verd" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Illa Christmas" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Xipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Txeca" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemanya" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algèria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Equador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institució educativa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estònia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipte" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sàhara Occidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espanya" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiòpia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Unió Europea" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlàndia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Illes Malvines" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronèsia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Illes Faroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "França" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Gran Bretanya" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Geòrgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guaiana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Illes del Canal Britànic" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlàndia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gàmbia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Institució governamental" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea Equatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grècia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Illes Geòrgia del Sud i Sandwich del Sud" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Illes Heard i McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hondures" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croàcia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonèsia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Illa de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Índia" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatiu" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territori Britànic de l'Oceà Índic" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islàndia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itàlia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordània" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Treballs de l'empresa" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japó" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts i Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corea del Nord" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corea del Sud" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Illes Caiman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libèria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituània" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letònia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marroc" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mònaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldàvia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Servei mèdic dels Estats Units" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Illes Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Institució militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedònia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongòlia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Dispositius mòbils" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Illes Marianes del Nord" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritània" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurici" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museus" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mèxic" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malàisia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Moçambic" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Noms dels individus" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Caledònia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Xarxa Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Illes Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigèria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Països Baixos" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nova Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organització Internic sense ànim de lucre" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamà" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinèsia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nova Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipines" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polònia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre i Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Professions" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestina" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet de l'antiga escola" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rússia" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Aràbia Saudita" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Illes Salomó" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suècia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovènia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Illes Svalbard i Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "República Eslovaca" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somàlia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tomé i Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Antiga URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Síria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swazilàndia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Illes Turks i Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Txad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territoris Francesos del Sud" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailàndia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunísia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Viatge i turisme" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinitat i Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzània" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucraïna" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Regne Unit" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estats Units d'Amèrica" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ciutat Estat del Vaticà" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent i les Granadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Veneçuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Illes Verge Britàniques" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Illes Verge Americanes" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Illes Wallis i Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Iemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Iugoslàvia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sud Àfrica" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zàmbia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "No s'ha pogut establir connexió amb el bus de la sessió" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "accés remot" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "connector per a l'accés remot a través del DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "No s'ha pogut establir connexió amb el bus de la sessió: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "No s'ha pogut adquirir %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Taula de caràcters" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bandejaments" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invitacions" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copia la màscara" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s el %s per %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copia l'entrada" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "No connectat." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Heu de seleccionar algun bandejament." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Esteu segur que voleu suprimir tots els ítems llistats a %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipus" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Màscara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Per" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Només podeu obrir la llista de bandejaments mentre esteu a la pestanya d'un canal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Llista de bandejaments (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Elimina" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Escurça" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Refresca" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Es mostren %d/%d usuaris en %d/%d canals." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccioneu un nom de fitxer" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Uneix-te al canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "Copia el nom del canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copia el text del _tema" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Llista de canals (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Cerca" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Baixa la llista" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Desa la _llista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Mostra només:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canals amb" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "usuaris." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Mira a:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nom del canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipus de cerca:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Cerca simple" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Coincidència de patrons (comodins)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expressió regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Cerca:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Envia un fitxer a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "La transferència d'aquest fitxer no es pot reprendre." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "No s'ha pogut accedir al fitxer: %s\n%s.\nNo es pot reprendre." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "El fitxer al directori de baixades és més gran que el fitxer ofert. No es pot reprendre." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "No es pot reprendre la recepció del mateix fitxer des de dues persones diferents." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Pujades i baixades - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estat" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fitxer" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambdós" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Pujades" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Baixades" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalls" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fitxer:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adreça:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Avorta" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accepta" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Reprèn" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Obre la carpeta..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Rebut" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Enviat" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Hora d'inici" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Afegeix" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Suprimeix" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancel·la" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Desa" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "No t'autoconnectis als servidors" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Utilitza un directori diferent de configuració" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "No autocarreguis cap connector" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Mostra el directori d'autocàrrega de connectors o scripts" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mostra el directori de configuració de l'usuari" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Obre un URL irc://servidor:port/canal?clau" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Executa l'ordre:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Obre un URL o executa una ordre en un HexChat existent" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Comença minimitza. Nivell 0=normal 1=iconificat 2=safata" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivell" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Mostra la informació de la versió" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "No s'ha pogut obrir lletra:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "La memòria intermèdia de cerca està buida.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d octets" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "L'ordre ^BInsert in Buffer^B inserirà el contingut de Dades 1 a l'entrada on hàgiu premut la seqüència de tecles a la posició del cursor" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "L'ordre ^BSet Buffer^B col·loca el contingut de Dades 1 a l'objecte on heu premut la seqüència de tecles" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "L'ordre ^BLast Command^B col·loca l'última ordre executada a la línia - igual que prémer la fletxa amunt al shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "L'ordre ^BNext Command^B col·loca la següent ordre a la línia - igual que prémer la fletxa avall al shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Aquesta ordre canvia el text de la línia per a completar un sobrenom o ordre incompleta. Si Dades 1 no està en blanc una doble tabulació seleccionarà l'anterior sobrenom i no el següent" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Aquesta ordre desplaça amunt o avall la llista de sobrenoms. Si Dades 1 està en blanc es desplaçarà avall, i en cas contrari, amunt" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Aquesta ordre cerca l'última paraula escrita a la llista de substitucions i la substitueix en cas de trobar-la" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Aquesta ordre mou la pestanya davantera una posició cap a l'esquerra" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Aquesta ordre mou la pestanya davantera una posició cap a la dreta" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Aquesta ordre mou el conjunt de pestanyes actual cap a l'esquerra" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Aquesta ordre mou el conjunt de pestanyes actual cap a la dreta" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Introdueix la línia a l'historial però no l'envia al servidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Hi ha hagut un error en carregar la configuració dels vincles de tecla" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Dreceres de teclat - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "No es pot escriure a aquest fitxer." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Aquest fitxer no es pot llegir." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Aquesta màscara ja existeix." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privats" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Avisos" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Deixa d'ignorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Esteu segur que voleu suprimir tots els ignorats?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Introduïu una màscara a ignorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Llista d'ignorats - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estatus d'ignorat:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privats:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Avisos:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invitacions:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Afegeix..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "El nom del canal és massa curt, torneu-ho a intentar." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Connexió completada - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "S'ha completat la connexió a %s." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "A la finestra de la llista de servidors, no heu introduït cap canal (sala de xat) per a l'autounió per a aquesta xarxa." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Què us agradaria fer a continuació?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Res, m'uniré més tard a un canal." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_M'uneixo a aquest canal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Si coneixeu el nom del canal al que voleu unir-vos, introduïu-lo aquí." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "O_bre la llista de canals." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "La recuperació de la llista de canals pot trigar un minut o dos." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Mostra sempre aquest diàleg després de connectar." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Diàleg amb" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "El tema per a %s és: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "No hi ha cap tema establert" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Aquest canal encara té %d canals o diàlegs associats amb ell. Tancar-los tots?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Sortir d'HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "No ho preguntis la pròxima vegada." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Esteu connectat a %i xarxa(es) IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Esteu segur que voleu sortir?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Encara estan actives algunes transferències de fitxers." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimitza a la safata" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Negreta</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Subratllat</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Cursiva</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Colors 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Colors 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Paràmetres" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Enregistra a_l disc" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Recarrega el desplaçament cap enrere" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Oculta els missatges d'unions i abandonaments" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Alertes _extres" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Parpelleja la _icona de la safata" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Parpelleja la _barra de tasques" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Separar" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Tanca" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "El límit d'usuaris ha de ser un número!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Cap missatge de fora" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Protecció del tema" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Només convidats" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderat" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Llista de bandejaments" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Contrasenya" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Límit d'usuaris" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Introduïu el nou sobrenom:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "No s'ha trobat cap resultat." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "Ressalta-_ho tot" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "Expressió _regular" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Amfitrió desconegut" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Compte desconegut" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Desconegut" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nom real:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Usuari:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Compte:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "fa %u minuts" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Últim missatge:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Missatge d'absència:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d sobrenoms seleccionats." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Obre l'enllaç al navegador" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copia l'enllaç seleccionat" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Uneix-te al canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Abandona el canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Canvia de canal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Autouneix-te al canal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Autoconnecta" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menú d'usuari - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Edita aquest menú" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Recupera la llista de canals" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " ha estat construït sense la compatibilitat per als connectors." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botons de la llista d'usuaris: codis especials:\n\n%a = tots els sobrenoms seleccionats\n%c = el canal actual\n%e = el nom de la xarxa actual\n%h = el nom d'amfitrió del sobrenom seleccionat\n%m = la informació de la màquina\n%n = el vostre sobrenom\n%s = el sobrenom seleccionat\n%t = l'hora/data\n%u = els comptes dels usuaris seleccionats" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botons del diàleg: codis especials:\n\n%a = tots els sobrenoms seleccionats\n%c = el canal actual\n%e = el nom de la xarxa actual\n%h = el nom d'amfitrió del sobrenom seleccionat\n%m = la informació de la màquina\n%n = el vostre sobrenom\n%s = el sobrenom seleccionat\n%t = l'hora/data\n%u = els comptes dels usuaris seleccionats" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Substitueix - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Substitueix amb" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Gestor dels URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Botons de llista d'usuaris - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Botons de diàleg - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Lli_sta de xarxes" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nou" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Pestanya de servidor" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Pestanya de canal" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Finestra del servidor" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Finestra de canals" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Carrega un connector o script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Surt" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Visualitza" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barra de _menú" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra de _tema" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Llista d'_usuaris" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Botons de llista d'u_suaris" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Botons de m_ode" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Canviador de canal" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Pes_tanyes" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "A_rbre" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Mètriques de xarxa" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Desactivat" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Gràfic" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Pantalla completa" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desconnecta" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconnecta" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Uneix-te a un canal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Llista de canals" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menú d'_usuari" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Conf_iguració" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferències" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Botons de diàleg" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Dreceres de teclat" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Esdeveniments de text" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Gestor dels URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Ordres de l'usuari" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Botons de llista d'usuaris" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Finestra" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "Llista de _bandejaments" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Xat directe" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Transferències de fitxers" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Llista d'amics" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Llista d'ignorats" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "C_onnectors i scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Registre en brut" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Agafador dels _URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Restableix la línia de separació" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Mou a la línia de separació" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copia la selecció" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Neteja el text" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Desa el text" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Cerca" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Cerca el text" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Cerca el següent" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Cerca l'anterior" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Ajuda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contingut" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Quant a" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Adjunta" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nom" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Vist per últim cop" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Desconnectat" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Mai" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "fa %d minuts" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "fa una hora" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "fa %d hores" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Connectat" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Introduïu el sobrenom a afegir:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notifica en aquestes xarxes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Llista d'amics - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Obre el diàleg" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Missatge de canal de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "S'ha invitat al canal per: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Avís de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Missatge privat de: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "S'ha connectat a %u xarxes i %u canals - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restaura la finestra" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Oculta la finestra" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Parpelleig engegat" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Missatge de canal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Missatge privat" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Missatge ressaltat" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Canvia l'estat" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Absent" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_He tornat" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Missatge de canal de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u missatge de canal. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Missatge privat de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versió" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descripció" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Seleccioneu el connector o script a carregar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Connectors i scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Carrega..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Descarrega" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Recarrega" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Anomena i desa" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Xarxa nova" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Realment voleu suprimir la xarxa \"%s\" i tots els seus servidors?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "El nom d'usuari no es pot deixar en blanc." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "No podeu tenir un sobrenom en blanc." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Heu de tenir dos sobrenoms únics." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Edita %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servidors" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Autouneix-te als canals" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Ordres de connexió" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Clau (contrasenya)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "Edita" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Connecta només al servidor seleccionat" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Quan falla la connexió, no ho reintenta amb cada un dels servidors." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Connecta automàticament a aquesta xarxa" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Utilitza SSL amb tots els servidors d'aquesta xarxa" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Accepta els certificats SSL no vàlids" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Utilitza la informació global d'usuari" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Sobrenom:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segona opció:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nom real:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nom d'usuari" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Mètode d'identificació:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Contrasenya:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "La contrasenya que s'utilitza per a la identificació. Si dubteu, deixeu-ho en blanc." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Joc de caràcters:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Llista de xarxes - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informació de l'usuari" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tercera opció:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Xarxes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "A l'inici, omet la llista de xarxes" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Mostra només les preferides" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "Edita..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Ordena" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Ordena la llista de xarxes per ordre alfabètic. Utilitzeu les tecles Majúscules+Amunt i Majúscules+Avall per moure una fila." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "Pre_ferida" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Marca o desmarca aquesta xarxa com a preferida." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Connecta" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albània" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturià" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaitjan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basc" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorússia" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgària" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Xinès (simplificat)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Xinès (tradicional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Anglès" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estònia" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francès" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Gallec" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemany" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grec" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Índia" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hongarès" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italià" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonès" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreà" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituà" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malàisia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polonès" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portuguès" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portuguès (Brasil)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Rus" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Eslovè" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espanyol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailàndia" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turc" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Idioma" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Lletra principal:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Lletra:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Quadre de text" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Acoloreix els sobrenoms" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Assigna un color diferent a cada persona" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Sagna els sobrenoms" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Alinea els sobrenoms a la dreta" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostra una línia de separació" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Insereix una línia vermella després de l'últim text llegit" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imatge de fons:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Paràmetres de la transparència" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacitat de la finestra:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Marques de temps" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Habilita les marques de temps" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Format de la marca de temps:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barra de títol" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Mostra els modes de canal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Mostra el nombre d'usuaris" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Quadre d'entrada" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Utilitza la lletra i els colors del quadre de text" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Renderitza els colors i els atributs" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Mostra el quadre del sobrenom" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Mostra la icona del mode d'usuari al quadre del sobrenom" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Comprovació de l'ortografia" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Diccionari a utilitzar:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Utilitzeu els codis d'idioma (com en \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSepareu diverses entrades amb comes." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Utilitzeu els codis d'idioma. Separeu diverses entrades amb comes." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Compleció de sobrenoms" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufix de compleció de sobrenoms:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Ordenació de la compleció de sobrenoms:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Nombre de sobrenoms de la compleció:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "sobrenoms." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Gràfic" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Desordenat" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Esquerra (amunt)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Esquerra (avall)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Dreta (amunt)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Dreta (avall)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Dalt" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Baix" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Oculta" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Llista d'usuaris" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Mostra els noms d'amfitrió a la llista d'usuaris" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Utilitza la lletra i els colors del quadre de text" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Mostra les icones per als modes d'usuari" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Utilitza icones gràfiques en lloc de símbols de text a la llista d'usuaris." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Acoloreix els sobrenoms a la llista d'usuaris" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Mostra el nombre d'usuaris al canal" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Ordenació de la llista d'usuaris:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Mostra la llista d'usuaris a:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Seguiment d'absències" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Segueix l'estatus d'absència dels usuaris i marca'ls amb un color diferent" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "En canals més petits de:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Acció per al doble-clic" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Estris extres" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Mesurador de desfasament:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Mesurador d'accelerament:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Finestres" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Pestanyes" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Només les pestanyes demanades" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automàtic" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "En una pestanya extra" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Arbre" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Tipus de canviador:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Obre una pestanya addicional per als missatges del servidor" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Obre una pestanya nova quan rebeu un missatge privat" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordena les pestanyes per ordre alfabètic" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Mostra les icones a l'arbre de canals" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Mostra línies amb punts a l'arbre de canals" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Desplaçament de la roda del ratolí per canviar de pestanya" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Clic amb el botó del mig per tancar la pestanya" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Text més petit" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Dóna el focus a les pestanyes noves:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Ubicació de les notícies:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Mostra el canviador de canal a:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Abreuja el títol a:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "lletres com a màxim." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Pestanyes o finestres" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Obre els canals en:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Obre els diàlegs en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Obre les utilitats en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Voleu obrir DCCs, notificacions, etc. en pestanyes o finestres?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Missatges" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Desplaçament cap enrere" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Demana la confirmació" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Demana la carpeta per a la baixada" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Desa sense cap interacció" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Fitxers i directoris" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Accepta automàticament els fitxers oferts:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Baixa els fitxers a:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mou els fitxers completats a:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Desa el sobrenom als noms de fitxers" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Obre automàticament les finestres DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Finestra d'enviament" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Finestra de recepció" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Finestra de xat" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Un únic enviament:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocitat màxima per a una transferència" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Una baixada:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Tots els enviaments combinats:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocitat màxima per a tot el tràfic" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Totes les baixades combinades:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertes" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Mostra una notificació amb:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Parpelleja la icona de la safata amb:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Parpelleja la barra de tasques amb:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Reprodueix un avís sonor en:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Fes cas omís de les alertes quan s'ha marcat com a absent" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Fes cas omís de les alertes quan la finestra té el focus" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportament de la safata" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Habilita la icona de la safata del sistema" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimitza a la safata" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Tanca a la safata" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Mostra només les notificacions quan estigui ocultada o iconificada" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Missatges ressaltats" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Paraules extres a ressaltar:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Sobrenoms a no ressaltar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Sobrenoms a ressaltar sempre:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separeu diverses paraules amb comes.\nS'admeten comodins." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Missatges predeterminats" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Surt:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Abandona el canal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Absent:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Absència" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Anuncia l'absència una sola vegada" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Treu automàticament l'estatus d'absent" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Altres" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Mostra els MODEs en brut" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS amb la notificació" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Oculta els missatges d'unions i abandonaments" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Per defecte oculta els missatges d'unions i abandonaments." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Oculta els missatges de canvi de sobrenom" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.amfitrió" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domini" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*usuari@*.amfitrió" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*usuari@domini" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportament de la còpia automàtica" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copia automàticament el text" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Inclou automàticament les marques de temps" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Inclou automàticament la informació del color" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nom real:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Lletres alternatives:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Visualitza les llistes al mode compacte" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Utilitza menys espaiat entre les files de l'arbre de canals i la llista d'usuaris." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Utilitza l'hora del servidor si ho admet" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Retard de reconnexió automàtica:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Retard d'autounió:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Tipus de bandejament:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Enregistrament" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Línies fora la finestra:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Habilita l'enregistrament de les converses al disc" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nom de fitxer del registre:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=servidor %c=canal %n=xarxa." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Insereix les marques de temps als registres" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format de la marca de temps del registre:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Habilita l'enregistrament dels URL al disc" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Habilita l'agafador dels URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Nombre màxim d'URL a agafar:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Inhabilitat)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Totes les connexions" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Només servidor IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Només DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "La vostra adreça" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Vincula a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transferències de fitxers" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obtén la meva adreça del servidor IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Pregunta al servidor per la vostra adreça real. Useu això si teniu una adreça 192.168.*.*" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Adreça IP" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Anuncia aquesta adreça com a pròpia quan s'ofereixin fitxers." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Primer port d'escolta DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Últim port d'escolta DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Deixeu els ports a zero per a l'interval complet." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Servidor intermediari" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nom d'amfitrió:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipus:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Utilitza el servidor intermediari per:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticació del servidor intermediari" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nom d'usuari:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Servidor d'identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Habilitat" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Seleccioneu un fitxer d'imatge" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Selecciona la carpeta de baixades" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Seleccioneu una lletra" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Vés a..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Obre la carpeta de dades" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleccioneu un color" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Colors del text" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Colors de mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Colors locals:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Lletra:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fons:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Text seleccionat" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Colors de la interfície" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Dades noves:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Línia de separació:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Missatge nou:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Usuari absent:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Ressaltat:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Corrector ortogràfic:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Esdeveniment" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Fitxer d'àudio" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Seleccioneu un fitxer d'àudio" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Fitxer d'àudio:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Vés a..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Re_produeix" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interfície" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Aparença" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Línia d'entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Llista d'usuaris" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Canviador de canal" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Colors" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Conversacions" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sons" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avançat" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configuració de la xarxa" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferències de fitxers" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categories" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Alguns dels paràmetres que han canviat requereixen un reinici perquè tinguin un efecte complet." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ATENCIÓ*\nAcceptar automàticament els DCC al vostre\ndirectori personal pot ser perillós. P. ex.:\nAlgú podria enviar-vos un .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferències - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(sense suggeriments)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Més..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Afegeix \"%s\" al diccionari" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignora-ho tot" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Suggeriments d'escriptura" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "error d'enchant per a l'idioma: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "S'ha produït un error en analitzar la cadena" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Aquest senyal sols ha passat %d arguments, $%d no és vàlid" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Imprimeix un fitxer de text" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Edició d'esdeveniments" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Carrega de..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Comprova-ho tot" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Agafador dels URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Neteja la llista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copia l'URL seleccionat" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copia" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Desa la llista a un fitxer" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operador(s), %d en total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Obre un URL irc://servidor:port/canal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: ha fallat l'obtenció de la informació. O bé no està admesa o bé és un error." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s està establert a: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: nom de variable no vàlid\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "S'ha carregat el connector %s\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "S'ha descarregat el connector %s\n" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000000000000000000000000000000000000..14abd3af8c6012aabb37f6b755b4b391e5fff85b --- /dev/null +++ b/po/cs.po @@ -0,0 +1,6260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Ascii Wolf <mail@asciiwolf.com>, 2018 +# Ascii Wolf <mail@asciiwolf.com>, 2018 +# David Hrdlička <hrdlickadavid@outlook.com>, 2015 +# Jakub Moc <Jakub.Moc@volny.cz>, 1999 +# jirislaby <jirislaby@gmail.com>, 2019 +# jirislaby <jirislaby@gmail.com>, 2019 +# Martin Urbanec <martin@urbanec.cz>, 2018 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2019-05-20 09:29+0000\n" +"Last-Translator: jirislaby <jirislaby@gmail.com>\n" +"Language-Team: Czech (http://www.transifex.com/hexchat/hexchat/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC klient" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat je snadno použitelný a rozšířitelný IRC klient. Umožňuje vám se bezpečně připojit k více sítím a psát si s lidmi soukromě nebo v kanálech pomocí přizpůsobitelného prostředí. Dokonce můžete přenášet soubory." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat podporuje funkce jako DCC, SASL, brány proxy, kontrolu pravopisu, ukládání záznamů, vlastní motivy a skripty v jazycích Python nebo Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Hlavní okno chatu" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Chatujte online s ostatními lidmi" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr " IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Otevřít Nouzový režim" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat manažer témat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jsem zaneprázdněn" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Odcházím" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "VYP" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ZAP" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nenastaveno}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Síť" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<žádný>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanál" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Čekám" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktivní" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Selhalo" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Hotovo" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Připojit" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Přerušeno" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nemohu přistoupit k %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Chyba" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s nabízí \"%s\". Souhlasíte?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Žádné aktivní DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Otevřít dialogové okno" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Poslat soubor" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Info o _uživateli (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "Přid_at do seznamu přátel" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorovat" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_perátorské akce" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dát práva operátora" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Vzít práva operátora" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dát hlas" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Vzít hlas" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Ban" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Opustit kanál" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Vstoupit do kanálu..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Zadat kanál pro připojení:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Odkazy serveru" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping serveru" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ukrýt verzi" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "hoj" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Zadat důvod vyhození %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Poslat soubor" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "KdoJe" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Poslat" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Smazat" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Nemáš právo zápisu do %s. Z tohoto sezení nebude nic uloženo." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Spuštění klienta pod uživatelským účtem root není dobrý nápad! \nMěli byste si vytvořit nový uživatelský účet a ten používat pro přihlášení.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ANO " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Jste zavalen CTCP od %s, ignoruji %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Přeloženo na %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nenalezeno" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Přeloženo na:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Vyhledávám %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nejste připojeni k žádnému kanálu. Zkuste /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nepřipojeno. Zkuste /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s už existuje v sítí %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Přidán server %s k síti %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Označen jako pryč: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Označen jako zpět.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Pro spuštění potřebuji /bin/sh !\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Dostupné příkazy:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Uživatelské příkazy:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Příkazy obsažené v pluginu:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Pro více informací zadejte /HELP <command>, nebo /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ignorován neznámý argument '%s'." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Tento server nepodporuje umlčení." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Nebyl nalezen žádný plugin.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Tento plugin se odmítá uvolnit z paměti.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, přidá tlačítko pod uživatelským seznamem." + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NewNetwork> <newserver/6667>, přidá novou síť s novým serverem do seznamu sítí" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, pošle příkaz na všechny kanály, na kterých jste" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, vyšle příkaz do všech kanálů na aktuálním serveru" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, pošle příkaz na všechny servery, na kterých jste" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<reason>], nastaví, že jsi pryč (použij /BACK ke změně zpět)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, vás nastaví zpět (přítomen)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], zakáže každého, kdo odpovídá masce na aktuálním kanálu. Pokud se již nacházíte na kanálu, nedojde k jeho vyhození (na to je potřeba chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encoding>], vypíše nebo nastaví kódování pro aktuální připojení" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<amount>], vymaže aktuální textové okno nebo historii příkazů" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Zavře aktuální záložku, nebo celé okno, pokud to byla poslední otevřená záložka, nebo s přiznakem \"-m\" zavře všechny požadavky." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, nalezne kód země, např: cs = CR" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <zpráva>, pošle zprávu CTCP dané přezdívce, běžné zprávy jsou VERSION a USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], odejde z aktuálního nebo zadaného kanálu a ihned se zas připojí" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - přijme nabízený soubor\nDCC SEND [-maxcps=#] <nick> [file] - pošle někomu soubor\nDCC PSEND [-maxcps=#] <nick> [file] - pošle soubor pomocí pasivního módu\nDCC LIST - zobrazí seznam DCC\nDCC CHAT <nick> - nabídne někomu DCC CHAT\nDCC PCHAT <nick> - nabídne DCC CHAT v pasivní režimu\nDCC CLOSE <type> <nick> <file> příklad:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, odstraní právo chanhalf-op z přezdívky na aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, smaže tlačítko pod uživatelským seznamem" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, odstraní právo chanop z přezdívky na aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, odstraní právo voice z přezdívky na aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, odpojí se od serveru" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, Přeloží IP adresu nebo jméno" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <channel,list,/network> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, napíše text lokálně" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, spustí příkaz. Je-li nastavena značka -o, bude výstup zobrazen na aktuálním kanálu, jinak se vytiskne do aktuálního textového pole" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, pošle procesu SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], zabije spuštěný příkaz v současném sezení. Pokud předáte procesu -9, bude proces SIGKILLed" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, pošle procesu signál SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, pošle data z procesu na stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exportuje nastavení HexChatu" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vymaže aktuální frontu zpráv serveru" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], použije proxy hostitele, výchozí port je 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nick> [password], Zruší ghost přezdívku" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, předá právo chanhalf-op přezdívce (vyžaduje chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, identifikuje vás pro nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n mask - maska hostitele, kterého chcete ignorovat, např: *!*@*.aol.com\n types - typ igrnorování, jeden nebo všechny z:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], pozve někoho na kanál, výchozí je aktuální aktuální kanál (vyžaduje chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, připojí se ke kanálu" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick> [reason], Vyhodí přezdívku z aktuálního kanálu (nutné chanop oprávnění)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nick> [reason], zakáže vyhazování přezdívek z aktuálního kanálu (nutné chanop oprávnění)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, vynutí novou kontrolu lagu" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, nahraje plugin nebo skript" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, hromadný deop všech chanhalf-op v aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEHOP, hromadný deop všech chanop v aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, pošle na aktuální kanál nějakou akci (akce jsou psány v třetí osobě, např. /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, hromadný vyhozov všech kromě vás aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, hromadný op všech uživatelů na aktuálním kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, pošle poznámku CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, nastaví váš nick" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], zobrazí váš seznam upozornění nebo tam někoho přidá" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, dá právo chanop určené přezdívce (vyžaduje chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], opustí kanál, ve výchozím nastavení ten aktuální" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP ping přezdívky nebo kanálu" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], odpojí se od aktuálního serveru" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, pošle text serveru" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], Může být volán stejně jako /RECONNECT pro nové připojení k aktuálnímu serveru nebo pomocí /RECONNECT ALL pro připojení ke všem otevřeným serverům" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], Může být volán stejně jako /RECONNECT pro nové připojení k aktuálnímu serveru nebo pomocí /RECONNECT ALL pro připojení ke všem otevřeným serverům" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, pošle text do aktuálního okna" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, připojí se a vstoupí do kanálu" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, připojí se a vstoupí do kanálu" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], připojí se k serveru na výchozím portu 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], nastaví téma kanálu, jinak ukáže aktuální téma" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Změní ikonu podle jmen souborů.\nTRAY -f <filename> Nastaví ikonu na pevnou.\nTRAY -i <number> Zabliká ikonou v daném intervalu.\nTRAY -t <text> Nastaví tip ikony.\nTRAY -b <title> <text> Nastaví kontextovou nápovědu ikony.." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], povolí danou masku." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, uvolní z paměti plugin nebo skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, otevře URL ve vašem prohlížeči" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> atd, zvýrazní nick v uživatelském seznamu kanálu" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, přidá právo hlasování někomu (vyžaduje chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, napíše zpráva všem na kanálu" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, pošle zprávu všem chanop na aktuálním kanálu" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Uživatelský příkaz pro: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Použití: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nK přikazu není k dispozici žádná nápověda.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Takový příkaz neexistuje.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Špatné argumenty přikazu.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Příliš mnoho rekurzivních příkazů, ruším." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Neznámý příkaz %s. Zkus /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Nenalezen symbol hexchat_plugin_init; je tohle opravu HexChat plugin?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tObsluhuji požadavek ident z %s jako %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <username>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Časovač %d smazán.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Takové referenční číslo nenalezeno.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Žádné časové nejsou nastavené.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Jste si jistí, že server podporuje SSL a tento port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nemohu přeložit hostitele %s\nZkontrolujte vaše nastavení IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Překlad proxy selhal.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Zkouším další server v %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Čekám: symbol \"%s\" je neznámý. Pro síť %s nebude použita žádná konverze." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O přidáno do seznamu notifikací." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O na %C24$4%O od %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNelze se připojit do %C22$1 %O(%C20Jsi zakázaný%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanál Uživatelé Téma" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O přidán do seznamu ignorovaných." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O odstraněn ze seznamu ignorovaných." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OSeznam ignorovaných je prázdný." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tSeznam upozornění je prázdný." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Seznam notifikací" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 odešel ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tPřipojen." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Načtený log z" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KONČÍM ZÁZNAM V %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZAČÍNÁM ZÁZNAM V %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Nelze otevřít logovací soubor(y) pro zápis. Zkontroluj\npřístupová práva na %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Zpráva při ukončení" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Zpráva při ukončení" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adresa" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Uživatelské jméno" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Přezdívka připojujícího se člověka" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Připojili jste se ke kanálu" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Osobní počítač" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Účet osoby" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Přezdívka" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Akce" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Znak módu" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Textová identifikace" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Zpráva" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Jméno serveru" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Stará přezdívka" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nová přezdívka" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Přezdívka osoby, která změnila téma" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Téma" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Přezdívka vyhazovače" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Osoba bude vyhozena" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanál" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Důvod" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Přezdívka odcházející osoby" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Autor" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Důvod" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Hostitel" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Odkud je" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Čas ve formátu x.x (podívejte se dále)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanál k" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Zvuk" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Přezdívka osoby" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Událost CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Přezdívka osoby, která nastavila klíč" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Klíč" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Přezdívka osoby, která nastavila limit" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Přezdívka osoby, která může op-ovat" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Přezdívka osoby, která byla op-ována" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Přezdívka osoby, která byla halfop-ována" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Přezdívka osoby, která může halfop-ovat" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Přezdívka osoby, o které bylo hlasováno" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Přezdívka osoby, která byla hlasována" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Přezdívka osoby, která byla vykázána" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Maska banu" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Přezdívka osoby, která utišovala" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Utišovací maska" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Přezdívka toho, kdo odstranil klíč" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Přezdívka toho, kdo odstranil limit" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Přezdívka osoby, která udělala deop" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Přezdívka toho, kdo byl deop-ován" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Přezdívka osoby, která udělala halfdeop" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Přezdívka toho, kdo byl dehalfop-ován" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Přezdívka osoby, která udělala devoice" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Přezdívka toho, kdo byl zbaven hlasování" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Přezdívka osoby, která udělala unban" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Přezdívka osoby, která udělala unquiet" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Přezdívka toho, kdo může osvobodit" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Vyňatá maska" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Přezdívka osoby, která odstranila výjimku" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Přezdívka osoby, která provedla pozvání" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Maska pro pozvání" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Přezdívka osoby, která odstranila pozvání" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Přezdívka osoby, která nastavuje mód" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Znaménka módu (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Znaky módu" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanál na kterém to bude nastaveno" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Celé jméno" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Příslušenství ke kanálu/\"je operátor IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informace o serveru" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Doba nečinnosti" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Čas přihlášení" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Důvod nepřítomnosti" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Zpráva" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Účet" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Skutený uživatel@počítač" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Skutečná IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Jméno kanálu" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mechanismus" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Surové číslo nebo identifikátor" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Přezdívka uživatele, který vás pozval" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Uživatelé" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Přezdívka se používá" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Přezdívka bude vyzkoušena" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Módy" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Typ DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Jméno souboru" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Požadované jméno souboru" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Cesta" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozice" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Velikost" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Řetězec DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Důvod pro Pryč" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Počet položek k oznámení" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Původní název souboru" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nový název souboru" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Přijímač" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Maska hostitele" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostitelský název" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Balíček" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekund" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Přezdívka pozvaného uživatele" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maska pro ban" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kdo nastavil ban" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Trvání banu" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nemůžu přečíst zvkukový soubor:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Vzdálený počítač zavřel soket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Připojení odmítnuto" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Není cesta k počítači" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Připojení vypršelo" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nemohu přiřadit tuto adresu" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Připojení resetováno hostitelem" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ostrov Nanebevstoupení" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Spojené arabské emiráty" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afgánistán" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua a Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albánie" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Arménie" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nizozemské Antily" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverzní DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Americká Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asijko-pacifická oblast" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Rakousko" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austrálie" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Alandské ostrovy" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Ázerbájdžán" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosna a Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladéš" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgie" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulharsko" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívie" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazílie" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bělorusko" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalánsko" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosové ostrovy" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratická republika Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Středoafrická republika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Švýcarsko" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Cote d'Ivoire" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook Islands" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Čína" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolombie" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Srbsko a Černá hora" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Vánoční ostrov" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kypr" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Česká republika" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Východní Německo" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Německo" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dánsko" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominkánská republika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvádor" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Vzdělávací instituce" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonsko" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Západní Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Španělsko" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopie" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Evropská unie" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finsko" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandské ostrovy" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronésie" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe Islands" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francie" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Velká Británie" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzie" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Francouzská Guayana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britské satelitní ostrovy" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grónsko" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Vláda" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Rovníková Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Řecko" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia a S. Sandwich Isles" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard a McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Chorvatsko" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Maďarsko" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonésie" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irsko" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indie" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Infromační" + +#: src/common/util.c:803 +msgid "International" +msgstr "Mezinárodní" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britské teritorium Indického oceánu" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irák" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itálie" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordánsko" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Pracovní pozice" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonsko" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Keňa" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstán" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Severní Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Jižní Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman Islands" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazachstán" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lichtenštejnsko" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Srí Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libérie" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lucembursko" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lotyšsko" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldávie" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Černá Hora" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall Islands" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Vojenské" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonie" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolsko" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobilní zařízení" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Northern Mariana Islands" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauretánie" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Musea" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivy" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malajsie" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibie" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Jména jednotlivců" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nová Kaledonie" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Network" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Island" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigérie" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holandsko" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norsko" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepál" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nový Zéland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organization" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Francouzská Polynésie" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua-Nová Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipíny" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pákistán" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polsko" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profese" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinské teritorium" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugalsko" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Sjednocení" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumunsko" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Starý školní ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Srbsko" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ruská federace" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudská arábie" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Šalamounovy ostrovy" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Súdán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Švédsko" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovinsko" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovenská republika" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somálsko" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Jižní Súdán" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Bývalé USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvádor" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sýrie" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internetové komunikační služby" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francouzská jižní teritoria" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thajsko" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Východní Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkménistán" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turecko" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Cestování a turismus" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad a Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzánie" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Spojené Království" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "USA" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Městský stát Vatikán" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent and the Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "US Virgin Islands" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Zábava pro dospělé" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslávie" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Jižní Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambie" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nemohu se připojit k sezení" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Chyba při vykonávání NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Chyba při vykonávání Command" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "vzdálený přístup" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin pro vzdálený přístup používá DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nemohu se připojit k sezení: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Chyba při získání %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Mapa znaků" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Pozvánky" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Pozvat" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Utišení" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Utišení" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Maska kopírování" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s na %s od %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Zkopírovat položku" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Nepřipojen" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Musíte vybrat nějaký ban." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Jsi si jistý, že chceš odebrat všechny položky vypsané v %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Typ" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Z" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Okno se seznamem banů lze otevřít pouze pokud se nacházíte na kanálu." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Seznam banů (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Odstranit" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Sbalit" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Aktualizovat" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d uživatelů na %d/%d kanálech." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vyberte požadovaný název souboru" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Připojit se ke kanálu" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Zkopírovat jméno kanálu" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Zkopíruje _téma kanálu" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Seznam kanálu (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Vyhledávání" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Stáhnout seznam" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_Uložit seznam..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Pouze zobrazit:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanály s" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "do" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "uživatelů." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Hledat v:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Jméno kanálu" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Typ hledání:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Jednoduché vyhledávání" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Maska odpovídá (Wildcards)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulární výraz" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Najít:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Poslat soubor %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Nové odeslání souboru není možné." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Nemohu přistoupit k souboru: %s\n%s.\nNové poslání není možné." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Stahovaný soubor je větší než se vejde na disk. Pokračování ve stahování není možné." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nemohu pokračovat ve stahování souboru od dvou lidí." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Upload a Download - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Stav" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Soubor" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Obě" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Upload" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Download" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detaily" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Soubor:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresa:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Zrušit" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Přijmout" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Pokračovat" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Otevřít adresář" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Seznam DCC Chat - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Přijmuto" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Odesláno" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Čas" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Přidat" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Smazat" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Zrušit" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Uložit" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Nepřipojovat se automaticky k serverům" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Použít jiný konfigurační adresář" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Nenačítat automaticky žádné pluginy" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Ukázat adresář pro automatické nahrávání pluginů/skriptů" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Zobrazit uživatelský konfigurační adresář" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Otevřít URL irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Vykonat příkaz:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Otevřít URL nebo spustit příkaz v existujícím HexChatu" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Spustit minimalizované. Úroveň 0=Normální 1=Ikona 2=Oznamovací oblast" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "úroveň" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Zobrazit informace o verzi" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Chyba při otvírání písma:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Zjistit zda je buffer prázdný.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytů" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Zbývá po síti poslat: %d bytů" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Příkaz pro vkládání do bufferu - vloží obsah Data 1 do položky, kde byla stisknuta klíčová sekvence. Vloží to na místo aktuální pozice kurzoru" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Příkaz nastavení bufferu - nastaví položku, kde byla zadána řídící sekvence na obsah Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Příkaz pro poslední příkaz nastaví položku na obsah posledního příkazu, který jsme zadali. Toho docílíme stiskem klávesy nahoru v shellu." + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Příkaz další nastaví položku na obsah dalšího příkazu, který jsme zadali. Toho docílíme stiskem klávesy dolů v shellu" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Tento příkaz změní text a provede jeho kompletaci z původně neúplné přezdívky nebo příkazu. Pokud jsou Data 1 nastavena, můžeme stisknout Tabulátor a vybrat nick." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Tento příkaz umožní pohyb nahoru a dolů v seznamu přezdívek. Pokud jsou Data 1na něco nastavena, bude se pohybovat nahoru, jinak to bude dolů" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Tento příkaz zkontroluje poslední zadané slovo ve vstupním poli proti seznamu náhrad a nahradí ho, pokud najde odpovídající náhradu" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Tento příkaz přesune otevřenou záložku o jednu doleva" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Tento příkaz přesune otevřenou záložku o jednu doprava" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Tento příkaz přesune aktuální rodinu záložek doleva" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Tento příkaz přesune aktuální rodinu záložek doprava" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Přesune vstupní řádek do historie, ale nepošle ho na server" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Při načítání konfigurace klávesových zkratek došlo k chybě" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Klávesové zkratky - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nemohu do tohoto souboru zapisovat." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nemohu z tohoto souboru číst." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Maska již existuje." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Důvěrné" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Poznámka" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Zrušit ignoraci" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Jsii si jistý, že chceš odstranit všechny ignorace?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Zadejte masku pro ignorování:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Seznam ignorovaných - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Stav ignorování:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanál:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Důvěrné:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Poznámka:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Pozvat:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Přidat..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Název kanálu je příliš krátký, zkuste to znovu." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Dokončení připojení - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Připojení k %s je hotovo." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Přejete si provést další?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ne, ke kanálu se připojím později." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Připojit se k tomuto kanálu:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Pokud víte jméno kanálu, kte kterému se chcete připojit, pak ho zde zadejte." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "O_tevřít seznam kanálů." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Získávám seznam kanálů, to může chvíli trvat." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Vždy zobrazit tento dialog po po připojení." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog k" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Téma pro %s je: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Žádné téma není nastaveno" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Tento server má s tím asociováno %d kanálů nebo dialogů. Zavřít všechny?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Zavřít HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Příště se neptat." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Jste připojeni k %i sítím IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Určitě chcete skončit?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Některé přenosy souborů jsou stále aktivní." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Schovat do ikony" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Vložit atributy nebo barvy" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Tučně</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Podtrženo</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Kurzíva</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normální" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Barvy 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Barvy 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "Na_stavení" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Logovat na disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Znovu nah_rát historii" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Extra upozornění" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "_Pípnout při zprávě" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Zablikat _ikonou v nástrojové liště" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Zablikat lištou úloh" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Odpojit" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zavřít" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Uživatelský limit musí být číslo!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrovat barvy" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Žádné zprávy zvenku" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Ochrana tématu" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Pouze pozvat" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderováno" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Seznam banů" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Klíčové slovo" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Uživatelský limit" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Zadejte novou přezdívku:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nic nenalezeno." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Prohledávání narazilo na konec nebo nic nenalezeno." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Zvýraznit vše" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Respektovat velikost písmen" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Provede hledání s respektovaním velikostí písmen." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regulární výraz" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Považuje hledací řetězec za regulární výraz." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Počítač není znám" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Účet neznámý" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Neznámé" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Skutečné jméno:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Uživatel:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Účet:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Země:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "před %u minutami" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Poslední zpráva:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Zpráva pryč:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d přezdívek vybráno." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Otevřít odkaz v prohlížeči" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopírovat vybraný odkaz" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Připojit se ke kanálu" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Opustit kanál" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Otočit kanál" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Automaticky připojit" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "_Automaticky se připojit ke kanálu" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Automaticky připojit" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Uživatelské menu - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Upravit toto menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Získat seznam kanálů" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " byl přeložen bez podpory pluginů." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Odpovědi CTCP - Speciální kódy:\n\n%d = data (kompletní ctcp)\n%e = jméno aktuální sítě\n%m = informace o počítači\n%s = nick, který poslal ctcp\n%t = čas/datum\n%2 = slovo 2\n%3 = slovo 3\n&2 = slovo 2 do konce řádku\n&3 = slovo 3 do konce řádku\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Uživatelem definované příkazy - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu upozornění se seznamem uživatelů - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Nahrazení - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Nahradit s" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Obsluhy URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Tlačítka seznamu uživatelů - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialogová tlačítka - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Odpovědi CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Se_znam sítí" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nový" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Záložka serveru" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Záložka kanálu" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Okno serveru" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Okno kanálu" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Nahrát plugin nebo skript" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Konec" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "Z_obrazit" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Panel _menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Panel _téma" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Seznam _uživatelů" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "_Tlačítka seznamu uživatelů" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "T_lačítka módů" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Přepínač kanálu" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Záložky" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Stro_m" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Měření sítě" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Vypnuto" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Celá obrazovka" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Odpojit" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Znovu připojit" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Připojit se ke kanálu" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Seznam kanálů" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Označen _Pryč" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Uživatelské menu" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Nas_tavení" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Předvolby" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Automaticky nahradit" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP odpovědi" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialogová tlačítka" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Klávesové zkratky" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Textové události" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Obsluhy URL adres" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Uživatelské příkazy" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Tlačítka seznamu uživatelů" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Upozornění se seznamem uživatelů" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Seznam banů" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Přímý rozhovor" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Přenosy souborů" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Seznam přátel" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Seznam ignorovaných" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Pluginy a skripty" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Surový log" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Lapač _URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Resetovat označený řádek" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopírovat výběr" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Smazat text" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Uložit text" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Vyhledávání" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Hledat text" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Hledat další" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Hledat předchozí" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Nápověda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Obsah" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_O programu" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Připojit" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "JMÉNO" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Naposledy viděn" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nikdy" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "před %d minutami" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Před hodinou" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "Před %d hodinami" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Zadejte přezdívku pro přidání:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Oznámit na těchto sítích:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Čárkou oddělený seznam zvolených sítí." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Seznam přátel - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Otevřít dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Připojen k %u sítím a %u kanálům - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Obnovit okno" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Skrýt okno" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Zablikat při" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Zpráva kanálu" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Soukromá zpráva" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Zvýrazněná zpráva" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Změnit stav" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Pryč" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Zpět" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Zvýrazněná zpráva od: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u zvýrazněných zpráv, poslední od: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u zpráv kanálu. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Soukromá zpráva od: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u soukromých zpráv, poslední od: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Nabídka souboru od: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u nabídnutých souborů, poslední od: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Verze" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Popis" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Zvolit plugin nebo skript pro načtení" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Pluginy a skripty - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Načíst..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Odebrat" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Znovu načíst" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Uložit jako..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Surový Log (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Vyčistit surový log" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nová síť" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Skutečně chcete odstranit síť \"%s\" a všechny servery, které obsahuje?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Uživatelské jméno nemůže být prázdné." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Nemůžeš mít prázdnou přezdívku." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Musíš mít dvě unikátní přezdívky." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Upravit %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servery" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Automaticky připojit kanály" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=přezdívka\n%p=heslo\n%r=reálné jméno\n%u=uživatelské jméno" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Klíč (heslo)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editovat" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Připojit pouze k vybraným serverům" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Neopakovat znovu všechny servery, pokud selže připojení." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Použít SSL pro všechny servery v této síti" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Použít globální informace o uživateli" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Přezdívka:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Druhá volba:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Skutečné jméno:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Uživatelské jméno:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Metoda přihlášení:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Heslo:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Znaková sada:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Seznam sítí - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Uživatelské informace" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Třetí volba:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Sítě" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Přeskočit seznam serverů při startu" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Zobrazit pouze oblíbené" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editovat..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Setřídit" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Seřadí seznam sítí podle abecedy. Pro posun použijte klávesy SHIFT-NAHORU a SHIFT-DOLŮ." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Oblíbit" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Připojení" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albánie" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Ázerbájdžánština" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskičtina" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bělorusko" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulharština" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Zjednodušená čínstina" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Tradiční čínstina" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Čestina" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dánština" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Angličtina (UK)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Angličtina" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonsko" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finština" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francouzština" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galština" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Němčina" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Řečtina" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Indie" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Maďarština" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonéština" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italština" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonština" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korejština" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Litevština" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lotyšština" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonština" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajsie" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norština (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norština (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polština" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugalština" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugalština (brazilská)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pandžábi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ruština" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Srbština" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovenština" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovinština" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Španělština" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Švédština" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thajsko" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turečtina" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrajinština" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Obecné" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Jazyk:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Hlavní font:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Písmo:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Textové pole" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Barevné přezdívky" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Přiřadí každému člověku na IRC jinou barvu" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Odsazovat přezdívky" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Zarovnávat přezdívky vpravo" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Zobrazit dělící čáru" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Vloží červenou čáru za poslední řádek textu." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Obrázek na pozadí:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Nastavení průhlednosti" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Průhlednost okna:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Časové značky" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Povolit časové značky" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Formát časových značek:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titulkový pruh" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Zobrazit módy kanálů" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Zobrazit počet uživatelů" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Poslední řečené pořadí" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Vpisovací pole" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Použít v textu písmo a barvy" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Zobrazovat pole přezdívek" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Kontrola pravopisu" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Použité slovníky:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Dokončování přezdívky" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Přípona dokončení přezdívky:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Dokončování přezdívky setříděno:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "přezdívky." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafický" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, Opové jsou první" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-a, Opové jsou poslední" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Netřídit" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Levý (horní)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Levý (dolní)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Pravý (horní)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Pravý (dolní)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Nahoře" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Dole" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skryté" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Seznam uživatelů" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Zobrazit hostitelské názvy v seznamu uživatelů" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Použít v textu písmo a barvy" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Zobrazovat ikony pro uživateské módy" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Barvit přezdívky v seznamu uživatelů" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Seznam uživatelů setříděný podle:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Zobrazit seznam uživatelů:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Sledování stavu pryč" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Sleduje stav away (pryč) uživatelů a označuje je jinou barvou" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Na kanálech menších jak:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Akce při dvojkliku" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Měřič prodlevy spojení:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Záložky" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Vždy" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Pouze požadované záložky" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatický" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "V samostatném panelu" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "V panelu v popředí" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Strom" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Otevřít speciální záložku pro zprávy serveru" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Otevřít novou záložku jakmile přijde soukromá zpráva" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Třídit záložky v abecedním pořadí" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Prostřední tlačítko zavíra záložku" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Menší text" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Zaměřit se na nové záložky:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Umísťování poznámek:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Zobrazit přepínač kanálu:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Zkrácené popisky záložek na:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "znaky." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Záložky nebo okna" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Otevřít kanály v:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Otevřít dialogy v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Otevřít utility v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otevřít DCC, ignorace, oznámení, atd. v záložkách nebo oknech?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Zprávy" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Historie" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Dotázat se na potvrzení" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Dotázat se na adresář pro stahování" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Uložit bez interakce" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Soubory a adresáře" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Automaticky přijmout nabídku souboru:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Stáhnout soubory do:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Přesunout kompletní soubory do:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Uložit přezdívku ve jméně souborů" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Automaticky otevřít okna DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Poslat okno" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Obdržet okno" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Okno hovoru" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Jeden upload:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maximální rychlost jednoho přenosu" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Jeden download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Kombinace všech uploadů:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maximální rychlost pro všechny soubory" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Kombinace všech downloadů:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Upozornění" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Zobrazit notifikace když:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Zablikat oznamovací ikonou při:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Zablikat pruhem úlohy při:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Vydat zvuk při:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Chování panelu nástrojů" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Povolit ikonu panelu nástrojů" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimalizovat do panelu nástrojů" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Zavřít do panelu nástrojů" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Automaticky označit pryč/zpět" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automaticky změnit stav při schování do panelu nástrojů." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Zvýrazněné zprávy" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Zvýrazněné zprávy jsou ty, kde je zmíněna vaše přezdívka a také:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Další slova pro zvýraznění:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Přezdívky, které se nebudou zvýrazňovat:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Přezdívky, které se budou zvýrazňovat:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Výchozí zpráva" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Konec:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Opuštění kanálu:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Pryč" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Away" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Zobrazovat away jednou" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automaticky zrušit stav away" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Různé" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Zobrazit módy v jejich podobě" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS při notifikaci" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Skrývat zprávy o připojení a odchodu" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@doména" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*uživatel@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*uživatel@doména" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Automatické kopírování" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Automaticky zahrnout časové značky" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Skutečné jméno:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternativní fonty:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Použít čas serveru, je-li podporován" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Automaticky připojit k serverům při odpojení" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Zpoždění při opakovaném automatickém připojení:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Druh zákazu:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Protokolování" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Zobrazit historii z předchozího sezení" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Posuvníky:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Jméno logu:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanál %n=Síť." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Přidat do logů časové značky" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formát časových značek v logu:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Povolit lapač URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Vypnuto)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Všechna připojení" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Pouze server IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Pouze DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Vaše adresa" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Přiřadit k:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Užitečné pouze v případě počítačů s více adresami." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Přenosy souborů" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Vzít moji adresu ze serveru IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Zeptat se IRC serveru na skutečnou adresu. Použít tuto pokud máte nějakou 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP adresa:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "V okamžiku nabízení souboru tvrdit, že máte tuto adresu." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "První port pro poslech DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Poslední port pro poslech DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Nechat porty na nule pro nulové rozmezí." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy server" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Jméno počítače:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Použít proxy" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autentikace Proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Použít ověření (jen HTTP nebo SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Uživatelské jméno:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Server identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Povoleno" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Zvolit soubor s obrázkem" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Zvolit adresář pro stažení" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Výběr písma" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Procházet..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Otevřít adresář s daty" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Výběr barvy" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Barvy textu" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "barvy mIRC" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Místní barvy:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Popředí:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Pozadí:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Označený text" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Barvy rozhraní" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nová data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Značící čára" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nová zpráva:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Uživatel je pryč:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Zvýraznění:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Kontrolor pravopisu:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Událost" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Soubor se zvukem" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Zvolit soubor se zvukem" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Zvukový soubor:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Procházet..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Př_ehrát" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Uživatelské rozhraní" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Vzhled" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Vstupní pole" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Seznam uživatelů" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Přepínač kanálu" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Barvy" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chatování" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Zvuky" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Pokročilá nastavení" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Nastavení sítě" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Přenosy souboru" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorie" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Strom není možné umístit nahoru nebo dospod!\nZměňte prosím nejprve rozložení <b>Záložek</b> v nabídce <b>Zobrazit</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Některá z nastavení, která byla změněna, vyžadují restart aplikace." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*UPOZORNĚNÍ*\nAutomatické přijmutí DCC do vašeho domovského adresáře\nmůže být nebezpečné a zneužitelné. Např.:\nNěkdo vám může poslat soubor .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Nastavení - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(žádné návrhy)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Více..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Přidat \"%s\" do slovníku" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorovat všechny" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Návrhy oprav" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Při zpracování textu došlo k chybě" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tento signál obsahoval pouze %d argumenty, $%d je neplatné" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Tiskne textové soubory" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Počet" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editovat události" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Nahrát z..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Vyzkoušet všechny" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Grabování URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Smazat seznam" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopírovat vybranou adresu URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopírovat" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Uložit seznam do souboru" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d celkem" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Otevřít URL irc://server:port/channel" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s plugin nahrán\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s plugin odebrán\n" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000000000000000000000000000000000000..bfbab46ab079720748a0a11e5be8e108aebc993d --- /dev/null +++ b/po/da.po @@ -0,0 +1,6265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Birger Langkjer <birger.langkjer@image.dk>, 1999 +# bviktor, 2012 +# bviktor, 2012 +# Daniel Nylander <po@danielnylander.se>, 2007-2008,2010 +# Incendia <dennisskovhermannsen@gmail.com>, 2012-2013 +# Incendia <dennisskovhermannsen@gmail.com>, 2014,2017 +# Henrik Hansen <hh@mailserver.dk>, 1999 +# Keld Simonsen, <keld2keldix.com>, 2011 +# Louis Tim Larsen <louis@louis.dk>, 2014 +# Morten Brix Pedersen <morten@wtf.dk>, 2001 +# scootergrisen, 2016 +# scootergrisen, 2017-2018 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-11-27 22:25+0000\n" +"Last-Translator: scootergrisen\n" +"Language-Team: Danish (http://www.transifex.com/hexchat/hexchat/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC-klient" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat er en IRC-klient, der er nem at bruge, men som alligevel også kan udvides. Den tillader dig sikkert at forbinde til flere netværk og tale med brugere privat eller i kanaler ved brug af en tilpasselig grænseflade. Du kan endda overføre filer." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat understøtter funktioner som: DCC, SASL, proxyer, stavekontrol, underretninger, logning, tilpassede temaer og Python-/Perl-scripts." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Primære chatvindue" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Chat med andre personer online" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Åbn fejlsikret tilstand" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat-temahåndtering" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jeg er optaget" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Forlader" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "FRA" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "TIL" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{usat}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Netværk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ingen>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Venter" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiv" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Fejlede" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Færdig" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Opret forbindelse" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Afbrudt" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan ikke tilgå %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Fejl" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s tilbyder \"%s\". Accepterer du?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ingen aktive DCC'er\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Åbn dialogvindue" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Send en fil" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Brugerinfo (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Tilføj til venneliste" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorer" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_peratørhandlinger" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Giv operatørstatus" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Fratag operatørstatus" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Giv Tale" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Fratag stemme" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Spark/udeluk" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Spark" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Udeluk" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "SparkUdeluk" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Forlad kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Deltag i kanal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Skriv kanal, der skal deltages i:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serverlink" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Skjul version" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Giv OP" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Fjern OP" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "farvel" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Indtast begrundelse til at sparke %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Send fil" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Send" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Ryd" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Du har ikke skriveadgang til %s. Intet fra denne session kan gemmes." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* At køre IRC som root er dumt! Du bør oprette\n en almindelig bruger og bruge den til at logge ind.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEJ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Du bliver CTCP-flooded fra %s, ignorerer %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Du bliver MSG-flooded af %s, sætter gui_autoopen_dialog til TIL.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Oversat til %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Ikke fundet" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Oversat til:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Slår %s op..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Deltager ikke i nogen kanal. Prøv /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Ikke forbundet. Prøv /server <værtsnavn> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Serveren %s eksisterer allerede på netværket %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Tilføjede serveren %s til netværket %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Allerede markeret som fraværende: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Allerede markeret som tilbage.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Jeg har brug for /bin/sh for at køre!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Tilgængelige kommandoer:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Brugerdefinerede kommandoer:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Plugindefinerede kommandoer:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Skriv /HELP <kommando> for yderligere information, eller /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ukendt argument '%s' ignoreret." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Stille understøttes ikke af denne server." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Intet sådant plugin fundet.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Pluginet nægter at blive fjernet.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <navn> <handling>, tilføj en knap under brugerlisten" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NytNetværk> <nyserver/6667>, tilføjer et nyt netværk med en ny server til netværkslisten" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <kommando>, sender en kommando til alle de kanaler du er i" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <kommando>, sender en kommando til alle kanaler på den nuværende server" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <kommando>, sender en kommando til alle de servere du er i" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<begrundelse>], sætter dig fraværende (brug /BACK til at fjerne)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, sætter dig som tilbage (ikke fraværende)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maske> [<udelukkelsestype>], udelukker alle, der matcher masken, fra den aktuelle kanal. Hvis de allerede er på kanalen vil dette ikke sparke dem ud (kræver kanaloperatorstatus)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabel> [<værdi>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kodning>], hent eller sæt kodningen, der bruges til den nuværende forbindelse" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY[-]<mængde>], Rydder det aktive tekstvindue eller kommandohistorie" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], lukker den nuværende fane. Vinduet lukkes, hvis dette er den eneste åbne fane. Er \"-m\"-flaget angivet, lukkes alle anmodninger." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kode|jokertegn>, finder en landekode, eksempelvis: dk = danmark" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <kaldenavn> <meddelelse>, sender CTCP-meddelelsen til kaldenavnet, typiske meddelelser er VERSION og USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], forlader aktuelle eller angiven kanal og deltager igen med det samme" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <kaldenavn> - acceptér en tilbudt fil\nDCC SEND [-maxcps=#] <kaldenavn> [fil] - sender en fil til nogen\nDCC PSEND [-maxcps=#] <kaldenavn> [fil] - sender en fil ved at bruge passiv-tilstand\nDCC LIST - vis DCC-liste\nDCC CHAT <kaldenavn> - tilbyd DCC-CHAT til nogen\nDCC PCHAT <kaldenavn> - tilbyder DCC-CHAT ved at bruge passiv-tilstand\nDCC CLOSE <type> <kaldenavn> <fil> eksempel:\n /dcc close send johnhansen fil.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <kaldenavn>, fjerner halvkanaloperatørstatus fra kaldenavnet på den aktuelle kanal (kræver kanaloperatørstatus)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <navn>, fjerner en knap under brugerlisten" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <kaldenavn>, fjerner kanaloperatørsstatus fra kaldenavnet på den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <kaldenavn>, fjerner stemmestatus fra kaldenavnet på den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, hopper af server" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <kaldenavn|vært|ip>, oversætter en IP eller et værtsnavn" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <kanal,liste,/netværk> <kommando>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, udskriver tekst lokalt" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <kommando>, kører kommandoen. Hvis flaget -o er brugt, sendes output til den aktuelle kanal, ellers skrives den ud i det aktuelle tekstfelt" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sender SIGCONT til processen" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], dræber en kørende eksekvering i den aktuelle session. Hvis -9 angives bliver processen SIGKILL'et" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sender SIGSTOP til processen" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sender data til processens standard ind" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, eksporterer HexChat-indstillinger" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tømmer den aktuelle servers sendekø" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <vært> [<port>], tunnellerer via en vært, standardværdi på port er 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <kaldenavn> [adgangskode], Dræber et kaldenavnsspøgelse" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <kaldenavn>, giver halvkanaloperatørsstatus til kaldenavn (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <adgangskode>, identificér dig selv over for nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maske> <typer..> <tilvalg..>\n maske - værtsmaske, der skal ignoreres, eksempelvis: *!*@*.aol.com\n typer - datatyper, der skal ignoreres, en eller alle af:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n alternativer - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <kaldenavn> [<kanal>], indbyder nogen til en kanal, standardalternativet er den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, deltag i kanalen" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <kaldenavn> [begrundelse], sparker kaldenavn ud fra den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <kaldenavn> [begrundelse], udelukker og sparker derefter kaldenavn ud fra den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, tvinger et nyt lag-tjek" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <streng>, søger efter en streng i bufferen\n Brug -h for at fremhæve de(n) fundne streng(e)\n Brug -m for at skelne mellem store og små bogstaver\n Brug -r, når strengen er et regulært udtryk\n Brug -- (dobbelt bindestreg), for at afslutte tilvalg, når du f.eks. søger efter strengen '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fil>, indlæser et plugin eller et script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Masse-deop'er alle kanalhalvoperatører i den nuværende kanal (kræver kanaloperatørstatus)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Masse-deop'er alle kanaloperatører i den nuværende kanal (kræver kanaloperatørstatus)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <handling>, sender handlingen til den nuværende kanal (handlinger er skrevet i tredjeperson, f.eks. /me hopper)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, Masse-op'er alle brugere i den nuværende kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Massesparker alle undtagen dig selv ud af den aktuelle kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Masse-op'er alle brugere i den nuværende kanal (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <kaldenavn> <meddelelse>, sender en privat meddelelse. Send \".\" for at skrive til sidste kaldenavn, eller præfiks med \"=\" for dcc-chat" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [kanal], Lister kaldenavnene i kanalen" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <kaldenavn> <meddelelse>, sender en CTCP-notits" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <værtsnavn> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <kaldenavn>, bestemmer dit kaldenavn på serveren" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <kaldenavn/kanal> <meddelelse>, sender en notits" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n netværk1[,netværk2,...]] [<kaldenavn>], viser din notifikationsliste eller tilføjet nogen til den" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <kaldenavn>, giver kanaloperatørsstatus til kaldenavnet (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<begrundelse>], forlader kanalen, ved standard er det den nuværende kanal" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <kaldenavn | kanal>, CTCP pinger nick eller kanal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <kaldenavn> [meddelelse], åbner et nyt privat meddelelse-vindue til nogen og eventuelt sender en meddelelse" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <maske> [<stilletype>], sæt alle, der matcher masken, på stille i den aktuelle kanal, hvis serveren understøtter det." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<begrundelse>], afbryder forbindelsen til den aktuelle server" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, sender teksten i rå form til serveren" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<vært>] [<port>] [<adgangskode>], kan kaldes blot som /RECONNECT for at genoprette forbindelse til den aktuelle server eller med /RECONNECT ALL for at genoprette forbindelse til alle de åbne servere" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<vært>] [<port>] [<adgangskode>], kan kaldes blot som /RECONNECT for at genoprette forbindelse til den aktuelle server eller med /RECONNECT ALL for at genoprette forbindelse til alle de åbne servere" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <tekst>, send rådata til HexChat, som var den modtaget fra IRC-serveren" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <navn>, genindlæser et plugin eller script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, sender teksten til det nuværende vindue" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <kaldenavn> [<fil>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <vært> <port> <kanal>, opretter forbindelse til og deltager i en kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <vært> <port> <kanal>, opretter forbindelse til og deltager i en kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <vært> [<port>] [<adgangskode>], opretter forbindelse til en server. Standardporten er 6667 for normale forbindelser og 6697 for ssl-forbindelser" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <vært> [<port>] [<adgangskode>], opretter forbindelse til en server. Standardporten er 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variabel> [<værdi>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, genpositionerer markøren i inputboksen" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nyt navn>, skift navnet på et faneblad, tab_trunc-grænse gælder fortsat" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <ny tekst>, erstat teksten i inputboksen" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<emne>], sætter emne, hvis et bliver skrevet. Hvis ikke vises det nuværende emne" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <fil1> [<fil2>] Blink bakke mellem to ikoner.\nTRAY -f <filnavn> Sæt bakke til et fast ikon.\nTRAY -i <nummer> Blink bakke med et internt ikon.\nTRAY -t <tekst> Sæt bakkens værktøjstip.\nTRAY -b <titel> <tekst> Sæt bakkens ballon." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maske> [<maske>...], fjerner udelukke af den angivne maske." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maske> [STILLE]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <navn>, fjerner et plugin eller et script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <maske> [<maske>...], fjerner stille for de angivne masker, hvis serveren understøtter det." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, åbner en URL i din browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <kaldenavn1> <kaldenavn2> osv., fremhæver kaldenavn(e) i kanalens brugerliste" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <kaldenavn>, giver stemmestatus til nogen (kræver kanaloperatørsstatus)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <meddelelse>, skriver meddelelsen til alle kanaler" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <meddelelse>, sender meddelelsen til alle kanaloperatører på den nuværende kanal" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Brugerkommando for: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Anvendelse: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nDer er ingen hjælp til den kommando.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Ingen kommando der hedder det.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Forkerte argumenter for brugerkommando.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "For mange rekursive brugerkommandoer, afbryder." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Ukendt kommando %s. Prøv /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Intet hexchat_plugin_init-symbol; er det virkeligt et HexChat-plugin?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tServicerer ident-anmodning fra %s som %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tFejl ved start af identd-server: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <brugernavn>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d slettet.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Intet sådan ref-nummer fundet.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Ingen timere installeret.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Sekunder Gentag Kommando \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Er du sikker på, dette er en SSL-kompatibel server og port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Kan ikke oversætte værtsnavnet %s\nTjek dine IP-indstillinger!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy-gennemløb fejlede.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Skifter til næste server i %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Advarsel: tegnsættet \"%s\" er ukendt. Ingen konvertering vil blive anvendt for netværket %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O tilføjet til notifikationsliste." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O på %C24$4%O af %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tKan ikke deltage i %C22$1 %O(%C20Du er udelukket%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tKendte formåenheder: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tFjernet formåenheder: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tUnderstøttede formåenheder: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tAnmodede formåenheder: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O er nu kendt som %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sætter udelukkelse på %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanal %C22$1%O oprettet på %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner kanal halv-operatørstatus fra %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner kanaloperatørstatus fra %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner stemme fra %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sætter undtagelse på %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O giver kanal halv-operatørstatus til %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sætter invitationsundtagelse på %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Brugere Emne" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O sætter tilstand %C24$2$3%O på %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O tilstande: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O giver kanaloperatørstatus til %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sætter stille på %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner undtagelse på %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner invitationsundtagelse på %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O fjerner kanal-nøgleord" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O fjerner brugergrænse" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sætter kanal-nøgleord til %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sætter kanalgrænse til %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner udelukkelse på %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner stille på %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O giver stemme til %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tForbundet. Logger ind nu." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tOpretter forbindelse til %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tForbindelse fejlede (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tModtog en CTCP %C24$1%C fra %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tModtog en CTCP %C24$1%C fra %C18$2%C (til %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tModtog en CTCP-lyd %C24$1%C fra %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tModtog en CTCP-lyd %C24$1%C fra %C18$2%C (til %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC-CHAT til %C18$1%O afbrudt." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC-CHAT-forbindelse etableret til %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC-CHAT til %C18$1%O tabt (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tModtog et DCC-CHAT-tilbud fra %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tTilbyder DCC-CHAT til %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tTilbyder allerede CHAT til %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 forbindelsesforsøg til %C18$2%O fejlede (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tModtog '%C23$1%C' fra %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Type Til/fra Status Størrelse Pla Fil" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tModtog en forkert udformet DCC-anmodning fra %C18$1%O.$a010%C23*%O$tIndhold af pakke: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tTilbyder '%C24$1%O' til %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tIntet sådan DCC-tilbud." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' til %C18$1%O afbrudt." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' fra %C18$3%O fuldført %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV-forbindelse etableret til %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' fra %C18$3%O fejlede (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Kan ikke åbne '%C23$1%C' til skrivning (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tFilen '%C24$1%C' findes allerede. Gemmer den i stedet som '%C23$2%O'." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C har anmodet at genoptage '%C23$2%C' fra %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' til %C18$1%O afbrudt." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' til %C18$2%C fuldført %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND-forbindelse etableret til %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' til %C18$2%C fejlede (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C har tilbudt '%C23$2%C' (%C24$3%O byte)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' til %C18$3%O stoppede, afbryder." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' til %C18$3%O fik timeout, afbryder." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O slettet fra notifikationsliste." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tForbindelse afbrudt (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tFandt din IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O tilføjet til ignorerliste." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorer på %C18$1%O ændret." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Værtsmaske PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O fjernet fra ignorerliste." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OIgnorerliste er tom." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tKan ikke deltage i %C22$1%C (%C20kanalen er kun per invitation%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tDu er blevet inviteret til %C22$1%O af %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) deltager" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tKan ikke deltage i %C22$1%C (%C20kræver nøgleord%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C har sparket %C18$2%C fra %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Du er blevet dræbt af %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD sprunget over%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C er allerede i brug. Prøver igen med %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C er fejlbehæftet. Prøver igen med %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tKaldenavn er fejlbehæftet eller allerede i brug. Brug /NICK for at prøve et andet." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tIngen sådan DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tIngen proces kører i øjeblikket" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotifikation: %C18$1%C er fraværende (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotifikation: %C18$1%C er tilbage" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tNotifikationsliste er tom." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Notifikationsliste" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O brugere i notifikationsliste." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotifikation: %C18$1%C er offline (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotifikation: %C18$1%C er online (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) er gået" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) er gået ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing-svar fra %C18$1%C: %C24$2%O sekund(er)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tIntet ping-svar i %C24$1%O sekunder, afbryder forbindelsen." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA proces kører allerede" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 har afsluttet ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C sætter tilstande %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tSlår IP-numre op for %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tGodkendelse via SASL som %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tForbundet." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tOpslag efter %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tStoppede forrige forbindelsesforsøg (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tEmne for %C22$1%C er: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C har ændret emnet til: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tEmne for %C22$1%C sat af %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tUkendt vært. Skrev du forkert?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tKan ikke deltage i %C22$1%C (%C20brugergrænse nået%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tBrugere på %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C er fraværende %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OSlut på WHOIS-liste." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O passiv %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O passiv %C23$2%O, indlogning: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Rigtig vært: %C23$2%O, rigtig IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tTaler nu på %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tDu er blevet sparket fra %C22$2%C af %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tDu har forladt kanalen %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tDu har forladt kanalen %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tDu har inviteret %C18$1%O til %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tDu er nu kendt som %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Indlæs log fra" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AFSLUTTER LOGNING KL. %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGYNDER LOGNING KL. %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Kan ikke åbne logfil(er) til skrivning. Tjek\ntilladelserne på %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Venstre meddelelse" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Højre meddelelse" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-adresse" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Brugernavn" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Kaldenavnet på personen som deltager" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanalen der bliver deltaget i" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Personens vært" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Personens konto" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Kaldenavn" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Handlingen" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mode-tegn" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identificeret tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksten" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Meddelelsen" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Servernavn" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Kendte formåenheder" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Fjernede formåenheder" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Server-formåenheder" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Anmodet formåenheder" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Tidligere kaldenavn" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nyt kaldenavn" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Kaldenavnet på personen der ændrede emnet" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Emne" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Kaldenavnet på den som sparkede" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Personen der bliver sparket" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Grunden" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Kaldenavnet på personen som forlader" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Opretteren" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Kaldenavn" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Grund" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Vært" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Hvem er det fra" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Tiden i x.x format (se nedenfor)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanalen det går til" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Lyden" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Kaldenavnet på personen" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP-hændelsen" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Kaldenavnet på personen som satte nøglen" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Nøglen" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Kaldenavnet på personen som satte grænsen" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Grænseværdien" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Kaldenavnet på personen som foretog op'ingen" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Kaldenavnet på personen som er blevet op'et" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Kaldenavnet på personen som er blevet halvop'et" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Kaldenavnet på personen som foretog halvop'ingen" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Kaldenavnet på personen som foretog stemme'ingen" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Kaldenavnet på personen som er blevet stemme'et" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Kaldenavnet på personen som foretog udelukkelsen" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Udelukkelsesmasken" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Kaldenavnet på personen som satte på stille" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Stille-masken" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Kaldenavnet som fjernede nøglen" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Kaldenavnet som fjernede grænsen" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Kaldenavnet på personen som foretog afop'ingen" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Kaldenavnet på personen som er blevet afop'et" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Kaldenavnet på personen som foretog dehalfop'ingen" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Kaldenavnet på personen som er blevet dehalfop'et" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Kaldenavnet på personen som foretog fjernelse af stemme" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Kaldenavnet på personen som har fået fjernet sin stemme" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Kaldenavnet på personen som fjernede udelukkelsen" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Kaldenavnet på personen som fjernede stilleningen" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Kaldenavnet på personen som foretog undtagelse" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Undtagelsesmasken" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Kaldenavnet på personen som fjernede undtagelse" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Kaldenavnet på personen som foretog invitationen" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Invitationsmasken" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Kaldenavnet på personen som fjernede invitationen" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Kaldenavnet på personen som satte tilstanden" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Tilstandens fortegn (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Tilstandsbogstavet" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanalen som den sættes på" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Fuldt navn" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalmedlemsskab/\"er en IRC-operatør\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serverinformation" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Passiv-tid" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Tilslutningstid" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Fraværs-grund" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Meddelelse" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Rigtige bruger@vært" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Rigtige IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanalnavn" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanisme" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Rå numerisk eller identifikator" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Kaldenavn på person som inviterede dig" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Brugerliste" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Kaldenavn i brug" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Afprøver kaldenavn" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Tilstande-streng" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC-type" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Filnavn" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Filnavn på mål" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Stinavn" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Vinduesplacering" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Størrelse" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC-streng" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Begrundelse for fravær" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Antal notifikationsposter" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Gammelt filnavn" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nyt filnavn" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Modtager" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Værtsmaske" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Værtsnavn" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Netpakken" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Kaldenavn på person som er blevet inviteret" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Udelukkelsesmaske" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Hvem satte udelukkelsen" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Udelukkelsestid" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Kan ikke læse lydfil:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Fjern-vært lukkede socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Forbindelse nægtet" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ingen rute til værten" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Forbindelsen fik timeout" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Kan ikke tildele denne adresse" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Forbindelse nulstillet af ligemand" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Forenede Arabiske Emirater" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Luftfartsrelaterede områder" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua og Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanien" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenien" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nederlandske antiller" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Omvendt DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asien-stillehavsregion" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Østrig" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australien" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Åland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajdzjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnien og Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgien" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Virksomheder" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasilien" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvetøen" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Hviderusland" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalansk" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosøerne" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratiske republik Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centralafrikanske republik" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Schweitz" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elfenbenskysten" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook-øerne" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic, kommercielt" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperativer" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbien og Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Juleøen" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cypern" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tjekkiet" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Østtyskland" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Tyskland" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanske republik" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeriet" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Uddannelsesinstitution" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Ægypten" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Vestsahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanien" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopien" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Europæiske Union" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandsøerne" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesien" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Færøerne" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankrig" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Storbritanien" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgien" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Fransk Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britiske kanaløer" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grønland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Regering" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ækvatorialguinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grækenland" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Sydgeorgien og Sødre Sandwichøer" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard- og McDonald-øerne" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatien" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haďti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungarn" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesien" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indien" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internationalt" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britisk territorium i Indiske Ocean" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italien" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Firmajobs" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comorerne" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts og Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Nordkorea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Sydkorea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Caymanøerne" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sankt Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemborg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letland" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libyen" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavien" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Forenede Stater, medicinskt" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshalløerne" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militær" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonien" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar (Burma)" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoliet" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobile enheder" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Nordlige Marianerøerne" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauretanien" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museer" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldiverne" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individers navne" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Ny Kaledonien" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigeria" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic, netværk" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolkøerne" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nederlandene" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norge" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic, nonprofitorganisation" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Fransk Polynesien" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Ny Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippinerne" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre og Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Stillinger" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinske territorie" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumænien" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Gamle ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbien" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russiske Føderation" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudiarabien" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomonøerne" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellerne" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Sverige" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenien" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard og Jan Mayen-øerne" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakiet" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sydsudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Săo Tomé og Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Tidligere USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syrien" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks- og Caicos-øerne" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Tjenester til internetkommunikation" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Franske Sydterritorier" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadzjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Řsttimor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunesien" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Tyrkiet" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Rejse og turisme" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad og Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Storbritannien" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerikas Forenede Stater" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanstaten" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent og Grenadinerne" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britiske Jomfruøer" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Jomfruøerne (USA)" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- og Futuna-øerne" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Voksenunderholdning" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavien" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sydafrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Kunne ikke oprette forbindelse til sessionsbus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Kunne ikke fuldføre NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Kunne ikke fuldføre kommando" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "fjernadgang" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin for fjernadgang via DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Kunne ikke oprette forbindelse til sessionsbus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Kunne ikke overtage %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tegnoversigt" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Udelukkelser" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Undtagelser" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Undtagelse" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Invitationer" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Stiller" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Stille" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopiér maske" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s på %s af %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopiér post" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Ikke tilsluttet." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Du skal vælge nogle udelukkelser." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Er du sikker på, at du vil fjerne alle viste poster i %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Type" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Fra" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Dato" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Du kan kun åbne udelukkelseslisten inde fra et kanalfaneblad." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Udelukkelsesliste (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Fjern" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Beskær" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Genopfrisk" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Viser %d/%d brugere på %d/%d kanaler." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vælg et outputfilnavn" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Deltag i kanal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopiér kanalnavn" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopiér _emnetekst" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Kanalliste (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Søg" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Download liste" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Gem _liste..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Vis kun:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanaler med" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "til" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "brugere." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Led i:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanalnavn" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Søgetype:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Simpel søgning" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Mønstermatchning (jokertegn)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulært udtryk" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Find:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Send fil til %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Den fil kan ikke genoptages." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Kan ikke få adgang til fil: %s\n%s.\nGenoptagelse ikke mulig." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Filen i downloadmappen er større end filen som blev tilbudt. Genoptagelse ikke mulig." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Kan ikke genoptage samme fil fra to personer." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Uploads og downloads - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fil" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Begge" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detaljer" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fil:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresse:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Afbryd" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Acceptér" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Genoptag" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Åbn mappe..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC-chatliste - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Modtaget" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Sendt" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Starttid" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Tilføj" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Slet" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Annuller" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Gem" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Opret ikke automatisk forbindelse til servere" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Brug en anden konfigurationsmappe" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Indlæs ikke automatisk nogen plugins" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Vis auto-indlæs-mappe med plugin/script" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Vis mappe for brugerkonfiguration" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Åbn en irc://server:port/kanal?nøgle-URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Eksekveringskommando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Åbn URL eller eksekver kommando i en eksisterende HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Start minimeret. Niveau 0=Normal 1=Ikonificeret 2=Aktivitetsfelt" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "niveau" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Vis versionsinformation" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Kunne ikke åbne skrifttype:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Søgebuffer er tom.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Sendekø for netværket: %d byte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Kør kommando-handlingen kører dataene i data 1 som var det indtastet i indtastningsboksen hvor du trykkede tastesekvensen. Dermed kan den indeholde tekst (som vil blive sendt til kanalen/personen), kommandoer eller brugerkommandoer. Når det køres bruges, alle \\n-tegn i data 1 til at afgrænse kommandoer, så det er muligt at køre mere end én kommando. Hvis du vil have et \\ i teksten i tekstkørslen så indtast \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Kommandoen Skift side skifter mellem sider i notesbogen. Sæt data 1 til siden som du vil skifte til. Hvis data 2 er sat til noget så vil skiftet være relativt til den aktuelle position. Sæt data 1 til auto for at skifte til siden med den seneste og vigtigste aktivitet (anmodninger først, så kanaler med fremhævning, kanaler med dialoger, kanaler med andre data)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Kommandoen Indsæt i buffer vil indsætte indholdet af data 1 i feltet, hvor tastkombinationen tryktes ved nuværende markørposition" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Kommandoen Rul side ruller tekst-widget'en én side eller én linje op eller ned. Sæt data 1 til enten Top, Bottom, Up, Down, +1 eller -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Kommandoen Sæt buffer sætter posten hvor nøglesekvensen blev indtastet til indholdet af data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Kommandoen Seneste kommando gør at feltet indeholder den senest angivne kommando - samme som at trykke opadpil i skallen" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Kommandoen Næste kommando gør at feltet indeholder næste kommando som blev angivet - samme som at trykke på ned i en skal" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Denne kommando ændre teksten i posten til at færdiggøre et ufuldstændigt kaldenavn eller kommando. Hvis data 1 er sat, så vil dobbelttryk i en streng vælge det sidste kaldenavn, ikke det næste" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Denne kommando ruller op og ned i listen over kaldenavne. Hvis data 1 er sat til noget som helst ruller det op, ellers ruller det ned" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Denne kommando kontrollerer det senest angivne ord i feltet op mod erstatningslisten og erstatter det hvis det finder en træffer" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Denne kommando flytter det forreste faneblad et trin til venstre" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Denne kommando flytter det forreste faneblad et trin til højre" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Denne kommando flytter det aktuelle faneblad et trin til venstre" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Denne kommando flytter det aktuelle faneblad et trin til højre" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Skub inputlinjen ind i historikken, men send den ikke til serveren" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Der var en fejl ved indlæsning af konfigurationen for tastebindinger" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Vælg en række for at få hjælp til dens handling." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Tastaturgenveje - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kan ikke skrive til dén fil." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Kan ikke læse dén fil." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Den maske findes allerede." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Bemærk" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Afignorér" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Er du sikker på, at du vil fjerne alle ignoreringer?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Angiv maske at ignorere:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Ignorerliste - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoreringsstatistikker:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Bemærk:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Inviter:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Tilføj..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanalnavn er for kort, prøv igen." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Forbindelse færdig - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Forbindelse til %s færdig." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Der er ikke indtastet nogen kanal (chatrum) i serverlistevinduet til automatisk deltagelse for dette netværk." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Hvad vil du gøre herefter?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Intet, jeg deltager i en kanal senere." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Deltag i denne kanal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Hvis du kender navnet på kanalen, du vil gå ind i, så indtast den her." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "_Åbn kanallisten." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Hentning af kanallisten kan tage et minut eller to." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Vis altid denne dialog efter tilslutning." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog med" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Emne for %s er: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Intet emne er sat" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Denne server har stadig %d tilknyttede kanaler eller dialoger. Luk dem alle?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Afslut HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Spørg ikke næste gang." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Du er forbundet til %i IRC-netværk." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Er du sikker på, at du vil afslutte?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "En del filoverførsler er stadigvæk aktive." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimér til aktivitetsfelt" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Indsæt attribut eller farvekode" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Fed</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Understreget</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Kursiv</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Farverne 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Farverne 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Indstillinger" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Log til disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Genindlæs historik" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Fjern _farver" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Skjul meddelelser om indgang/udgang" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Yderligere _underretninger" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Bip ved _meddelelse" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Blink felt_ikonen" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Blink _værktøjslinjen" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Frigør" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Luk" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Brugergrænse skal være et nummer!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filterfarver" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Ingen meddelelser udefra" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Emnebeskyttelse" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Kun for inviterede" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Modereret" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Udelukkelsesliste" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Nøgleord" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Brugergrænse" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Indtast nyt kaldenavn:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Ingen resultater fundet." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Søgning nåede slutning eller ikke fundet." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Fremhæv alle" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Fremhæv alle forekomster og understreg den aktuelle forekomst." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Forskel på store og små bogstaver" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Udfør en søgning, hvor der skelnes mellem store og små bogstaver." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regulært udtryk" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Betragt søgestreng som et regulært udtryk." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Ukendt vært" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Konto ukendt" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Ukendt" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Rigtige navn:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Bruger:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konto:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutter siden" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Sidste meddelelse:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Fraværende-meddelelse:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d kaldenavne valgt." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Menulinjen er skjult nu. Du kan vise den igen ved at trykke på Control+F9 eller højreklik på en tom del af det primære tekstområde." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Åbn link i browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopiér valgte link" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Deltag i kanal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Forlad kanal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Skift kanal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Auto-deltag" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Auto-deltag i kanal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Auto-opret forbindelse" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Brugermenu - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Rediger denne menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Markeringslinje deaktiveret." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Markeringslinje aldrig sat." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Markeringslinje nulstillet manuelt." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Markeringslinje nulstillet pga. at tilbagerulningsgrænsen blev overskredet." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Markeringslinje nulstillet af CLEAR-kommando." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Ukendt tilstand for markeringslinje." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Hent kanalliste" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " er blevet bygget uden understøttelse af plugins." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Brugerkommandoer - specielle koder:\n\n%c = aktuelle kanal\n%e = aktuelle netværksnavn\n%m = maskininfo\n%n = dit kaldenavn\n%t = klokkeslæt/dato\n%v = HexChat version\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 til slutningen af linjen\n&3 = ord 3 til slutningen af linjen\n\neksempelvis:\n/kommando john hej\n\n%2 vil være \"john\"\n&2 vil være \"john hej\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Brugerlisteknapper - specielle koder:\n\n%a = alle valgte kaldenavne\n%c = aktuelle kanal\n%e = aktuelle netværksnavn\n%h = valgte kaldenavns værtsnavn\n%m = maskininfo\n%n = dit kaldenavn\n%s = valgte kaldenavn\n%t = klokkeslæt/dato\n%u = valgte brugers konto" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Dialogknapper - specielle koder:\n\n%a = alle valgte kaldenavne\n%c = aktuelle kanal\n%e = aktuelle netværksnavn\n%h = valgte kaldenavns værtsnavn\n%m = maskininfo\n%n = dit kaldenavn\n%s = valgte kaldenavn\n%t = klokkeslæt/dato\n%u = valgte brugers konto" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP-svar - specialkoder:\n\n%d = data (hele ctcp-kommandoen)\n%e = aktuelt netværksnavn\n%m = maskininformation\n%s = kaldenavnet som sendte ctcp-kommandoen\n%t = tid/dato\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 til slutningen på linjen\n&3 = ord 3 til slutningen på linjen\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL-behandlere - specielle koder:\n\n%s = URL-strengen\n\nEt ! foran kommandoen\nindikerer at den skal sendes\ntil en skal i stedet for HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Brugerdefinerede kommandoer - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Brugerliste pop op-menu - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Erstat - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Erstat med" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL-behandlere - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Brugerlisteknapper - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialogknapper - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP-svar - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "_Netværksliste" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Ny" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Server-faneblad" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Kanal-faneblad" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Server-vindue" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanal-vindue" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Indlæs plugin eller script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Afslut" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Vis" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menulinje" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Emnelinje" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Brugerliste" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "_Brugerliste-knapper" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "_Tilstandsknapper" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Kanalskifter" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Faneblade" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "T_ræ" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Netværksmålere" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Fra" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Fuldskærm" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Afbryd forbindelse" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Genopret forbindelse" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Deltag i en kanal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Kanalliste" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "_Fraværende" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Brugermenu" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Indstillinger" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Præferencer" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Erstat automatisk" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP-svar" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialogknapper" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Tastaturgenveje" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Teksthændelser" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL-behandlere" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Brugerkommandoer" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Brugerliste-knapper" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Brugerliste-pop op" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Vindue" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Udelukkelsesliste" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Direkte chat" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Filoverførsler" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Venneliste" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Ignorerliste" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Plugins og scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Rå log" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL-opfanger" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Nulstil markeringslinje" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Flyt til markeringslinje" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopiér valgte" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Ryd tekst" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Gem tekst" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Søg" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Søg i tekst" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Søg næste" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Søg forrige" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hjælp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Indhold" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Om" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Tilkobl" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Navn" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Sidst set" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Aldrig" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutter siden" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "En time siden" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d timer siden" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Indtast kaldenavn som skal tilføjes:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Giv besked på disse netværk:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Kommasepareret liste over netværk accepteres." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Venneliste - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Åbning af dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Fremhævet meddelelse fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Kanalmeddelelse fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Fil-tilbud fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invitation til kanal af: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notits fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Privat meddelelse fra: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Forbundet til %u netværk og %u kanaler - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Gendan vindue" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Skjul vindue" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Blink ved" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanalmeddelelse" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privat meddelelse" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Fremhævet meddelelse" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Ændr status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Fraværende" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Tilbage" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Fremhævet meddelelse fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u fremhævede meddelelser, seneste fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Kanalmeddelelse fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u kanalmeddelelser. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Privat meddelelse fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u private meddelelser, seneste fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Fil-tilbud fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u fil-tilbud, seneste fra: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivelse" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Vælg et plugin eller script som skal indlæses" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Plugins og scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Ind_læs..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Fjern" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Genindlæs" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Gem som..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Rå log (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Ryd rå log" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nyt netværk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Vil du virkelig fjerne netværket \"%s\" og alle dets servere?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Brugernavn må ikke være tomt." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Du kan ikke have et tomt kaldenavn." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Du skal have to unikke kaldenavne." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Måden hvorpå du identificerer dig overfor serveren. Brug connect-kommandoer for brugerdefinerede loginmetoder." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Rediger %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servere" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Auto-deltag i kanaler" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Connect-kommandoer" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Kaldenavn\n%p=Adgangskode\n%r=Rigtige navn\n%u=Brugernavn" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Nøgleord (adgangskode)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Rediger" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Opret kun forbindelse til valgte server" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Skift ikke mellem alle serverne når forbindelsen fejler." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Opret automatisk forbindelse til dette netværk" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Forbigå proxyserver" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Brug SSL til alle servere på dette netværk" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Acceptér ugyldige SSL-certifikater" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Brug global brugerinfo" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Kaldenavn:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Andet valg:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Rigtige navn:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Brugernavn:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Loginmetode:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Adgangskode:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Adgangskode brugt ved login. Lad være tom, hvis i tvivl." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Tegnsæt:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Netværksliste - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Brugerinformation" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tredje valg:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Netværk" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Ingen netværksliste ved opstart" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Vis kun favoritter" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Rediger..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sortér" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Sorterer netværkslisten i alfabetisk rækkefølge. Brug tasterne Skift+Op og Skift+Ned for at flytte en række." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "Sæt som _favorit" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Markér eller fjern markering af dette netværk som en favorit." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Opret forbindelse" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albansk" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharisk" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturisk" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbajdzjan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskisk" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Hviderussisk" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarsk" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kinesisk (forenklet)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kinesisk (traditionel)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tjekkisk" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dansk" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Nederlandsk" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Engelsk (britisk)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Engelsk" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estisk" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finsk" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Fransk" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicisk" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Tysk" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Græsk" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujaratisk" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungarsk" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesisk" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiensk" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japansk" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreansk" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lettisk" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litauisk" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonsk" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaysia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norsk (bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norsk (nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polsk" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugisisk" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugisisk (brasiliansk)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russisk" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbisk" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakisk" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovensk" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spansk" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Svensk" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Tyrkisk" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainsk" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamesisk" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walloon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Generelt" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Sprog:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Primære skrifttype:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Tekstboks" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Farvede kaldenavne" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Giv hver person på IRC en forskellig farve" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indryk kaldenavne" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Højrejuster kaldenavne" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Vis markeringslinje" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Indsæt en rød linje efter den sidst læste tekst." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Baggrundsbillede:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Indstillinger for gennemsigtighed" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Vinduesopacity:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Tidsstempler" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Aktivér tidsstempler" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Tidsstempelformat:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Se strftime MSDN-artiklen for detaljer." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Se strftime-mansiden for detaljer." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titellinje" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Vis kanaltilstande" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Vis antal brugere" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Å" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Senest talte rækkefølge" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Inputboks" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Brug tekstboksens skrifttype og farver" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Gengiv farver og attributter" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Vis kaldenavnsboks" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Vis brugertilstandsikon i kaldenavnsboks" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Stavekontrol" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Ordbøger, der skal bruges:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Brug sprogkoder (som i \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nAdskil flere poster med kommaer." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Brug sprogkoder. Adskil flere poster med kommaer." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Fuldførsel af kaldenavn" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffiks for fuldførsel af kaldenavn:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Rækkefølge for fuldførsel af kaldenavn:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Mængde for fuldførsel af kaldenavn:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Tærskel af kaldenavne til start af visning i stedet for fuldførsel" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "kaldenavne." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafisk" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Å, operatører først" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Å-A, operatører sidst" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Å-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Usorteret" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Venstre (øvre)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Venstre (nedre)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Højre (øvre)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Højre (nedre)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Top" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bund" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skjult" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Brugerliste" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Vis værtsnavne i brugerlisten" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Brug tekstboksens skrifttype og farver" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Vis ikoner for brugertilstande" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Brug grafiske ikoner fremfor tekstsymboler i brugerlisten." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Farvelæg brugenavne i brugerliste" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Farvelægger kaldenavne som i chat." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Vis antal brugere i kanaler" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Brugerliste sorteret efter:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Vis brugerliste på:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Fraværende-sporing" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Spor fraværstatus for brugere og markér dem i en anden farve" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "På kanaler mindre end:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Handling ved dobbeltklik" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ekstra gadgets" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Lagmåler:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Throttlemåler:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Vinduer" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Faneblade" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Altid" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Kun anmodede faneblade" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatisk" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "I et ekstra faneblad" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "I det forreste faneblad" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Træ" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Skiftertype:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Åbn et ekstra faneblad til servermeddelelser" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Åbn et nyt faneblad når du modtager en privat meddelelse" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sortér faneblade i alfabetisk orden" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Vis ikoner i kanaltræet" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Vis prikkede linjer i kanaltræet" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Rul musehjul for at skifte faneblade" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Midterklik for at lukke faneblad" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Mindre tekst" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Giv fokus til nye faneblade:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Placering af notitser:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Vis kanalskifter ved:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Afkort fanebladsnavne til:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "tegn." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Faneblade eller vinduer" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Åbn kanaler i:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Åbn dialoger i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Åbn værktøjer i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Åbn DCC, ignorering, notifikation osv. i faneblade eller vinduer?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Meddelelser" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Tilbagerulning" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Spørg efter bekræftelse" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Spørg efter downloadmappe" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Gem uden interaktion" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Filer og kataloger" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Acceptér automatisk fil-tilbud:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Download filer til:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Flyt færdige filer til:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Gem kaldenavn i filnavne" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Åbn automatisk DCC-vinduer" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Send-vindue" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Modtagelsesvindue" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Chatvindue" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Maksimum hastigheder for filoverførsel (byte pr. sekund)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "En upload:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maximal hastighed for en overførsel" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "En download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Alle uploads lagt sammen:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maximal hastighed for alle filer" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Alle downloads lagt sammen:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Underretninger" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Vis notifikationer ved:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Blink bakkeikon ved:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Blink værktøjslinjen ved:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Lav en biplyd ved:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Afspil systemlyden \"Instant Message Notification\" ved de valgte begivenheder" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Afspil \"message-new-instant\" fra freedesktop.org-lydtemaet ved de valgte begivenheder" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Afspil et GTK-bip ved de valgte begivenheder" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Udelad underretninger når markeret som fraværende" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Udelad underretninger når vinduet har fokus" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Bakke-opførsel" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Aktivér ikon for systembakke" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimer til bakke" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Luk til bakke" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Markér automatisk fraværende/tilbage" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Skift automatisk status ved når der skjules til bakke." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Vis kun notifikationer når skjult eller vist som ikon" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Fremhævede meddelelser" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Fremhævede meddelelser er dem hvor dit kaldenavn er nævnt, men også:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Ekstra ord som skal fremhæves:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Kaldenavne som ikke skal fremhæves:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Kaldenavne som altid skal fremhæves:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separér flere ord med kommategn.\nJokertegn accepteres." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Hop dok-ikon ved:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Standardmeddelelser" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Afslut:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Forlad kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Fraværende:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Fraværende" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Vis fraværende én gang" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Vis kun identiske fraværende-meddelelser én gang." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatisk markering af fraværende" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Fjern dig selv som fraværende før meddelelser sendes." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Diverse" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Vis MODE i rå form" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS ved notifikation" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Sender et /WHOIS, når en bruger fra din notifikationsliste kommer online." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Skjul deltag-/forlad-meddelelser" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Skjul deltag-/forlad-meddelelser som standard." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Skjul meddelelser om ændring af kaldenavn" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.vært" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domæne" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*bruger@*.vært" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*bruger@domæne" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Auto-kopiér opførsel" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Kopiér automatisk den valgte tekst" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Kopiér den valgte tekst til udklipsholder, når der ikke længere trykkes på venstre museknap. Ellers vil Ctrl-Skift-C kopiere den valgte tekst til udklipsholderen." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Inkluder automatisk tidsstempler" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Inkluder automatisk tidsstempler i kopierede linjer af tekst. Ellers inkluder tidsstempler hvis Shift-tasten holdes nede ved valg." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Inkluder automatisk farve information" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Inkluder automatisk farveinformation i kopierede linjer af tekst. Ellers inkluder farveinformation hvis Ctrl-tasten holdes nede ved valg." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Rigtige navn:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternative skrifttyper:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Adskil flere poster med kommaer uden mellemrum før eller efter." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Vis lister i kompakt tilstand" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Brug mindre mellemrum mellem brugerliste/kanaltræ-rækker." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Bruger servertid hvis det understøttes" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Vis tidsstempler hentet fra server hvis den understøtter time-server-udvidelsen." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Genopret automatisk forbindelse til servere når forbindelsen afbrydes" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Forsinkelse ved autogentilslutning:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Auto-deltagforsinkelse:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Udelukkelsestype:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Prøv at bruge denne udelukkelsesmaske, når der udelukkes eller sættes på stille. (kræver irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logning" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Vis historik fra forrige session" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Tilbagerulning:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Aktivér samtalelogning på disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Logfilens navn:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanal %n=Netværk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Indsæt tidsstempler i logfiler" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Logtidsstempelformat:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL'er" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Aktivér logning af URL'er til disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Aktivér URL-opfanger" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maksimum antal af URL'er som skal opfanges:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(deaktiveret)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Alle forbindelser" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Kun IRC-server" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Kun DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Din adresse" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Bind til:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Kun nyttig til computere med flere adresser." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Filoverførsler" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Hent min IP-adresse fra IRC-serveren" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Spørger IRC-serveren om din virkelige adresse. Brug dette, hvis du har en adresse af typen 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC-IP-adresse:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Udgiv dig for at være på denne adresse, når du tilbyder filer." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Første DCC-lytteport:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Sidste DCC-lytteport:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Opgiv værdien af porte til nul for fuldstændigt interval." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxyserver" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Værtsnavn:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Type:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Brug proxy for:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy-godkendelse" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Brug godkendelse (kun HTTP eller SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Brugernavn:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd-server" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Aktiveret" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Server vil svare med netværkenes brugernavn" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Du skal have tilladelser til at lytte til denne port. Hvis ikke 113 (0 bruger denne som standard) så skal du konfigurerer port-forwarding." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Vælg billedfil" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Vælg downloadmappe" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Vælg skrifttype" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Gennemse..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Åbn datamappe" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Vælg farve" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Tekstfarver" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-farver:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokale farver:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Forgrund:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Baggrund:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Markeret tekst" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Brugerfladens farver" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Ny data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Markeringslinje:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Ny meddelelse:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Fraværende bruger:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Fremhævning:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Stavekontrol:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Fjernelse af farver" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Hændelse" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Lydfil" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Vælg en lydfil" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Lydfil:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Gennemse..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Afspil" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Brugerflade" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Udseende" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Inputboks" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Brugerliste" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanalskifter" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Farver" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chatning" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Lyde" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avanceret" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Netværksopsætning" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Filoverførsler" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Du kan ikke placere træet i toppen eller i bunden!\nSkift venligst først til <b>Faneblade</b>-layout i <b>Vis</b>-menuen." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Tilvalget rigtige navn må ikke være tomt. Falder tilbage til \"rigtige navn\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Nogle indstillinger som blev ændret kræver en genstart, før de træder i kraft." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ADVARSEL*\nAt auto-acceptering af DCC til din hjemmemappe\nkan være farligt og kan udnyttes. Eksempelvis:\nNogen kunne sende dig en .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Præferencer - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(ingen forslag)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mere..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Tilføj \"%s\" til ordbog" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorér alle" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Staveforslag" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant-fejl for sprog: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Der var en fejl, da strengen skulle fortolkes" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Dette signal videregiver kun %d argumenter, $%d er ugyldig" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Udskriv tekstfil" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ tal" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Rediger hændelser" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Indlæs fra..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Afprøv alle" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL-opfanger - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Ryd liste" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopiér valgte URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiér" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Gem liste i en fil" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d kanaloperatører, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Åbn en irc://server:port/kanal URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: kunne ikke hente info. Enten ikke understøttet eller fejl." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: ingen info med det navn\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s er sat til: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: gyldige indstillinger er: announce eller hide_* for hver stykke information. F.eks. hide_os. Uden en værdi vil det vise aktuelle (eller standard) indstilling.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: ugyldigt variabelnavn\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s plugin indlæst\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s plugin fjernet\n" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000000000000000000000000000000000000..d0e152efe8ee60f6031d5138d0a1d9d7ea4dc4ff --- /dev/null +++ b/po/de.po @@ -0,0 +1,6290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# SSL <albkert@gmail.com>, 2013 +# Alf Gaida <agaida@siduction.org>, 2014 +# Wuzzy <almikes@aol.com>, 2015-2018 +# Aray <dataray@web.de>, 2014 +# Benedikt Roth <Benedikt.Roth@gmx.net>, 2000 +# Christian Meyer <linux@chrisim.de>, 2000 +# Aray <dataray@web.de>, 2014 +# evil_pro <evil_pro@live.at>, 2012-2013,2017 +# evil_pro <evil_pro@live.at>, 2013,2017 +# evil_pro <evil_pro@live.at>, 2012 +# Jakob Kramer <jakob.kramer@gmx.de>, 2012-2013 +# Karl Eichwalder <ke@gnu.franken.de>, 2003 +# Klaas <klaasdemter@googlemail.com>, 2013 +# Klaas <klaasdemter@googlemail.com>, 2013 +# RJ ., 2012 +# Marcel Metz <mmetz@adrian-broher.net>, 2013 +# Matthias Warkus <mawa@iname.com>, 1999 +# RJ ., 2014 +# Richard Schwab <mail@w.tf-w.tf>, 2013-2014 +# RJ ., 2012,2014 +# sfan5 <sfan5@ymail.com>, 2017 +# sfan5 <sfan5@ymail.com>, 2017 +# SSL <albkert@gmail.com>, 2013 +# Synchunk, 2015 +# Synchunk, 2015 +# Tamer Fahmy <e9526976@stud2.tuwien.ac.at>, 1999 +# TheX <xerus@live.de>, 2013 +# TingPing <tingping@tingping.se>, 2017-2018 +# TheX <xerus@live.de>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-23 21:28+0000\n" +"Last-Translator: Wuzzy <almikes@aol.com>\n" +"Language-Team: German (http://www.transifex.com/hexchat/hexchat/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC-Client" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChar ist ein einfach zu benutzender, aber dennoch erweiterbarer IRC-Client. Er erlaubt es, sicher mehreren Netzwerken beizutreten und sich mithilfe der anpassbaren Benutzerschnittstelle privat oder auch in Kanälen zu unterhalten. Sogar Dateiübertragungen sind möglich." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat unterstützt Features wie: DCC, SASL, Proxies, Rechtschreibprüfung, Benachrichtigungen, Logging, Benutzerdesigns und Python/Perl-Skripte" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Hauptchatfenster" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Online mit anderen Menschen chatten" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Im sicheren Modus öffnen" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat-Themenverwalter" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Ich bin beschäftigt" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Verlassend" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "AUS" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "EIN" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nicht gesetzt}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Netzwerk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<leer>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Channel" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Wartend" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiv" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Gescheitert" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Erledigt" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Verbindung" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Abgebrochen" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kann nicht auf %s zugreifen\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Fehler" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s bietet die Datei »%s« an. Wollen Sie annehmen?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Keine aktiven DCCs\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Dialogfenster ö_ffnen" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "Datei ver_schicken" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Benutzerinformationen (»Whois«)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "Zu Freundesliste _hinzufügen" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorieren" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Operatoraktionen" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Op geben" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Op nehmen" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Voice geben" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Voice nehmen" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kicken/Bannen" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kicken" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bannen" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Kickbann" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Channel verlassen" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Channel betreten …" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Zu betretender Channel:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serververbindungen" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Server anpingen" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Version verstecken" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "bye" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Kickgrund für %s eingeben:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Datei senden" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Sende" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Leeren" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Sie haben keinen Schreibzugriff auf %s. Von dieser Sitzung kann nichts gespeichert werden." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC als Root laufen zu lassen ist dumm! Sie sollten\n ein Benutzerkonto anlegen und dieses zum Einloggen verwenden.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEIN " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP-Flut von %s, %s wird jetzt ignoriert\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Sie werden gerade von %s mit MSG-Nachrichten überhäuft. Die Einstellung gui_autoopen_dialog wird ausgeschaltet.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Aufgelöst zu %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nicht gefunden" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Aufgelöst zu:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Schlage %s nach …" + +#: src/common/inbound.c:1992 +msgid "Could not create SCRAM session with digest %s" +msgstr "Es konnte keine SCRAM-Sitzung mit der Hashfunktion %s erstellt werden" + +#: src/common/inbound.c:2024 +msgid "SASL SCRAM authentication failed: %s" +msgstr "SASL SCRAM Authentifizierung fehlgeschlagen: %s" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Kein Channel betreten. Versuchen Sie /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nicht verbunden. Versuchen Sie /server <Host> [<Port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Der Server %s existiert bereits auf dem Netzwerk %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Server %s zum Netzwerk %s hinzugefügt.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Bereits als abwesend markiert: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Bereits als anwesend markiert.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh wird benötigt!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Verfügbare Befehle:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Benutzerdefinierte Befehle:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Durch Plugins definierte Befehle:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Geben Sie /HELP <Befehl> oder /HELP -l für mehr Informationen ein" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Unbekanntes Argument »%s« ignoriert." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Ruhigstellen wird von diesem Server nicht unterstützt." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Kein solches Plugin gefunden.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Dieses Plugin kann nicht entladen werden.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <Name> <Aktion>, fügt einen Knopf unter der Benutzerliste hinzu" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NeuesNetzwerk> <NeuerServer/6667>, fügt der Netzwerkliste ein neues Netzwerk mit neuem Server hinzu" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <Befehl>, sendet einen Befehl an alle Channels, in denen Sie sich befinden" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <Befehl>, sendet einen Befehl an alle Channels auf dem aktuellen Server" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <Befehl>, sendet einen Befehl an alle Server auf denen Sie sich befinden" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<Grund>] kündigt Sie als abwesend an (benutzen Sie /BACK, um das rückgängig zu machen)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, setzt Sie auf anwesend (nicht »abwesend«)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <Maske> [<Banntyp>], bannt jeden mit der entsprechenden Maske aus dem aktuellen Channel. Wenn diese bereits im Channel sind, werden sie nicht gekickt (Erfordert Op-Status)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <Variable> [<Wert>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encoding>], hole oder setze die Codierung für die momentane Verbindung" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY][-]<anzahl>, Leert das aktuelle Textfenster oder die Befehlschronik" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Schließt den aktuellen Tab, welches das Fenster schließt, falls dies das einzige geöffnete Tab war, oder, mit dem „-m“-Flag, schließt es alle Dialogfenster." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <Code|Wildcard>, findet einen Ländercode, z.B.: de = Deutschland" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <Nick> <Nachricht>, sendet die CTCP-Nachricht an den Nick, übliche Nachrichten sind VERSION und USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<Channel>], verlässt den aktuellen oder angegebenen Channel und betritt ihn direkt wieder" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <Nick> - akzeptiere eine angebotene Datei\nDCC SEND [-maxcps=#] <Nick> [Datei] - Sendet eine Datei an jemanden\nDCC PSEND [-maxcps=#] <Nick> [Datei] - Sendet eine Datei im passiven Modus an jemanden\nDCC LIST - zeigt die DCC-Liste\nDCC CHAT <Nick> - bietet jemandem einen DCC-CHAT an\nDCC PCHAT <Nick> - bietet jemandem einen DCC-CHAT im passiven Modus an\nDCC CLOSE <Typ> <Nick> <Datei> - Schließt einen DCC-Transfer\n Beispiel: /dcc close send markus datei.zip" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <Nick>, entfernt den HalbOp-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <Name>, entfernt einen Knopf unter der Benutzerliste" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <Nick>, entfernt den Op-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <Nick>, entfernt den Voice-Status bei Nick im aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Trennt die Server-Verbindung" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <Nick|Host|IP>, löst eine IP-Adresse oder einen Hostnamen auf" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <Kanal,Liste,/Netzwerk> <Befehl>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <Text>, Zeigt Text lokal an" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <Befehl>, führt den Befehl aus. Wenn -o angegeben wurde, wird die Ausgabe in das aktuelle Fenster gesendet, ansonsten wird sie lokal gezeigt" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sendet das Signal SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], killt einen laufenden exec in der aktuellen Sitzung. Wenn -9 angegeben wurde, wird der Prozess SIGKILLed" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sendet dem Prozess das Signal SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sendet Daten an den stdin des Prozesses" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exportiert HexChat-Einstellungen" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, löscht die Sendewarteschlange des aktuellen Servers" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <Host> [<Port>], verbindet durch einen Proxy, Standardport ist 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <Nick> [<Passwort>], Trennt einen verwaisten Nick" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <Nick>, gibt dem Nutzer Halfop-Status (erfordert Op-Status)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <Passwort>, meldet Sie bei NickServ an" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <Maske> <Typen> <Optionen>\n Maske - Hostmaske, die zu ignorieren ist, z.B.: *!*@*.aol.com\n Typen - Datentypen, die zu ignorieren sind, einer oder alle von:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n Optionen - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <Nick> [<Channel>], lädt jemanden in einen Channel ein, standardmäßig den aktuellen (Erfordert Op-Status)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <Channel>, betritt einen Channel" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <Nick>, kickt den Nick aus dem aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <Nick>, bannt den Nick und kickt ihn dann aus dem aktuellen Channel (Erfordert Op-Status)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, erzwingt eine neue Lag-Prüfung" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <Zeichenkette>, sucht nach einer Zeichenkette im buffer\\n Nutze -h um gefundene Zeichenkette(n) hervorzuheben\\n Nutze -m um Groß/Kleinschreibung zu beachten\\n Nutze -r when die Zeichenkette ein regulärer Ausdruck ist\\n Nutze -- (doppel minus) um Optionen abzuschließen um zB. nach der Zeichenkette '-r' zu suchen" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <Datei>, lädt ein Plugin oder ein Skript" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Nimmt allen HalbOps im aktuellen Channel den HalbOp-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Nimmt allen Ops im aktuellen Channel den Op-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <Aktion>, sendet die Aktion in den aktuellen Channel (Aktionen werden in der 3. Person geschrieben, wie /me springt)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, nimmt einen Massen-Hop für alle Benutzer im aktuellen Kanal vor (erfordert Op-Status)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Kickt alle außer Ihnen im aktuellen Channel (erfordert Op-Status)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, gibt allen Benutzern im aktuellen Channel Op (Erfordert Op-Status)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nick> <Nachricht>, sendet eine Privatnachricht" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [Kanal], Listet die Nicks im Kanal auf" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <Nick> <Nachricht>, Sendet eine CTCP-Notiz" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <Hostname> [<Port>], verbindet mit einem Server in einem neuen Reiter" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <Nickname>, setzt Ihren Nick" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTIZ <nick/channel> <message>, sendet eine Notiz" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], zeigt Ihre Benachrichtigungsliste oder fügt jemanden hinzu" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <Nick>, gibt Nick Op-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<Channel>] [<Grund>], verlässt den Channel, standardmäßig den aktuellen" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <Nick | Channel>, pingt den Nick oder Channel per CTCP an" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <Nick >, öffnet ein neues Dialogfenster [im Hintergrund] zu jemandem und sendet optional eine Nachricht." + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask>[<quiettype>], stellt jeden im aktuellen Kanal ruhig, der auf diese Maske passt, wenn der Server Ruhigstellen unterstützt." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<Grund>], trennt die Verbindung zum aktuellen Server" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <Text>, sendet den Text in Rohform an den Server" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<Host>] [<Port>] [<Passwort>], Kann einfach als /RECONNECT aufgerufen werden um sich mit dem aktuellen Server wiederzuverbinden, oder als /RECONNECT ALL um sich mit allen aktiven Servern wiederzuverbinden" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<Host>] [<Port>] [<Passwort>], Kann einfach als /RECONNECT aufgerufen werden um sich mit dem aktuellen Server wiederzuverbinden, oder als /RECONNECT ALL um sich mit allen aktiven Servern wiederzuverbinden" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <Text>, sendet Rohdaten an HexChat, als ob sie vom IRC-Server empfangen wurden" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "Reload <Name>, Lädt ein Plugin oder Script neu" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <Text>, sendet den Text ans Ziel im aktuellen Fenster" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <Nick> [<Datei>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Host> <Port> <Channel>, verbindet und betritt einen Channel" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <Host> <Port> <Channel>, verbindet und betritt einen Channel" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], Verbindet zu einem Server, der standard Port ist 6667 für normale Verbindungen, und 6697 für ssl Verbindungen" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <Host> [<Port>] [<Passwort>], verbindet mit einem Server, der Standard-Port ist 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <Variable> [<Wert>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<Position>, ändert die Position des Cursors in der Eingabezeile" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <neue Bezeichnung>, ändert die Bezeichnung eines Reiters, tab_trunc-Limit besteht weiterhin" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <neuer Text>, Text in der Eingabezeile ersetzen" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<Thema>], setzt das Thema, wenn eins angegeben wurde, oder zeigt das aktuelle" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <Zeitüberschreitung> <Datei1> [<Datei2>] Wechselt im Benachrichtigungsbereich zwischen zwei Symbolen.\nTRAY -f <Dateiname> Setzt Benachrichtigungssymbol auf ein festes Symbol.\nTRAY -i <Nummer> Blinkt im Benachrichtigungsbereich mit einem internen Symbol.\nTRAY -t <Text> Setzt den Tooltip für den Benachrichtigungsbereich.\nTRAY -b <Titel> <Text> Setzt den Ballontext für den Benachrichtigungsbereich." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <Maske> [<Maske>...], entfernt den Bann für eine spezielle Hostmaske" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <Maske> [QUIET], hört auf, die angegebene Hostmaske zu ignorieren" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <Name>, entfernt ein Plugin oder Skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask>...], hebt eine Maske auf, die für automatische Ruhigstellung benutzt wird, wenn der Server es unterstützt." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, öffnet einen URL in Ihrem Browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <Nick1> <Nick2> ... <Nickn>, markiert Nick(s) in der Channel-Benutzerliste" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <Nick>, gibt jemandem Voice-Status (Erfordert Op-Status)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <Nachricht>, schreibt eine Nachricht in alle Channels" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <Nachricht>, sendet eine Nachricht an alle Ops im aktuellen Channel" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Benutzerkommando für: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Benutzung: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nKeine Hilfe für diesen Befehl verfügbar.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Kein solcher Befehl.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Ungültige Argumente für den Benutzerbefehl.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Zu viele rekursive Benutzerbefehle - Abbruch." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Unbekannter Befehl %s. Versuchen Sie es mit /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Kein hexchat_plugin_init-Symbol; ist dies wirklich ein HexChat-Plugin?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tIdent-Anfrage von %s wird als %s verarbeitet" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tFehler beim Starten des identd-Servers: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <Port> <Benutzername>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d gelöscht.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Keine derartige ref-Nummer gefunden.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Keine Timer installiert.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Sekund. Wieder Befehl \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Sind Sie sicher, dass dies ein SSL-fähiger Server und Port ist?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Kann Hostname %s nicht auflösen\nPrüfe Ihre IP-Einstellungen!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Durchlaufen der Proxys gescheitert.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Zum nächsten Server wird gesprungen in %s …\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Warnung: Zeichensatz »%s« ist unbekannt. Es wird keine Konvertierung für Netzwerk %s vorgenommen." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O zur Benachrichtigungsliste hinzugefügt." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O auf %C24$4%O von %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$t Kann nicht betreten: %C22$1 %O(%C20Du wurdest gebannt%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tRechte erteilt: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tEntfernte Fähigkeiten: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tRechte unterstützt: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tRechte erbeten: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O heißt jetzt %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O setzt einen Bann auf %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanal %C22$1%O wurde erstellt am %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt Half-Operator Status von %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt Op-Status bei%C26 $2" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt Voice-Status bei%C26 $2" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C setzt Ausnahme für %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O erteilt %C18$2%O Halb-Operator-Status" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C setzt Invite-Ausnahme für %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UChannel Nutzer Thema%O" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O setzt Modus %C24$2$3%O auf %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tChannel %C22$1%O Modes: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gibt Channel-Operator-Status an %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O stellt %C18$2%O ruhig" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt die Ausnahme von %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt die Einladungs-Ausnahme für %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t$1 entfernt das Channel-Schlüsselwort" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t$1 entfernt die Benutzerobergrenze" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O setzt das Channel-Schlüsselwort auf %C24$2%O." + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O setzt die Benutzerobergrenze auf %C24$2%O." + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt den Bann auf %C18$2%O." + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O entfernt den Quiet-Status von %C18$2%O." + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tChannel %C22$1%O URL: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gibt Voice-Status an %C18$2%O." + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tVerbunden. Anmeldevorgang läuft." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tVerbinden zu %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tVerbindung fehlgeschlagen (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tEin CTCP %C24$1%C von %C18$2%O wurde erhalten." + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tEin CTCP %C24$1%C von %C18$2%C (nach %C22$3%C) wurde erhalten.%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tCTCP-Sound %C24$1%C von %C18$2%O empfangen." + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tCTCP-Sound %C24$1%C von %C18$2%C (nach %C22$3%O) empfangen." + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT mit %C18$1%O abgebrochen." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC-CHAT-Verbindung mit %C18$1%C %C30[%C24$2%C30]%O aufgebaut." + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT mit %C18$1%O verloren (%C20$4%O)." + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tDCC-CHAT-Angebot von %C18$1%O empfangen." + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tDCC-CHAT an %C18$1%O angeboten." + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tEin CHAT an %C18$1%O wird bereits angeboten." + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tEin DCC-$1-Verbindungsversuch mit %C18$2%O ist gescheitert(%C20$3%O)." + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$t»%C23$1%C« von %C18$2%O empfangen." + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Typ Zu/Von Status Größe Pos Datei" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tFehlformatierte DCC Anforderung von %C18$1%O.$a010%C23*%O$tInhalt des Pakets: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tEs wird »%C24$1%O« an %C18$2%O angeboten." + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tKein solches DCC-Angebot." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV »%C23$2%O« nach %C18$1%O abgebrochen." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV »%C23$1%O« von %C18$3%O abgeschlossen %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC-RECV-Verbindung mit %C18$1 aufgebaut %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV »%C23$1%O« von %C18$3%O fehlgeschlagen (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: »%C23$1%C« konnte zum Schreiben nicht geöffnet werden (%C20$2%O)." + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tDie Datei »%C24$1%C« existiert bereits, sie wird stattdessen als »%C23$2%O« gespeichert." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C hat angefragt, »%C23$2%C« von %C24$3%O fortzusetzen." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND »%C23$2%C« nach %C18$1%O abgebrochen." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND »%C23$1%C« nach %C18$2%C abgeschlossen %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC-SEND-Verbindung mit %C18$1 hergestellt %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND »%C23$1%C« nach %C18$2%C fehlgeschlagen (%C20$3%O)." + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C hat »%C23$2%C« (%C24$3%O Bytes) angeboten." + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 »%C23$2%C« nach %C18$3%O steckt fest. Es wird abgebrochen." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tZeitüberschreitung: DCC $1 »%C23$2%C« nach %C18$3%O dauerte zu lange. Es wird abgebrochen." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O von der Benachrichtigungsliste entfernt." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tGetrennt (%C20$1%O)." + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tIhre IP-Adresse wurde gefunden: %C30[%C24$1%C30]%O." + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O wurde auf die Ignorierliste gesetzt." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorierstatus auf %C18$1%O geändert." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O wurde von der Ignorierliste entfernt." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%ODie Ignorierliste ist leer." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$t%C22$1%C kann nicht beigetreten werden (%C20Der Channel ist nur auf Einladung zu betreten%O)." + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tSie wurden von %C18$2%O nach %C22$1%O eingeladen (%C29$3%O)." + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) ist beigetreten." + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$t%C22$1%C kann nicht beigetreten werden (%C20Erfordert Schlüsselwort%O)." + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C hat %C18$2%C aus %C22$3%C hinausgeworfen (%C24$4%O)." + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Sie wurden von %C26$1%C gekillt (%C20$2%O)." + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD übersprungen%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C wird bereits verwendet. Erneurter Versuch mit %C18$2%O …" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C ist fehlerhaft. Erneuter Versuch mit %C18$2%O …" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tDer Nickname ist fehlerhaft oder wird bereits verwendet. Benutzen Sie »/NICK«, um einen anderen auszuprobieren." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tKein solches DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tMomentan läuft kein Prozess." + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tBenarichtigung: %C18$1%C ist abwesend (%C24$2%O)." + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tBenachrichtigung: %C18$1%C ist wieder anwesend." + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tDie Benachrichtigungsliste ist leer." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Benachrichtigungsliste" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O Benutzer in Benachrichtigungsliste." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tBenachrichtigung: %C18$1%C ist offline (%C29$3%O)." + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tBenachrichtigung: %C18$1%C ist online (%C29$3%O)." + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) ist gegangen." + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) ist gegangen ($4)." + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing-Antwort von %C18$1%C: %C24$2%O Sekunde(n)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tKeine Ping-Antwort für %C24$1%O Sekunden. Die Verbindung wird getrennt." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tEs läuft bereits ein Prozess." + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 hat die Verbindung getrennt ($2)." + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C setzt Modi %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tDie IP-Nummer für %C18$1%O wird nachgeschlagen …" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAuthentifizierrung mit SASL als %C18$1%O (%C24$2%O) …" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tVerbunden." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tSuche nach %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tDer vorherige Verbindungsversucht wurde abgebrochen (%C24$1%O)." + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tDas Thema für %C22$1%C ist: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C hat das Thema geändert zu: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tDas Thema für %C22$1%C wurde von %C26$2%C (%C24$3%O) gesetzt." + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tUnbekannter Host. Vielleicht haben Sie sich vertippt?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$t%C22$1%C kann nicht beigetreten werden (%C20Benutzerobergrenze erreicht%O)." + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tBenutzer auf %C22$1%C: %C24$2%O." + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C ist abwesend %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OEnde der WHOIS-Liste." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O untätig %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O untätig %C23$2%O, signon: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Wahrer Host: %C23$2%O, wahre IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tSie sprechen jetzt in %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tSie wurden aus %C22$2%C von %C26$3%O hinausgeworfen (%C20$4%O)." + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tSie haben den Kanal %C22$3%O verlassen." + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tSie haben den Kanal %C22$3%C verlassen (%C24$4%O)." + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tSie haben %C18$1%O nach %C22$2%O eingeladen (%C24$3%O)." + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tSie sind jetzt als %C18$2%O bekannt." + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Logbuch geladen vom" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** BEENDE LOGBUCH UM %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGINNE LOGBUCH UM %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "Kann log Datei(en) nicht schreiben. Überprüfe die\\n Freigaben von %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Linke Nachricht" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Rechte Nachricht" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-Adresse" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Benutzername" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Der Nick der Person, die den Channel betritt" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Der Channel, der betreten wird" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Die Hostmask der Person" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Benutzerkonto der Person" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nickname" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Die Aktion" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Moduszeichen" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifierter Text" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Der Text" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Die Nachricht" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Server-Name" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Verliehene Rechte" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Fähigkeiten entfernt" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Server-Fähigkeiten" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Angeforderte Rechte" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Alter Nickname" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Neuer Nickname" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nick der Person, die das Thema geändert hat" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Thema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Der Nickname des Kickenden" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Die Person, die gekickt wird" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Der Channel" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Der Grund" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Der Nick der Person, die den Channel verlässt" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Die Zeit" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Der Erzeuger" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Grund" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Von wem es ist" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Die Zeit im x.x-Format (siehe unten)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Der Channel an den es geht" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Der Klang" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Der Nick der Person" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Das CTCP-Ereignis" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Der Nick der Person, die den Schlüssel gesetzt hat" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Der Schlüssel" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Der Nick der Person, die das Limit gesetzt hat" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Das Limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Der Nick der Person, die Op-Status erteilte" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Der Nick der Person, die Op-Status erhielt" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Der Nick der Person, die HalfOp-Status erhielt" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Der Nick der Person, die HalfOp-Status erteilte" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Der Nick der Person, die Voice erteilte" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Der Nick der Person, die Voice erhielt" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Der Nick der Person, die verbannte" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Die Bannmaske" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Der Nick der Person, die ruhig stellte" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Die Ruhigstellungsmaske" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Der Nick, der den Schlüssel entfernte" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Der Nick, der das Limit entfernte" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Der Spitzname der Person, welche den Op-Status entzog" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Der Nick der Person, die Op abgenommen bekam" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Der Spitzname der Person, welche den Halb-Op-Status entzog" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Der Nick der Person, die HalfOp abgenommen bekam" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Der Spitzname der Person, welche die Stimme entzog" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Der Nick der Person, die Voice abgenommen bekam" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Der Spitzname der Person, welche den Bann zurückzog" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Der Spitzname der Person, welche die Stimme wieder aktiviert hat" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Der Nick der Person, die die Ausnahme setzte" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Die Ausnahme-Maske" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Der Nick der Person, die die Ausnahme entfernte" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Der Nick der Person, die die Einladung aussprach" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Die Einladungs-Maske" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Der Nick der Person, die die Einladung zurücknahm" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Der Nick der Person, die den Modus setzte" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Das Moduszeichen (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Der Modusbuchstabe" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Der Channel, der eingestellt wird" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Voller Name" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Channelinformation/»ist ein IRC-Operator«" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Server-Information" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Untätig" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Zeitpunkt der Einwahl" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Abwesenheitsgrund" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Nachricht" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Echter Benutzer@Host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Echte IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Channel-Name" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mechanismus" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Zahl oder Bezeichner" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nick der Person, die Sie einlud" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Benutzer" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nickname in Benutzung" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Nick wird versucht" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Modusfolge" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC-Typ" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Dateiname" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Zieldateiname" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Pfadname" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Größe" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC-Zeichenfolge" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Abwesenheitsgrund" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Anzahl der Benachrichtigungseinträge" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Alter Dateiname" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Neuer Dateiname" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Empfänger" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hostmaske" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostname" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Das Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunden" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nick der Person, die eingeladen wurde" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Bann-Maske" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Wer den Bann setzte" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Bannzeit" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Kann diese Sounddatei nicht lesen:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Gegenseite hat den Socket geschlossen" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Verbindung verweigert" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Keine Route zum Host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Verbindung wegen Zeitüberschreitung geschlossen" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Kann diese Adresse nicht zuteilen" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Verbindung von der Gegenseite zurückgesetzt" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Himmelfahrtsinsel" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Vereinigte Arabische Emirate" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Felder bezüglich Aviation" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua und Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanien" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenien" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Niederländische Antillen" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentinien" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikanisch-Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asiatisch-pazifische Region" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Österreich" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "NATO" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australien" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Åland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Aserbaidschan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnien und Herzegowina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesch" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgien" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Geschäft" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivien" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasilien" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvetinsel" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus (Weißrussland)" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalanische Sprache" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosinseln" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratische Republik Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Zentralafrikanische Republik" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Schweiz" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elfenbeinküste" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cookinseln" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbien" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "InterNIC – geschäftlich" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperativen" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbien und Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Weihnachtsinsel" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Zypern" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tschechische Republik" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Deutsche Demokratische Republik" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Bundesrepublik Deutschland" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dschibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dänemark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanische Republik" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algerien" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Bildungseinrichtung" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Arabische Republik Ägypten" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Westliche Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanien" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Äthiopien" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Europäische Union" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finnland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidschi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland-Inseln" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesien" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Färör-Inseln" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankreich" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabun" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Großbritannien" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgien" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Französisch Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britische Kanalinseln" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Amerikanische Regierung" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Äquatorial-Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Griechenland" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia- und S. Sandwich-Inseln" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard- und McDonald-Inseln" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatien" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungarn" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesien" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indien" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informative Domain" + +#: src/common/util.c:803 +msgid "International" +msgstr "International" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britische Gebiete im indischen Ozean" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italien" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanien" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Unternehmensjobs" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgisistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodscha" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoren" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts und Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Nordkorea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Südkorea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman-Inseln" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kasachstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lettland" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libyen" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldawien" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Vereinigte Staaten medizinisch" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshallinseln" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militärisch" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Mazedonien" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolei" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobile Geräte" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Nördliche Mariana-Inseln" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauretanien" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museen" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Malediven" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mosambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Namen von Individueen" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Neu Kaledonien" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "InterNIC – Netzwerk" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk-Insel" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Niederlande" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norwegen" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Neuseeland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "InterNIC – Non-Profit-Organisation" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Französisch Polynesien" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua-Neuguinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Philippinen" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre und Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Berufe" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palästinensergebiete" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumänien" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbien" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russische Föderation" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi-Arabien" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salomonen" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellen" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Schweden" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slowenien" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard- und Jan-Mayen-Inseln" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slowakische Republik" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Südsudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé und Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Ehemalige UdSSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syrien" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swasiland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks und Caicoc Inseln" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tschad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internetkommunikationsdienste" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Südliche französische Gebiete" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadschikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Osttimor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunesien" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Türkei" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Reisen und Tourismus" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad und Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tansania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Vereinigtes Königreich" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Vereinigte Staaten von Amerika" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanstadt" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent und die Grenadinen" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britische Jungferninseln" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Amerikanische Jungferninseln" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- und Futuna-Inseln" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Erwachsenenunterhaltung" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslawien" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Südafrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Simbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Fehler beim Verbinden zum Session-Bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "»NameHasOwner« konnte nicht abgeschlossen werden" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Befehl konnte nicht abgeschlossen werden" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "Fernzugriff" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "Plugin für den Fernzugriff mittels D-Bus" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Fehler beim Verbinden zum Session-Bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Ermittlung von %s scheiterte: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Zeichentabelle" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bannen" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Ausnahmen" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Ausnahme" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Einladungen" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Einlad." + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Ruhigstellungen" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Ruhigstellen" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopiermaske" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s auf %s von %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Eintrag kopieren" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Nicht verbunden." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Sie müssen mindestens einen Bann auswählen" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Sind Sie sicher, dass Sie alle Einträge entfernen wollen, die in %s aufgelistet sind?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Typ" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Von" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Sie können die Bannliste nur öffnen, während Sie sich in einem Channelreiter befinden." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Ban-Liste (%s) – %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Entfernen" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Abschneiden" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Aktualisieren" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Zeige %d/%d Benutzer in %d/%d Channels." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Geben Sie einen Dateinamen für die Ausgabe an" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Channel betreten (_Join)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Channel-Name kopieren" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "_Thementext kopieren" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Kanalliste (%s) – %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Suche" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Liste herunterla_den" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_Liste speichern …" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Zeige nur:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "Channels mit" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "bis" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "Benutzern." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Suche in:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Channel-Name" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Suchart:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Einfache Suche" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Suchmasken-Entsprechung" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulärer Ausdruck" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Finde:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Sende Datei an %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Diese Datei ist nicht fortsetzbar." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Kann nicht auf die Datei %s zugreifen\n%s.\nFortsetzen nicht möglich." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Datei im Downloadverzeichnis ist größer als die angebotene Datei. Fortsetzen nicht möglich." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Kann dieselbe Datei nicht von zwei Leuten fortsetzen." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Uploads und Downloads – %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Datei" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Beides" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Details" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Datei:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresse:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abbrechen" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Annehmen" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Fortsetzen" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Verzeichnis öffnen …" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC Chatliste – %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Rein" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Raus" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Startzeit" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Hinzufügen" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Löschen" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Abbruch" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Speichern" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Nicht automatisch mit Servern verbinden" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Benutze ein anderes Konfigurationsverzeichnis" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Plugins nicht automatisch laden" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Zeige automatisches Ladeverzeichnis für Plugins/Scripte" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Benutzerkonfigurationsverzeichnis anzeigen" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Öffne eine irc://server:port/kanal?passwort URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Befehl ausführen:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "URL oder Befehl in einem bestehenden HexChat öffnen bzw. ausführen" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Minimiert starten. STUFE 0=Normal 1=Minimiert 2=Im Benachrichtigungsbereich" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "Stufe" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Versionsinformationen anzeigen" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Kann Schriftartdatei nicht öffnen:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Suchpuffer ist leer.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d Bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Netzwerk-Sendewarteschlange: %d Bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Die Aktion Run Command führt die Daten in »Data 1« aus, als ob sie in die Eingabezeile eingegeben worden wären, in der die Tastenfolge gedrückt wurde. Daher kann »Data 1« Text, der in den Channel/Dialog gesendet wird, Befehle oder benutzerdefinierte Befehle enthalten. \\n trennt Befehle, so dass es möglich ist, mehrere Befehle auszuführen. Wenn Sie ein \\ im Text benötigen, geben Sie \\\\ ein." + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Der »Seite ändern«-Befehl wechselt zwischen den Seiten im Notizblock. Setzen Sie »Data 1« auf die Seite, zu der Sie wechseln möchtesn. Wenn »Data 2« festgelegt wurde, wird der Wechsel relativ zur aktuellen Position erfolgen. Setzen Sie »Data 1«, um automatisch zu der Seite mit den neuesten und wichtigsten Aktivitäten (Privatchats zuerst, dann Kanäle mit Highlight, Kanäle mit Dialog, Kanäle mit anderen Daten) zu wechseln." + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Die Aktion Insert in Buffer fügt den Inhalt von »Data 1«, in die Zeile der Historie, in dem die Tastenfolge gedrückt wurde, an der gegenwärtigen Cursor-Position ein." + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Der Bildlauf-Befehl verschiebt das Text-Widget um eine Seite oder eine Zeile aufwärts oder abwärts. Setzen Sie »Data 1« entweder auf Anfang, Ende oder Auf, Ab um +1 oder -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Die Aktion Set Buffer setzt die Zeile der Historie, in der die Tastenkombination gedrückt wurde, auf den Wert von »Data 1«." + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Die Aktion Last Command blättert eine Zeile in der Historie hoch." + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Die Aktion Next Command blättert eine Zeile in der Historie abwärts." + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Diese Aktion vervollständigt einen unvöllständigen Nick oder Befehl. Wenn »Data 1« gesetzt ist, springt 2× [Tab] auf die letzte, nicht die nächste Möglichkeit." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Diese Aktion blättert durch die Liste der Nicknamen. Wenn »Data 1« gesetzt ist, wird hochgeblättert, sonst runter. " + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Diese Aktion vergleicht das zuletzt Eingegebene mit der Textersetzungsliste und ersetzt es, wenn sie eine Entsprechung findet." + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Diese Aktion bewegt den aktiven Reiter eine Position nach links." + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Diese Aktion bewegt den aktiven Reiter eine Position nach rechts." + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Diese Aktion bewegt die aktuelle Reitergruppe nach links." + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Diese Aktion bewegt die aktuelle Reitergruppe nach rechts." + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Eingabezeile in der Historie speichern, aber nicht absenden." + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Fehler beim Laden der Tastaturkürzel-Konfiguration" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Markiere eine Zeile, für Hilfestellung über die jeweilige Aktion." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Tastenkombinationen – %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kann in diese Datei nicht schreiben." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Kann diese Datei nicht lesen." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Diese Maske gibt es bereits." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notiz" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Nicht mehr ignorieren" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Sind Sie sicher, dass alle Einträge in Ihrer Ignorierliste entfernt werden sollen?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Maske zum Ignorieren eingeben:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Ignorierliste – %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignore-Status" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Channel:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notiz:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Einladungen" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Hinzufügen …" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Channelname zu kurz, bitte erneut versuchen." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Verbindung hergestellt – %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Verbindung zu %s fertiggestellt." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Im Serverlistenfenster wurde kein Channel (Chatraum) eingegeben, der in diesem Netzwerk automatisch betreten werden soll." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Was möchten Sie als Nächstes tun?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nichts, ich werde später einen Channel betreten." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Diesen Channel _betreten" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Wenn Sie den Namen des Channels wissen, den Sie betreten willst, geben Sie ihn hier ein." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Kanalliste ö_ffnen." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Die Abholung der Kanalliste könnte eine Minute oder zwei dauern." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Diesen Dialog nach jeder Verbindung anzeigen." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Unterhaltung mit" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Thema für %s ist: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Kein Thema gesetzt" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Diesem Server sind noch %d Channels oder Dialoge zugeordnet. Alle schließen?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "HexChat beenden?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Beim nächsten Mal nicht nachfragen." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Sie sind mit %i IRC-Netzwerken verbunden." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Sind Sie sicher, dass Sie HexChat beenden wollen?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Einige Dateitransfers sind noch aktiv." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "Ins Benachrichtigungsfeld _minimieren" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Attribut oder Farbcode einsetzen" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Fett</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Unterstrichen</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Kursiv</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Farben 0–7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Farben 8–15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Einstellungen" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Auf die Festp_latte aufzeichnen" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Textpuffer neu _laden" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Farbcodes entfernen" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "Nachrichten beim Betreten/Verlassen _verstecken" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Extrawarnungen" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Bei Nachricht _piepsen" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "_Benachrichtigungssymbol blinken lassen bei:" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "_Taskleiste blinken lassen bei:" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "Reiter _lösen" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "S_chließen" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Benutzerlimit muss eine Zahl sein!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filterfarben" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Keine Nachrichten von außen" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Themenschutz" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Nur auf Einladung" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderiert" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Bannliste" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Schlüsselwort" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Benutzerlimit" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Neuen Nicknamen eingeben:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Keine Ergebnisse gefunden." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Suche beendet, kein Treffer." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "Alle _hervorheben" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Hebe alle Vorkommnisse hervor und unterstreiche das aktuelle Vorkommnis." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Groß-/Kleins_chreibung angleichen" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Eine Suche unter der Beachtung der Groß-/Kleinschreibung ausführen." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regulärer Ausdruck" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Behandle Such-Strings wie reguläre Ausdrücke" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host unbekannt" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Unbekanntes Benutzerkonto" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Unbekannt" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Wahrer Name:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Benutzer:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konto:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "vor %u Minuten" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Letzte Nachricht:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Abwesenheitsgrund:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d Nicks ausgewählt." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Die Menüzeile ist jetzt versteckt. Sie können sie durch Druck auf F9 oder Rechtsklick in einem freien Bereich des Textfeldes wieder sichtbar machen." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Link im Browser öffnen" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Ausgewählte URL kopieren" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Channel betreten" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Channel verlassen" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Channel rotieren" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Autojoin" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Automatisches Betreten" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Automatisches Verbinden" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Benutzermenü – %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Dieses Menü bearbeiten" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Markierungslinie ausgeschaltet." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Markierungslinie niemals setzen." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Markierungslinie manuell zurücksetzen" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Markierungslinie wurde zurückgesetzt, weil die Begrenzung des Scrollbalkens überschritten wurde." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Markierungslinie durch Benutzung von CLEAR zurückgesetzt." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Status der Markierungslinie unbekannt." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Kanalliste abholen" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "wurde ohne Plugin-Support erstellt" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Benutzerbefehle - Spezielle Codes:\n\n%c = aktueller Channel\n%e = aktuelles Netzwerk\n%m = Computerinfo\n%n = Ihr Nick\n%t = Zeit/Datum\n%v = HexChat-Version\n%2 = Wort 2\n%3 = Wort 3\n&2 = Wort 2 bis zum Ende der Zeile\n&3 = Wort 3 bis zum Ende der Zeile\n\nz.B.:\n/cmd john hallo\n\n%2 wäre \"john\"\n&2 wäre \"john hallo\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Benutzerlisten-Knöpfe – Spezielle Codes:\n\n%a = alle ausgewählten Nicks\n%c = aktueller Channel\n%e = aktuelles Netzwerk\n%h = die Hostmaske des ausgewählten Nicks\n%m = Computerinfo\n%n = Ihr Nick\n%s = ausgewählter Nick\n%t = Zeit/Datum\n%u = ausgewähltes Benutzerkonto" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Dialog-Knöpfe – Spezielle Codes:\n\n%a = alle ausgewählten Nicks\n%c = aktueller Channel\n%e = aktuelles Netzwerk\n%h = die Hostmaske des ausgewählten Nicks\n%m = Computerinfo\n%n = Ihr Nick\n%s = ausgewählter Nick\n%t = Zeit/Datum\n%u = ausgewähltes Benutzerkonto" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP-Antworten - Spezielle Codes:\n\n%d = Daten (Der gesamte CTCP)\n%e = aktuelles Netzwerk\n%m = Computerinfo\n%s = Der Nick des Absenders\n%t = Zeit/Datum\n%2 = Wort 2\n%3 = Wort 3\n&2 = Wort 2 bis zum Ende der Zeile\n&3 = Wort 3 bis zum Ende der Zeile\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Befehle für URLs - Spezielle Codes:\n\n%s = die URL\n\nEin »!« am Anfang des Befehls sagt\naus, dass der Befehl in der Shell\nstatt in HexChat ausgeführt wird" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Benutzerdefinierte Befehle – %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Benutzerlisten-Popup-Menü – %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Ersetzen - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Ersetzen durch" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL-Handler – %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Benutzerlistenknöpfe - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialog-Buttons – %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP-Antworten – %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Netzwerkli_ste" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Neu" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Server-Registerkarte" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Kanal-Registerkarte" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Serverfenster" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanalfenster" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "Plugin oder Skript _laden" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Beenden" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "A_nsicht" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menüzeile" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Themenzeile" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Ben_utzerliste" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Benutzerli_sten-Buttons" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "M_odusknöpfe" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Channelumschalter" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Reiter" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Baum" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Netzwerkmeter" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Aus" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafisch" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Vollbild" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Trennen" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Wiederverbinden" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "Einem Kanal _beitreten" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Kanal_liste" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Als _Abwesend markiert" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Benutzermenü" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Einstellungen" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Optionen" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Auto-Ersetzen" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP-Antworten" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialog-Buttons" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Tastenkürzel" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Textereignisse" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL-Handler" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Benutzerbefehle" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Benutzerlisten-Buttons" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Benutzerlisten-Popup" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Fenster" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Ban-Liste" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Direct Chat" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "Dateiüber_tragungen" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Freundesliste" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Ignorierliste" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Plugins und Skripte" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Rohprotokoll" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL-Sammler" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Markierungslinie zurücksetzen" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Springe zu Markierungslinie" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "Auswahl _kopieren" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Text _löschen" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Test speichern" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Suche" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Text suchen" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Nächstes Ergebnis" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Vorheriges Ergebnis" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hilfe" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Inhalt" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "Ü_ber" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "Fenster _anhängen" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Name" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Zuletzt gesehen" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Niemals" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "vor %d Minuten" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Vor einer Stunde" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "vor %d Stunden" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Hinzuzufügenden Nickname eingeben:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "In diesen Netzwerken benachrichtigen:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Eine kommagetrennte Liste von Netzen wird akzeptiert" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Freundesliste – %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Dialogfenster öffnen" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr ": Hervorgehobene Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Kanal-Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr ": Dateiangebot von: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Zum Kanal von %s (%s) eingeladen" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Benachrichtigung von: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr ": Private Nachricht von: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Verbunden mit %u Netzwerken und %u Kanälen – %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "Fenster _wiederherstellen" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "Fenster _verstecken" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Blinke bei" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Channelnachricht" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Private Nachricht" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Hervorgehobene Nachricht" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "Status ä_ndern" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Abwesend" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Zurück" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Hervorgehobene Nachricht von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u hervorgehobene Nachrichten, neueste von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Kanalnachricht von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u Kanalnachricht. – %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Private Mitteilung von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u private Mitteilungen, neueste von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Dateiangebot von: %s (%s) – %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u Dateiangebote, neuestes von: %s (%s) – %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beschreibung" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Wählen Sie ein Plugin oder Skript zum Laden" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Plugins und Skripte – %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Laden …" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Entladen" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Neu laden" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Speichern als …" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Rohprotokoll (%s) – %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Rohdatenlogbuch leeren" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Neues Netzwerk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Wirklich das Netzwerk »%s« und alle seine Server löschen?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Benutzername darf nicht leer sein." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Sie können keinen leeren Spitznamen haben." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Sie benötigen zwei einzigartige Nicknamen." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Die Art, wie Sie sich auf dem Server identifizieren. Für spezielle Login-Methoden, benutzen sie das Autoperform." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "%s bearbeiten – %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Server" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Automatisches Betreten" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Verbindungsbefehle" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Spitzname\n%p=Passwort\n%r=Wahrer Name\n%u=Benutzername" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Passwort" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editieren" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Nur mit dem angegebenen Server verbinden" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Nicht alle Server durchlaufen, wenn die Verbindung scheitert." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Automatisch mit diesem Netzwerk verbinden" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Proxyserver umgehen" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "SSL für alle Server dieses Netzwerks benutzen" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Ungültiges SSL-Zertifikat akzeptieren" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Globale Benutzerinformationen benutzen" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nickname:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Zweite Wahl:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Wahrer Name:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Ben_utzer:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Login-Methode:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Passwort:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Passwort zum Einloggen. Im Zweifel leer lassen." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Zeichensatz:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Netzwerkliste – %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Benutzer-Information" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Dritte Wahl:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Netzwerke" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Keine Netzwerkliste beim Start" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Nur Favoriten anzeigen" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "Änd_ern …" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sortieren" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Sortiert die Netzwerkliste in alphabetischer Reihenfolge. Benutze Umschalt+Oben und Umschalt+Unten, um eine Zeile weiterzugehen." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favorisieren" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Dieses Netzwerk zu Favoriten hinzufügen bzw. von ihnen entfernen." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Verbinden" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikanisch" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanisch" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharisch" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturian" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Aserbeidschanisch" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskisch" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Weißrussisch" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarisch" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinesisch (Vereinfacht)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinesisch (Traditionell)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tschechisch" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dänisch" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Niederländisch" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Englisch (Britisch)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Englisch" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estnisch" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finnisch" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Französisch" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galizisch" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Deutsch" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Griechisch" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungarisch" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesisch" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italienisch" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japanisch" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreanisch" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lettisch" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litauisch" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Mazedonisch" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malayisch" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norwegisch (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norwegisch (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polnisch" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugisisch" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugisisch (Brazilien)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pandschabisch" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russisch" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbisch" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slowakisch" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slowenisch" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanisch" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Schwedisch" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thailändisch" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Türkisch" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainisch" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamesisch" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Wallonisch" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Allgemein" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Sprache:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Hauptschriftart:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Schriftart:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Textfeld" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Farbige Nicknamen" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Jeder Person im IRC eine Farbe zuordnen" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Nicks einrücken" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Nicknamen rechts ausrichten" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Markierungslinie zeigen" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Eine rote Linie nach der zuletzt gelesenen Nachricht einfügen." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Hintergrundbild:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Transparenzseinstellungen" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Fensterundurchsichtigkeit:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Zeitstempel" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Zeitstempel aktivieren" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Zeitstempelformat:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Siehe den MSDN-Artikel über strftime für Details." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Siehe die strftime-Manpage für Details." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titelleiste" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Zeige Channelmodes" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Zeige Anzahl an Benutzern" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "Alphabet" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Zuletzt geschriebener Nachricht" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Eingabefeld" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Textfeld-Schrift und -farben benutzen" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Farben und Attribute rendern" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Nick-Box anzeigen" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Symbol für Benutzermodus in Nick-Box anzeigen" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Rechtschreibung überprüfen" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Zu benutzende Wörterbücher:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Sprachcodes (wie in »%LOCALAPPDATA%\\enchant\\myspell\\dicts«) benutzen.\nTrennen Sie mehrere Einträge durch Kommata." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Verwenden Sie durch Kommata getrennte Sprachcodes." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Nickvervollständigung" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Anhang für Nickvervollständigung:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Nickvervollständigung sortiert nach:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Anzahl Nickvervollständigung" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Schwellwert zum Auflisten von Nicks anstatt Vervollständigung" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "Nicks" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafisch" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, Ops zuerst" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, Ops zuletzt" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Unsortiert" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Links (oben)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Links (unten)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Rechts (oben)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Rechts (unten)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Oben" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Unten" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Versteckt" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Benutzerliste" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Hostnamen in Benutzerliste zeigen" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Schrift und Farben des Eingabefelds nutzen" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Zeige Icons für Usermodi" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Nutze grafische Icons antstatt Textsymbole in der Userliste." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Farbige Nicknamen in der Benutzerliste" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Färbt Nicknamen so, wie im Chat ein." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Zeige Benutzeranzahl in Kanälen" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Benutzerliste sortiert nach:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Benutzerliste zeigen:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Abwesenheitsverfolgung" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Den Abwesenheitsstatus von Benutzern verfolgen und sie in einer anderen Farbe anzeigen" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "In Channels mit weniger Nutzern als:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Aktion bei Doppelklick" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Zusätzliche Gadgets" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Verzögerungsmesser:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Drosselmesser:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Fenster" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Reiter" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Immer" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Nur angeforderte Reiter" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatisch" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "In neuem Tab" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Im aktuellen Tab" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Baumansicht" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Art des Umschalters:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Reiter für Servermeldungen öffnen" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Öffne einen neuen Reiter für empfangene private Nachrichten" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Reiter alphabetisch sortieren" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Zeige Symbole im Kanalbaum" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Zeige gestrichelte Linien im Kanalbaum" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Mausrad zum Wechseln zwischen Tabs" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Mittelklick, um Registerkarte zu schließen" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Kleinerer Text" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Neue Reiter im Vordergrund:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Platzierung von Notizen:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Channelumschalter anzeigen:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Reiternamen kürzen auf:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "Zeichen." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Reiter oder Fenster" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Öffne Channels in:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Öffne Dialoge in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Öffne Hilfsmittel in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Ignore, Notify usw. in Reitern oder Fenstern öffnen?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Nachrichten" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Textpuffer" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Nach einer Bestätigung fragen" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Frage nach dem Download-Ordner" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Speichern ohne Dialog" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Dateien und Verzeichnisse" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Dateiangebote automatisch annehmen:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Dateien ziehen nach:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Fertige Downloads verschieben nach:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Speichere Nick in Dateinamen" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "DCC-Fenster automatisch öffnen" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Versandfenster" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Empfangsfenster" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Chatfenster" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Maximale Dateiübertragungsgeschwindigkeiten (Byte pro Sekunde)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Ein Upload:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Max. Geschw. für einen Transfer" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Ein Download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Alle Uploads zusammen:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Max. Geschw. für alle Transfers" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Alle Downloads zusammen:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Benachrichtigungen" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Benachrichtigungen zeigen bei:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Symbol im Benachrichtigungsbereich blinken lassen bei:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Taskleiste blinken lassen bei:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Piepsen bei:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Den Sofortnachrichtenbenachrichtigungssystemton bei folgenden Ereignissen abspielen:" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Den »message-new-instant«-Ton aus dem freedesktop.org-Soundthema bei ausgewählten Ereignissen abspielen" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Einen GTK-Piepton bei den ausgewählten Ereignissen abspielen" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Benachrichtigungen unterdrücken, während man abwesend ist" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Klänge abspielen, wenn das Programm im Vordergrund ist" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Verhalten des Benachrichtungsfeldes" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Symbol im Benachrichtigungsbereich aktivieren." + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Ins Benachrichtigungsfeld minimieren" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Ins Infofeld schließen" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Automatisch als abwesend/zurück markieren" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Status automatisch wechseln, wenn das Programm in den Tray geschlossen wird." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Benachrichtigungen nur zeigen, wenn versteckt oder minimiert" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Hervorgehobene Nachrichten" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Hervorgehobene Nachrichten sind solche, in denen der eigene Nick fällt, aber auch:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Extrawörter zum Hervorheben:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nicht hervorzuhebende Nicks:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Immer hervorzuhebende Nicks:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Mehrere Wörter durch Kommata trennen.\nWildcards werden unterstützt." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Dock-Icon springen lassen bei:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Standardnachrichten" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Beenden:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Channel verlassen:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Abwesend:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Abwesend" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Abwesenheit einmal zeigen" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Identische Abwesenheitsbenachrichtigungen nur einmal zeigen." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatisch Abwesenheit beenden" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Beende Abwesenheit vor dem Nachrichtenversand." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Verschiedenes" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Modi in Rohform anzeigen" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS bei Notizen" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Sendet ein /WHOIS, wenn ein Nutzer aus Ihrer Notify-Liste kommt" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Join/Part-Nachrichten verstecken" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Join/Part-Nachrichten standardmäßig verstecken." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Namensänderungsnachrichten verstecken " + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Automatisches Kopierverhalten" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Ausgewählten Text automatisch kopieren" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Gewählten Text in die Zwischenablage kopieren, wenn die linke Maustaste losgelassen wird. Ansonsten wird Strg+Umschalt+C den ausgewählten Text in die Zwischenablage kopieren." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Zeitstempel automatisch einbinden" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Automatisch Zeitstempel in den kopierten Textzeilen einbinden. Ansonsten werden Zeitstempel eingebunden, wenn die Umschalttaste während der Auswahl gedrückt gehalten wird." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Automatisch Farbinformationen mitkopieren" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Automatisch Farbinformationen im ausgewählten Text mitkopieren. Sonst werden Farbinformationen kopiert, wenn die Strg-Taste beim Auswählen gedrückt gehalten wird." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Wahrer Name:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternative Schriftarten:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Mehre Einträge mit Kommata trennen (keine Leerzeichen davor oder dahinter)." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Zeige Listen im kompakten Modus" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Benutze kleinere Abstände zwischen Benutzerliste und Kanalbaumreihen." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Benutze Serverzeit, wenn unterstützt" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Zeitstempel vom Server holen, wenn die Zeitservererweiterung unterstützt wird." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Bei Verbindungsverlust automatisch neu verbinden" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Wiederverbindungsverzögerung:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Verzögerung beim automatischen Betreten:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Bannart:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Versuchen, diese Bannmaske zu benutzen, wenn gebannt oder ruhiggestellt wird. (benötigt irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logbücher" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Textpuffer der letzten Sitzung anzeigen" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Textpufferzeilen:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Unterhaltungen auf der Festplatte aufzeichnen" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Logbuchname:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Channel %n=Netzwerk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Datumsstempel in Logs einfügen" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Datumsstempelformat:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Links" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Protokollierung von URLs auf der Festplatte aktivieren" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Sammlung von URLs aktivieren" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Max. Anz. URL in Sammlung" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Deaktiviert)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automatisch" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Alle Verbindungen" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Nur IRC-Server" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Nur DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Ihre Adresse" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Binden an:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Nur für Computer mit mehreren Adressen sinnvoll." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Dateiübertragungen" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Meine IP vom IRC-Server holen" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Fragt den IRC-Server nach Ihrer wahren IP-Adresse. Benutzen Sie dies, falls Sie eine 192.168.*.*-Adresse haben!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC-IP-Adresse:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Behaupten Sie, diese Adresse zu verwenden, wenn Sie Dateien anbieten." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Erster DCC-Lausch-Port:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Letzter DCC-Lausch-Port:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "(Belasse die Ports bei 0 für die gesamte Breite." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy-Server:" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Proxy benutzen für:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy-Authentifizierung" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Authentifizierung benutzen (Nur HTTP oder SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Benutzer:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd-Server" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Aktiviert" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Der Server wird mit dem Netzwerk-Benutzernamen antworten" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Sie müssen Erlaubnis dafür haben, um an diesem Port lauschen zu dürfen. Wenn das nicht 113 ist (0 ist die Standardeinstellung dafür), dann müssen Sie Port-Forwarding konfigurieren." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Bilddatei auswählen" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Ordner für heruntergeladene Dateien wählen" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Schriftart auswählen" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Suchen …" + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Datenverzeichnis öffnen" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Farbe wählen" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Textfarben" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-Farben:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokale Farben:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Vordergrund:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Hintergrund:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Ausgewählter Text" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Schnittstellenfarben" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Neue Daten:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Markierungslinie:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Neue Nachricht:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Abwesender Benutzer:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Hervorhebung:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Rechtschreibprüfung:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Farben unterdrücken" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Ereignis" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Klangdatei:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Wählen Sie eine Klangdatei aus" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Klangdatei:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Durchsuchen …" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Abs_pielen" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Schnittstelle" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Aussehen" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Eingabezeile" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Benutzerliste" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Channelumschalter" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Farben" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chatten" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Töne" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Fortgeschritten" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Netzwerk-Setup" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Dateitransfers" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorien" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Sie können die Baumansicht nicht oben oder unten anzeigen! Bitte\nwechseln Sie erst im <b>Ansicht</b>-Menü zur <b>Reiter</b>-Ansicht." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Das Feld für den echten Namen darf nicht leer sein. Es wird »realname« verwendet." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Einige Einstellungen wurden geändert, die einen Neustart erfordern." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*WARNUNG*\nAutomatisches Annehmen von DCCs in Ihr Home-\nVerzeichnis kann gefährlich sein und ist\nausnutzbar. Zum Beispiel könnte Ihnen jemand\nein .bash_profile schicken." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Optionen – %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(keine Vorschläge)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mehr …" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "»%s« zum Wörterbuch hinzufügen" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignoriere alles" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Rechtschreibvorschläge" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "Fehler in der enchant-Bibliothek in Sprache: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Fehler beim Auswerten des Strings" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Diesem Signal werden nur %d Argumente übergeben, $%d ist ungültig" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Textdatei drucken" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Nummer" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Ereignis ändern" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Lade von …" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Alle testen" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL-Sammler – %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Liste leeren" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Ausgewählte URL kopieren" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopieren" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Liste in Datei speichern" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d Ops, %d gesamt" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Öffne eine irc:://Server:Port/Channel-URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Information konnte nicht gehollt werden. Entweder nicht unterstützt oder Fehler." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Keine Information nach diesem Namen\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s ist gesetzt auf %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Gültige Einstellungen sind: announce und hide_* für jede Informationseinheit. Z.B. hide_os. Ohne Wert wird die aktuelle (oder Standard-)Einstellung gezeigt.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Ungültiger Variablenname\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Plugin %s geladen\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Plugin %s entladen\n" diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000000000000000000000000000000000000..c61f17a30e031c2c5a01a1e628a404e18295b26b --- /dev/null +++ b/po/el.po @@ -0,0 +1,6261 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Efstathios Iosifidis <iefstathios@gmail.com>, 2015,2017 +# Efstathios Iosifidis <iosifidis@opensuse.org>, 2015 +# txapollo243, 2013 +# Stathis Kamperis <ekamperi@auth.gr>, 2006 +# txapollo243, 2013 +# Αλέξανδρος Καπετάνιος <alexandros@gnugr.org>, 2017 +# Γιάννης Ανθυμίδης, 2013,2015 +# Yannis Anthymidis, 2013,2015 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-04 23:28+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Greek (http://www.transifex.com/hexchat/hexchat/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Πελάτης IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "Το HexChat υποστηρίζει λειτουργίες όπως: DCC, SASL, διαμεσολαβητές, ορθογραφική διόρθωση, ειδοποιήσεις, logging, προσαρμοσμένα θέματα, και Python/Perl scripts." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Κεντρικό Παράθυρο Συζήτησης" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Συνομιλήστε με άλλους χρήστες σε απευθείας σύνδεση" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Άνοιγμα ασφαλούς λειτουργίας" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Διαχειριστής θεμάτων HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Είμαι απασχολημένος/η" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Αποχώρησε" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "ΚΛΕΙΣΤΟ" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ΑΝΟΙΧΤΟ" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Δίκτυο" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<κανένα>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Κανάλι" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Αναμονή" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Ενεργό" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Απέτυχε" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Έγινε" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Σύνδεση" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Ματαιώθηκε" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Αδυναμία πρόσβασης στο %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Σφάλμα" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "Ο/Η %s σας προσφέρει το «%s». Θέλετε να το δεχτείτε;" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Δεν υπάρχουν ενεργά DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Άνοιγμα Παραθύρου Διαλόγου" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Αποστολή ενός Αρχείου" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Πληροφορίες Χρήστη (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Προσθήκη στην Λίστα Φίλων" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Αγνόηση" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Χ_ειριστής Δράσης" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Απόδοση Chanops" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Αφαίρεση Chanops" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Απόδοση Voice" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Αφαίρεση Voice" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Πάρε μπούλο" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Εγκατάλειψη καναλιού" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Σύνδεση σε κανάλι...." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Εισάγετε το κανάλι προς σύνδεση:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Συνδέσεις διακομιστών" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping στο διακομιστή" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Απόκρυψη έκδοσης" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "αντίο" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Εισάγετε αιτία για το kick του %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Διάλογος" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "ΠοιοςΕίναι" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Αποστολή" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Διάλογος" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Καθαρισμός" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Δεν έχετε πρόσβαση εγγραφής στο%s. Δεν μπορεί τίποτα να σωθεί από αυτή τη συνεδρία." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Το να χρησιμοποιείτε το IRC ως root είναι ηλίθιο!\n Πρέπει να δημιουργήσετε έναν λογαριασμό απλού χρήστη\n και να χρησιμοποιείτε αυτόν.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ΝΑΙ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "ΟΧΙ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Πλημμυρίζεστε με μηνύματα CTCP από τον/την %s. Αγνοώ τον/την %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Αποφασισμένος να %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Δεν βρέθηκε" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Αποφασισμένος να:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Αναζήτηση για %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s συνδέθηκε\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s αποσυνδέθηκε\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Δεν έχετε συνδεθεί σε κανάλι. Δοκιμάστε /join #<κανάλι>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Δεν έχετε συνδεθεί. Δοκιμάστε /server <διακομιστής> [<θύρα>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Ο εξυπηρετητής %s υπάρχει ήδη στο δίκτυο %s.⏎\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Προστέθηκε ο εξυπηρετητής %s στο δίκτυο %s.⏎\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Είστε ήδη απομακρυσμένος/η: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Έχετε επιστρέψει ήδη.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Το /bin/sh χρειάζεται για την εκτέλεση!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Διαθέσιμες Εντολές:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Εντολές ορισμένες από τον χρήστη:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Εντολές ορισμένες από πρόσθετα:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Πληκτρολογείστε /HELP <εντολή> για περισσότερες πληροφορίες, ή /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Το άγνωστο όρισμα «%s» αγνοήθηκε." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Η ελάττωση δεν υποστηρίζεται από αυτό το διακομιστή." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Δε βρέθηκε τέτοιο πρόσθετο.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Αυτό το πρόσθετο αρνείται να αποφορτωθεί.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <όνομα> <ενέργεια>, προσθέτει ένα κουμπί στη λίστα χρηστών" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ΠΡΟΣΘΗΚΗΔΙΑΚΟΜΙΣΤΗ <NewNetwork> <newserver/6667>, πρόσθεση ενός νέου δικτύου με ένα νέο διακομιστή στη λίστα δικτύου" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <εντολή>, στέλνει μια εντολή σε όλα τα κανάλια που βρίσκεστε" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, στέλνει μια εντολή σε όλα τα κανάλια στον τρέχοντα εξυπηρετητή" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <εντολή>, στέλνει μια εντολή στους διακομιστές που βρίσκεστε" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "ΑΠΟΥΣΙΑΖΕΙ [<reason>], η ρύθμισης σας για απουσία (χρήση/ΠΙΣΩ για αναίρεση)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ορίζει ότι έχετε επιστρέψει (όχι απομακρυσμένος/η)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <μάσκα> [<τύπος ban>], κάνει ban σε όποιον ταιριάζει στη μάσκα από το τρέχον κανάλι. Εάν είναι ήδη στο κανάλι δεν τους κάνει kick (χρειάζεται chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <μεταβλητή> [<τιμή>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<κωδικοποίηση>], ανακτήστε ή θέστε την κωδικοποίηση που χρησιμοποιείται για την τρέχουσα σύνδεση" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "ΕΚΚΑΘΑΡΙΣΗ [ΟΛΟ ΤΟ ΣΤΟΡΙΚΟ[-]<amount>, Καθαρισμός του τρέχων παράθυρου κειμένου ή διαχείριση ιστορικού" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "ΚΛΕΙΣΙΜΟ [-m], Κλείνει την τρέχουσα καρτέλα, το κλείσιμο του παραθύρου εάν αυτή είναι η μόνη ανοιχτή καρτέλα, ή με την σήμανση \"-m\" , κλείνει όλα τα ερωτήματα." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <κωδικός>, βρίσκει τον κωδικό μιας χώρας, πχ: gr = Ελλάδα" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <μήνυμα>, στέλνει ένα μήνυμα CTCP στο nick, συνηθέστερα μηνύματα είναι τα VERSION και USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<κανάλι>], αποχωρεί το τρέχον ή ορισμένο κανάλι και ξαναμπένει αμέσως" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - λήψη ενός προσφερθέντος αρχείου\nDCC SEND [-maxcps=#] <nick> [αρχείο] - αποστολή ενός αρχείου σε κάποιον\nDCC PSEND [-maxcps=#] <nick> [αρχείο] - αποστολή ενός αρχείου σε παθητική κατάσταση λειτουργίας\nDCC LIST - εμφάνιση της λίστας DCC\nDCC CHAT <nick> - προσφορά συνομιλίας DCC σε κάποιον\nDCC PCHAT <nick> - προσφορά συνομιλίας DCC σε παθητική κατάσταση λειτουργίας\nDCC CLOSE <τύπος> <nick> <αρχείο> παράδειγμα:\n /dcc close send mixalhs file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, αφαίρεση της κατάστασης chanhalf-op από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <όνομα>, διαγραφή ενός κουμπιού κάτω από τη λίστα χρηστών" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, αφαίρεση της κατάστασης chanop από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, αφαίρεση της κατάστασης voice από το nick στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Αποσυνδέει από τον διακομιστή" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, Αναλύει την IP ή το όνομα κεντρικού υπολογιστή" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <κείμενο>, Τοπική εκτύπωση κειμένου" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <εντολή>, εκτελεί την εντολή. Εάν δοθεί το -o τότε η έξοδος θα σταλθεί στο τρέχον κανάλι, αλλιώς στέλνεται στο τρέχον κουτί κειμένου" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, στέλνει στη διεργασία ένα σήμα SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], σκοτώνει ένα εκτελούμενο exec στη τρέχουσα συνεδρία. Εάν δοθεί το -9 τότε στέλνει στη διεργασία ένα σήμα SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, στέλνει στη διεργασία ένα σήμα SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, στέλνει δεδομένα στο ρεύμα stdin της διεργασίας" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, εξαγωγή ρυθμίσεων HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, καθαρίζει σειρά αποστολής του τρέχοντος διακομιστή" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <διακομιστής> [<θύρα>], θέτει proxy ένα διακομιστή, εξ'ορισμού θύρα 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <ψευδώνυμο> <κωδικός πρόσβασης>, σκοτώνει ένα ψευδώνυμο-φάντασμα" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, δίνει κατάσταση chanhalf-op στο nick (χρειάζεται chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <κωδικός>, σας ταυτοποιεί με το nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <μάσκα> <τύποι..> <επιλογές..>\n μάσκα - μάσκα διακομιστή για ignore πχ: *!*@*.otenet.gr\n τύποι - τύποι δεδομένων για ignore, ένα από:\n PRIV, CHAN, NOTI, CTCP, INVI, ALL\n επιλογές - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "/INVITE <nick> [<κανάλι>], καλεί κάποιον σε ένα κανάλι, εξ'ορισμού το τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <κανάλι>, συνδέεται στο κανάλι" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <ψευδώνυμο> [λόγος], διώχνει το ψευδώνυμο από το τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <ψευδώνυμο> [λόγος], κάνει αποκλεισμό και διώχνει το ψευδώνυμο από το τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, απαίτηση νέου ελέγχου για lag" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <αρχείο>, φορτώνει ένα πρόσθετο ή ένα script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Μαζικό deop όλων των chanhalf-ops στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Μαζικό deop όλων των chanops στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <δράση>, στέλνει τη δράση στο τρέχον κανάλι (οι δράσεις γράφονται στο τρίτο πρόσωπο, πχ. /me kanei mia toumpa)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Μαζικό kick όλων εκτός από εσένα στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Δίνει μαζικά op σε όλους τους χρήστες στο τρέχον κανάλι (χρειάζεται chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "ΟΝΟΜΑΤΑ [κανάλι], Να τοποθετήσει τα ονόματα στο κανάλι" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <μήνυμα>, Στέλνει μία CTCP αναγγελία" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <διακομιστής> [<θύρα>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ψευδώνυμο>, θέτει το ψευδώνυμο σας" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ <όνομα/κανάλι> <μήνυμα>, στέλνει μια προειδοποίηση " + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n δίκτυο1[,δίκτυο2,...]][ <ψευδώνυμο>], δείχνει τη λίστα ειδοποίησης ή προσθέτει κάποιον σε αυτήν" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, δίνει κατάσταση chanop στο nick, (χρειάζεται chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<κανάλι>] [<αιτία>], φεύγει από το κανάλι, εξ'ορισμού το τρέχον" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | κανάλι>, κάνει ένα CTCP ping στο nick ή το κανάλι" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "ΕΡΩΤΗΜΑ [-nofocus] <όνομα> [μήνυμα], ανοίγει ένα νέο παράθυρο ιδιωτικού μηνύματος σε κάποιον και προαιρετικά στέλνει μήνυμα" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<αιτία>], αποσύνδεση από τον τρέχοντα διακομιστή" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <κείμενο>, στέλνει ένα κείμενο σε ωμή μορφή στο διακομιστή" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONΝECT [-ssl] [<διακομιστής>] [<port>] [<password>] , Μπορεί να κληθεί απλά σαν /reconnect για επανασύνδεση στον τρέχοντα διακομιστή ή με /reconnect all για όλους τους ανοικτούς διακομιστές" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONΝECT [<διακομιστής>] [<port>] [<password>], Μπορεί να κληθεί απλά σαν /reconnect για επανασύνδεση στον τρέχοντα διακομιστή ή με /reconnect all για όλους τους ανοικτούς διακομιστές" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <κείμενο>, στέλνει το κείμενο στο αντικείμενο στο παράθυρο" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ψευδώνυμο> [<αρχείο>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <διακομιστής> <port> <κανάλι>, σύνδεση σε διακομιστή και κανάλι" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <διακομιστής> <port> <κανάλι>, σύνδεση σε διακομιστή και κανάλι" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "ΔΙΑΚΟΜΙΣΤΗΣ <host> [<port>] [<password>], συνδέεται σε ένα διακομιστή, η προεπιλεγμένη θύρα είναι η 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<θέμα>], θέτει το θέμα αν δοθεί κάποιο, αλλιώς δείχνει το τρέχον" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <χρονικό όριο> <αρχείο1> [<αρχείο2>] Αναβόσβημα με τα 2 εικονίδια.\nTRAY -f <όνομα αρχείου> Ορισμός εικονιδίου συστήματος.\nTRAY -i <αριθμός> Αναβόσβημα με το προεπιλεγμένο\n εικονίδιο.\nTRAY -t <κείμενο> Ορισμός αναδυόμενου κειμένου.\nTRAY -b <τίτλος> <κείμενο> Ορισμός του μπαλονιού." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], κάνει unban με τις ορισμένες επιλογές" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <μάσκα> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <αρχείο>, αποφορτώνει ένα Perl script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ανοίγει ένα URL στον περιηγητή σας" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <χρήστης1> <χρήστης2> κλπ, επισημαίνει τον(ους) χρήστη(ες) στη λίστα χρηστών" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, δίνει κατάσταση voice σε κάποιον (θέλει chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <μήνυμα>, αποστολή του μηνύματος σε όλα τα κανάλια" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <μήνυμα>, αποστολή του μηνύματος σε όλους τους chanops στο τρέχον κανάλι" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Εντολές Χρήστη για: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Χρήση: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nΔεν υπάρχει διαθέσιμη βοήθεια για αυτή την εντολή.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Δεν υπάρχει τέτοια εντολή.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Κακές επιλογές για την εντολή χρήστη.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Εγκατάλειψη, πάρα πολλές επαναλαμβανόμενες εντολές χρήστη." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Άγνωστη Εντολή %s. Δοκίμασε /βοήθεια\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Δεν υπάρχει το σύμβολο xchat_plugin_init· σίγουρα είναι πρόσθετο xchat;" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "ΓΝΩΣΤΟΠΟΙΗΣΗ <πόρτα> <όνομαχρήστη>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Χρονομετρητής %d έχει διαγραφεί.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Κανένας εγκατεστημένος χρονοδιακόπτης\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Είστε σίγουρος/η ότι αυτός ο διακομιστής και η θύρα είναι ικανά για SSL;\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Δεν ήταν δυνατή η εύρεση του ονόματος διακομιστή %s\nΕλέγξτε τις ρυθμίσεις IP σας!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Απέτυχε η διάβαση από το proxy\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Μετάβαση στον επόμενο διακομιστή σε %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Προειδοποίηση: Το σύνολο χαρακτήρων \"%s\" είναι άγνωστο. Δεν θα γίνει καμία μετατροπή για το δίκτυο %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O προστέθηκε στην λίστα ειδοποίησης." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O κατά συνέχεια %C24$4%O από %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tΑδυναμία εισαγωγής %C22$1 %O(%C20Είστε μπλοκαρισμένος%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tΑναγνώριση δυνατοτήτων: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tΑφαίρεση δυνατοτήτων: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tΥποτηρίχθηκαν δυνατότητες: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tζητήθηκαν δυνατότητες: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O τώρα είναι ως %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O θέτει σε αποκλεισμό σε %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tΚανάλι %C22$1%O έχει δημιουργηθεί %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O αφαίρεση της κατάστασης half-operator από %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O αφαίρεση της κατάστασης διαχειριστή καναλιού από %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O αφαίρεση voice από %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C θέτει σε εξαίρεση σε %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O δίνει την κατάσταση διαχειριστή καναλιού σε %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C θέτει σε εξαίρεση πρόσκλησης σε %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UΚανάλι Χρήστες Θέμα" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O ορίζει κατάσταση %C24$2$3%O σε %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tΚανάλι %C22$1%O λειτουργίες: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ορίζει σε κατάσταση διαχειριστή καναλιού σε %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O αφαιρεί τις εξαιρέσεις σε %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O αφαιρεί την λέξι-κλειδί καναλιού" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O αφαιρεί το όριο χρηστών" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) έχει εισέλθει" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tΗ λίστα ειδοποίησης είναι άδεια." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) αποχώρησε" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) αποχώρησε ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA Η διεργασία εκτελείτε ήδη" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 εγκατέλειψε ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tΣυνδεδεμένος." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tΤώρα μιλάτε στο %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Φορτώθηκε το αρχείο καταγραφής από" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ΛΗΞΗ ΤΗΣ ΚΑΤΑΓΡΑΦΗΣ ΣΤΙΣ %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ΕΝΑΡΞΗ ΤΗΣ ΚΑΤΑΓΡΑΦΗΣ ΣΤΙΣ %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Αριστερό μήνυμα" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Δεξί μήνυμα" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Διεύθυνση IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Όνομα χρήστη" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Το ψευδώνυμο του συνδεόμενου ατόμου" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Το συνδεόμενο κανάλι" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Ο διακομιστής του ατόμου" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Ψευδώνυμο" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Η δράση" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Χαρακτήρας κατάστασης" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Στοιχισμένο κείμενο" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Το κείμενο" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Το μήνυμα" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Όνομα διακομιστή" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Παλιό ψευδώνυμο" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Νέο ψευδώνυμο" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Το ψευδώνυμο του ατόμου που άλλαξε το θέμα" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Θέμα" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Το ψευδώνυμο του ατόμου που έκανε kick" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Το άτομο που έγινε kick" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Το κανάλι" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Η αιτία" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Το ψευδώνυμο του ατόμου που φεύγει" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Η ώρα" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Ο δημιουργός" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Ψευδώνυμο" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Αιτία" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Διακομιστής" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Από ποιον είναι" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Η ώρα σε x.x μορφή (δείτε παρακάτω)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Το κανάλι πρόκειται να" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Ο ήχος" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Το ψευδώνυμο του ατόμου" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Το γεγονός CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Το ψευδώνυμο του ατόμου που έθεσε το κλειδί" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Το κλειδί" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Το ψευδώνυμο του ατόμου που έθεσε το όριο" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Το όριο" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το op" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε op" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε halfop" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το halfop" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Το ψευδώνυμο του ατόμου που έδωσε το voice" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Το ψευδώνυμο του ατόμου που του δόθηκε voice" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το ban" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Η μάσκα του ban" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Το ψευδώνυμο που αφαίρεσε το κλειδί" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Το ψευδώνυμο που αφαίρεσε το όριο" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε deop" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε dehalfop" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Το ψευδώνυμο του ατόμου που του έγινε devoice" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Το ψευδώνυμο του ατόμου που έκανε την εξαίρεση" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Η μάσκα της εξαίρεσης" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Το ψευδώνυμο του ατόμου που αφαίρεσε την εξαίρεση" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Το ψευδώνυμο του ατόμου που έκανε το invite" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Η μάσκα invite" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Το ψευδώνυμο του ατόμου που αφαίρεσε το invite" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Το ψευδώνυμο του ατόμου που θέτει τη κατάσταση" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Το πρόσημο της κατάστασης (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Το γράμμα της κατάστασης" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Το κανάλι στο οποίο ρυθμίστηκε" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Πλήρες όνομα" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Μέλη καναλιού/\"είναι ένας IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Πληροφορίες διακομιστή" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Χρόνος αδράνειας" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Ώρα σύνδεσης" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Αιτία απουσίας" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Μήνυμα" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Λογαριασμός" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Πραγματικά χρήστης@διακομιστής" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Πραγματική διεύθυνση IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Όνομα καναλιού" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Μηχανισμός" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Κείμενο" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Το ψευδώνυμο του ατόμου που σας προσκάλεσε" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Χρήστες" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Το ψευδώνυμο είναι σε χρήση" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Το ψευδώνυμο δοκιμάζεται" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Θύρα" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Μεταβολή καταστάσεων" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "Σύνδεσμος" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Τύπος DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Όνομα αρχείου" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Όνομα αρχείου προορισμού" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Όνομα διαδρομής" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Θέση" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Μέγεθος" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Αναγνωριστικό DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Αριθμός ειδοποιούμενων αντικειμένων" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Παλιό όνομα αρχείου" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Νέο όνομα αρχείου" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Παραλήπτης" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Μάσκα διακομιστή" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Όνομα διακομιστή" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Το πακέτο" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Δευτερόλεπτα" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Το ψευδώνυμο του ατόμου που έχει προσκληθεί" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Μάσκα ban" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Ποιος έθεσε το ban" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Ώρα ban" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Αδυναμία ανάγνωσης του αρχείου ήχου:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Ο απομακρυσμένος διακομιστής έκλεισε το socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Άρνηση σύνδεσης" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Δεν υπάρχει διαδρομή προς το διακομιστή" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Λήξη χρόνου σύνδεσης" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Αδυναμία παραχώρησης αυτής της διεύθυνσης" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Κλείσιμο της σύνδεσης από το ταίρι" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Ανδόρα" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Ηνωμένα Αραβικά Εμιράτα" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Αφγανιστάν" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Αντίγκουα και Μπαρμπούντα" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Αγκίλα" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Αλβανία" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Αρμενία" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Ολλανδικές Αντίλλες" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Αγκόλα" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Ανταρκτική" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Αργεντινή" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Αντίστροφο DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Αμερικάνικη Σαμόα" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Περιοχή Ασίας-Ειρηνικού" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Αυστρία" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Πεδίο ΝΑΤΟ" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Αυστραλία" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Αρούμπα" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Νησιά Αλαντ" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Αζερμπαιζάν" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Βοσνία και Ερζεγοβίνη" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Νησιά Μπαρμπάντος" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Μπαγκλαντές" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Βέλγιο" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Μπουρκίνα Φάσο" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Βουλγαρία" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Μπαχραίν" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Μπουρουντί" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Επιχειρήσεις" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Μπενίν" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Νησιά Βερμούδων" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Μπρούνει Νταρουσαλλέμ" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Βολιβία" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Βραζιλία" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Νησιά Μπαχάμες" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Μουτάν" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Νησί Μουβέτ" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Μποτσουάνα" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Λευκορωσία" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Μπελίζ" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Καναδάς" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Καταλανικά" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Νησιά Κοκος" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Λαϊκή Δημοκρατία του Κονγκό" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Δημοκρατία της Κεντρικής Αφρικής" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Κονγκο" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Ελβετία" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Ακτή Ελεφαντοστού" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Νησιά Κουκ" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Χιλή" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Καμερούν" + +#: src/common/util.c:738 +msgid "China" +msgstr "Λαϊκή Δημοκρατία της Κίνας" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Κολομβία" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Εμπορικό Internic" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Κόστα Ρίκα" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Σερβία και Μαυροβούνιο" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Κούβα" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Ακρωτήριο Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Νησί των Χριστουγέννων" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Κύπρος" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Τσέχικη Δημοκρατία" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Ανατολική Γερμανία" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Γερμανία" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Τζιμπουτί" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Δανία" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Δομινικη" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Δομινικανή Δημοκρατία" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Αλγερία" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ισημερινός" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Εκπαιδευτικό Ίδρυμα (ΗΠΑ)" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Εσθονία" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Αίγυπτος" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Δυτική Σαχάρα" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Ερυθρέα" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Ισπανία" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Αιθιοπία" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Ευρωπαϊκή Ένωση" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Φινλανδία" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Νησιά Φίτζι" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Νησιά Φώκλαντ" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Μικρονησία" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Νησιά Φαρόε" + +#: src/common/util.c:770 +msgid "France" +msgstr "Γαλλία" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Γκαμπόν" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Μεγάλη Βρετανία" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Γρανάδα" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Γεωργία" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Γαλλική Γουινέα" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Βρετανικοί Νήσοι Καναλιού" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Γκάνα" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Γιβλαρτάρ" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Γροιλανδία" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Γκάμπια" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Γουινέα" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Κυβέρνηση" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Γουαδελούπη" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ισημερινή Γουινέα" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Ελλάς" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia and S. Sandwich Isles." + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Γουατεμάλα" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Γκουάμ" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Γουινέα" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Γουιάνα" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Χονγκ Κονγκ" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Νησιά Χερντ και ΜακΝτόναλντ" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Ονδούρας" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Κροατία" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Αϊτή" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ουγγαρία" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Ινδονησία" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ιρλανδία" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Δρακονιανοί" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Ινδία" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Πληροφοριακό" + +#: src/common/util.c:803 +msgid "International" +msgstr "Διεθνές" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Βρετανική Περιοχή Δυτικού Ωκεανού" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ιράκ" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Ιράν" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Ισλανδία" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Ιταλία" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Τζέρσεϋ" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Τζαμάικα" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Ιορδανία" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Ιαπωνία" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Κένυα" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Κουρτζεκισταν" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Καμπότζη" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Κιριμπάτι" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Κομόρες" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Βόρεια Κορέα" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Νότια Κορέα" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Κουβέιτ" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Νησιά Κέυμαν" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Καζακστάν" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Λάος" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Λίβανο" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Άγιος Λουκάς" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Λιχτενστάιν" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Σρι Λάνκα" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Λιβερία" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Λεσότο" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Λιθουανία" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Λουξεμβούργο" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Λεττονία" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Λιβύη" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Μαρόκο" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Μονακό" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Μολδαβία" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Μαυροβούνιο" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Ιατρικό (ΗΠΑ)" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Μαδαγασκάρη" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Νησιά Μάρσαλ" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Στρατιωτικό (ΗΠΑ)" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Βαρδάσκα" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Μαλί" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Μιαμάρ" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Μογγολία" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Μακάο" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Φορητές Συσκευές" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Νήσοι Βόρειας Μαριάνας" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Μαρτινίκα" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Μαυριτανία" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Μονσεράτ" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Μάλτα" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Μαυριτία" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Μουσεία" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Μαλβίδες" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Μαλάουι" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Μεξικό" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Μαλαισία" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Μοζαμβίκη" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Ναμίμπια" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Νέα Καληδονία" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Νίγηρας" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Δίκτυο Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Νήσοι Νόρφολκ" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Νιγηρία" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Νικαράγουα" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Ολλανδία" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Νορβηγία" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Νεπάλ" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Ναούρου" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Νιούε" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Νέα Ζηλανδία" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Ομάν" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Μη Κερδοσκοπικός Οργανισμός Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Παναμάς" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Περού" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Γαλλική Πολυνησία" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Παπούα Νέα Γουινέα" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Φιλιππίνες" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Πακιστάν" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Πολωνία" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Αγ. Πιερ και Μικελλόν" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Πιτκάιρν" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Πουέρτο Ρίκο" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Επαγγέλματα" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Παλαιστινιακά Εδάφη" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Πορτογαλία" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Παλάο" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Παραγουάη" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Κατάρ" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Επανένωση" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Ρουμανία" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet παλιάς σχολής" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Σερβία" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ρωσική Ομοσπονδία" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ρουάντα" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Σαουδική Αραβία" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Νησιά Σολομώντα" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Σευχέλλες" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Σουδάν" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Σουηδία" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Σιγκαπούρη" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Αγία Ελένη" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Σλοβενία" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Νήσοι Svalbard και Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Δημοκρατία της Σλοβακίας" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Σιέρα Λεόνε" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Σαν Μαρίνο" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Σενεγάλη" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Σομαλία" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Σουρινάμ" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Νότιο Σουδάν" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome και Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Πρώην ΕΣΣΔ" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Ελ Σαλβαδόρ" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Συρία" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Σουαζιλάνδη" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Νήσοι Turks και Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Τσαντ" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Γαλλικές Νότιες Περιοχές" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Τόγκο" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Ταΐλάνδη" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Τατζικιστάν" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Τοκελάου" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Ανατολικό Τιμούρ" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Τουρκμενιστάν" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Τυνησία" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Τόνγκα" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Τουρκία" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Ταξίδι και Τουρισμός" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Τρινιδάδ και Τομπάγκο" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Τουβάλου" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Ταϊβάν" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Τανζανία" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ουκρανία" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Ουγκάντα" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Ηνωμένο Βασίλειο" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Ηνωμένες Πολιτείες της Αμερικής" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Ουρουγουάη" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Ουζμπεκιστάν" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Πόλη του Βατικανού" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Άγιος Βικέντιος και Γρεναδίνη" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Βενεζουέλα" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Βρετανικοί Παρθένοι Νήσοι" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Αμερικάνικοι Παρθένοι Νήσοι" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Βιετνάμ" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Βανουάτου" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Νήσοι Wallis και Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Σαμόα" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Ψυχαγωγία Ενηλίκων" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Υεμένη" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Μα-γιοτ" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Γιουγκοσλαβία" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Νότιος Αφρική" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Ζάμπια" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Ζιμπάμπουε" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Δεν ήταν δυνατή η σύνδεση στο δίαυλο μηνυμάτων" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Η ολοκλήρωση της εντολής NameHasOwner απέτυχε" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Η εκτέλεση της εντολής απέτυχε" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "απομακρυσμένη πρόσβαση" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "πρόσθετο για απομακρυσμένη πρόσβαση μέσω DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Δεν ήταν δυνατή η σύνδεση στο δίαυλο μηνυμάτων: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Η λήψη του %s απέτυχε: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Χάρτης χαρακτήρων" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Πρόσκληση" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Δεν υπάρχει σύνδεση." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Πρέπει να επιλέξετε μερικά ban." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Τύπος" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Μάσκα" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Από" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Ημερομηνία" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Μπορείτε να ανοίξετε τη λίστα ban μόνο μέσα από μια καρτέλα καναλιού." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Λίστα Ban (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Αφαίρεση" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Απομάκρυνση υπολοίπων" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Ανανέωση" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d χρήστες σε %d/%d κανάλια." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Επιλέξτε όνομα αρχείου" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Σύνδεση σε κανάλι" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Αντιγραφή ονόματος καναλιού" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Αν_τιγραφή κειμένου θέματος" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Λίστα καναλιών (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Αναζήτηση" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Λήψεις αρχείων" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Αποθήκευση _λίστας..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Να εμφανιστεί μόνο:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "κανάλια με" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "σε" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "χρήστες." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Αναζήτηση σε:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Όνομα καναλιού" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Τύπος αναζήτησης:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Απλή αναζήτηση" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Ταίριασμα μοτίβου (χαρακτήρες μπαλαντέρ)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Κανονική έκφραση" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Εύρεση:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Αποστολή αρχείου στο %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Αυτό το αρχείο δεν μπορεί να συνεχιστεί." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Αδύνατη η πρόσβαση στο αρχείο: %s\n%s.\nΗ συνέχιση είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Το αρχείο στον κατάλογο ληφθέντων αρχείων είναι μεγαλύτερο από αυτό που προσφέρεται. Η συνέχιση είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Η συνέχιση λήψης του ίδιου αρχείου από δυο ανθρώπους είναι αδύνατη." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Λήψεις και αποστολές αρχείων - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Κατάσταση" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Αρχείο" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Απομένει" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Και τα δύο" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Αποστολές" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Λήψεις αρχείων" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Λεπτομέρειες" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Αρχείο:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Διεύθυνση:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Ακύρωση" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Αποδοχή" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Συνέχιση" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Άνοιγμα Φακέλου..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Λίστα συνομιλίας DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Λήψη" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Απεσταλμένο" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Ώρα έναρξης" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Προσθήκη" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Διαγραφή" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Άκυρο" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Αποθήκευση" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Δεν είναι αυτόματη σύνδεση στους διακομιστές" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Χρήση διαφορετικού καταλόγου ρυθμίσεων" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Όχι αυτόματο φόρτωμα προσθέτων" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Εμφάνιση καταλόγου ρυθμίσεων χρήστη" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Άνοιγμα του URL irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Εκτέλεση εντολής:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "επίπεδο" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Προβολή πληροφοριών έκδοσης" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Αδυναμία ανοίγματος γραμματοσειράς:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Η μνήμη εύρεσης είναι άδεια.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Ουρά αποστολής: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Η εντολή Εισαγωγή στη Προσωρινή Μνήμη θα εισάγει τα περιεχόμενα του Data 1 στην εγγραφή όπου η ακολουθία πλήκτρων πατήθηκε στη τρέχουσα θέση του κέρσορα" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Η εντολή Καθορισμός Προσωρινής Μνήμης θέτει την εγγραφή όπου η ακολουθία πλήκτρων πατήθηκε στα περιεχόμενα του Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Η εντολή Περασμένη Εντολή θέτει την εγγραφή να περιέχει την τελευταία εντολή που εισήχθηκε - όμοιο σαν το πάνω βέλος στο κέλυφος" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Η εντολή Επόμενη Εντολή θέτει την εγγραφή να περιέχει την επόμενη εντολή που εισήχθηκε - όμοιο σαν το κάτω βέλος στο κέλυφος" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Αυτή η εντολή αλλάζει το κείμενο της εγγραφής να συμπληρώνει ένα μη πλήρες ψευδώνυμο ή εντολή. Αν το Data 1 είναι καθορισμένο τότε το διπλό-tab σε ένα κορδόνι (string) θα επιλέξει το τελευταίο nick και όχι το επόμενο" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Αυτή η εντολή μετακινεί πάνω και κάτω μέσα στη λίστα των ψευδωνύμων. Αν το Data 1 είναι καθορισμένο τότε μετακινεί πάνω αλλιώς κάτω" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Αυτή η εντολή ελέγχει εάν υπάρχει η τελευταία λέξη που γράφτηκε στη λίστα αντικαταστάσεων και την αντικαθιστά εάν βρει ταίρι" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Αυτή η εντολή μετακινεί την επιλεγμένη καρτέλα μια θέση αριστερά" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Αυτή η εντολή μετακινεί την επιλεγμένη καρτέλα μια θέση δεξιά" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Αυτή η εντολή μετακινεί την τρέχουσα ομάδα καρτελών στα αριστερά" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Αυτή η εντολή μετακινεί την τρέχουσα ομάδα καρτελών στα δεξιά" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Προώθηση της γραμμής εισαγωγής στο ιστορικό αλλά όχι αποστολή στο διακομιστή" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Σφάλμα κατά το φόρτωμα των ρυθμίσεων των πλήκτρων συντόμευσης" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Συντομεύσεις πληκτρολογίου - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Δεν ήταν δυνατή η εγγραφή σε αυτό το αρχείο." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Δεν ήταν δυνατή η ανάγνωση αυτού του αρχείου." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Αυτή η μάσκα υπάρχει ήδη" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Προσωπικό" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Ειδοποίηση" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Αποαγνόηση" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Εισάγετε μάσκα προς αγνόηση:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Λίστα αγνοημένων - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Στατιστικά αγνοημένων:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Κανάλι:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Προσωπικό:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Ειδοποίηση:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Πρόσκληση:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Προσθήκη..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Το όνομα του καναλιού είναι πολύ μικρό, προσπαθήσετε ξανά." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Η σύνδεση ολοκληρώθηκε - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Η σύνδεση στο %s ολοκληρώθηκε" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Τι θέλετε να κάνετε τώρα;" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Τίποτα, θα συνδεθώ σε ένα κανάλι αργότερα." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Σύνδεση στο κανάλι:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Εάν γνωρίζετε το όνομα του καναλιού που θέλετε να συνδεθείτε, εισάγετε το εδώ." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Να εμφανίζεται πάντα αυτό το πλαίσιο διαλόγου μετά τη σύνδεση." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Διάλογος με" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Το θέμα για το %s είναι: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Δεν έχει οριστεί θέμα" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Αυτός ο διακομιστής έχει ακόμα %d κανάλια ή συνομιλίες ανοιχτά. Να κλείσουν όλα;" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Έξοδος από το HexChat;" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Μην με ρωτήσεις την επόμενη φορά." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Είστε σίγουρος ότι θέλετε να βγείτε;" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Μερικές μεταφορές αρχίων είναι ακόμα ενεργές." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Εισαγωγή ιδιότητας ή χρωματικού κώδικα" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Έντονα</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Υπογραμμισμένο</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Πλάγια γραφή</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Κανονικό" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Χρώματα 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Χρώματα 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Ρυθμίσεις" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Κλείσιμο" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Το όριο χρηστών πρέπει να είναι αριθμός!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Όχι εξωτερικά μηνύματα" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Προστασία θέματος" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Μόνο επί πρόσκληση" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Ελεγχόμενο" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Λίστα Ban" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Λέξη κλειδί" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Όριο χρηστών" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Εισάγετε νέο ψευδώνυμο:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Άγνωστος διακομιστής" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Άγνωστος λογαριασμός" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Άγνωστο" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Αληθινό όνομα:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Χρήστης:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Λογαριασμός:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Χώρα:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Διακομιστής:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "πριν από %u λεπτά" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Τελευταίο μήνυμα:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Μήνυμα απουσίας:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Άνοιγμα συνδέσμου στον περιηγητή" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Αντιγραφή επιλεγμένου συνδέσμου" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Σύνδεση στο κανάλι" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Εγκατάλειψη καναλιού" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Επανασύνδεση στο κανάλι" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Αυτόματη σύνδεση" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Μενού χρήστη - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Απαντήσεις CTCP - Ειδικοί κώδικες:\n\n%d = δεδομένα (ολόκληρο το ctcp)\n%e = όνομα τρέχοντος δικτύου\n%m = πληροφορίες συστήματος\n%s = ψευδώνυμο αυτού που έστειλε το ctcp\n%t = ώρα/ημερομηνία\n%2 = λέξη 2\n%3 = λέξη 3\n&2 = λέξη 2 μέχρι το τέλος της γραμμής\n&3 = λέξη 3 μέχρι το τέλος της γραμμής\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Εντολές καθορισμένες από το χρήστη - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Αντικατάσταση - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Αντικατάσταση με" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Χειριστές διευθύνσεων - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Κουμπιά λίστας χρηστών - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Κουμπιά διαλόγου - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Απαντήσεις CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Νέο" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Έξοδος" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Προβολή" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Λίστα _χρήστη" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Κουμπιά _λειτουργιών " + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Καρτέλες" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Δεντ_ροδιάταξη" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Μ_ετρητές δικτύου" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Κλειστό" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Γράφημα" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Πλήρης οθόνη" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "Διακομι_στής" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Αποσύνδεση" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Επανασύνδεση" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Μενού _χρήστη" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Ρυθμίσ_εις" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Προτιμήσεις" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Παράθυρα" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Επαναφορά διαχωριστικής γραμμής" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Αντιγραφή επιλογής" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Καθα_ρισμός κειμένου" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Αναζήτηση" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Εύρεση Επομένου" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Εύρεση Προηγούμενου" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Βοήθεια" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Περι_εχόμενα" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Περί" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Όνομα" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Τελευταία εμφάνιση" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Αποσυνδεδεμένος" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Ποτέ" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "πριν από %d λεπτά" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Μία ώρα πριν" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d ώρες πριν" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Συνδεδεμένος" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Εισάγετε ψευδώνυμο για προσθήκη:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Ειδοποίηση σε αυτά τα δίκτυα:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Είναι αποδεκτή μια λίστα δικτύων χωρισμένη με κόμματα." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Λίστα φίλων - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Άνοιγμα διαλόγου" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Προσωπικό μήνυμα από: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Συνδεδεμένο σε %u δίκτυα και %u κανάλια - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Μήνυμα σε κανάλι" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Προσωπικό μήνυμα" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Επισημασμένο μήνυμα" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u επισημασμένα μηνύματα, τελευταίο από: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Προσωπικό μήνυμα από: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u προσωπικά μηνύματα, το τελευταίο από: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Προσφορά αρχείου από: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u προσφορές αρχείων, τελευταία από: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Έκδοση" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Περιγραφή" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Επιλογή ενός πρόσθετου ή δέσμης ενεργειών για φόρτωμα" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Πρόσθετα και δέσμες ενεργειών - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Άνοιγμα..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Αποθήκευση ως..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Νέο δίκτυο" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Επιβεβαίωση διαγραφής του δικτύου \"%s\" και των διακομιστών του;" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Το όνομα χρήστη δεν μπορεί να είναι κενό." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Πρέπει να έχετε δυο μοναδικά ψευρώνυμα χρήστη." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Επεξεργασία %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Διακομιστές" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Εντολές σύνδεσης" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Ψευδώνυμο χρήστη\n%p=Κωδικός\n%r=Αληθινό όνομα\n%u=Όνομα χρήστη" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Κλειδί (Κωδικός)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Επεξεργασία" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Σύνδεση μόνο στον επιλεγμένο διακομιστή" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Όχι προσπάθεια σε όλους τους διακομιστές όταν αποτύχει η σύνδεση." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Αυτόματη σύνδεση σε αυτό το δίκτυο" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Χρήση SSL για όλους τους διακομιστές σε αυτό το δίκτυο" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Αποδοχή μη έγκυρων πιστοποιητικών SSL" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Χρήση γενικών πληροφοριών χρήστη" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Ψευδώ_νυμο:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Δεύτερη επιλογή:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Πρ_αγματικό όνομα:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Όν_ομα χρήστη:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Μέθοδος εισόδου:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Συνθηματικό διακομιστή:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Σετ χαρακτήρων:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Λίστα δικτύων - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Πληροφορίες χρήστη" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Τρίτη επιλογή:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Δίκτυα" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Να μην εμφανίζεται η λίστα δικτύων στην εκκίνηση" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Επεξεργασία..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Ταξινόμη_ση" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Σύν_δεση" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Αφρικάνς" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Αλβανία" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Αστουριανά" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Αζερμπαιζάν" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Βασκικά" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Λευκορωσία" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Βουλγαρία" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Κινεζικά (Απλοποιημένα)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Κινεζικά (Παραδοσιακά)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Τσεχικά" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Δανέζικα " + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Ολλανδικά" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Αγγλικά (Βρετανίας)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Αγγλικά" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Εσθονία" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Φινλανδικά" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Γαλλικά" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Γαλικιακά" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Γερμανικά" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Ελληνικά" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Ινδία" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ουγγρικά" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Ινδονησιακά" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Ιταλικά" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Ιαπωνικά" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Κορεάτικα" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Λεττονικά" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Λιθουανικά" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Βαρτασκικά" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Μαλαισία" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Πολωνικά" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Πορτογαλικά" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Πορτογαλικά (Βραζιλίας)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ρωσικά" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Σερβικά" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Σλοβάκικα" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Σλοβενικά" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Ισπανικά" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Σουηδικά" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Ταΐλάνδη" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Τουρκικά" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ουκρανικά" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Βιετνάμ" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Γενικές" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Γλώσσα:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Κύρια γραμματοσειρά:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Γραμματοσειρά:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Πεδίο Κειμένου" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Χρωματισμένα ψευδώνυμα" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Δίνει στο ψευδώνυμο του καθένα διαφορετικό χρώμα" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Στοίχιση ψευδωνύμων" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Στοιχίζει δεξιά τα ψευδώνυμα" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Χρήση διαχωριστικής γραμμής" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Εισάγει μια κόκκινη γραμμή μετά το κείμενο που έχει διαβαστεί." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Εικόνα παρασκηνίου:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Ρυθμίσεις διαφάνειας" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Αυτός που μίλησε τελευταίος" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Πεδίο Εισαγωγής" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Έλεγχος ορθογραφίας" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Λεξικά προς χρήση:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Συμπλήρωση ψευδωνύμων" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Επίθεμα συμπλήρωσης ψευδωνύμων:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Η αυτόματη συμπλήρωση ταξινομείται κατά:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "ψευδώνυμα." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Αταξινόμητο" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Κορυφή" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Βάση" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Κρυφό" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Λίστα χρηστών" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Προβολή ονομάτων διακομιστών στη λίστα χρηστών" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Χρήση γραμματοσειράς και χρωμάτων του πλαισίου κειμένου" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Χρήση χρωμάτων ψευδωνύμων στην λίστα χρηστών" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Ταξινόμηση λίστας χρηστών κατά:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Σε κανάλια μικρότερα από:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Ενέργεια κατά το διπλό κλικ" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Παράθυρα" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Καρτέλες" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Πάντα" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Μόνο οι καρτέλες που ζητήθηκαν" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Αυτόματο" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Άνοιγμα καρτέλας για τα μηνύματα διακομιστή" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Άνοιγμα καρτέλας για τα νέα προσωπικά μηνύματα" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ταξινόμηση καρτελών με αλφαβητική σειρά" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Μικρότερο κείμενο" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Εστίαση νέων καρτελών:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Συντόμευση καρτελών σε:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "χαρακτήρες." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Καρτέλες ή παράθυρα" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Άνοιγμα καναλιών σε:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Άνοιγμα διαλόγων σε:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Άνοιγμα εργαλείων σε:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Καρτέλες ή παράθυρα για τα DCC, Ignore, Notify κλπ.;" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Μηνύματα" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Αρχεία και Κατάλογοι" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Αυτόματη αποδοχή αρχείων:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Αποθήκευση αρχείων στο:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Μετακίνηση ολοκληρωμένων αρχείων στο:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Αποθήκευση ψευδωνύμων στα ονόματα αρχείων" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Αυτόματο άνοιγμα παραθύρων DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Παράθυρο αποστολής" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Παράθυρο λήψης" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Παράθυρο συζήτησης" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Αποστολή ενός αρχείου:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Μέγιστη ταχύτητα για μια μεταφορά" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Λήψη ενός αρχείου:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Όλες οι αποστολές αρχείων μαζί:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Μέγιστη ταχύτητα για όλα τα αρχεία" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Όλες οι λήψεις αρχείων συνδυασμένες:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Συναγερμοί" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Ενεργοποίηση εικονιδίου συστήματος" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Επισημασμένα μηνύματα" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Προκαθορισμένα μηνύματα" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Έξοδος:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Εγκατάλειψη καναλιού:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Απουσία:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Απουσία" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Εμφάνιση του μηνύματος απουσίας μια φορά" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Αυτόματη απενεργοποίηση της απουσίας" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Διάφορα" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Εμφάνιση των καταστάσεων (MODE) σε ωμή μορφή" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Απόκρυψη μηνυμάτων εισόδου/εξόδου" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Πραγματικό όνομα:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Εναλλακτικές γραμματοσειρές:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Χρήση ώρας διακομιστή εάν υποστηρίζεται" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Αυτόματη επανασύνδεση στους διακομιστές μετά την αποσύνδεση" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Καθυστέρηση στην αυτόματη επανασύνδεση:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Καταγραφή" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Συγκράτηση γραμμών:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Όνομα αρχείων καταγραφής:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Διακομιστής %c=Κανάλι %n=Δίκτυο." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Χρονοσήμανση των αρχείων καταγραφής" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Μορφή καταγραφόμενης ώρας:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Σύνδεσμος" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Απενεργοποιημένο)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Η διεύθυνσή σας" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Διεύθυνση για τη σύνδεση:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Χρήσιμο μόνο για υπολογιστές με πολλαπλές διευθύνσεις." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Μεταφορές Αρχείων" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Λήψη της διεύθυνσης IP από τον διακομιστή IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Ερώτηση στον διακομιστή IRC για την πραγματική σας διεύθυνση. Χρησιμοποιείστε το όταν έχετε διεύθυνση IP της μορφής 192.168.*.* ή 10.*.*.* !" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC διεύθυνση IP:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Απαίτηση τής χρήσης αυτής της διευθύνσης κατα την προσφορά αρχείων." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Αφήστε τις θύρες στο 0 για πλήρες εύρος." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Διακομιστής Proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Όνομα διακομιστή:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Θύρα:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Τύπος:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Χρήση διακομιστή proxy για:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Πιστοποίηση proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Όνομα χρήστη:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Επιλογή ενός αρχείου εικόνας" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Επιλογή φακέλου αρχείων" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Επιλογή γραμματοσειράς" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Περιήγηση..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Άνοιγμα φακέλου δεδομένων" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Επιλογή χρώματος" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Χρώματα κειμένου" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "χρώματα mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Τοπικά χρώματα:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Πλάνο:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Φόντο:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Επιλεγμένο Κείμενο" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Χρώματα διεπαφής" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Νέα δεδομένα:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Γραμμή επισήμανσης:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Νέο μήνυμα:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Χρήστης απουσίας:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Επισήμανση:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Γεγονός" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Αρχείο ήχου" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Επιλογή αρχείου ήχου" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Αρχείο ήχου:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Περιήγηση..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Αναπαραγωγή" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Διεπαφή" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Εμφάνιση" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Πλαίσιο εισόδου" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Λίστα χρηστών" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Χρώματα" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Συνομιλία" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Ήχοι" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Για προχωρημένους" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Ρυθμίσεις δικτύου" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Μεταφορές αρχείων" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Κατηγορίες" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Δε μπορείτε να τοποθετήσετε το δέντρο πάνω ή κάτω!\nΠαρακαλώ αλλάξτε πρώτα σε διάταξη <b>καρτέλες</b> στο μενού <b>προβολή</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Άλλαξαν ορισμένες ρυθμίσεις που απαιτούν επανεκκίνηση για να ενεργοποιηθούν." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ΠΡΟΕΙΔΟΠΟΙΗΣΗ*\nΗ αυτόματη αποδοχή DCC στο αρχικό κατάλογό σας\nείναι επικίνδυνη και εκμεταλλεύσιμη. Πχ:\nΚάποιος μπορεί να σας στείλει ένα .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Προτιμήσεις - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Περισσότερα..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Προσθήκη του «%s» στο Λεξικό" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Παράβλεψη Όλων" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Προτάσεις Ορθογραφίας" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Σφάλμα κατά την ανάλυση του αλφαριθμητικού" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Αυτό το σήμα παίρνει μόνο %d επιλογές, $%d δεν είναι έγκυρο" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Τυπώνει αρχεία κειμένου" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Αριθμός" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Επεξεργασία γεγονότων" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Άνοιγμα από..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Δοκιμή όλων" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "Εντάξει" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Καταγραφέας διευθύνσεων - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Καθαρισμός λίστας" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Αντιγραφή επιλεγμένου συνδέσμου" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Αντιγραφή" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Αποθήκευση λίστας σε αρχείο" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d σύνολο" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Άνοιγμα ενός URL τύπου irc://server:port/channel" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000000000000000000000000000000000000..99775c0e40ced3d94ae07a3d5ad9a86bba608ec1 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,6269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Alfred Daw <sacarasc@gmail.com>, 2012-2013 +# Sir_Burpalot <doctor.z01db3rg@gmail.com>, 2014,2016-2018 +# Gareth Owen <gowen72@yahoo.com>, 2004 +# Ivan Srbulov <Srbulov.Ivan@gmail.com>, 2013 +# Richard Hitt <rbh00@netcom.com>, 2013 +# Alfred Daw <sacarasc@gmail.com>, 2012 +# TheEndermen <theendermenofdoom@gmail.com>, 2012 +# TheEndermen <theendermenofdoom@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-16 15:03+0000\n" +"Last-Translator: Sir_Burpalot <doctor.z01db3rg@gmail.com>\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/hexchat/hexchat/language/en_GB/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_GB\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC Client" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat is an easy to use yet extensible IRC Client. It allows you to securely join multiple networks and talk to users privately or in channels using a customisable interface. You can even transfer files." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, logging, custom themes, and Python/Perl scripts." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Main Chat Window" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Chat with other people online" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Open Safe Mode" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat Theme Manager" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "I'm busy" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Leaving" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Network" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Channel" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Waiting" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Active" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Failed" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Done" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Connect" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Aborted" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Cannot access %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Error" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s is offering \"%s\". Do you wish to accept?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "No active DCCs\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Open Dialogue Window" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Send a File" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_User Info (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Add to Friends List" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignore" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_perator Actions" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Give Ops" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Take Ops" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Give Voice" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Take Voice" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Ban" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Leave Channel" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Join Channel..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Enter Channel to Join:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Server Links" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping Server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Hide Version" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "bye" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Enter reason to kick %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Send File" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialogue" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Send" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Clear" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "You do not have write access to %s. Nothing from this session can be saved." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Running IRC as root is stupid! You should\n create a User Account and use that to login.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "YES " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "You are being CTCP flooded from %s, ignoring %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.⏎\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Resolved to %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Not found" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Resolved to:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Looking up %s..." + +#: src/common/inbound.c:1992 +msgid "Could not create SCRAM session with digest %s" +msgstr "Could not create SCRAM session with digest %s" + +#: src/common/inbound.c:2024 +msgid "SASL SCRAM authentication failed: %s" +msgstr "SASL SCRAM authentication failed: %s" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No channel joined. Try /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Not connected. Try /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s already exists on network %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Added server %s to network %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Already marked away: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Already marked back.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "I need /bin/sh to run!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Commands Available:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "User defined commands:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Plugin defined commands:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Type /HELP <command> for more information, or /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Unknown arg '%s' ignored." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Quiet is not supported by this server." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "No such plugin found.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "That plugin is refusing to unload.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, adds a button under the user-list" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new server to the network list" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, sends a command to all channels you're in" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, sends a command to all channels on the current server" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, sends a command to all servers you're in" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<reason>], sets you away (use /BACK to unset)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, sets you back (not away)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], bans everyone matching the mask from the current channel. If they are already on the channel this doesn't kick them (needs chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encoding>], get or set the encoding used for the current connection" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command history" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Closes the current tab, closing the window if this is the only open tab, or with the \"-m\" flag, closes all queries." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], parts the current or given channel and immediately rejoins" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - accept an offered file\nDCC SEND [-maxcps=#] <nick> [file] - send a file to someone\nDCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\nDCC LIST - show DCC list\nDCC CHAT <nick> - offer DCC CHAT to someone\nDCC PCHAT <nick> - offer DCC CHAT using passive mode\nDCC CLOSE <type> <nick> <file> example:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, deletes a button from under the user-list" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Disconnects from server" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, Resolves an IP or hostname" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <channel,list,/network> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Prints text locally" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, runs the command. If -o flag is used then output is sent to current channel, else is printed to current text box" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sends the process SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sends the process SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sends data to the processes stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exports HexChat settings" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, flushes the current server's send queue" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], proxies through a host, port defaults to 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nick> [password], Kills a ghosted nickname" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, identifies yourself to nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n mask - host mask to ignore, eg: *!*@*.aol.com\n types - types of data to ignore, one or all of:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, joins the channel" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nick> [reason], bans then kicks the nick from the current channel (needs chanop)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forces a new lag check" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n Use -h to highlight the found string(s)\n Use -m to match case\n Use -r when string is a Regular Expression\n Use -- (double hyphen) to end options when searching for, say, the string '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, loads a plugin or script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, Mass hop's all users in the current channel (needs chanop)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Mass kicks everyone except you in the current channel (needs chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Mass op's all users in the current channel (needs chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nick> <message>, sends a private message, message \".\" to send to last nick or prefix with \"=\" for dcc chat" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [channel], Lists the nicks on the channel" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, Sends a CTCP notice" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, sets your nick" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <nick/channel> <message>, sends a notice" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, gives chanop status to the nick (needs chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], leaves the channel, by default the current one" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP pings nick or channel" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone and optionally sends a message" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current channel if supported by the server." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], disconnects from the current server" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, sends the text in raw form to the server" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <text>, send raw data to HexChat, as if it was received from the IRC server" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <name>, reloads a plugin or script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, sends the text to the object in the current window" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, connects and joins a channel" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the default port is 6667 for normal connections, and 6697 for ssl connections" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <new text>, replace the text in the input box" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], sets the topic if one is given, else shows the current topic" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\nTRAY -f <filename> Set tray to a fixed icon.\nTRAY -i <number> Blink tray with an internal icon.\nTRAY -t <text> Set the tray tooltip.\nTRAY -b <title> <text> Set the tray balloon." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], unbans the specified masks." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, unloads a plugin or script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the server." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, opens a URL in your browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, gives voice status to someone (needs chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, writes the message to all channels" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, sends the message to all chanops on the current channel" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "User Command for: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Usage: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNo help available on that command.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "No such command.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Bad arguments for user command.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Too many recursive user commands, aborting." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Unknown Command %s. Try /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "No hexchat_plugin_init symbol; is this really a HexChat plugin?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tServicing ident request from %s as %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tError starting identd server: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <username>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d deleted.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "No such ref number found.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "No timers installed.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Seconds Repeat Command \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Are you sure this is a SSL capable server and port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Cannot resolve hostname %s\nCheck your IP Settings!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal failed.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Cycling to next server in %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Warning: \"%s\" character set is unknown. No conversion will be applied for network %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O added to notify list." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tCapabilities acknowledged: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tCapabilities removed: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tCapabilities supported: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tCapabilities requested: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O is now known as %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sets ban on %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tChannel %C22$1%O created on %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes voice from %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UChannel Users Topic" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tChannel %C22$1%O modes: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O removes channel keyword" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O removes user limit" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes ban on %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tChannel %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gives voice to %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tConnected. Now logging in." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tConnection failed (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT to %C18$1%O aborted." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tOffering DCC CHAT to %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tAlready offering CHAT to %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Type To/From Status Size Pos File" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tReceived a malformed DCC request from %C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNo such DCC offer." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' instead." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O deleted from notify list." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDisconnected (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O added to ignore list." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnore on %C18$1%O changed." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O removed from ignore list." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OIgnore list is empty." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) has joined" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Skipped%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C is errorneous. Retrying with %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNo such DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tNo process is currently running" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotify: %C18$1%C is back" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tNotify list is empty." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Notify List" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O users in notify list." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) has left" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) has left ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA process is already running" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 has quit ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tLooking up IP number for %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConnected." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tLooking up %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tStopped previous connection attempt (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTopic for %C22$1%C is: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C has changed the topic to: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tUnknown host. Maybe you misspelt it?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUsers on %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tNow talking on %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tYou have left channel %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tYou are now known as %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Loaded log from" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ENDING LOGGING AT %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGIN LOGGING AT %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Can't open log file(s) for writing. Check the\npermissions on %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Left message" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Right message" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP address" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Username" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "The nick of the joining person" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "The channel being joined" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "The host of the person" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "The account of the person" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nickname" + +#: src/common/text.c:980 +msgid "The action" +msgstr "The action" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mode char" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identified text" + +#: src/common/text.c:987 +msgid "The text" +msgstr "The text" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "The message" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Server Name" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Acknowledged Capabilities" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Removed Capabilities" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Server Capabilities" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Requested Capabilities" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Old nickname" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "New nickname" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nick of person who changed the topic" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Topic" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "The nickname of the kicker" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "The person being kicked" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "The channel" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "The reason" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "The nick of the person leaving" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "The time" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "The creator" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Reason" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Who it's from" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "The time in x.x format (see below)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "The Channel it's going to" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "The sound" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "The nick of the person" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "The CTCP event" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "The nick of the person who set the key" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "The key" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "The nick of the person who set the limit" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "The limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "The nick of the person who did the op'ing" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "The nick of the person who has been op'ed" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "The nick of the person who has been halfop'ed" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "The nick of the person who did the halfop'ing" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "The nick of the person who did the voice'ing" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "The nick of the person who has been voice'ed" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "The nick of the person who did the banning" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "The ban mask" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "The nick of the person who did the quieting" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "The quiet mask" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "The nick who removed the key" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "The nick who removed the limit" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "The nick of the person who did the deop'ing" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "The nick of the person who has been deop'ed" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "The nick of the person who did the dehalfop'ing" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "The nick of the person who has been dehalfop'ed" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "The nick of the person who did the devoice'ing" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "The nick of the person who has been devoice'ed" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "The nick of the person who did the unban'ing" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "The nick of the person who did the unquiet'ing" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "The nick of the person who did the exempt" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "The exempt mask" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "The nick of the person removed the exempt" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "The nick of the person who did the invite" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "The invite mask" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "The nick of the person removed the invite" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "The nick of the person setting the mode" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "The mode's sign (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "The mode letter" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "The channel it's being set on" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Full name" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Channel Membership/\"is an IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Server Information" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Idle time" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Signon time" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Away reason" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Message" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Real user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Real IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Channel Name" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mechanism" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Raw Numeric or Identifier" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nick of person who invited you" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Users" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nickname in use" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Nick being tried" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Modes string" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC Type" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Filename" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Destination filename" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Pathname" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Size" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC String" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Away Reason" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Number of notify items" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Old Filename" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "New Filename" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receiver" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hostmask" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostname" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "The Packet" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Seconds" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nick of person who have been invited" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Banmask" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Who set the ban" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Ban time" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Cannot read sound file:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Remote host closed socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Connection refused" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "No route to host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Connection timed out" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Cannot assign that address" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Connection reset by peer" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "United Arab Emirates" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviation-Related Fields" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua and Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Netherlands Antilles" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverse DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "American Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asia-Pacific Region" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland Islands" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia and Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgium" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalan" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocos Islands" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Democratic Republic of Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Central African Republic" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Switzerland" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Cote d'Ivoire" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook Islands" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Cameroon" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperatives" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia and Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Christmas Island" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Czech Republic" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "East Germany" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Germany" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Denmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominican Republic" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Educational Institution" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Western Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spain" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ethiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "European Union" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland Islands" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe Islands" + +#: src/common/util.c:770 +msgid "France" +msgstr "France" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Great Britain" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "French Guiana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "British Channel Isles" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Government" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Equatorial Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Greece" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia and S. Sandwich Isles" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungary" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ireland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informational" + +#: src/common/util.c:803 +msgid "International" +msgstr "International" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "British Indian Ocean Territory" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Iceland" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italy" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Company Jobs" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "North Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "South Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman Islands" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Lebanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall Islands" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Military" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobile Devices" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Northern Mariana Islands" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museums" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individual's Names" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "New Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Network" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Island" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Netherlands" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norway" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organisation" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "French Polynesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua New Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Philippines" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poland" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Professions" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinian Territory" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russian Federation" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomon Islands" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Sweden" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovak Republic" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "South Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Former USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internet Communication Services" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "French Southern Territories" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "East Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkey" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Travel and Tourism" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad and Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "United Kingdom" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "United States of America" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatican City State" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent and the Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "US Virgin Islands" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Adult Entertainment" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "South Africa" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Couldn't connect to session bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Failed to complete NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Failed to complete Command" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "remote access" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin for remote access using DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Couldn't connect to session bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Failed to acquire %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Character Chart" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Exempts" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Exempt" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Invites" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invite" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Quiets" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Quiet" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copy mask" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s on %s by %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copy entry" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Not connected." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "You must select some bans." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Are you sure you want to remove all listed items in %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Type" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "From" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "You can only open the Ban List window while in a channel tab." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Ban List (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Remove" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Crop" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Refresh" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Displaying %d/%d users on %d/%d channels." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Select an output filename" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Join Channel" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copy Channel Name" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copy _Topic Text" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Channel List (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Search" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Download List" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Save _List..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Show only:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "channels with" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "to" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "users." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Look in:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Channel name" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Search type:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Simple Search" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Pattern Match (Wildcards)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regular Expression" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Find:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Send file to %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "That file is not resumable." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Cannot access file: %s\n%s.\nResuming not possible." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "File in download directory is larger than file offered. Resuming not possible." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Cannot resume the same file from two people." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Uploads and Downloads - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "File" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Both" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Details" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "File:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Address:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abort" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accept" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Resume" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Open Folder..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC Chat List - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Sent" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Start Time" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Add" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Delete" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancel" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Save" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Don't auto connect to servers" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Use a different config directory" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Don't auto load any plugins" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Show plugin/script auto-load directory" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Show user config directory" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Open an irc://server:port/channel?key URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Execute command:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Open URL or execute command in an existing HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Begin minimised. Level 0=Normal 1=Iconified 2=Tray" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "level" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Show version information" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Failed to open font:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Search buffer is empty.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Network send queue: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "The Run Command action runs the data in Data 1 as if it had been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \\n characters in Data 1 are used to deliminate separate commands so it is possible to run more than one command. If you want a \\ in the actual text run then enter \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "The Change Page command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position. Set Data 1 to auto to switch to the page with the most recent and important activity (queries first, then channels with hilight, channels with dialogue, channels with other data)." + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "The Scroll Page command scrolls the text widget up or down one page or one line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "This command moves the front tab left by one" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "This command moves the front tab right by one" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "This command moves the current tab family to the left" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "This command moves the current tab family to the right" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Push input line into history but doesn't send to server" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "There was an error loading key bindings configuration" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Select a row to get help information on its Action." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Keyboard Shortcuts - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Cannot write to that file." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Cannot read that file." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "That mask already exists." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Private" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notice" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Unignore" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Are you sure you want to remove all ignores?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Enter mask to ignore:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Ignore list - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignore Stats:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Channel:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Private:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notice:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invite:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Add..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Channel name too short, try again." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Connection Complete - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Connection to %s complete." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "In the server list window, no channel (chat room) has been entered to be automatically joined for this network." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "What would you like to do next?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nothing, I'll join a channel later." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Join this channel:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "If you know the name of the channel you want to join, enter it here." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "O_pen the channel list." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Retrieving the channel list may take a minute or two." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Always show this dialog after connecting." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialogue with" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topic for %s is: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "No topic is set" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "This server still has %d channels or dialogues associated with it. Close them all?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Quit HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Don't ask next time." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "You are connected to %i IRC networks." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Are you sure you want to quit?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Some file transfers are still active." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimise to Tray" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Insert Attribute or Colour Code" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Bold</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Underline</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Italic</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Colours 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Colours 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Settings" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Log to Disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Reload Scrollback" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Strip _Colours" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Hide Join/Part Messages" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Extra Alerts" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Beep on _Message" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Blink Tray _Icon" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Blink Task _Bar" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Detach" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Close" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "User limit must be a number!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filter Colours" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "No outside messages" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Topic Protection" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Invite Only" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderated" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Ban List" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Keyword" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "User Limit" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Enter new nickname:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "No results found." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Search hit end or not found." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Highlight all" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Highlight all occurrences, and underline the current occurrence." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Mat_ch case" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Perform a case-sensitive search." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Regard search string as a regular expression." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host unknown" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Account unknown" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Unknown" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Real Name:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "User:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Account:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Country:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutes ago" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Last Msg:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Away Msg:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nicks selected." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "The Menubar is now hidden. You can show it again by pressing Control+F9 or right-clicking in a blank part of the main text area." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Open Link in Browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copy Selected Link" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Join Channel" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Part Channel" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Cycle Channel" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Autojoin" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Autojoin Channel" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Auto-Connect" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "User menu - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Edit This Menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Marker line disabled." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Marker line never set." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Marker line reset manually." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Marker line reset because exceeded scrollback limit." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Marker line reset by CLEAR command." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Marker line state unknown." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Retrieve channel list" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " has been build without plugin support." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "User Commands - Special codes:\n\n%c = current channel\n%e = current network name\n%m = machine info\n%n = your nick\n%t = time/date\n%v = HexChat version\n%2 = word 2\n%3 = word 3\n&2 = word 2 to the end of line\n&3 = word 3 to the end of line\n\neg:\n/cmd john hello\n\n%2 would be \"john\"\n&2 would be \"john hello\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Userlist Buttons - Special codes:\n\n%a = all selected nicks\n%c = current channel\n%e = current network name\n%h = selected nick's hostname\n%m = machine info\n%n = your nick\n%s = selected nick\n%t = time/date\n%u = selected users account" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Dialogue Buttons - Special codes:\n\n%a = all selected nicks\n%c = current channel\n%e = current network name\n%h = selected nick's hostname\n%m = machine info\n%n = your nick\n%s = selected nick\n%t = time/date\n%u = selected users account" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP Replies - Special codes:\n\n%d = data (the whole ctcp)\n%e = current network name\n%m = machine info\n%s = nick who sent the ctcp\n%t = time/date\n%2 = word 2\n%3 = word 3\n&2 = word 2 to the end of line\n&3 = word 3 to the end of line\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL Handlers - Special codes:\n\n%s = the URL string\n\nPutting a ! in front of the command\nindicates it should be sent to a\nshell instead of HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "User Defined Commands - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Userlist Popup menu - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Replace - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Replace with" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL Handlers - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Userlist buttons - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialog buttons - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP Replies - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Network Li_st" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_New" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Server Tab" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Channel Tab" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Server Window" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Channel Window" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Load Plugin or Script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Quit" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_View" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menu Bar" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Topic Bar" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_User List" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "U_ser List Buttons" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "M_ode Buttons" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Channel Switcher" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Tabs" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "T_ree" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Network Meters" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Off" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graph" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Fullscreen" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Disconnect" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconnect" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Join a Channel" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Channel _List" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Marked _Away" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Usermenu" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "S_ettings" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferences" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Auto Replace" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP Replies" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialog Buttons" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Keyboard Shortcuts" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Text Events" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL Handlers" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "User Commands" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "User List Buttons" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "User List Popup" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Window" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Ban List" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Direct Chat" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "File _Transfers" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Friends List" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Ignore List" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Plugins and Scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Raw Log" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL Grabber" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reset Marker Line" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Move to Marker Line" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copy Selection" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "C_lear Text" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Save Text" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Search" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Search Text" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Search Next" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Search Previous" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Help" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contents" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_About" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Attach" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Name" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Last Seen" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Never" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutes ago" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "An hour ago" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d hours ago" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Enter nickname to add:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notify on these networks:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Comma separated list of networks is accepted." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Friends List - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Open Dialogue" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Highlighted message from: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Channel message from: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "File offer from: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invited to channel by: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notice from: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Private message from: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Connected to %u networks and %u channels - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restore Window" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Hide Window" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Blink on" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Channel Message" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Private Message" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Highlighted Message" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Change status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Away" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Back" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Highlighted message from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u highlighted messages, latest from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Channel message from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u channel messages. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Private message from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u private messages, latest from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "File offer from: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u file offers, latest from: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Description" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Select a Plugin or Script to load" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Plugins and Scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Load..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Unload" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Reload" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Save As..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Raw Log (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Clear Raw Log" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "New Network" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Really remove network \"%s\" and all its servers?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "User name cannot be left blank." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "You cannot have an empty nick name." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "You must have two unique nick names." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "The way you identify yourself to the server. For custom login methods use connect commands." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Edit %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servers" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Autojoin channels" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Connect commands" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Nick name\n%p=Password\n%r=Real name\n%u=User name" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Key (Password)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Edit" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Connect to selected server only" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Don't cycle through all the servers when the connection fails." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Connect to this network automatically" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Bypass proxy server" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Use SSL for all the servers on this network" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Accept invalid SSL certificates" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Use global user information" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nick name:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Second choice:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Rea_l name:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_User name:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Login method:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Password:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Password used for login. If in doubt, leave blank." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Character set:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Network List - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "User Information" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Third choice:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Networks" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Skip network list on startup" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Show favourites only" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Edit..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sort" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down keys to move a row." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favour" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Mark or unmark this network as a favourite." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_onnect" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanian" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharic" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturian" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijani" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basque" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarusian" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarian" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinese (Simplified)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinese (Traditional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Czech" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danish" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Dutch" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "English (British)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "English" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonian" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finnish" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "French" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galician" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "German" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Greek" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hungarian" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesian" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italian" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japanese" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korean" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvian" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lithuanian" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonian" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malay" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norwegian (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norwegian (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polish" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portuguese" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portuguese (Brazilian)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russian" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbian" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovak" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovenian" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanish" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Swedish" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turkish" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainian" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamese" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walloon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Language:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Main font:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Text Box" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Coloured nick names" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Give each person on IRC a different colour" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indent nick names" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Make nick names right-justified" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Show marker line" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Insert a red line after the last read text." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Background image:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Transparency Settings" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Window opacity:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Timestamps" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Enable timestamps" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Timestamp format:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "See the strftime MSDN article for details." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "See the strftime manpage for details." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Title Bar" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Show channel modes" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Show number of users" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Last-spoke order" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Input Box" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Use the text box font and colours" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Render colours and attributes" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Show nick box" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Show user mode icon in nick box" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Spell checking" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Dictionaries to use:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSeparate multiple entries with commas." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Use language codes. Separate multiple entries with commas." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Nick Completion" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Nick completion suffix:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Nick completion sorted:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Nick completion amount:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Threshold of nicks to start listing instead of completing" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "nicks." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Graphical" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, ops first" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, ops last" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Unsorted" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Left (upper)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Left (lower)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Right (upper)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Right (lower)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Top" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bottom" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Hidden" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "User List" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Show hostnames in user list" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Use the Text box font and colours" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Show icons for user modes" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Use graphical icons instead of text symbols in the user list." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Colour nicknames in userlist" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Will colour nicknames the same as in chat." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Show user count in channels" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "User list sorted by:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Show user list at:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Away Tracking" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Track the away status of users and mark them in a different colour" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "On channels smaller than:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Action Upon Double Click" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Extra Gadgets" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Lag meter:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Throttle meter:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Windows" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Tabs" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Always" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Only requested tabs" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatic" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "In an extra tab" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "In the front tab" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Tree" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Switcher type:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Open an extra tab for server messages" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Open a new tab when you receive a private message" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sort tabs in alphabetical order" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Show icons in the channel tree" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Show dotted lines in the channel tree" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Scroll mouse-wheel to change tabs" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Middle click to close tab" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Smaller text" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Focus new tabs:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Placement of notices:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Show channel switcher at:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Shorten tab labels to:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letters." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Tabs or Windows" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Open channels in:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Open dialogues in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Open utilities in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Open DCC, Ignore, Notify etc, in tabs or windows?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Messages" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Scrollback" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Ask for confirmation" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Ask for download folder" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Save without interaction" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Files and Directories" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Auto accept file offers:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Download files to:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Move completed files to:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Save nick name in filenames" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Auto Open DCC Windows" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Send window" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Receive window" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Chat window" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Maximum File Transfer Speeds (Byte per Second)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "One upload:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maximum speed for one transfer" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "One download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "All uploads combined:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maximum speed for all files" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "All downloads combined:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alerts" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Show notifications on:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Blink tray icon on:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Blink task bar on:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Make a beep sound on:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Play the \"Instant Message Notification\" system sound upon the selected events" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Play \"message-new-instant\" from the \"freedesktop.org\" sound theme upon the selected events" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Play a GTK beep upon the selected events" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Omit alerts when marked as being away" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Omit alerts while the window is focused" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Tray Behaviour" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Enable system tray icon" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimise to tray" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Close to tray" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Automatically mark away/back." + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automatically change status when hiding to tray." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Only show notifications when hidden or iconified" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Highlighted Messages" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Highlighted messages are ones where your nickname is mentioned, but also:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Extra words to highlight:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nick names not to highlight:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nick names to always highlight:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separate multiple words with commas.\nWildcards are accepted." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Bounce dock icon on:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Default Messages" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Quit:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Leave channel:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Away:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Away" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Show away once" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Show identical away messages only once." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatically unmark away" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Unmark yourself as away before sending messages." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Miscellaneous" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Display MODEs in raw form" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS on notify" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Sends a /WHOIS when a user comes online in your notify list." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Hide join and part messages" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Hide channel join/part messages by default." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Hide nick change messages" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Auto Copy Behaviour" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Automatically copy selected text" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copy selected text to clipboard when left mouse button is released. Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Automatically include timestamps" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Automatically include timestamps in copied lines of text. Otherwise, include timestamps if the Shift key is held down while selecting." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Automatically include colour information" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Automatically include colour information in copied lines of text. Otherwise, include colour information if the Ctrl key is held down while selecting." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Real name:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternative fonts:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Separate multiple entries with commas without spaces before or after." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Display lists in compact mode" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Use less spacing between user list/channel tree rows." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Use server time if supported" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Display timestamps obtained from server if it supports the time-server extension." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Automatically reconnect to servers on disconnect" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Auto reconnect delay:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Auto join delay:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Ban Type:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Attempt to use this banmask when banning or quieting. (requires irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Display scrollback from previous session" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Scrollback lines:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Enable logging of conversations to disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Log filename:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Channel %n=Network." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Insert timestamps in logs" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Log timestamp format:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLs" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Enable logging of URLs to disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Enable URL grabber" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maximum number of URLs to grab:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Disabled)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "All connections" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "IRC server only" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "DCC only" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Your Address" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Bind to:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Only useful for computers with multiple addresses." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "File Transfers" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Get my address from the IRC server" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP address:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Claim you are at this address when offering files." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "First DCC listen port:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Last DCC listen port:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Leave ports at zero for full range." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy Server" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Type:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Use proxy for:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy Authentication" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Use authentication (HTTP or SOCKS5 only)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Username:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd Server" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Enabled" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Server will respond with the networks username" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "You must have permissions to listen on this port. If not 113 (0 defaults to this) then you must configure port-forwarding." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Select an Image File" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Select Download Folder" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Select font" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Browse..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Open Data Folder" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Select colour" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Text Colours" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC colours:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Local colours:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Foreground:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Background:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Selected Text" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Interface Colours" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "New data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Marker line:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "New message:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Away user:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Highlight:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Spell checker:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Colour Stripping" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Event" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Sound file" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Select a sound file" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Sound file:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Browse..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Play" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Appearance" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Input box" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "User list" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Channel switcher" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Colours" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chatting" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sounds" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Advanced" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Network setup" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "File transfers" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categories" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "You cannot place the tree on the top or bottom!\nPlease change to the <b>Tabs</b> layout in the <b>View</b> menu first." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "The Real name option cannot be left blank. Falling back to \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Some settings were changed that require a restart to take full effect." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*WARNING*\nAuto accepting DCC to your home directory\ncan be dangerous and is exploitable. Eg:\nSomeone could send you a .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferences - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(no suggestions)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "More..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Add \"%s\" to Dictionary" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignore All" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Spelling Suggestions" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant error for language: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "There was an error parsing the string" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "This signal is only passed %d args, $%d is invalid" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Print Texts File" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Number" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Edit Events" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Load From..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Test All" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL Grabber - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Clear list" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copy selected URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copy" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Save list to a file" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Open an irc://server:port/channel URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Failed to get info. Either not supported or error." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: No info by that name\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s is set to: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Valid settings are: announce and hide_* for each piece of information. e.g. hide_os. Without a value it will show current (or default) setting.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Invalid variable name\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s plugin loaded\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s plugin unloaded\n" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000000000000000000000000000000000000..aeb64033a143ac8833653a73a33bed9ed7101bd5 --- /dev/null +++ b/po/es.po @@ -0,0 +1,6267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Alejandro López-Valencia, 2016-2017 +# Pedro A. López-Valencia, 2017 +# bviktor, 2012 +# bviktor, 2012 +# Gato Loko, 2016 +# Gato Loko, 2016-2017 +# hard ware, 2018 +# Pedro A. López-Valencia, 2016 +# Pedro A. López-Valencia, 2016 +# Víctor Vega <vegadark@protonmail.com>, 2013-2014 +# Víctor Vega <vegadark@protonmail.com>, 2012-2013 +# Víctor Vega <vegadark@protonmail.com>, 2014-2017 +# Víctor Vega <vegadark@protonmail.com>, 2014,2018-2019 +# Víctor Vega <vegadark@protonmail.com>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2019-01-28 21:28+0000\n" +"Last-Translator: Víctor Vega <vegadark@protonmail.com>\n" +"Language-Team: Spanish (http://www.transifex.com/hexchat/hexchat/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Cliente de IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat es un cliente de IRC fácil de usar. Permite unirse a múltiples redes de manera segura y hablar con los usuarios en privado o en los canales usando una interfaz personalizable. Incluso puede enviar archivos." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat soporta características como: DCC, SASL, proxies, autocorrector, alertas, registro automático, temas personalizados, y scripts en Python/Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Ventana principal de charla" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Charlar con otras personas en línea" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Abrir en modo seguro" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Administrador de temas de HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Estoy ocupado" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Saliendo" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{sin establecer}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Red" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ninguno>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Esperando" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Activo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Fallido" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Terminado" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Conectar" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Abortado" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "No se puede acceder a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Error" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s está ofreciendo «%s». ¿Desea aceptar?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "No hay DCCs activos\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Abrir ventana de diálogo" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Enviar un archivo" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Información del _usuario (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Añadir a la lista de amigos" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorar" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Acciones de operador" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dar Op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Quitar Op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dar voz" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Quitar voz" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Expulsar/Banear" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Expulsar" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Banear" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Expulsar y banear" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Abandonar canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Unirse al canal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Introduce el canal a unirte:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Enlaces del servidor" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping al servidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ocultar la versión" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Dar Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Quitar Op" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "adiós" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduce el motivo para expulsar a %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Enviar archivo" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Diálogo" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Enviar" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Limpiar" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "No tienes acceso de escritura a %s. No se guardará nada de esta sesión." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* ¡Ejecutar IRC como root es peligroso! Debería\n crear una cuenta de usuario y usarla para conectarse.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SÍ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Estás siendo inundado de CTCP de %s, ignorando a %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Estás siendo inundado de MSG de %s, poniendo gui_autoopen_dialog a OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Resuelto para %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "No encontrado" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Resuelto para:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Buscando %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s en línea\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s fuera de línea\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "No se ha unido a ningún canal. Intente /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "No está conectado. Intente /server <host> [<puerto>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "El servidor %s ya existe en la red %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Servidor %s añadido a la red %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Ausencia ya marcada: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Ausencia ya desmarcada.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "¡Se necesita /bin/sh para poder ejecutarse!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Órdenes disponibles:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Órdenes definidas por el usuario:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Órdenes definidas por el complemento:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escriba /HELP <orden> para obtener más información, ó /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconocido '%s' ignorado." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Silenciar no está soportado en este servidor." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Complemento no encontrado.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "El complemento no permite ser descargado.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nombre> <acción>, añade un botón debajo de la lista de usuarios" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <RedNueva> <servidor/6667>, añade una red nueva con un servidor nuevo a la lista de redes" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envía una orden a todos los canales a los que se ha unido" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <orden>, envía una orden a todos los canales del servidor actual" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envía una orden a todos los servidores a los que se ha conectado" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<motivo>], establece tu ausencia (utiliza /BACK para quitarla)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, establece tu regreso (no ausente)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <máscara> [<tipo de baneo>], banea del canal actual a todos aquellos que concuerden con la máscara. Si ya están en el canal esto no les expulsa (es necesario ser operador del canal)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<codificación>], obtiene o configura la codificación usada en la conexión actual" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<valor>], limpia la ventana de texto actual o el historial de órdenes" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Cierra la pestaña activa, incluyendo la ventana si esta es la única abierta. Con la opción «-m» cierra todas las pestañas de consulta (QUERY)." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <código|comodín>, busca un código de país, ej: au = Australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <apodo> <mensaje>, envía el mensaje CTCP al apodo, los mensajes comunes son VERSION y USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], abandona el canal actual o el dado y se reincorpora inmediatamente" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <apodo> - acepta un archivo\nDCC SEND [-maxcps=#] <apodo> [archivo] - envía un archivo a alguien\nDCC PSEND [-maxcps=#] <apodo> [archivo] - envía un archivo usando el modo pasivo\nDCC LIST - muestra la lista DCC\nDCC CHAT <apodo> - ofrece una CHARLA DCC a alguien\nDCC PCHAT <apodo> - ofrece una CHARLA DCC usando el modo pasivo\nDCC CLOSE <tipo> <apodo> <archivo> - ejemplo:\n /dcc close send juanperez archivo.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <apodo>, quita el estado de semioperador del canal al apodo en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nombre>, borra un botón de debajo de la lista de usuarios" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <apodo>, quita el estado de operador al apodo en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <apodo>, quita el estado de voz del apodo en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, se desconecta del servidor" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <apodo|host|ip>, resuelve una dirección IP o un nombre de host" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <canal,lista,/red> <comando>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, imprime texto localmente" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <orden>, ejecuta la orden. Si se usa la bandera -o entonces la salida es enviada al canal actual, si no, se imprime en el cuadro de texto actual" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envía al proceso la señal de continuar" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], finaliza un ejecutable de la sesión actual. Si se indica -9 el proceso es finalizado por la fuerza" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envía al proceso la señal de detenerse" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envía los datos a los procesos stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporta la configuración de HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, borra la cola de envío actual del servidor" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<puerto>], utiliza un proxy a través de un host, el puerto predeterminado es el 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <apodo> [contraseña], libera la sesión fantasma de un apodo" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <apodo>, pone estado de semioperador al apodo (necesita ser operador del canal)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contraseña>, se identifica con NickServ" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <máscara> <tipos..> <opciones..>\n máscara - máscara de hosts a ignorar, ej: *!*@*.aol.com\n tipos - tipos de datos a ignorar, uno o todos de:\n PRIV, CHAN, NOTI, CTCP, INVI, ALL\n opciones - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <apodo> [<canal>], invita a alguien a un canal, por omisión el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, se une al canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <apodo> [motivo], expulsa del canal actual al apodo (necesita ser operador del canal)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <apodo> [motivo], banea y luego expulsa del canal actual al apodo (necesita ser operador del canal)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, fuerza una nueva prueba de retardo" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <cadena>, busca una cadena en el búfer\n Usa -h para resaltar la(s) cadena(s) encontrada(s)\n Usa -m para coincidencias\n Usa -r cuando la cadena es una expresión regular\n Usa -- (guion doble) para poner fin a las opciones de búsqueda, por ejemplo, la cadena '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <archivo>, carga un complemento o guion (script)" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, quita masivamente el estado de semioperador en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, quita masivamente el estado de operador en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <acción>, envía la acción al canal actual (las acciones están escritas en tercera persona del inglés, como /me salta)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, pone masivamente el estado de semioperador en el canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Expulsa masivamente del canal actual a todos excepto a usted (necesita ser operador del canal)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, pone masivamente el estado de operador del canal actual (necesita ser operador del canal)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <apodo> <mensaje>, envía un mensaje privado, mensaje «.» para enviarselo al último apodo o ponga el prefijo «=» para una charla dcc" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [canal], lista los apodos en el canal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <apodo> <mensaje>, envía un aviso CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nombre de host> [<puerto>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <apodo>, establece su apodo" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <apodo/canal> <mensaje>, envía un aviso" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n red1[,red2,...]] [<apodo>], muestra tu lista de notificaciones o agrega a alguien en ella" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <apodo>, pone el estado de operador del canal al apodo (necesita ser operador del canal)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<razón>], abandona un canal, por defecto, el canal actual" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <apodo | canal>, envía pings CTCP al apodo o canal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <apodo> [mensaje], abre una nueva ventana privada de mensajes a alguien y, opcionalmente, envía un mensaje" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <máscara> [<tipo de silencio>], silencia a todos los que coincidan con la máscara en el canal actual, si el servidor lo soporta." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razón>], se desconecta del servidor actual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envía el texto en bruto al servidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<puerto>] [<contraseña>], puede ser invocado como /RECONNECT para reconectarse al servidor actual o con /RECONNECT ALL para reconectarse a todos los servidores abiertos" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<puerto>] [<contraseña>], puede ser invocado como /RECONNECT para reconectarse al servidor actual o con /RECONNECT ALL para reconectarse a todos los servidores abiertos" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <texto>, envía datos en bruto a HexChat, como si los recibiese del servidor IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nombre>, recarga un complemento o script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envía el texto al objeto en la ventana actual" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <apodo> [<archivo>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <puerto> <canal>, se conecta y entra al canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <puerto> <canal>, se conecta y entra al canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<puerto>] [<contraseña>], se conecta a un servidor, el puerto predeterminado es 6667 para conexiones normales y 6697 para conexiones ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<puerto>] [<contraseña>], se conecta a un servidor, el puerto predeterminado es 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variable> [<valor>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posición>, reposicionar el cursor en cuadro de entrada" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nombre nuevo>, cambia el nombre a una pestaña, el límite tab_trunc sigue siendo válido" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <texto nuevo>, reemplaza el texto en el cuadro de entrada" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tema>], establece el tema si se proporciona uno, de lo contrario muestra el tema actual" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <tiempo de espera> <archivo1> [<archivo2>] La bandeja parpadea entre dos iconos.\nTRAY -f <nombre de archivo> Configura en la bandeja como icono fijo.\nTRAY -i <número> La bandeja parpadea con un icono interno.\nTRAY -t <texto> Configura la descripción de la bandeja.\nTRAY -b <título> <texto> Configura el globo de la bandeja." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <máscara> [<máscara>...], desbanea las máscaras especificadas." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nombre>, descarga un complemento o guion (script)" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <máscara> [<máscara>...], quita el silencio a la máscara especificada, si el servidor lo soporta." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre una URL en su navegador" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <apodo1> <apodo2> etc, resalta apodo(s) de la lista de usuarios del canal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <apodo>, pone el estado de voz a alguien (necesita ser operador del canal)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensaje>, escribe el mensaje en todos los canales" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensaje>, envía el mensaje a todos los operadores del canal en el canal actual" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Orden de usuario para: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNo hay ayuda disponible para esa orden.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "No existe esa orden.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumentos erróneos para la orden de usuario.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Demasiadas órdenes de usuario recursivas, abortando." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Orden %s desconocida. Intente /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Sin distintivo hexchat_plugin_init; ¿realmente es un complemento de HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tSolicitud de servicio de ident de %s como %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tError al iniciar el servidor identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <puerto> <usuario>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Temporizador %d eliminado.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "No se encontró el número de referencia.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "No hay temporizadores instalados.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Segundos Repeticiones Orden \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "¿Está seguro de que se trata de un servidor y puerto compatibles con SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "No se pudo resolver el nombre de host %s\n¡Verifique su configuración IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Ha fallado el proxy transversal.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ciclando al siguiente servidor en %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Advertencia: el conjunto de caracteres «%s» es desconocido. No se aplicará ninguna conversión a la red %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O añadido a lista de notificaciones." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O el %C24$4%O por %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNo puede entrar a %C22$1 %O(%C20Está baneado%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tCapacidades reconocidas: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tCapacidades eliminadas: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tCapacidades soportadas: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tCapacidades solicitadas: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O ahora es conocido como %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O banea a %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tCanal %C22$1%O creado el %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita semiop a %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita op a %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita voz a %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26 $1%C pone exención a %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O da semiop a %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C pone modo +I a %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanal Usuarios Tema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O pone modo %C24$2$3%O en %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O modos: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O da op a %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O pone silencio a %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita exención a %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita modo -I en %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O quita la contraseña del canal" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O quita el límite de usuarios" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O pone la contraseña del canal a %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O pone el límite de usuarios del canal a %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita el baneo a %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O quita silencio a %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O da voz a %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tConectado. Iniciando sesión." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tConectando a %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tLa conexión falló (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRecibido un CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tRecibido un CTCP %C24$1%C de %C18$2%C (en %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRecibido un sonido CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tRecibido un sonido CTCP %C24$1%C de %C18$2%C (en %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tCHARLA DCC con %C18$1%O cancelada." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tCHARLA DCC conexión establecida con %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tCHARLA DCC con %C18$1%O perdida (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tRecibida una petición de CHARLA DCC de %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tOfreciendo CHARLA DCC a %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tYa se envió una petición de CHARLA a %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 intento de conexión con %C18$2%O fallido (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tRecibido '%C23$1%C' de %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Tipo Hacia/Desde Estado Tamaño Pos Archivo" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tRecibida una petición DCC malformada de %C18$1%O.$a010%C23*%O$tContenido del paquete: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tOfreciendo '%C24$1%O' a %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNo se ofreció ningún DCC." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' a %C18$1%O cancelado." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' de %C18$3%O completado %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV conexión establecida con %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' de %C18$3%O fallido (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: No se pudo abrir '%C23$1%C' como escritura (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tEl archivo '%C24$1%C' ya existe, guardándo como '%C23$2%O' en su lugar." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C ha solicitado reanudar '%C23$2%C' de %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' a %C18$1%O cancelado." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' a %C18$2%C completado %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND conexión establecida con %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' a %C18$2%C fallido (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C ha ofrecido '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' a %C18$3%O perdida, cancelando." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' a %C18$3%O tiempo agotado, cancelando." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O borrado de la lista de notificaciones." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDesconectado (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tEncontrada tu IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O añadido a la lista de ignorados." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorar a %C18$1%O cambiado." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Host PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O borrado de la lista de ignorados." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLa lista de ignorados está vacía." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tNo se pudo unir a %C22$1%C (%C20El canal es solo para invitados%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tHa sido invitado a %C22$1%O por %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) se ha unido" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNo se pudo unir a %C22$1%C (%C20Se necesita contraseña%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C ha expulsado a %C18$2%C de %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Has sido expulsado por %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD omitido%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C ya está en uso. Intentando con %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C es erróneo. Intentando con %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tEl apodo es erróneo o ya está en uso. Use /NICK para probar con otro." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNo hay ningún DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tNo se está ejecutando ningún proceso" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotificación: %C18$1%C está ausente (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotificación: %C18$1%C está en línea" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLa lista de notificaciones está vacía." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Lista de notificaciones" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O usuarios en la lista de notificaciones." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotificación: %C18$1%C está fuera de línea (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotificación: %C18$1%C está en línea (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) ha salido" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) ha salido ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tRespuesta ping de %C18$1%C: %C24$2%O segundo(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tSin respuesta ping de %C24$1%O segundos, desconectando." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tYa se está ejecutando el proceso" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 se ha marchado ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C pone modos %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tBuscando número de IP para %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutenticando vía SASL como %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConectado." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tBuscando %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tDetenido el anterior intento de conexión (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTema de %C22$1%C: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C ha cambiado el tema a: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTema de %C22$1%C puesto por %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tHost desconocido. ¿Lo escribió mal?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tNo se pudo unir a %C22$1%C (%C20Se alcanzó el límite de usuarios%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUsuarios en %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C está ausente %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFin de la lista WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inactivo %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inactivo %C23$2%O, entró el: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Host real: %C23$2%O, IP real: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tUnido a %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tHa sido expulsado de %C22$2%C por %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tHa abandonado el canal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tHa abandonado el canal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tHa invitado a %C18$1%O al canal %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tAhora es conocido como %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Registro cargado desde" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINALIZANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICIANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Imposible abrir el registro(s) de escritura. Revise los\npermisos en %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Dejar mensaje" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Mensaje correcto" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Dirección IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nombre de usuario" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "El apodo de la persona que se une" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "El canal al que se está uniendo" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "El host de la persona" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "La cuenta de la persona" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Apodo" + +#: src/common/text.c:980 +msgid "The action" +msgstr "La acción" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Modo carácter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Texto identificado" + +#: src/common/text.c:987 +msgid "The text" +msgstr "El texto" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "El mensaje" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nombre del servidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Capacidades reconocidas" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Capacidades eliminadas" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Capacidades del servidor" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Capacidades solicitadas" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Apodo anterior" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nuevo apodo" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Apodo de la persona que ha cambiado el tema" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "El apodo del que expulsó" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "La persona que fue expulsada" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "El canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "La razón" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "El apodo de la persona que abandonó" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "La fecha" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "El creador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Apodo" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razón" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De quién viene" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "La fecha en formato x.x (ver debajo)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "El canal al que va" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "El sonido" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "El apodo de la persona" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "El evento CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "El apodo de la persona que puso la clave" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "La clave" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "El apodo de la persona que puso el límite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "El limite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "El apodo de la persona que dio el op" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "El apodo de la persona que recibió el op" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "El apodo de la persona que recibió el semiop" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "El apodo de la persona que dio el semiop" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "El apodo de la persona que dio la voz" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "El apodo de la persona que recibió la voz" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "El apodo de la persona que puso el baneo" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "La máscara de baneo" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "El apodo del usuario que puso el silencio" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "La máscara de silencio" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "El apodo de quién eliminó la clave" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "El apodo de quién eliminó el límite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "El apodo de la persona que quitó el op" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "El apodo de la persona a la que se quitó el op" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "El apodo de la persona que quitó el semiop" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "El apodo de la persona a la que se quitó el semiop" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "El apodo de la persona que quitó la voz" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "El apodo de la persona a la que se quitó la voz" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "El apodo de la persona que quitó el baneo" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "El apodo de la persona que quitó el silencio" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "El apodo de la persona que puso la excención" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "La máscara de excención" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "El apodo de la persona que quitó la exención" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "El apodo de la persona que dio la invitación" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "La máscara de invitación" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "El apodo de la persona que quitó la invitación" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "El apodo de la persona que puso el modo" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "El signo del modo (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "La letra del modo" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "El canal esta siendo configurado" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nombre completo" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membresía del canal/«es un operador de IRC»" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Información del servidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tiempo inactivo" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Tiempo de conexión" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razón de la ausencia" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mensaje" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Cuenta" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Real usuario@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Real IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nombre del canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mecanismo" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Identificador o número en bruto" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Apodo de la persona que le ha invitado" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Usuarios" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Apodo en uso" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Intentando usar el apodo" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Puerto" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Cadena de modos" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nombre de archivo" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nombre de archivo de destino" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Ruta" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posición" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamaño" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Cadena DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Motivo de ausencia" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Número de elementos de notificación" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Nombre anterior del archivo" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nombre nuevo del archivo" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Máscara de host" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nombre de host" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "El paquete" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Apodo de la persona que ha sido invitada" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Máscara de baneo" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Quién ha puesto el baneo" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Fecha del baneo" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "No se puede leer el archivo de sonido:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Puerto cerrado en el equipo remoto" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Conexión rechazada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "No hay ruta hacia el host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Tiempo de espera de la conexión agotado" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "No se puede asignar esa dirección" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Conexión reiniciada por el par" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Isla Ascensión" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emiratos Arabes Unidos" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Campos relacionados con la aviación" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistán" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua y Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antillas Holandesas" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antártida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americano" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Región Asia-Pacífico" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Fiel a la OTAN" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Islas de Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaiyán" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia y Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bélgica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negocios" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bután" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Isla Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorrusia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belice" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalán" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Islas Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democrática del Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centro Africana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suiza" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa de Marfil" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Islas Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camerún" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Anuncio de Internic" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperativas" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia y Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Isla Natividad" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Alemania del Este" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemania" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Argelia" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institución educativa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Occidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "España" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopía" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Unión Europea" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Islas Malvinas" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Islas Feroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabón" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Gran Bretaña" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guayana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Islas del Canal de la Mancha" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Gobierno" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea Ecuatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Islas Georgia y Sandwich del Sur" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guayana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Islas Heard y McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croacia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungría" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isla de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territorio Oceánico Indio Británico" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Empleos" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japón" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Camboya" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "San Kitts y Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corea del Norte" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corea del Sur" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Islas Caimán" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazajistán" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucía" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letonia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marruecos" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Servicio médico de Estados Unidos" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Islas Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Dispositivos móviles" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Islas Marianas del Norte" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauricio" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museos" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malasia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Nombres individuales" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nueva Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Red de Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Isla Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nueva Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organización sin ánimo de lucro Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papau Nueva Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistán" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "San Pierre y Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesiones" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territorio Palestino" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunión" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Vieja escuela de ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federación Rusa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabia Saudí" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Islas Salomón" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suecia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Islas Svalbard y Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "República de Eslovaquia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leona" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudán del Sur" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Santo Tomé y Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Antigua URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swazilandia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Islas Turks y Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Dispositivos de comunicación de internet" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territorios Franceses del Sur" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tayikistán" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Túnez" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquía" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Viajes y turismo" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad y Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucrania" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estados Unidos" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ciudad Estado del Vaticano" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "San Vicente y las Granadinas" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Islas Virgenes Británicas" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Islas Virgenes Norteamericanas" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Islas Wallis y Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Entretenimiento adulto" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sudáfrica" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "No se ha podido conectar al bus de la sesión" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "No se pudo completar NombreTieneDueño" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "No se pudo completar la orden" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "acceso remoto" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "complemento de acceso remoto usando DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "No se pudo conectar la conexión al bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Imposible adquirir %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Lista de caracteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Baneos" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Exenciones" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Exención" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Invitados" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invitar" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Silenciados" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Silenciar" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copiar máscara" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s el %s por %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copiar entrada" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "No conectado." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Debe seleccionar algún baneado." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "¿Seguro de que desea eliminar todos los elementos de la lista de %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipo" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Por" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Fecha" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Sólo puede abrir la lista de baneos en una pestaña de canal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Lista de baneos (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Quitar" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Mantener" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Refrescar" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Mostrando %d/%d usuarios en %d/%d canales." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccione un archivo de salida" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Unirse al canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copiar el nombre del canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copiar el texto del _tema" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Lista de canales (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Buscar" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Descargar lista" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Guardar _lista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Mostrar solo:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canales de" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "usuarios." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Buscar en:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nombre del canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipo de búsqueda:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Búsqueda simple" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Patrón (con comodines)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expresión regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Buscar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Enviar archivo a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Ese archivo no se puede reanudar." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "No se pudo acceder al archivo: %s\n%s.\nNo es posible reanudar." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "El archivo del directorio de descarga es más grande que el archivo ofrecido. No es posible reanudar." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "No se puede reanudar el mismo archivo desde dos personas." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Subidas y descargas - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estado" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Archivo" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Tiempo" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Subidas" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Descargas" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalles" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Archivo:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Dirección:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abortar" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Aceptar" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Reanudar" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Abrir carpeta..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Lista de charlas DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recibido" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Hora de inicio" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Añadir" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Borrar" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Guardar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "No conectar automáticamente a los servidores" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Usar un directorio de configuración diferente" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "No cargar automáticamente ningún complemento" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Mostrar directorio de carga automática de complementos y scripts" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mostrar directorio de configuración de usuario" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Abrir una dirección irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Ejecutar orden:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Abrir URL o ejecutar una orden en una sesión existente de HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Iniciar minimizado. Nivel 0=Normal 1=Iconificado 2=Bandeja" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivel" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Mostrar información de la versión" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Error al abrir la fuente:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "El buffer de búsqueda esta vacio.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Cola de envío de red: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "La acción Run Command ejecuta los datos de Data 1 como si hubieran sido escritos en el cuadro de entrada, donde se introducen las secuencias. Por lo tanto, puede contener texto (que se enviará al canal/persona), órdenes de sistema o de usuario. Cuando se ejecuta, se usan los caracteres \\n de Data 1 para delimitar órdenes, por lo que es posible ejecutar más de una orden. Si quiere poner un caracter \\ en el texto, entonces introduzca \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "La orden Change Page alterna entre las páginas del selector de canal. Configure en Data 1 la página a la que desea cambiar. Si Data 2 no está configurado, el cambio será relativo a la posición actual. Configure Data 1 en auto para cambiar a la página con la actividad más reciente e importante (primero privados, después canales con resaltado, canales con diálogo, canales con otros datos)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "La ordenInsert in Buffer insertará el contenido de Data 1 en la posición actual del cursor, en la entrada donde esté tecleando" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "La orden Scroll Page desplaza el cuadro de texto arriba o abajo, una página o una línea. Configure Data 1 como Top, Bottom, Up, Down, +1 ó -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "La orden Set Buffer introduce el contenido de Data 1 en la entrada donde esté tecleando" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "La orden Last Command pone en la entrada la última orden ingresada, es lo mismo que presionar la tecla arriba en en la línea de órdenes" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "La orden Next Command pone en la entrada la siguiente orden ingresada, es lo mismo que presionar la tecla abajo en en la línea de órdenes" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Esta orden cambia el texto en la entrada para completar una orden o apodo incompleto. Si se configura Data 1, entonces la doble tabulación en una cadena seleccionará el último apodo, no el siguiente" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Esta orden desplaza hacia arriba y abajo la lista de apodos. Si se configura Data 1 con algo, entonces se desplazará hacia arriba, sino se desplazará hacia abajo" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Esta orden comprueba la última palabra introducida en la entrada contra la lista de reemplazos y la reemplaza si encuentra una coincidencia" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Esta orden mueve una vez la pestaña superior hacia la izquierda" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Esta orden mueve una posición la pestaña superior hacia la derecha" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Esta orden mueve la familia actual de pestañas hacia la izquierda" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Esta orden mueve la familia actual de pestañas hacia la izquierda" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Colocar la linea de entrada en el historial pero sin enviarla al servidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Ha ocurrido un error cargando la configuración de las combinaciones de teclas" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Selecciona una fila para obtener ayuda en su acción." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Atajos de teclado - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "No se puede escribir en ese archivo." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "No se puede leer ese archivo." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Esa máscara ya existe." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Aviso" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "No ignorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "¿Seguro de que quieres borrar todos los ignorados?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Introduzca la máscara que quiere ignorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Lista de ignorados - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estadísticas de ignorados:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Aviso:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invitar:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Añadir..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nombre de canal muy corto, pruebe de nuevo." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Conexión completa - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexión a %s completa." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "En la ventana de la lista de servidores, no se ha introducido ningún canal (sala de chat) en esta red al que unirse automáticamente." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "¿Qué desea hacer después?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, me uniré a un canal después." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Unirme a este canal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Si conoce el nombre del canal al que desea unirse, introdúzcalo aquí." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Abrir la lista de canales." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Recuperando la lista de canales, puede tardar un minuto o dos." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "Mostrar siempre este diálogo después de conectar." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Diálogo con" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "El tema de %s es: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "No hay tema establecido" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Este servidor aún tiene %d canales o diálogos asociados en él. ¿Desea cerrarlos todos?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "¿Salir de HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "No preguntar la próxima vez." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Estás conectado a %i redes de IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "¿Estás seguro que quieres salir?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Algunas transferencias todavía están activas." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizar en la bandeja" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Insertar atributo o código de color" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Negrita</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Subrayado</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>cursiva</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Colores 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Colores 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Configuración" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Registrar en el disco" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Recargar registro de _mensajes" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Eliminar _colores" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Ocultar mensajes de entrada/salida" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Alertas extra" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Pitar en _mensajes" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Parpadear _icono en la bandeja" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Parpadear en la _barra de tareas" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Desanclar" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Cerrar" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "¡El límite de usuarios debe ser un número!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrar colores" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Sin mensajes externos" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Protección del tema" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Solo para invitados" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Lista de baneos" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Palabra clave" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Límite de usuarios" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Introduzca el apodo nuevo:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "No se encontraron resultados." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Finalizó la búsqueda o no se encontró." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Resaltar todo" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Resalta todos los resultados y subraya el resultado actual." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Mayúsculas y minúsculas" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Realiza una búsqueda sensible a mayúsculas y minúsculas." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "Expresión regular" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Considera la cadena de búsqueda como una expresión regular." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host desconocido" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Cuenta desconocida" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Desconocido" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nombre real:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Usuario:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Cuenta:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "hace %u minutos" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Último mensaje:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Mensaje de ausencia:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d apodos seleccionados." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "La barra de menú ahora está oculta. Puede volver a mostrarla presionando Ctrl+F9 o pulsando el botón derecho en una parte libre del área de texto principal." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Abrir enlace en el navegador" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copiar URL seleccionada" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Unirse al canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Salir del canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ciclar canal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Entrar automáticamente" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Entrar automáticamente al canal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Conectar automáticamente" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menú de usuario - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Editar este menú" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Línea de marcador deshabilitada." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Línea de marcador no configurada." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Línea de marcador reiniciada manualmente." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Línea de marcador reiniciada porque excedió el límite del registro de mensajes." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Línea de marcador reiniciada por la orden CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Estado desconocido de la línea de marcador." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Recuperar lista de canales" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " ha sido programado sin soporte para complementos." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Órdenes de Usuario - Códigos especiales:\n\n%c = canal actual\n%e = nombre de red actual\n%m = información de máquina\n%n = su apodo\n%t = hora/fecha\n%v = versión de HexChat\n%2 = palabra 2\n%3 = palabra 3\n&2 = palabra 2 hasta el final de la línea\n&3 = palabra 3 hasta el final de la línea\n\nej:\n/cmd juan hola\n\n%2 sería «juan»\n&2 sería «juan hola»." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botones de lista de usuarios - Códigos especiales:\n\n%a = todos los apodos seleccionados\n%c = canal actual\n%e = nobre de la red actual\n%h = nombre de host del apodo seleccionado\n%m = información de máquina\n%n = su apodo\n%s = apodo seleccionado\n%t = hora/fecha\n%u = cuentas de los usuarios seleccionados" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botones de diálogo - Códigos especiales:\n\n%a = todos los apodos seleccionados\n%c = canal actual\n%e = nobre de la red actual\n%h = nombre de host del apodo seleccionado\n%m = información de máquina\n%n = su apodo\n%s = apodo seleccionado\n%t = hora/fecha\n%u = cuentas de los usuarios seleccionados" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Respuestas CTCP - Códigos especiales:\n\n%d = datos (el ctcp completo)\n%e = nobre de la red actual\n%m = información de máquina\n%s = apodo que envió el ctcp\n%t = hora/fecha\n%2 = palabra 2\n%3 = palabra 3\n&2 = palabra 2 hasta el final de la línea\n&3 = palabra 3 hasta el final de la línea\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Manejadores de URL - Códigos especiales:\n\n%s = cadena de la URL\n\nPoniendo una ! delante de la orden\nindica que se debe enviar a una\nshell en lugar de a HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Órdenes definidas por el usuario - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menú emergente de lista de usuarios - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Reemplazar - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Reemplazar con" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Manejadores de URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Botones de la lista de usuarios - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Botones de diálogo - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Respuestas CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Li_sta de redes" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nuevo" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Pestaña de servidor" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Pestaña de canal" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Ventana de servidor" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Ventana de canal" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "Cargar comp_lemento o script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Salir" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barra de _menú" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra de _tema" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Lista de _usuarios" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Botone_s de lista de usuarios" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "B_otones de modo del canal" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Selector de _canal" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Pes_tañas" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Á_rbol" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Medidores de _red" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Apagar" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Gráfico" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "Pantalla completa" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "Unirse a un canal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Lista de canales" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "_Ausencia marcada" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menú de _usuario" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Configuración" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferencias" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Reemplazos automáticos" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Respuestas CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Botones de diálogo" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Atajos de teclado" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Texto de eventos" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Manejadores de URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Órdenes de usuario" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Botones de lista de usuarios" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Ventana de lista de usuarios" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ventana" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "Lista de baneos" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Charla directa" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "Transferencias de archivos" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Lista de amigos" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Lista de ignorados" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "Com_plementos y scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Registro en bruto" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Capturador de _URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reiniciar la línea de marcador" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Ir a la línea de marcador" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copiar selección" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Limpiar texto" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Guardar texto" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Buscar" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Buscar texto" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Buscar siguiente" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Buscar anterior" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "A_yuda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contenidos" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Acerca de" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Adjuntar" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nombre" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Visto por última vez" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Fuera de línea" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "hace %d minutos" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Hace una hora" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "Hace %d horas" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "En línea" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Introduzca el apodo a añadir:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificar en estas redes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Se acepta una lista de redes separadas por comas." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Lista de amigos - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Abrir diálogo" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Mensaje resaltado de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Mensaje en el canal de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Archivo de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invitado al canal por: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Aviso de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Mensaje privado de: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Conectado a %u redes y %u canales - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restaurar ventana" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Ocultar ventana" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Parpadeo encendido" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Mensaje en el canal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mensaje privado" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Mensaje resaltado" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Cambiar estado" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Ausente" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Conectado" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Mensaje resaltado de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u mensajes resaltados, el último de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Mensaje en el canal de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u mensajes en el canal. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Mensaje privado de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u mensajes privados, el último de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Archivo de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u archivos, el último de: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versión" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descripción" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Seleccione qué complemento o guion cargar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Complementos y guiones - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Cargar..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Decargar" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Recargar" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Guardar como..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Registro en bruto (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Limpiar el registro en bruto" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nueva red" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "¿Realmente desea eliminar la red «%s» y todos sus servidores?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "El nombre de usuario no puede estar en blanco." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "No puede tener un apodo en blanco." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Debe tener dos apodos únicos." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "La manera en que se identifica al servidor. Para usar un método distinto utilice las órdenes de conexión." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Editar %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servidores" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Unirse automáticamente a los canales" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Órdenes de conexión" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Apodo\n%p=Contraseña\n%r=Nombre real\n%u=Nombre de usuario" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Clave (contraseña)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Conectar únicamente al servidor seleccionado" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "No recorrer todos los servidores cuando la conexión falle." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Conectar a esta red automáticamente" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Eludir servidor proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Usar SSL en todos los servidores de esta red" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Aceptar certificados SSL inválidos" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Usar información global de usuario" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Apodo:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segunda opción:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nombre rea_l:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nombre de _usuario:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Método de inicio de sesión:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Contraseña:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Contraseña usada para iniciar sesión. En caso de duda, dejar en blanco." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Juego de caracteres:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Lista de redes - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informacion de usuario" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tercera opción:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Saltar lista de redes al iniciar" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Mostrar solo favoritos" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Ordenar" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Ordena la lista de redes en orden alfabético. Use las teclas Mayús+Arriba y Mayús+Abajo para mover una fila." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favorita" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Marcar o desmarcar esta red como favorita." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_onectar" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikáans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanés" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amárico" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturiano" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerí" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Vasco" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorruso" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Búlgaro" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chino (simplificado)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chino (tradicional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Checo" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danés" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandés" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Inglés (Británico)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Inglés" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonio" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finlandés" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francés" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicio" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemán" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Griego" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Húngaro" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesio" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiano" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonés" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Canarés" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreano" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letón" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituano" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonio" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malayo" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Noruego (Bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Noruego (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polaco" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugués" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugués (Brasileño)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ruso" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbio" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Eslovaco" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Eslovenio" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Español" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Sueco" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailandés" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turco" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamita" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valonia" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "General" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Idioma:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Fuente principal:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fuente:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Cuadro de texto" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Apodos coloreados" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada persona en el IRC un color diferente" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Sangría en apodos" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Justificar los apodos a la derecha" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostrar línea de marcador" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Insertar una línea roja después del último texto leído." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imagen de fondo:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Configuración de trasparencia" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacidad de ventana:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Marcas de tiempo" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Habilitar marcas de tiempo" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Formato de marcas de tiempo:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Ver strftime del artículo MSDN para más información." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Ver strftime en la página del manual para más información." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barra de título" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Mostrar modos de canal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Mostrar número de usuarios" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Última orden dada" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Cuadro de entrada" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Usar fuentes y colores del cuadro de entrada" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Renderizar colores y atributos" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Mostrar cuadro de apodos" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Mostrar iconos de modo en el cuadro de apodos" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Corrector ortográfico" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Diccionarios que se usarán:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Usar códigos de idioma (como en «%LOCALAPPDATA%\\enchant\\myspell\\dicts»).\nSeparar varias entradas con comas." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Usar códigos de idioma. Separar varias entradas con comas." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Completar apodos" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufijo al completar el apodo:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Orden al completar el apodo:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Cantidad al completar el apodo:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Límite de apodos para para comenzar a listar en lugar de completar" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "apodos." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Gráfico" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, operadores al principio" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, operadores al final" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Desordenada" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Izquierda (superior)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Izquierda (inferior)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Derecha (superior)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Derecha (inferior)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Arriba" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Abajo" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Oculto" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Mostrar nombres de host en la lista de usuarios" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Usar fuentes y colores del cuadro de texto" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Mostrar iconos en modos de usuario" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Usar iconos gráficos en lugar de símbolos en la lista de usuarios." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Colorear apodos en la lista de usuarios" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Colorear los apodos igual que en la charla." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Mostrar contador de usuarios en canales" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Lista de usuarios ordenada por:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Mostrar lista de usuarios en la parte:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Seguimiento de ausencia" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Seguir el estado de ausencia de los usuarios y marcarlos con un color diferente" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "En canales con menos de:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Comportamiento del doble clic" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Gadgets extra" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Medidor de lag:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Medidor de aceleración:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Ventanas" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Pestañas" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Siempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Solo pestañas solicitadas" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automático" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "En una pestaña nueva" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "En la pestaña actual" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Árbol" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Cambiar tipo:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Abrir los mensajes del servidor en una pestaña nueva" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir los mensajes privados en una pestaña nueva" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar las pestañas en orden alfabético" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Mostrar iconos en el árbol de canales" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Mostrar líneas punteadas en el árbol de canales" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Usar la rueda del ratón para cambiar entre pestañas" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Haga clic con el botón del medio para cerrar la pestaña" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Texto pequeño" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Enfocar nuevas pestañas:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Ubicación de avisos:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Mostrar selector de canal en:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Reducir las pestañas a:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Pestañas o ventanas" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Abrir canales en:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Abrir diálogos en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Abrir utilidades en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "¿Abrir DCC, Ignorar, Avisos etc en pestañas o en ventanas?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mensajes" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Registro de mensajes" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pedir confirmación" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Preguntar la carpeta de descarga" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Guardar sin interacción" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Archivos y directorios" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Aceptar archivos automáticamente:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Descargar archivos en:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mover archivos completados a:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Guardar el apodo en los nombres de archivo" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Abrir ventanas de diálogo automáticamente" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Ventana de envío" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Ventana de recepción" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Ventana de charla" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Velocidad máxima de transferencia de archivos (Byte por segundo)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Por archivo subido:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocidad máx. de transferencia por archivo" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Por archivo descargado:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Para todas las subidas:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocidad máx. de todas las transferencias" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Para todas las descargas:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Mostrar notificaciones de:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Parpadeo del icono en la bandeja:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Parpadeo en barra de tareas:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Emitir un pitido:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Reproducir el sonido «Notificación de mensaje instantáneo» en las alertas seleccionadas" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Reproducir el sonido «message-new-instant» de freedesktop.org en las alertas seleccionadas" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Reproducir un sonido GTK en las alertas seleccionadas" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Omitir alertas cuando esté ausente" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Omitir alertas cuando la ventana esté activa" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportamiento de la bandeja" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Activar el icono en la bandeja del sistema" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimizar en la bandeja" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Al cerrar, minimizar en la bandeja" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Cambiar el estado de ausencia automáticamente" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Cambia automáticamente el estado cuando se oculte en la bandeja." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Mostrar notificaciones solo cuando esté oculto o iconificado" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mensajes resaltados" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Se resaltarán los mensajes que mencionan su apodo, pero también se pueden resaltar:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Resaltar las siguientes palabras:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "No resaltar estos apodos:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Resaltar siempre estos apodos:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separar varias palabras con comas.\nPuede usar comodines." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Rebotar icono en la bandeja:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mensajes predefinidos" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Al salir:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Al abandonar un canal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Al marcar como ausente:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Ausencia" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Mostrar ausencia solo una vez" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Mostrar mensajes idénticos de ausencia solo una vez." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Desmarcar ausencia automáticamente" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Desmarcar ausencia antes de enviar mensajes." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Varios" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Mostrar los MODOs en bruto" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS en las notificaciones" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Envía /WHOIS cuando un usuario de la lista de notificaciones se conecta." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Ocultar los mensajes de entrada y salida" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Por defecto oculta los mensajes cuando algien entra o sale del canal." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Ocultar los mensajes de cambio de apodo" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@dominio" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*usuario@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*usuario@dominio" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportamiento de copia automática" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copiar automáticamente el texto seleccionado" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copia el texto seleccionado al portapapeles cuando se suelta el botón izquierdo del ratón. Como alternativa, usar Ctrl+Mayús+C para copiar el texto." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Incluir automáticamente marcas de tiempo" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Incluir automáticamente las marcas de tiempo de las líneas de texto copiadas. Como alternativa, mantener presionada la tecla Mayús al seleccionar el texto." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Incluir automáticamente información de color" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Incluir automáticamente la información de color en las líneas de texto copiadas. Como alternativa, mantener presionada la tecla Ctrl al seleccionar el texto." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nombre real:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Fuentes alternativas:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Separa varias entradas con comas y sin espacios entre ellas." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Mostrar listas en modo compacto" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Usar menos espaciado entre la lista de usuarios y las filas del árbol de canales." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Usar la hora del servidor si se puede" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Mostrar marcas de tiempo obtenidas del servidor si soporta la extensión time-server." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Reconectar automáticamente a los servidores al desconectarse" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Retardo de reconexión automática:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Retardo de unión automática:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Tipo de baneo:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Intentar usar esta máscara al banear o silenciar. (requiere irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Registros" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Mostrar registro de mensajes de sesiones anteriores" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Líneas de registro:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Activar el registro de conversaciones en el disco" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nombre del archivo de registro:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canal %n=Red." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Insertar marcas de tiempo en los registros" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formato de las marcas de tiempo del registro:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLs" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Activar registro de URLs en el disco" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Activar capturador de URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Número máximo de URLs a capturar:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Deshabilitado)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Todas las conexiones" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Solo servidor IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Solo DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Su dirección" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Asociar a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Solo es útil en computadoras con múltiples direcciones." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transferencias de archivos" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obtener mi IP del servidor IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Preguntar su dirección real al servidor IRC. ¡Úselo si tiene una dirección del tipo 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Dirección IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Reclamar esta dirección cuando ofrezca archivos." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Primer puerto de envío DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Último puerto de envío DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Dejar los puertos a cero para el rango completo." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nombre de host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Puerto:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Usar el servidor proxy para:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticación del servidor proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Usar autenticación (solo HTTP o SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nombre de usuario:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Servidor Identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Habilitado" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "El servidor responderá con el nombre de usuario de la red" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Debe tener permisos para escuchar en este puerto. Si no es 113 (0 por defecto), entonces deberá configurar el puerto de reenvío." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Seleccionar archivo de imagen" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Seleccionar carpeta de descargas" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Seleccionar fuente" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Explorar..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Abrir carpeta de datos" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleccionar color" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Colores de texto" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Colores de mIRC: " + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Colores locales:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Primer plano:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fondo:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Texto seleccionado" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Colores de la interfaz" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Dato nuevo:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Marcador:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Mensaje nuevo:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Ausencia:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Mensaje resaltado:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Corretor:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Eliminar colores" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Archivo de sonido" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Seleccione un archivo de sonido" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Archivo de sonido:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Explorar..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Reproducir" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interfaz" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Apariencia" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Cuadro de entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Selector de canal" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Colores" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Charlando" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sonidos" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avanzado" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configuración de red" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferencias de archivos" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorías" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "¡No puede colocar el árbol en la parte superior o inferior!\nPor favor cambie al modo <b>Pestañas</b> en el menú <b>Ver</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "La opción de nombre real no puede estar en blanco. Retroceda a «nombre real»." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Se cambiaron algunas configuraciones que requieren un reinicio para tener efecto." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ADVERTENCIA*\nAceptar automáticamente DCC hacia su directorio de usuario\npuede ser peligroso y es explotable. Por ejemplo: Alguien\npuede enviarle un archivo .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferencias - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(sin sugerencias)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Más..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Añadir «%s» al diccionario" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorar todo" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Sugerencias de ortografía" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "realzar error en el idioma: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Ha ocurrido un error analizando la cadena" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Esta señal sólo ha pasado %d argumentos, $%d es inválido" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Imprimir archivo de textos" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editar eventos" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Cargar desde..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Probar todo" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "Ok" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Capturador de URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Limpiar la lista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copiar URL seleccionada" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Guardar lista en un archivo" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir una URL irc://servidor:puerto/canal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: No se pudo obtener información. No soportado o hubo un error." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: No hay información con ese nombre\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s está configurado para: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Ajustes válidos son: anunciar y ocultar_* para cada pieza de información. Por ejemplo, ocultar_os. Sin un valor se mostrará la configuración actual (o por defecto).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Nombre de variable no válida\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s complemento cargado\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s complemento descargado\n" diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000000000000000000000000000000000000..3308b66300bdcdd80af479800d47e67442b082ca --- /dev/null +++ b/po/et.po @@ -0,0 +1,6257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Ekke Vasli <ekke@chamber.ee>, 2001 +# Ilmar Kerm <ikerm@hot.ee>, 2002 +# jasva, 2014 +# jasva, 2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Estonian (http://www.transifex.com/hexchat/hexchat/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC klient" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat on lihtne ja paljude võimalustega IRC klient. See võimaldab turvaliselt ühenduda mitme võrguda samaaegselt ja suhelda inimestega privaatselt või liituda vestluskanalitega, kasutades selleks kohandatavat rakendust. Samuti on võimalus failivahetuseks." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat toetab kasutamiseks: DCC, SASL, hoiatusi, logide koguminst, kohandatud teemasid ja Python/Perl skripte." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Vestle teiste kasutajatega internetis" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Ava turvarežiim" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat teemahaldur" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "On tegemist" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Lahkun" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Võrk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<tühi>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Ootamine" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiivne" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Ei õnnestunud" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Valmis" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Ühenda" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Katkestatud" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Puudub ligipääs failile %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Viga" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s pakub sulle faili \"%s\". Kas soovid selle vastu võtta?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ei ole ühtegi aktiivset DCCd\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Ava dialoogiaken" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Saada fail" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Kasutaja info (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Lisa sõprade nimekirja" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignoreeri" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_peraatori toimingud" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Tee operaatoriks" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Tee mitteoperaatoriks" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Anna hääleõigus" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Võta hääleõigus" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Viska välja/bänni" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Viska välja" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bänni" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KikkBänni" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Lahku kanalist" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Liitu kanaliga..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Kanal, millega liituda:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serverite lingid" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Pingi serverit" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Peida versioon" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "tsau" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Põhjus %s väljaviskamiseks:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialoog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "KesOn" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Saada" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Vestlus" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Puhasta" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Sul puuduvad kirjutamisõigused asukohta %s. Sellest sessioonist ei salvestata midagi." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* root-kasutajana IRCus istumine on lollus! Sa peaksid\n looma tavakasutaja konto ja sellega sisse logima.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JAH " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "EI " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s ujutab sind CTCP päringutega üle, ignoreerin kasutajat %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "%s uputab sind üle massiliste sõnumitega, mistõttu lülitame gui_autoopen_dialog VÄLJA.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s onlain\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offlain\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Pole ühinetud ühegi kanaliga. Proovi /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Pole ühendatud. Proovi /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s eksisteerib juba võrguloendis %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Server %s on võrkuda nimekirja %s lisatud.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Sa oled juba eemal: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Sa oled juba tagasi.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Vajan käivitamiseks programmi /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Võimalikud käsud: " + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Kasutaja tekitatud käsud: " + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Pluginate poolt tekitatud käsud: " + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Rohkem infot saad käsuga /HELP <käsk>, või proovi /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Tundmatut parameetrit '%s' ignoreeriti." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Vaigistamine pole antud serveris toetatud." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Sellist pluginat ei leitud.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "See plugin ei taha end eemaldada.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nimi> <tegevus>, lisab kasutajate nimekirja alla uue nupu" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <UusVõrk> <uusserver/6667> lisab uue võrgu koos uue serveriga võrguloendisse." + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <käsk>, saadab käsu kõikidele kanalitele, kus oled" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <käsk>, saadab käsu kõikidesse kanalitesse antud serveris" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <käsk>, saadab käsu kõikidele serverite, kus oled" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, oled tagasi (mitte eemal)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<keelu tüüp>], keelab hosti maskiga sobivatel kasutajatel kanaliga liitumise. Kui mõni selline kasutaja on kanalis, siis see käsk ei viska neid automaatselt välja (selleks vajad chanop-õigusi)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kood>, leiab koodi järgi riigi nime, näiteks ee = eesti" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <kasutaja> <teade>, saadab kasutajale CTCP teate. Levinud teateid on näiteks VERSION ja USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], Lahkub aktiivsest või antud kanalist ja naaseb kohe" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <kasutaja> - võta kasutajalt pakutav fail vastu\nDCC SEND [-maxcps=#] <kasutaja> <fail> - saada kasutajale fail\nDCC PSEND [-maxcps=#] <kasuatja> <fail> - saada fail passiivses režiimis\nDCC LIST - näita DCC'de nimekirja\nDCC CHAT <kasutaja> - paku kasutajale DCC vestlust\nDCC PCHAT <kasutaja> - paku kasutajale passivses režiimis\n DCC vestlust\nDCC CLOSE <tüüp> <kasutaja> <fail> näide:\n /dcc close send toomas fail.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <kasutaja>, eemaldab aktiivse kanali kasutajalt chanhalf-op õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nimi>, kustutab kasutajate nimekirja aluse nupu" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <kasutaja>, eemaldab aktiivse kanali kasutajalt chanop õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <hüüdnimi>, võtab kasutajalt hääleõiguse" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, katkestab ühenduse serveriga" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, väljastab teksti samas masinas" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <programm>, käivitab programmi. Kui -o lipp on kasutusel, siis saadetakse programmi väljund kanalisse, muul juhul näidatakse ainult sulle endale." + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, saadab protsessile SIGCONT signaali" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], tapab EXEC käsuga käivitatud protsessi. Kui -9 võti on antud, saadetakse protsessile SIGKILL." + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, saadab protsessile SIGSTOP signaali" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, saadab andmeid protsessi sisendisse" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tühjendab serveri saatejärjekorra" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], loob proksiühenduse hosti kaudu, vaikeport on 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <kasutaja>, annab kasutajale chanhalf-op õiguse (vajab chanop õigust)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <parool>, identifitseerib sind nickservile." + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <tüübid..> <..>\n mask - hostmask mida ignoreerida - näiteks: *!*@*.starman.ee\n tüübid - andmete tüübid, mida eirata. võib valida ühe või rohkem:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <kasutaja> [<kanal>], kutsub kasutaja kanalisse, vaikimisi aktiivsesse kanalisse (vajab chanop õigust)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, ühineb kanaliga" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, teeb sundkorras võrgu viite kontrolli" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fail>, laeb plugina või skripti" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, võtab kõigilt kanalis viibijatelt pool-operaatori õigused (vajab kanali operaatori õigusi)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, võtab kõigilt kanalist viibijatelt operaatori õigused (vajab kanali operaatori õigusi)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <tegevus>, saadab tegevuse aktiivsesse kanalisse (tegevused kirjutatakse kolmandas isikus, näiteks /me hüppab)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, viskab kanalist välja kõik peale sinu (vajab chanop õigust)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, annab kõigile aktiivses kanalis olijatele chanop õigused (vajab chanop õigust)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <kasutaja> <sõnum>, saadab CTCP teate" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostinimi> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <hüüdnimi>, muudab su hüüdnime" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n võrk1[,võrk2,...]] [<hüüdnimi>], kuvab või täiendab märguandenimekirja" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <kasutaja>, annab kasutajale chanop üigused (vajab chanop'i)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<põhjus>], lahkub kanalist. Vaikimisi hetkel avatud kanalist" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <hüüdnimi|kanal>, saadab CTCP pingi kasutajale või kanalisse" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<põhjus>], katkestab ühenduse serveriga" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, saadab teksti toorel kujul serverisse" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<salasõna>], võib kasutada ka lihtsalt kujul /RECONNECT, et uuesti samasse serverisse ühenduda, või /RECONNECT ALL, et luua kõigisse serveritesse uuesti ühendus." + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<salasõna>], võib kasutada ka lihtsalt kujul /RECONNECT, et uuesti samasse serverisse ühenduda, või /RECONNECT ALL, et luua kõigisse serveritesse uuesti ühendus." + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, saadab teksti aktiivsesse aknasse" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <hüüdnimi> [<failinimi>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <kanal>, ühendub serverisse ja liitub kanaliga." + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <kanal>, ühendab serverisse ja liitub kanaliga" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<salasõna>], loob serveriga ühenduse, vaikimisi port on 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<teema>]. määrab uue teema või näitab praegust" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <taimaut> <fail1> [<fail2>] Vaheta kahe salveikooni vahel.\nTRAY -f <filename> Määra üks kindel ikoon.\nTRAY -i <number> Vaheta salveikooni seesmise ikooniga.\nTRAY -t <text> Määra salveikooni abitekst.\nTRAY -b <peakliri> <tekst> Määra salve mullike." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], võtab määratud maskidelt keelu maha." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nimi>, eemaldab plugina või skripti" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, avab url'i brauseris" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <hüüdnimi1> <hüüdnimi2> jne, märgistab kasutajate nimekirjas hüüdnime(d)" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <kasutaja>, annab kasutajale voice staatuse (vajab chanop õigust)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <sõnum>, saadab sõnumi kõikidele kanalitele, kus oled" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <sõnum>, saadab sõnumi kõigile aktiivse kanali chanop-idele" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Kasutus: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nSelle käsu kohta pole abimaterjale.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Sellist käsku pole olemas\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Halvad argumendid kasutaja määratud käsule.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Liiga rekursiivne käsk, katkestan." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Oled sa kindel et selle serveri selles pordis töötab SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Ei saa lahendada hostinime %s\nPalun kontrolli oma IP sätteid!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proksi kaudu ühendumine ebaõnnestus.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Lähen võrgu %s järgmise serveri juurde...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Hoiatus: Tundmatu kooditabel \"%s\". Võrgu %s sõnumeid ei kodeerita ümber." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Liikmeid Teema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tMärguandenimekiri on tühi." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Logi laetud failist" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LÕPETAN LOGIMISE %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ALUSTAN LOGIMIST %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Vasakpoolne sõnum" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Parempoolne sõnum" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP aadress" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Kasutajanimi" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Liituja kasutajanimi" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Liitutav kanal" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Kasutaja host" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Kasutajanimi" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Tegevus" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Moodi sümbol" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Tuvastatud tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Tekst" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Teade" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Serveri nimi" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Endine nimi" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Uus nimi" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Kasutaja, kes muutis teemat" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Teema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Väljaviskaja nimi" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Kasutaja, kes välja visati" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Põhjus" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Lahkuja nimi" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Aeg" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Looja" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nimi" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Põhjus" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kellelt see tuleb" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Aeg x.x formaadis (vaata allapoole)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Sihtkanal" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Heli" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Inimese nimi" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP sündmus" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Võtme seadnud kasutaja nimi" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Võti" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Piirangu seadnud kasutaja nimi" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Piirang" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Oppija nimi" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Opitud kasutaja nimi" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Poolopitud kasutaja nimi" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Poolop'i teinud kasutaja" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Voice'i teinud kasutaja" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Voice saanud kasutaja nimi" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Bännija hüüdnimi" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Keelu mask" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Võtme eemaldanud kasutaja" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Piirangu eemaldanud kasutaja" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Deop'itud kasutaja" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Dehalfop'itud kasutaja" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Devoice'tud kasutaja" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Erandi tegija hüüdnimi" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Erandi mask" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Erandi kustutaja hüüdnimi" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Kutsuja hüüdnimi" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Kutsete mask" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Kutse eemaldanud kasutaja" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Moodi määraja hüüdnimi" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Moodi märk (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Moodi sümbol" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Muudetava kanali nimi" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Täisnimi" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serveri info" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Jõude oldud" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Ühendumise aeg" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Eemaloleku põhjus" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Sõnum" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Päris kasutaja@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Päris IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanali nimi" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Sind kutsunud kasutaja" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Kasutajad" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Kasutajanimi on juba kasutusel" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Proovitav hüüdnimi" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC tüüp" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Faili nimi" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Sihtfaili nimi" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Positsioon" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Suurus" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC string" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Vana failinimi" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Uus failinimi" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Vastuvõtja" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hosti mask" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hosti nimi" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pakett" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekundit" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Kutsutud nimede hulk" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Bänni mask" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kes bännis" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Bänni aeg" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Helifaili lugemine nurjus:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Kaugmasin katkestas ühenduse" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Ühendusest keelduti" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ei leia teed hostini" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Ühendus aegus" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ei saa määrata seda aadressi" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Peer katkestas ühenduse" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Araabia Ühendemiraadid" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistaan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua ja Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albaania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armeenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Hollandi antillid" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Ameerika samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austraalia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ahvenamaa" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Aserbaidžaan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia ja Hertsegoviina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Äriline" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Boliivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasiilia" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahama" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet' saar" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Valgevene" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kookossaared" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Kongo demokraatlik vabariik" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Kesk-Aafrika vabariik" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Šveits" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elevandriluurannik" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cooki saared" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Tšiili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Hiina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia ja Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Jõulusaar" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Küpros" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tšehhi" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Saksamaa" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Taani" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikaani vabariik" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžeeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Haridusasutus" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Eesti" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egiptus" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Lääne-Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Hispaania" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etioopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Euroopa Liit" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Soome" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandi saared" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikroneesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Fääri saared" + +#: src/common/util.c:770 +msgid "France" +msgstr "Prantsusmaa" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Suurbritannia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruusia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Prantsuse Guajaana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Briti Kanali Saared" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Gröönimaa" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Valitsus" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatoriaal-Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Kreeka" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong-Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard ja McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Horvaatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungari" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indoneesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Iirimaa" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Iisrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Man'i saar" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatiivne" + +#: src/common/util.c:803 +msgid "International" +msgstr "Ülemaailmne" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Briti India ookeani ala" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iraan" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itaalia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordaania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Jaapan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kõrgõzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoorid" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts ja Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Põhja-Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Lõunda-Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuveit" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kaimanisaared" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kasahstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liibanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libeeria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Leedu" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Läti" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Liibüa" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshalli saared" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Sõjaväeline" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedoonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Põhja-Mariaanid" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Marutaania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldiivid" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mehhiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaisia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mosambiik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namiibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Uus-Kaledoonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holland" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norra" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Uus-Meremaa" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omaan" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peruu" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Prantsuse Polüneesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Paapua Uus-Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipiinid" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poola" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "saint-Pierre ja Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestiina alad" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumeenia" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Vanakooli ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Venemaa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi Araabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Saalomoni Saared" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seišellid" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudaan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Rootsi" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Saint Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Sloveenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Teravmäed" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakkia Vabariik" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somaalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé ja Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Endine SSSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Süüria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svaasimaa" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks ja Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tšaad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Prantsuse Lõunaalad" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tai" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Ida-Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Türkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tuneesia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Türgi" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad ja Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tansaania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Ühendkuningriik" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Ameerika Ühendriigid" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikani linnriik" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent ja Grenadiinid" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venetsueela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Briti Neitsisaared" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Neitsisaared, USA" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis ja Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jeemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslaavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Lõuna-Aafrika Vabariik" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Käsu täitmine ebaõnnestus" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "kaugligipääs" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Märgitabel" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bänni" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Kutsumised" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Lahti ühendatud." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Sa pead mõned bännid valima." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Kasutajalt" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Kuupäev" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Bännitute nimekirja saab vaadata ainult siis, kui mõni kanal aktiivne on." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "bännitute nimekiri (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Eemalda" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Värskenda" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Kuvan %d/%d kasutajat %d/%d kanalis." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vali väljundfaili nimi" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Liitu kanaliga" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopeeri kanali nimi" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopeeri _teemaväli" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "kanalid (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Otsi" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Allalaadimised" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Salvesta _nimekiri..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Näita ainult:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanalid, kus on" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "kasutajat." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanali nimi" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Otsingu tüüp:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Lihtne otsing" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulaaravaldis" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Otsi:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Saada fail kasutajale %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Seda faili ei saa jätkata" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Ei pääse failile ligi: %s\n%s.\nJätkamine on võimatu." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Fail allalaadimiste kataloogis on suurem, kui pakutav fail. Jätkamine pole võimalik." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Ei saa jätkata sama faili tõmbamist kahelt inimeselt." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Üles- ja allalaadimised - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Olek" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fail" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Saabub" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Mõlemad" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Üleslaadimised" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Allalaadimised" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detailid" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fail:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Aadress:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Katkesta" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Võta vastu" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Jätka" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Ava kataloog..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC vestluste nimekiri - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Siia" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Sinna" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Algusaeg" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Kustuta" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Loobu" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Salvesta" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Ära taasühenda serveriga automaatselt" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Kasuta teist seadistuste kausta" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Ära lae pluginaid automaatselt" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Näita kasutaja seadistuste kausta" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Käivita käsk:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Käivitu peidetult. Tase 0=tavaline 1=tegumiribal 2=süsteemisalves" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "tase" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Näita versiooniinfot" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Ei suuda avada fonti:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Otsingu puhver on tühi.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d baiti" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Võrgu saatmisjärjekord: %d baiti" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "See korraldus liigutab aktiivset sakki koha võrra vasakule." + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "See korraldus liigutab aktiivset sakki koha võrra paremale." + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "See käsk liigutab aktiivse sakigrupi vasakule" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "See käsk liigutab aktiivse sakigrupi paremale" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Salvesta sisestatud rida ajalukku seda serverisse saatmata" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Klahviseoste faili laadimisel tekkis probleem" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "klaviatuuriotseteed - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Sellese faili ei saa kirjutada." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Sellest failist ei saa lugeda." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "See mask on juba kasutusel." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privaatne" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Teated" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Ära ignoreeri" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Ignoreeritav hostimask:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "ignoreeritavate nimekiri - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoreerimise statistika:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanalile:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privaatne:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Teateid:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Kutsumisi:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Lisa..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanali nimi on liiga lühike, proovi uuesti." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Ühendatud - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Mida sa sooviksid järgmiseks teha?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Mitte midagi, ma ühinen kanaliga hiljem." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Liitu kanaliga:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Kui sa tead kanali nime millega ühineda, siis kirjuta see siia." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Alati näita seda akent peale ühendumist." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Vestlus kasutajaga" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Kanali %s teema on: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Teemat ei ole määratud" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Selle serveriga on veel seotud %d kanalit või dialoogiakent. Sulgen kõik?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ära järgmine kord küsi." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Sa oled ühendatud %i IRC-võrguga." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Kas sa tahad kindlasti väljuda?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Peida süsteemisalve" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Lisa atribuut või värvikood" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Paks</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Jooni alla</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Tavaline" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Värvid 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Värvid 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Sulge" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Kasutajapiirang peab olema number!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Ära luba väljast teateid" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Teema kaitse" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Ainult kutsetega" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Modereeritav" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Keelatute nimekiri" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Märgusõna" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Kasutajate piirang" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Sisesta uus hüüdnimi:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Tundmatu host" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Tundmatu" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Pärisnimi:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Kasutaja:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Riik:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutit tagasi" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Viimane sõnum:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Eemal:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Ava link brauseris" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopeeri valitud link" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Liitu kanaliga" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Lahku kanalist" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Kasutja menüü - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP vastused - spetsiaalkoodid:\n\n%d = andmed (kogu CTCP)\n%e = aktiivse võrgu nimi\n%m = masina info\n%s = CTCP saatja hüüdnimi\n%t = kell/kuupäev\n%2 = sõna 2\n%3 = sõna 3\n&2 = alates 2. sõnast kuni rea lõpuni\n&3 = alates 3. sõnast kuni rea lõpuni\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "kasutaja määratud käsud - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "asenda - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URLi käsitlejad - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "kasutajate nimekirja nupud - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "dialooginupud - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP vastused - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "Lisa _uus" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Välju" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "Vaa_de" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Menüüriba" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Teemariba" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "R_ežiiminupud" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Kanalite _nimekiri" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Sakid" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Puu" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Võrgumõõdikud" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Väljas" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graafik" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Ühenda lahti" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Taasühenda" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Kasutaja menüü" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "S_ätted" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Seadistus" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Aken" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Lähtesta järjehoidja" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Tühjenda aken" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "A_bi" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Sisu" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Programmist" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nimi" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Viimati nähtud" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offlain" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Ei iialgi" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutit tagasi" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Onlain" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Sisesta lisatav hüüdnimi:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Jälgi neis võrkudes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Mitu võrgunime eralda komadega." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Ava dialoog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Ühendatud %u võrgu ja %u kanaliga - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Sõnum kanalis" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privaatne sõnum" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Esiletõstetud sõnum" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Esiletõstetud sõnum: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u esiletõstetud sõnumit, viimane: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Privaatsõnum: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u privaatsõnumit. Viimane kasutajalt: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Faili pakkumine kasutajalt: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u faili pakkumist. Viimane kasutajalt: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versioon" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Kirjeldus" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Vali laetav plugin või skript" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "pluginad ja skriptid - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Lae..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Salvesta kui..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Uus võrk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "kas tõesti soovid eemaldada võrgu \"%s\" ja kõik selle serverid?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Muuda %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Muuda" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Ühendu ainult valitud serverisse" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ära proovi kõiki servereid, kui ühendumine nurjub." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Kasuta SSL ühendust kõigi selle võrgu serverite jaoks" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Kasuta üldist kasutaja infot" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Hüüdnimi:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Teine valik: " + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Pärisnimi:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Kasutajanimi:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Parool:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Märgistik:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "serverite nimekiri - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Kasutaja info" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Kolmas valik:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Võrgud" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Ära näita serverite nimekirja käivitumisel" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Muuda..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sorteeri" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Ü_henda" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albaania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Aserbaidžaan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Valgevene" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Eesti" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaisia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Üldine" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Kirjatüüp:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Värvilised nimed" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Värvi iga hüüdnimi eri värvi" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Joonda nimed" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Joondab nimed paremale" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Näita järjehoidjat" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Tõmba punane joon viimase loetud rea alla." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Taustapilt:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Läbipaistvuse seaded" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Ü" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Viimati rääkinud ees" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Õigekirjakontroll" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Hüüdnime lõpetamine" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Hüüdnime lõpetamise suffiks:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Hüüdnimede järjekord:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Ü-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Sorteerimata" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Üleval" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "All" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Peidus" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Näita kanali kasutajate nimekirjas liikmete hosti" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Kasuta tekstikasti kirjatüüpi" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Kasutajate sorteerimise alus:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Näita kasutajate nimekirja:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Kanalites, kus on vähem liikmeid kui:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Topeltkliki tegevus" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Aknad" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Sakid" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Alati" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Ainult ise loodud sakid" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Ava sakk serveri sõnumite jaoks" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Ava uus sakk privaatsõnumi saabumisel" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sorteeri sakid tähestiku järgi" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fookus uuele sakile:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Näita kanalite valikut:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Lühenda sakkide nimed:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "täheni." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Sakid või aknad" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Ava kanalid:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Ava dialoogid:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Ava utiliidid:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Ava DCC, ignoreerimised, märguanded jne. sakkides või akendes?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Failid ja kataloogid" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Võta küsimata vastu DCC failisaatmised" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Allalaadimisel failid salvesta:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Alla laetud failid tõsta ümber:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Salvesta hüüdnimi failinimedesse" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Ava DCC aknad automaatselt" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Saatmisaken" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Vastuvõtmiste aken" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Vestlusaken" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Üks üleslaadimine:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Ühe edastamise maksimaalne kiirus" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Üks allalaadimine:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Kõik üleslaadimised kokku:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maksimaalne kiirus kogu liikluse jaoks" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Kõik allalaadimised kokku:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Hoiatused" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Tee piiks:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Süsteemisalve ikoon" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Esiletõstetud sõnumid:" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Peale enda hüüdnime mainimiste tõsta esile veel:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Esiletõstetavad sõnad:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Hüüdnimed, mida mitte esile tõsta:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Hüüdnimed mida alati esile tõsta:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Vaikimisi põhjendused:" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Väljumine:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Kanalist lahkumine:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Eemale minek:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Eemal" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Näita ainult ühe korra" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Võta eemalolek automaatselt maha" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Peida tulijad ja lahkujad" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Ooteaeg enne autoühendust:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logimine" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Tagasikeritavate ridade arv:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Logi failinimi:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=server %c=kanal %n=võrk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Lisa logidesse kellaaeg" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Logi kellaaja formaat:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Keelatud)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Sinu IP aadress" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Seo aadressiga:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Kasulik ainult arvutitele, millel on mitu aadressi." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Võta mu IP aadress IRC serverilt" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Küsi serverilt oma tõeline aadressi. Kasuta seda juhul, kui sul on 192.168.*.* aadress!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP aadress:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Väida, failide pakkumisel, et sul on see aadress." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!0, et kasutada kõiki porte." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proksi server:" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Hostinimi:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tüüp:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Kasuta vaheserverit:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proksiga autentimine" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Kasutajanimi:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Vali pilti" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Vali tõmmatud failide kaust" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Vali kirjatüüp" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Vali..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Ava andmete kataloog" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Vali värv" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Teksti värvid" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC värvid:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Kohalikud värvid:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Tekst:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Taust:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Kasutajaliidese värvid" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Uued andmed:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Järjehoidja joon:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Uus sõnum:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Eemal olev kasutaja:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Esiletõstetud:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Sündmus" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Helifail:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Vali helifail" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Helifail: " + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Vali..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Mängi" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Kasutajaliides" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Sisestuskast" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Kasutajate nimekiri" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanalite vahetaja" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Värvid" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Vestlemine" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Täpsemad" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Võrgu häälestus" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Failide edastus" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategooriad" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Puud ei saa paigutada akna ülemisse või alumisse äärde!\nPalun vali <b>Vaade</b> menüüst <b>Sakid</b>, kui seda teha soovid." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Muudeti mõnesid seadeid, mis vajavad programmi taaskäivitust mõjumiseks." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*HOIATUS*\nDCC failide automaatne kodukataloogi salvestamine\non ohtlik ja ära kasutatav. Näiteks võin keegi\nsaata sulle faili .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "häälestus - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Viga stringi töötlemisel" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ number" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Muuda sündmuseid" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Lae..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testi kõike" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URLipüüdja - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Puhasta nimekiri" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopeeri valitud URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopeeri" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Salvesta nimekiri faili" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op'i, %d kokku" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Ava irc://server:port/kanal URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000000000000000000000000000000000000..4deb17b0fe9c8f21f74ddbe0c1c91b184811ae17 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,6256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Mikel Olasagasti <hey_neken@euskal.org>, 2004 +# Mikel Olasagasti Uranga <mikel@olasagasti.info>, 2012 +# Mikel Olasagasti Uranga <mikel@olasagasti.info>, 2012,2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Basque (http://www.transifex.com/hexchat/hexchat/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC bezeroa" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;Txat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Lanpetuta nabil" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Irteten" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Sarea" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<bat ere ez>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanala" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Itxaroten" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktibo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Huts egin da" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Eginda" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Konektatu" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Abortatua" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Ezin da %s-ra sartu\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Errorea" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ez dago DCC aktiborik\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Ir_eki elkarrizketa leihoa" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Bidali fitxategi bat" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Erabiltzailearen informazioa (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Gehitu lagun zerrendara" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Eman Opak" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Hartu Op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Eman ahotsa" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Hartu ahotsa" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kanporatu/debekatu" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kanporatu" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Debekatu" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Kanporatu-debekatu" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Irten kanaletik" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Sartu kanalera..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Sartu elkartu nahi duzun kanalaren izena:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Zerbitzari estekak" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping egin zerbitzariari" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ezkutatu bertsioa" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "OP kendu" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "agur" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Sartu %s botatzeko arrazoia:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Elkarrizketa" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Bidali" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Berriketa" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Garbitu" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* root bezala IRCa erabiltzia ez da ona! Erabiltzaile kontu\n berri bat sortu beharko zenuke eta honekin sartu.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "BAI " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "EZ" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP ugariegi jasotzen hari zara %s(r)engandik, %s ignoratu egingo da.\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Kanaletara sartu gabe. Saiatu /join #<kanala>-rekin\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Konektatu gabe. Saiatu /server <ostalaria> [<ataka>]-rekin\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh behar dut abiatzeko!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumentu ezezaguna '%s', ezikusia." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Ez da alako plugin-ik aurkitu.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin hori kargatzeari uko egiten ari da.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <izena> <ekintza>, botoi bat gehitzen du erabiltzaile zerrendaren azpian" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komandoa>, zauden kanal guztietara komando bat bidaltzen du" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, zauden zerbitzari guztietara komando bat bidaltzen du" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <izena>, erabiltzaile zerrendaren azpitik botoi bat ezabatzen du" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <ezizena>, uneko kanalean chanop egoera kentzen dio aukeratutako ezizenari (chanop egoera behar da)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <ezizena>, uneko kanalean voice egoera kentzen dio aukeratutako ezizenari <chanop egoera behar da>" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, zerbitzaritik deskonektatzen da" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanala>, kanalera sartzen da" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ezizena> <mezua>, CTCP mezua bidaltzen dio ezizenari" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ezizena>, zure ezizena ezartzen du" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ezizena>, chanop egoera ematen dio erabiltzaileari (chanop behar da)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanala>] [<arrazoia>], kanaletik irteten da, unekotik lehenetsita" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <ezizena | kanala>, CTCP ping egin ezizen edo kanalari" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<arrazoia>], deskonektatu egiten da uneko zerbitzaritik" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <mezua>, mezua era lauean bidaltzen dio zerbitzariari" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <testua>, uneko leihoko objektuari testua bidaltzen dio" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <ostalaria> [<ataka>] [<pasahitza>], zerbitzari batera konektatzen da, lehenetsitako ataka 6667 da" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<gaia>], zerbait ematen bada gaia hori ezartzen du, bestela uneko gaia erakusten du" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maskara> [<maskara>...], espezifikatutako maskarei debekua kentzen die" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maskara> [IXILIK]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <izena>, plugin edo skript-a deskargatzen du" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ezizena>, ahots egoera ematen dio norbaiti (chanop-a behar da)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mezua>, mezua kanal guztietan idazten du" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mezua>, uneko kanaleko chanop guztiei mezua bidaltzen die" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Erabilera: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nEz dago laguntzarik eskuragarri komando horrentzat.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Ez dago honelako komandorik.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumentu akastunak erabiltzaile komandoentzat.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ziur zaude SSL erabiltzeko gai den zerbitzari eta ataka dela?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Ezin da ebatzi %s ostalari-izena\nEgiaztatu zure IP ezarpenak!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy trasbersalak huts egin du.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Hurrengo zerbitzarira %s-n ziklatzen...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Oharra: \"%s\" karaktere-jokoa ezezaguna da. Ez da konbertsiorik aplikatu %s sarearentzat." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanala Erabiltzaileak Gaia" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tNotifikazio zerrenda hutsik dago." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s-n SAIOA HASTEN\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Ezkerreko mezua" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Eskuineko mezua" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP helbidea" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Erabiltzaile izena" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Sartu den pertsonaren ezizena" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Sartzen hari den kanala" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Pertsonaren ostalaria" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Ezizena" + +#: src/common/text.c:980 +msgid "The action" +msgstr "akzioa" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifikatutako testua" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Testua" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Mezua" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Zerbitzariaren izena" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Ezizen zaharra" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Ezizen berria" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Gaia aldatu duenaren ezizena" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Gaia" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Bidaltzailearen ezizena" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Kaleratuko den pertsona" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanala" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Arrazoia" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Irten den pertsonaren ezizena" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Ordua" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Sortzailea" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Ezizena" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Arrazoia" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Ostalaria" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Norengandik den" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Ordua x.x formatuan (ikusi azpian)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanalean hau gertatuko da" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Soinua" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Pertsonaren ezizena" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP gertaera" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Pasahitza jarri duenaren ezizena" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Giltza" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Muga jarri duenaren ezizena" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Muga" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Op egoera eman duen pertsonaren ezizena" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Op egoera eman zaion pertsonaren ezizena" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Erdi-Op egoera eman zaion pertsonaren ezizena" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Erdi-Op egoera eman duen pertsonaren ezizena" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Ahotsa eman duen pertsonaren ezizena" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Ahotsa eman zaion pertsonaren ezizena" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Debekuaren maskara" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Pasahitza kendu duenaren ezizena" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Muga ezabatu duenaren ezizena" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Op egoera kendu zaion pertsonaren ezizena" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Erdi-Op egoera kendu zaion pertsonaren ezizena" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Ahotsa kendu zaion pertsonaren ezizena" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Gonbidapena luzatu duen pertsonaren ezizena" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Gonbidapenaren maskara" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Egoeraren seinua (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Egoeraren letra" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanala honela ezarriko da" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Izen osoa" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanaleko kidea /\"IRC operatzaile bat da\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Zerbitzariaren informazioa" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Inaktibitate denbora" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Konektatutako ordua" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Aldentzearen arrazoia" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mezua" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Kontua" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Benetazko erabiltzaile@ostalaria" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Benetazko IPa" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanalaren izena" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Testua" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Gonbidatu zaituenaren ezizena" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Erabiltzaileak" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Ezizena erabilita" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Saiatzen hari den ezizena" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Ataka" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC mota" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Fitxategi-izena" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Helmuga fitxategia" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Bide-izena" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posizioa" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamainua" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC katea" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Notifikazio kopurua" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Fitxategi zaharra" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Fitxategi berria" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Jasotzailea" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Ostalariaren maskara" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Ostalariaren izena" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketea" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segunduak" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Gonbidatua izan denaren ezizena" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Debeku maskara" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Nork ezarri duen debekua" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Debekuaren denbora" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Ezin da soinu fitxategia irakurri:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Ostalari urrunak socket-a itxi du" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Konexio ukatua" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ez dago biderik ostalariraino" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Konexioa denboraz kanpo" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ezin da helbide hori eman" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Konexioa bikoteak berrezarria" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Arabiar Emirerri Batuak" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua eta Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilla Nederlandarrak" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Alderantzizko DNSa" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Estatubatuarra" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia-Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgika" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negozioak" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudak" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamak" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Uhartea" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorrusia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocos Uharteak" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Ertafrikar Errepublika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suitza" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook Uharteak" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Txile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Txina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Komertziala" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Christmas Uhartea" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Txipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Txekiar Errepublika" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemania" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djituti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danimarka" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikar Errepublika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Instituzio Edukatiboa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Mendebaldeko Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espainia" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Malvina Uharteak (Falkland)" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Maine" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe Uharteak" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frantzia" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Britania Handia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyana Frantsesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Channel Uharte Britaniarrak" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Ginea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Gobernua" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadelupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekuatore-Ginea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grezia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Hegoaldeko Georgia eta Hegoaldeko Sandwich Uharteak" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Ginea Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard Uhartea eta McDonald Uharteak" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroazia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungaria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatiboa" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internazionala" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Indiar Ozeanoko Lurralde Britainiarra" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonia" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kanbodia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoreak" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts eta Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Korea, Herri-Errepublika Demokratikoa (Ipar Korea)" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Korea Errepublika (Hego Korea)" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman Uharteak" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Luzia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letonia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Liberia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Estatu Batuak Medizinala" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall Uharteak" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militarra" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Birmania" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Iparraldeko Mariana Uharteak" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurizio" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Mali" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambike" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Kaledonia Berria" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Sarea" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Uhartea" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Herbereak" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvegia" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Zeelanda Berria" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Papua Ginea Berria" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Frantsesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Ginea Berria" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinak" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Saint Pierre eta Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Belau (lehen Palaos)" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Errumania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet zaharra" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Errusiako Federazioa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salomon Uharteak" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelleak" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suedia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Elena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard eta Jan Mayen Uharteak" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Eslovakia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leona" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome eta Printze" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Lehenago USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swazilandia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turk eta Caicoak Uharteak" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Txad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Hegoaldeko Lurralde Frantsesak" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Ekialdeko Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad eta Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Erresuma Batua" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerikako Estatu Batuak" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanoko Hiria" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "San Bizente eta Grenadinak" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Birjina Uharteak (Err. Ba.)" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Birjina Uharteak (EEBB)" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Uharteak" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Hegoafrikar Errepublika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Karaktere taula" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Debekatu" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Gonbidatu" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Konektatu gabe." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Debeku batzuk aukeratu behar dituzu." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maskara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Nork" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Kendu" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Moztu" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Freskatu" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Aukeratu irteera fitxategi bat" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Sartu gelara" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopiatu gelaren izena" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopiatu g_aiaren testua" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Bilatu" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Gorde _zerrenda..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanalaren izena" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Bilaketa mota:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Bilaketa sinplea" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Bilatu:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Bidali fitxategia %s-ri" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Fitxategi hau ez da jarraigaitza" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Ezin da fitxategira iritsi: %s\n%s.\nBerrekitea ezinezkoa." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Ezin da bi pertsonen fitxategi berdinarekin jarraitu" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Egoera" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fitxategia" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Biak" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Bidalketak" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Deskargak" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Xehetasunak" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fitxategia:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Helbidea:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abortatu" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Onartu" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Berrekin" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Ireki karpeta..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Jasotakoak" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Bidaliak" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Hasiera data" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Ezabatu" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Utzi" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Gorde" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Exekutatu komandoa:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "maila" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Huts egin da letra tipoa irekitzen:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Bilaketa bufferra hutsik dago.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Errore bat egon da tekla-mapa konfigurazioa kargatzerakoan" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Ezin idatzi fitxategi hortan." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Ezin irakurri fitxategi hori." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Maskara hau dagoeneko exisititzen da." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Pribatua" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Oharra" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Ezikusia kendu" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Sartu ignoratu nahi duzun maskara:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoratuen estatistikak" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanala:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Pribatua:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Oharra:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Gonbidatu:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Gehitu..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Sartu gela honetara:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Elkarrizketatu honekin" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s-ren gaia honakoa da: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Ez dago gairik" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "HexChat-etik irten?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ez galdetu gehiago" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "%i IRC sareetara konektatuta zaude." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Ziur zaude irten nahi duzula?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normala" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Koloreak 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Koloreak 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Ezarpenak" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Itxi" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Erabiltzaile mugak zenbakia izan behar du!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Ez dago kanpoko mezurik" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Gaia babestua" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Gonbidapenarekin bakarrik" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderatua" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Debekatuen zerrenda" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Gako-hitza" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Erabiltzaile limitea" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Sartu ezizen berria:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Ostalari ezezaguna" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Ezezaguna" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Benetako izena:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Erabiltzailea" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Herrialdea:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Zerbitzaria:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "Orain dela %u minutu" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Azken mezua:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Ireki esteka nabigatzailean" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopiatu aukeratutako esteka" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Sartu kanalera" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Irten kanaletik" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Kanal zikloa" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Ordeztu - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Ordeztu honekin" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Berria" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Irten" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "I_kusi" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Erabiltzaile zerrenda" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Zu_haitza" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Off" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafikoa" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Zerbitzaria" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Deskonektatu" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Ezarpenak" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Hobespenak" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Leihoa" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reseteatu marka-lerroa" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopiatu aukeraketa" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "G_arbitu testua" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Bilatu" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Bilatu hurrengoa" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Bilatu aurrekoa" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Laguntza" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Edukia" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Honi buruz" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Izena" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Azkenekoz ikusia" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Lineaz kanpo" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Inoiz" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "Orain dela %d minutu" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Linean" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Sartu gehitu nahi den ezizena:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Ireki elkarrizketa" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Gela mezua" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mezu pribatua" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Joan" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Itzuli" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Bertsioa" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Azalpena" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Aukeratu kargatzeko plugin edo skript bat" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Kargatu..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Gorde honela..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Sare berria" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Benetan ezabatu nahi duzu \"%s\" eta honen zerbitzari guztiak?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Gakoa (Pasahitza)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editatu" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Erabili SSL sare hontako zerbitzari guztietan" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Erabili erabiltzailearen informazio globala" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Ezizena:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Bigarren aukera:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Benetazko _izena:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Erabiltzaile izena:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Pasahitza:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Karaktere-jokoa:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Erabiltzailearen informazioa" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Hirugarren aukera" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Sareak" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editatu..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sailkatu" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "K_onektatu" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Euskara" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorrusia" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonia" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Frantsesa" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiziera" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemaniera" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiera" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japoniera" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaysia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espainiera" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Suediera" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailandia" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Orokorra" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Hizkuntza:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Letra-tipo nagusia:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Letra-tipoa" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Koloreztatutako ezizenak" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Koskatu ezizenak" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Erakutsi lerro-marka" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Atzeko planoko irudia:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titulu barra" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Sarrera kaxa" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Izen betetzea" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Ezizen betetzearen atzizkia:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafikoa" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Sailkatu gabe" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Goian" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Behean" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Ezkutatu" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Erabiltzaile zerrenda" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Erakutsi ostalari izenak erabiltzaile zerrendan" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Erabili textu kaxaren letra-tipo eta koloreak" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Erabiltzaile-zerrenda honela sailkatua:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Hau baino txikiagoak diren kanaletan:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Klik bikoitza egin ondorengo ekintza" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Windows" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Fitxak" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Beti" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Eskaria egiten den fitxetan soilik" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatikoa" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Zuhaitza" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Ireki fitxa extra bat zerbitzariaren mezuentzat" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sailkatu fitxak orden alfabetikoan" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Fitxen luzera murriztu:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letra." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Fitxak ala leihoak" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Ireki kanalak hemen:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Ireki elkarrizketak hemen:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Iriki utilitateak hemen:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Ireki DCC, ezikusi, notifikazio etab. fitxetan ala leihoetan?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mezuak" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Hona jaitsi fitxategiak:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mugitu amaitutako fitxategiak hona:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Gorde ezizenak fitxategietan" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Automatikoki ireki DCC leihoak" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Bidalketa leihoa" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Jaso leihoa" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Elkarrizketa leihoa" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Igoera bat:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Jaitsiera bat:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Igoera guztiak konbinatuta:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Jaitsiera guztiak konbinatuta:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertak" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Lehenetsitako mezuak" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Irten:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Irten kanaletik:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Aldenduta:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Aldenduta" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Erakutsi aldendu mezua behin" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatikoki desmarkatu aldendu egoera" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Erakutsi MODEak era lauean" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Ezkutatu sartze/irtete mezuak" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Automatikoki berriz konektatzeko atzerapena:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logeatzen" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Atzera korritze lerro kopurua:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Txertatu ordu arrastoak log-etan" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLak" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Desgaitua)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automatikoa" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Zure helbidea" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Lotu honi:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Hartu nire IPa IRC zerbitzaritik" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Galdetu IRC zerbitzariari zure benetako helbidea. Erabili hau 192.168.*.* moduko helbidea baduzu." + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCCaren IP helbidea:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy zerbitzaria" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Ostalari-izena" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Ataka:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Mota:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Erabili proxy-a honentzat:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy autentikazioa:" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Erabiltzaile izena:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Aukeratu irudi fitxategi bat" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Aukeratu deskarga karpeta" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Aukeratu letra-tipoa" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Arakatu..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Ireki datuen karpeta" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Aukeratu kolorea" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Testu koloreak" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC koloreak:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Aurreko planoa:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Atzeko planoa:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Interfazearen koloreak" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Datu berria:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Mezu berria:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Aldendutako erabiltzailea:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Nabarmendu:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Gertaera" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Soinu fitxategia" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Aukeratu soinu fitxategi bat" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Soinu fitxategia:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Arakatu..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Jo" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interfazea" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Itxura" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Sarrera kaxa" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Erabiltzaile zerrenda" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Koloreak" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Elkarrizketan" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Soinuak" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Aurreratua" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Sare konfigurazioa" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Fitxategi transferentziak" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategoriak" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Egindako ezarpen aldaketa batzuk berrabiaraztea behar dute guztizko efektua egin dezaten." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*OHARRA*\nDCCak automatikoki onartzea zure etxe karpetara\nkaltegarria izan daiteke. Adibidez norbaitek\n.bash_profile fitxategia bidali dezake" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Hobespenak - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Gehiago..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Errore bat gertatu da karaktere-katea parseatzean" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Seinale honek %d argumentu pasa ditu, $%d baliogabekoa da" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Inprimatu testuen fitxategia" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Zenbakia" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editatu gertaerak" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Egiaztatu denak" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "Ados" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Garbitu zerrenda" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopiatu aukeratutako URLa" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiatu" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Gorde zerrenda fitxategi batean" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d guztira" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000000000000000000000000000000000000..3048f6222065e7b7263eeeac1a2947720fabe881 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,6256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Jiri Grönroos <jiri.gronroos@iki.fi>, 2014,2016 +# Toni Willberg <toni@willberg.fi>, 2014 +# Toni Willberg <toni@willberg.fi>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Finnish (http://www.transifex.com/hexchat/hexchat/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC-asiakassovellus" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat on helppokäyttäinen IRC-asiakassovellus, joka on helposti laajennettavissa. Sen avulla voit liittyä lukuisiin eri verkkoihin ja keskustella muiden kanssa kanavilla tai yksityiskeskusteluissa. Voit myös siirtää tiedostoja muiden käyttäjien kanssa." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat tukee muun muassa seuraavia ominaisuuksia: DCC, SASL, välityspalvelimet, oikoluku, hälytykset, lokitus, mukautettavat teemat ja Python-/Perl-skriptit." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Keskustele muiden kanssa verkossa" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;pikaviestin;keskustelu;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat-teemojen hallinta" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Olen kiireinen" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Lähdössä" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Verkko" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ei mitään>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanava" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Odottaa" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiivinen" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Epäonnistui" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Valmis" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Yhdistetty" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Keskeytetty" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Tiedostoa %s ei voi käyttää\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Virhe" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s tarjoaa tiedostoa \"%s\". Hyväksytäänkö?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ei aktiivisia DCC-yhteyksiä\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Avaa keskusteluikkuna" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "Lähetä tiedo_sto" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Käyttäjätiedot (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "Lisää k_averilistalle" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Anna opit" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Poista opit" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Anna puheoikeus" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Poista puheoikeus" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Potkaise/Bannaa" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Potkaise" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bannaa" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Potkaise ja bannaa" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Poistu kanavalta" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Liity kanavalle..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Anna liityttävän kanavan nimi:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Palvelinlinkit" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Pingaa palvelinta" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Piilota versionumero" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Oppaa" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Opit pois" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "heihei" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Anna syy miksi %s potkaistaan:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Keskustele" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "KukaOn" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Lähetä" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Keskustelu" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Tyhjennä" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRCin ajaminen pääkäyttäjänä on typerää!\n Luo tavallinen käyttäjätunnus ja kirjaudu sillä.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JAA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "EI " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "CTCP-tulva käyttäjältä %s, ei huomioida osoitetta %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-14s tavoitettavissa\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-14s tavoittamattomissa\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Millekään kanavalle ei ole liitytty. Kokeile /join #<kanava>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Mihinkään palvelimeen ei ole yhteyttä. Kokeile /server <isäntä> [<portti>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Palvelin %s on jo verkossa %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Lisättiin palvelin %s verkoon %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Merkitty jo poissaolevaksi: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Merkitty jo läsnäolevaksi.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Ajamiseen vaaditaan /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Käytettävissä olevat komennot:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Käyttäjän määrittelemät komennot:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Liitännäisten komennot:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Lisätietoja saat kirjoittamalla /HELP <komento> tai /HELP -l." + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Tuntematonta argumenttia \"%s\" ei huomioida." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Liitännäistä ei löydy.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Liitännäinen ei suostu poistumaan käytöstä.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nimi> <toiminto>, lisää painikkeen käyttäjäluettelon alapuolelle" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komento>, lähettää komennon kaikille kanaville, joilla ollaan" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komento>, lähettää komennon kaikille palvelimille, joilla ollaan" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, merkitsee läsnäolevaksi" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <peite> [<bannityyppi>], bannaa jokaisen peitteeseen täsmäävän käyttäjän nykyiseltä kanavalta. Jos käyttäjät ovat jo kanavalla, tämä komento ei potkaise heitä (vaatii opit)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <koodi|jokeri>, etsii maakoodin, esim. au = Australia." + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <käyttäjä> <viesti>, lähettää CTCP-viestin käyttäjälle, yleiset viestit ovat VERSION ja USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE, poistuu nykyiseltä kanavalta ja palaa heti takaisin" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <kutsumanimi> - hyväksy tarjottu tiedosto\nDCC SEND [-maxcps=#] <knimi> [tiedosto] - lähetä tiedosto jollekulle\nDCC PSEND [-maxcps=#] <knimi> [tiedosto] - lähetä tiedosto passiivitilaisena\nDCC LIST - näytä DCC-luettelo\nDCC CHAT <kutsumanimi> - ehdota DCC-keskustelua jollekulle\nDCC PCHAT <kutsumanimi> - ehdota DCC-keskustelua passiivitilaisena\nDCC CLOSE <tyyppi> <knimi> <tiedosto> - keskeytä DCC-siirto, esimerkiksi:\n /dcc close send jarkkoranta tiedosto.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <käyttäjä>, poistaa puoliopit käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nimi>, poistaa painikkeen käyttäjäluettelon alta" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <käyttäjä>, poistaa opit käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <käyttäjä>, poistaa puheoikeuden käyttäjältä nykyisellä kanavalla (vaatii opit)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Katkaisee yhteyden palvelimelle" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <teksti>, tulostaa tekstiä paikallisesti" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <komento>, ajaa komennon. Käytettäessä valitsinta -o tuloste lähetetään nykyiselle kanavalle, muutoin nykyiseen ikkunaan" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, lähettää prosessille signaalin SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], tappaa nykyisestä istunnosta käynnistetyn ohjelman. Käytettäessä valitsinta -9, prosessille lähetetään signaali SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, lähettää prosessille signaalin SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, lähettää dataa prosessin vakiosyötteeseen" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tyhjentää nykyisen palvelimen lähetysjonon" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <isäntä> [<portti>], käyttää isäntää välipalvelimena, oletusportti 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <käyttäjä>, antaa puoliopit käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <salasana>, tunnistautuu NickServ-palvelulle." + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <peite> <tyypit..> <valitsimet..>\n peite - peite, jonka mukaan jätetään huomiotta, esim: *!*@*.aol.com\n tyypit - viestityypit, jotka jätetään huomiotta, yksi tai useampi:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n valitsimet - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <käyttäjä> [<kanava>], kutsuu käyttäjän kanavalle, oletuksena nykyiselle (vaatii opit)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanava>, liittyy kanavalle" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, pakottaa uuden viivetarkistuksen" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <tiedosto>, lataa liitännäisen tai komentotiedoston." + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, poistaa opit kaikilta nykyisen kanavan puoliopeilta (vaatii opit)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, poistaa opit kaikilta nykyisen kanavan opeilta (vaatii opit)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <toiminta>, lähettää toiminnan nykyiselle kanavalle (toiminnat kirjoitetaan kolmannessa persoonassa, kuten /me hyppää)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, potkaisee kaikki muut kanavalta (vaatii opit)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, antaa kanavaoperaattorin oikeudet kanavan kaikille käyttäjille (vaatii opit)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [kanava], luettelee kanavalla olevat käyttäjät" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <käyttäjä> <viesti>, lähettää CTCP-tiedotteen" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <isäntä> [<portti>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <kutsumanimi>, asettaa oman kutsumanimesi" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n verkko1[,verkko2]] [<kutsumanimi>], näyttää ilmoitusluettelon tai lisää siihen jonkun" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <käyttäjä>, antaa kanavaoperaattorin oikeudet käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanava>] [<syy>], poistuu kanavalta, oletuksena nykyiseltä" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <käyttäjä | kanava>, CTCP-pingaa käyttäjää tai kanavaa" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<syy>], katkaisee yhteyden nykyiseen palvelimeen" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <teksti>, lähettää tekstin raa'assa muodossa palvelimelle" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<isäntä>] [<portti>] [<salasana>], voidaan kutsua /RECONNECT nykyiseen palvelimeen uudelleen yhdistämiseksi, tai /RECONNECT ALL kaikkiin avoimiin palvelimiin uudelleen yhdistämiseksi" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<isäntä>] [<portti>] [<salasana>], voidaan kutsua /RECONNECT nykyiseen palvelimeen uudelleen yhdistämiseksi, tai /RECONNECT ALL kaikkiin avoimiin palvelimiin uudelleen yhdistämiseksi" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teksti>, lähettää tekstin nykyisen ikkunan kanavalle/henkilölle" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <käyttäjä> [<tiedosto>], lähettää käyttäjälle tiedoston" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <isäntä> <portti> <kanava>, yhdistää ja liittyy kanavalle" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <isäntä> <portti> <kanava>, yhdistää ja liittyy kanavalle" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <isäntä> [<portti>] [<salasana>], yhdistää palvelimelle, oletusportti on 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<aihe>], asettaa aiheen, jos se annetaan, muutoin näyttää nykyisen aiheen" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <aika> <tied1> [<tied2>] Vuorottelee kahta kuvaketta ilmoitusalueella (välkyttää).\nTRAY -f <tiedostonimi> Muuttumaton kuvake ilmoitusalueelle.\nTRAY -i <numero> Välkyttää sisäänrakennettua kuvaketta.\nTRAY -t <teksti> Asettaa ilmoitusalueen vihjetekstin.\nTRAY -b <otsikko> <teksti> Asettaa ilmoitusalueen puhekuplan tekstin." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <peite> [<peite>...], poistaa annettujen peitteiden bannin." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <peite> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nimi>, poistaa käytöstä liitännäisen tai skriptin" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, avaa URLin selaimeen" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nimi1> <nimi2> jne., valitsee nimet kanavan käyttäjäluettelosta" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <käyttäjä>, antaa puheoikeuden käyttäjälle (vaatii opit)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <viesti>, kirjoittaa viestin kaikille kanaville" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <viesti>, lähettää viestin kaikille nykyisen kanavan opeille" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Käyttö: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nKomennolle ei ole saatavissa ohjetta.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Komentoa ei ole.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Virheelliset argumentit käyttäjäkomennolle.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Liian monta rekursiivista käyttäjäkomentoa, keskeytetään." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Ei hexchat_plugin_init-symbolia; onko varmasti kyseessä HexChat-liitännäinen?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Onko tämä varmasti SSL:ää tukeva palvelin ja portti?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Isäntänimen %s selvitys ei onnistu\nTarkista IP-asetukset!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Välipalvelimen kauttakulku epäonnistui.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Siirrytään seuraavalle %s-verkon palvelimelle...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Varoitus: merkistö \"%s\" on tuntematon. Verkossa %s ei käytetä mitään muunnosta." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanava Käyttäjät Aihe%O" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) liittyi" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tNimi on virheellinen tai jo käytössä. Käytä /NICK -komentoa yrittääksesi uudelleen." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotify: %C18$1%C on poissa (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotify: %C18$1%C tuli takaisin" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tIlmoitusluettelo on tyhjä." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) poistui" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) poistui ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 lopetti ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tYhdistetty." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tPoistuit kanavalta %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tPoistuit kanavalta %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tNimimerkkisi on nyt %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Loki luettiin tiedostosta" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LOKIKIRJOITUS LOPPUU %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** LOKIKIRJOITUS ALKAA %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Vasen viesti" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Oikea viesti" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-osoite" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Käyttäjänimi" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Liittyvän henkilön nimimerkki" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanava, jolle liitytään" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Henkilön isäntänimi" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nimimerkki" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Toiminto" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Tilamerkki" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Korostettava teksti" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksti" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Viesti" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Palvelinnimi" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Palvelimen kyvyt" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Pyydetyt kyvyt" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Vanha nimimerkki" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Uusi nimimerkki" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Aihetta muuttaneen henkilön nimimerkki" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Aihe" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Potkaisijan nimimerkki" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Potkaistava henkilö" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanava" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Syy" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Poistuvan henkilön nimimerkki" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Aika" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Luoja" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nimimerkki" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Syy" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Isäntä" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Keneltä se on" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Aika x.x-muodossa (katso alta)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanava, jolle se on menossa" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Ääni" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Henkilön nimimerkki" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP-tapahtuma" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Tunnussanan asettaneen henkilön nimimerkki" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Tunnussana" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Rajan asettaneen henkilön nimimerkki" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Raja" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Opit antaneen henkilön nimimerkki" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Opit saaneen henkilön nimimerkki" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Puoliopit saaneen henkilön nimimerkki" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Puoliopit antaneen henkilön nimimerkki" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Puheoikeuden antaneen henkilön nimimerkki" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Puheoikeuden saaneen henkilön nimimerkki" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Bannin asettajan nimimerkki" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Bannipeite" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Tunnussanan poistajan nimimerkki" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Rajan poistajan nimimerkki" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Opit menettäneen henkilön nimimerkki" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Puoliopit poistaneen henkilön nimimerkki" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Puheoikeuden menettäneen henkilön nimimerkki" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Erivapauden asettaneen henkilön nimimerkki" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Erivapauspeite" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Erivapauden poistaneen henkilön nimimerkki" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Kutsun esittäneen henkilön nimimerkki" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Kutsupeite" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Kutsun poistaneen henkilön nimimerkki" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Tilan asettaneen henkilön nimimerkki" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Tilan etumerkki (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Tilakirjain" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanava, jolle se asetetaan" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Koko nimi" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanavan jäsenyys/\"on IRC-operaattori\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Palvelintiedot" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Joutenoloaika" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Kirjautumisaika" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Poissaolon syy" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Viesti" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Tunnus" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Todellinen käyttäjä@isäntä" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Todellinen IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanavanimi" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Teksti" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Sinut kutsuneen henkilön nimi" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Käyttäjiä" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nimimerkki on käytössä" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Kokeiltava nimimerkki" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Portti" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Tilamerkkijono" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC-tyyppi" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Tiedostonimi" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Kohdetiedostonimi" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "t/s" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Polku" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Sijainti" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Koko" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC-merkkijono" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Poissaolon syy" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Ilmoitusmerkintöjen määrä" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Vanha tiedostonimi" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Uusi tiedostonimi" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Vastaanottaja" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Isännän peite" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Isäntänimi" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketti" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekuntia" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Kutsutun henkilön nimimerkki" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Bannipeite" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kuka asetti bannin" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Bannausaika" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Äänitiedostoa ei voi lukea:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Vastapää sulki pistokkeen" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Yhteys torjuttu" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ei reititystä isäntään" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Yhteys aikakatkaistu" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Osoitetta ei voi asettaa" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Vastapää katkaisi yhteyden" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Yhdistyneet Arabiemiraatit" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua ja Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Alankomaiden Antillit" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Etelämanner" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentiina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Käänteisnimipalvelu" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikan Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Itävalta" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "NATO" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ahvenanmaa" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaidzan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia ja Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Liike-elämä" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasilia" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamasaaret" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet'n saari" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Valko-Venäjä" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalaani" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kookossaaret" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Kongon demokraattinen tasavalta" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Keski-Afrikan tasavalta" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Sveitsi" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Norsunluurannikko" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cooksaaret" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kiina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Kaupallinen" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia ja Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Joulusaari" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kypros" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tšekinmaa" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Saksa" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Tanska" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikaaninen tasavalta" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Koulutuksellinen laitos (Yhdysvallat)" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Viro" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypti" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Länsi-Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espanja" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Euroopan unioni" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Suomi" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidzi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandsaaret" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Färsaaret" + +#: src/common/util.c:770 +msgid "France" +msgstr "Ranska" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Iso-Britannia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Ranskan Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Englannin kanaalin saaret" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grönlanti" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Valtio (Yhdysvallat)" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Päiväntasaajan Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Kreikka" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Etelä-Georgia ja Eteläiset Sandwichsaaret" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hongkong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard ja McDonaldinsaaret" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Unkari" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanti" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Mansaari" + +#: src/common/util.c:801 +msgid "India" +msgstr "Intia" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Tiedotuksellinen" + +#: src/common/util.c:803 +msgid "International" +msgstr "Kansainvälinen" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Brittiläinen Intian valtameren alue" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islanti" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japani" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgisia" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komorit" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts ja Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Pohjois-Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Etelä-Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Caymansaaret" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Liettua" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Lääketieteellinen (Yhdysvallat)" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshallsaaret" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Sotilaallinen (Yhdysvallat)" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobiililaitteet" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Pohjois-Mariaanit" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Malediivit" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malesia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mosambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Uusi-Kaledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Verkko" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolkin saari" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Alankomaat" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norja" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Uusi-Seelanti" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Aatteellinen järjestö" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Ranskan Polynesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua-Uusi-Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippiinit" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Puola" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre ja Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Brittiläinen Intian valtameren alue" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugali" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Vanha ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Venäjän Federaatio" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi-Arabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salomosaaret" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellit" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Ruotsi" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Saint Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard- ja Jan Mayen -saaret" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome ja Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Entinen Neuvostoliitto" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syyria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swasimaa" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks- ja Cairossaaret" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tšad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Ranskan eteläiset maa-alueet" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thaimaa" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadzikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Itä-Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkki" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad ja Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tansania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Iso-Britannia" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Yhdysvallat" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikaanivaltio" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent ja Grenadiinit" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Brittiläiset Neitsytsaaret" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Neitsytsaaret" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis ja Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Aikuisviihde" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Etelä-Afrikka" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Sambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Istuntoväylään ei saatu yhteyttä" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner-komennon suoritus epäonnistui" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Komennon suoritus epäonnistui" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "etäkäyttö" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "Liitännäinen, joka mahdollistaa etäkäytön DBUS-yhteyden yli." + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Istuntoväylään ei saatu yhteyttä: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Virhe palvelussa %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Merkistökartta" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bannaa" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Kutsut" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Palvelimeen ei ole yhteyttä." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Valitse vähintään yksi banni." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Peite" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Keneltä" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Päiväys" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Banniluettelon voi avata vain, kun jokin kanavaikkuna on valittuna." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Poista" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Poista muut" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Päivitä" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Näkyvillä on %d/%d käyttäjää %d/%d kanavalla." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Valitse tulostiedoston nimi" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Liity kanavalle" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "Kopioi kanavanimi" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopioi kanavan aihepiiriteksti" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "Hae" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Lataa luettelo" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Tallenna luettelo..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Näytä vain:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanavat, joilla on" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "—" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "käyttäjää." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Käy läpi:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanavanimi" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Hakutapa:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Yksinkertainen haku" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Hakulauseke (jokerimerkit)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Säännöllinen lauseke" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Etsi:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Lähetä tiedosto käyttäjälle %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Tämän tiedoston siirtoa ei voi jatkaa." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Tiedostoa ei voi käsitellä: %s\n%s.\nJatkaminen ei ole mahdollista." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Tiedosto latauskansiossa on suurempi kuin tarjottu tiedosto. Jatkaminen ei ole mahdollista." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Saman tiedoston siirtoa ei voi jatkaa kahdelta käyttäjältä." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Tila" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Tiedosto" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Arvioitu aika" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Molemmat" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Lähetykset" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Lataukset" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Lisätiedot" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Tiedosto:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Osoite:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Keskeytä" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Hyväksy" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Jatka" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Avaa kansio..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Saapunut" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Lähetetty" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Aloitusaika" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Lisää" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Poista" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Peru" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Tallenna" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "ei ota yhteyttä palvelimiin" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "käyttää erityistä asetushakemistoa" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "ei lataa liitännäisiä" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "näyttää käyttäjän asetushakemiston" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Suorita komento:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Avaa URL tai suorita komento käynnissä olevassa HexChatissa" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Aloita pienennettynä. Taso: 0=tavallinen, 1=kuvakkeena, 2=ilmoitusalueella" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "taso" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "näyttää versiotiedot" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Kirjasimen avaaminen ei onnistunut:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Hakupuskuri on tyhjä.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d tavua" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Verkon lähetysjonossa on %d tavua." + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Insert in Buffer -komento lisää Data 1:n sisällön syöteriville kohdistimen kohdalle" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Set Buffer -komento asettaa syöteriviksi Data 1:n sisällön" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Last Command -komento asettaa syöteriviksi edellisen annetun komennon - vastaa ylänuolen painamista kuoressa" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Next Command -komento asettaa syöteriviksi seuraavan annetun komennon - vastaa alanuolen painamista kuoressa" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Tämä komento täydentää syöterivillä osoittimen edellä olevan epätäydellisen kutsumanimen tai komennon. Jos Data 1 on asetettu, kaksi kertaa painaminen valitsee edellisen kutsumanimen, ei seuraavaa" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Tämä komento vierittää käyttäjäluetteloa ylös ja alas. Jos Data 1 on asetettu, luetteloa vieritetään ylös, muutoin alas" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Tämä komento vertaa viimeistä annettua sanaa korvauslistaan ja muuttaa sen,jos löytyy täsmäävyys." + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Tämä komento siirtää päällimmäistä välilehteä yhden vasemmalle" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Tämä komento siirtää päällimmäistä välilehteä yhden oikealle" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Tämä komento siirtää nykyistä välilehtiötä vasemmalle" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Tämä komento siirtää nykyistä välilehtiötä oikealle" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Lisää syöterivin historiaan, mutta ei lähetä palvelimelle" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Virhe ladattaessa näppäinsidonta-asetuksia" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Antamaasi tiedostoon ei voi kirjoittaa." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Antamaasi tiedostoa ei voi lukea." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Kyseinen peite on jo olemassa." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Yksityiset" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Tiedotteet" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Huomioi toistaiseksi" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Anna peite huomiotta jätettäville:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Huomioimattomuustilastot:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kavavia:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Yksityisiä:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Ilmoituksia:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Kutsuja:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Lisää uusi..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanavan nimi on liian lyhyt. Yritä uudestaan." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Yhteys palvelimeen %s on valmis." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Mitä haluat tehdä?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_En mitään, liityn kanaville itse." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Liittyä kanavalle:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jos tiedät mille kanavalle haluat liittyä, kirjoita sen nimi tähän." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "Näytä tämä valintaikkuna _aina, kun yhteys on muodostettu." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Keskustelijana" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Kanavan %s aihe on: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Kanavalla ei ole aihetta." + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Palvelimelta on edelleen auki %d kanavaa tai keskustelua. Suljetaanko kaikki?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Suljetaanko HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Älä kysy jatkossa." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Ollaan yhteydessä %i IRC-verkkoon." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Lopetetaanko varmasti?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Tiedostonsiirtoja on vielä käynnissä." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "Pienennä ilmoitusalueelle" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Lisää määre tai värikoodi" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Lihavoitu</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Alleviivattu</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Kursiivi</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Tavallinen" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Värit 0–7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Värit 8–15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "A_setukset" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Tallenna _lokitiedosto levylle" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "Piilota liittymis- ja poistumisviestit" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Anna ääni_merkki kun uusi viesti saapuu" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Sulje" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Käyttäjärajan tulee olla numero!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Suodata värit" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Ei ulkopuolisia viestejä" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Aiheensuojaus" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Vain kutsutuille" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderoitu" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Banniluettelo" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Tunnussana" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Käyttäjäraja" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Anna uusi nimimerkki:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Ei osumia." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Huomioi kirjainkoko" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Suorita kirjainkoon huomioiva haku." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Tuntematon isäntä" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Tuntematon tili" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Tuntematon" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Oikea nimi:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Käyttäjä:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Tili:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Maa:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Palvelin:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuuttia sitten" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Puhunut kanavalla:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Poissaoloviesti:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nimeä valittu." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Valikkopalkki on nyt piilossa. Sen saa taas esiin painamalla Ctrl-F9:ää tai hiiren oikeaa painiketta tekstialueen tyhjässä kohdassa." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Avaa linkki selaimeen" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopioi valittu linkki" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Liity kanavalle" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Poistu kanavalta" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Liity kanavalle uudelleen" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Liity automaattisesti" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Liity kanavalle automaattisesti" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Yhdistä automaattisesti" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP-vastaukset - Erikoiskoodit:\n\n%d = data (koko ctcp)\n%e = nykyinen verkko\n%m = koneen tiedot\n%s = ctcp:n lähettäjän nimimerkki\n%t = aika/päiväys\n%2 = 2. sana\n%3 = 3. sana\n&2 = 2. sanasta rivin loppuun\n&3 = 3. sanasta rivin loppuun\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Korvaava teksti" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Uusi" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Lopeta" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Näytä" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Valikkopalkki" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Aihepalkki" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Käyttäjäluettelo" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Tila_painikkeet" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Kanava_valitsin" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Välile_htinä" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "P_uuna" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Verkko_mittarit" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Poissa" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graafinen" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Koko näyttö" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Palvelin" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Katkaise _yhteys" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Yh_distä uudelleen" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Käyttä_jävalikko" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "A_setukset" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Ominaisuudet" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ikkuna" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Siirrä lukumerkki loppuun" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopioi valinta" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "P_yyhi teksti" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Etsi" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Etsi seuraava" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Etsi edellinen" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Ohje" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Sisältö" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Tietoja" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nimi" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Nähty viimeksi" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Tavoittamattomissa" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Ei koskaan" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuuttia sitten" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Tunti sitten" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d tuntia sitten" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Tavoitettavissa" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Anna lisättävä nimimerkki:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Ilmoita seuraavissa verkoissa:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Pilkuilla eroteltu luettelo IRC-verkkoja." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Aloita keskustelu" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Palauta ikkuna" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "Pii_lota ikkuna" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "Välkytä kun tulee" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanavaviesti" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Yksityisviesti" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Korostettu viesti" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Vaihda tilaa" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Poissa" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "Palaa _takaisin" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versio" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Kuvaus" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Valitse ladattava skripti tai liitännäinen" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Lataa..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "Lataa _uudelleen" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Tallenna..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Tyhjennä raakaloki" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Uusi verkko" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Haluatko todella poistaa verkon \"%s\" ja kaikki sen palvelimet?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Käyttäjätunnus ei voi olla tyhjä." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Nimimerkkien pitää olla uniikkeja." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Palvelimet" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Liity kanaville automaattisesti" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Yhdistämiskomennot" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Avain (salasana)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Muokkaa" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Yhdistä vain valittuun palvelimeen" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Älä yritä yhdistää muihin palvelimiin, jos valittuun palvelimeen ei saada yhteyttä." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Yhdistä tähän verkkoon automaattisesti" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Ohita välityspalvelin" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Käytä SSL-yhteyttä tässä verkossa" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Hyväksy virheelliset SSL-varmenteet" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Käytä yleisiä käyttäjätietoja" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nimimerkki:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "2. vaihtoehto:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Oikea nimi:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Käyttäjätunnus:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Kirjautumistapa:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Salasana:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Kirjautumiseen käytettävä salasana. Jätä tyhjäksi, jos et ole varma." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Merkistö:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Käyttäjätiedot" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "3. vaihtoehto:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "IRC-verkot" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Aloita ilman verkkoluetteloa" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Näytä vain suosikit" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Muokkaa..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Lajittele" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Suosi" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Merkitse tämä verkko suosikiksi tai poista suosikkimerkintä." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Yhdistä" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaidzan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Valko-Venäjä" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tsekki" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Hollanti" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Englanti (Brittiläinen)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Viro" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Suomi" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Ranska" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galego" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Saksa" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Kreikka" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Intia" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Unkari" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italia" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japani" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korea" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvia" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Liettua" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonia" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malesia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norja (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norja (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Puola" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugali" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugali (Brasilian)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Venäjä" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbia" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakki" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Sloveeni" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espanja" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Ruotsi" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thaimaa" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turkki" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukraina" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valloni" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Yleiset" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Kieli:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Pääfontti:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Kirjasin:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Väritä nimimerkit" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Anna kullekin käyttäjälle oma väri." + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Sisennä nimimerkit" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Tasaa nimimerkit oikealle." + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Näytä lukumerkki" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Erottaa luetun ja lukemattoman tekstin punaisella viivalla." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Taustakuva:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Läpikuultavuuden säätö" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Otsikkorivi" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Näytä käyttäjämäärä" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Puhumisajankohdan mukaan" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Syötekenttä" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Oikoluku" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Käytettävät sanakirjat:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Nimimerkin täydennys" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Täydennyksen jälkiliite:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Nimimerkkitäydennys aakkosjärjestyksessä:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "nimeä." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Lajittelematon" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Ylhäällä" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Alhaalla" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Piilotettu" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Käyttäjäluettelo" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Näytä isäntänimet käyttäjäluettelossa" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Käytä tekstilaatikon kirjasinta ja värejä" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Väritä nimimerkit käyttäjäluettelossa" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Näytä käyttäjämäärä kanavilla" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Lajittelutapa:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Näytä käyttäjäluettelo:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "kun kanavalla on käyttäjiä alle:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Kaksoisnapsautuksen toiminto" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Ikkunat" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Välilehdet" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Aina" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Vain itse avatut" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automaattinen" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Palvelinviestit omaan välilehteensä" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Avaa uusi välilehti yksityisviestin saapuessa" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Välilehdet aakkosjärjestykseen" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Uudet välilehdet etualalle:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Näytä kanavavalitsin:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Typistä välilehtien nimet:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "merkin pituisiksi." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Välilehti vai ikkuna" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Kanavien avaamispaikka:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Keskusteluiden avaamispaikka:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Apuvälineiden avaamispaikka:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC:t, huomioimattomuudet, ilmoitukset jne." + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Viestit" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Kysy vahvistusta" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Kysy tallennuskansiota" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Tallenna ilman kyselyitä" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Tiedostot ja hakemistot" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Hyväksy tarjotut tiedostot automaattisesti:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Lataa hakemistoon:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Siirrä valmiit tiedostot hakemistoon:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Liitä lähettäjän nimimerkki tiedostonimiin" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Avaa DCC-ikkunat automaattisesti" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Lähetysikkuna" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Vastaanottoikkuna" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Kanavaikkuna" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Yksittäinen lähetys:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Yksittäisen siirron suurin sallittu nopeus." + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Yksittäinen lataus:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Kaikki lähetykset yhteensä:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Yhteenlaskettujen siirtojen suurin sallittu nopeus." + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Kaikki lataukset yhteensä:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Hälytykset" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Välkytä ilmoitusalueella, kun tulee:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Välkytä tehtäväpalkkia, kun tulee:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Piipauta, kun tulee:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Ilmoitusalueen toiminta" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Ota ilmoitusalueen kuvake käyttöön" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Pienennä ilmoitusalueelle" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Sulje ilmoitusalueelle" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Päivitä paikalla/poissa -statuksesi automaattisesti" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Vaihda tilaa automaattisesti ilmoitusalueelle piilottaessa." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Korostettu viesti" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Viesti korostetaan, kun siinä mainitaan nimimerkkisi tai:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Muut korostettavat sanat:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Älä korosta viestejä käyttäjiltä:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Korosta aina viestit käyttäjiltä:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Oletusilmoitukset" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Lopetus:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Kanavalta poistuminen:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Poissaolo:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Poissaolo" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Näytä poissaoloviestit kerran" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Näyttää identtiset poissaoloviestit vain kerran." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Lopeta oma poissaolo automaattisesti" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Sekalaiset" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Näytä tilat raakamuodossa" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Piilota liittymis- ja poistumisviestit" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Piilota oletuksena kanavan liittymis- ja poistumisviestit." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Piilota nimimerkin vaihtamisesta aiheutuvat viestit" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Automaattisen kopioinnin toiminta" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Kopioi automaattisesti valittu teksti" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Sisällytä väritiedot automaattisesti" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Oikea nimi:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Vaihtoehtoiset fontit:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Käytä palvelimen aikaa jos tuettu" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Yhdistä palvelimeen uudestaan automaattisesti" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Automaattisen yhdistämisen viive:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Automaattisen liittymisen viive:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Lokiasetukset" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Vieritettäviä rivejä:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Lokitiedoston nimi:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=palvelin %c=kanava %n=verkko." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Lisää lokeihin aikaleimat" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Lokitiedoston aikaleiman muoto:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Pois käytöstä)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Oma IP-osoite" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Sido osoitteeseen:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Käyttökelpoinen vain, kun tietokoneessa on monta osoitetta." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Tiedostojen siirrot" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Hae IP-osoite IRC-palvelimelta" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Tiedustelee osoittettasi IRC-palvelimelta. Rastita, mikäli osoitteesi on esimerkiksi muotoa 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC:n IP-osoite:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Tiedostoja väitetään lähetettävän tästä osoitteesta." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "Jätä nolliksi, jos haluat käyttöön kaikki portit." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Välipalvelin" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Isäntänimi:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Portti:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tyyppi:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Käytä välipalvelinta:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Välipalvelimelle tunnistautuminen" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Käyttäjänimi:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd-palvelin" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Valitse kuvatiedosto" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Valitse latauskansio" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Valitse kirjasin" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Selaa..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Avaa datakansio" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Valitse väri" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Tekstin värit" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-värit:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Omat värit" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Edustaväri:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Taustaväri:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Valittu teksti" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Käyttöliittymän värit" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Uusi data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Lukumerkkiviiva:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Uusi viesti:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Poissaolijat:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Korostus:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Tapahtuma" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Äänitiedosto" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Valitse äänitiedosto" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Äänitiedosto: " + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "Selaa..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Soita" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Käyttöliittymä" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Ulkoasu" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Syötekenttä" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Käyttäjäluettelo" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanavavalitsin" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Värit" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Keskustelu" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Äänet" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Lisäasetukset" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Verkkoasetukset" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Tiedostonsiirrot" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Asetusryhmät" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Puuta ei voi laittaa ylös eikä alas!\nMuuta ensin välilehtiasettelua <b>Näytä</b>-valikosta." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Oikeaa nimeä ei voi jättää tyhjäksi." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Osa muutoksista tulee voimaan vasta kun ohjelma käynnistetään uudestaan." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*VAROITUS*\nDCC-siirtojen automaattinen hyväksyminen\nkotihakemistoon voi olla vaarallista. Esim:\nJoku voi lähettää tiedoston .bash_profile." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(ei ehdotuksia)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Lisää..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Lisää \"%s\" sanakirjaan" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Virhe jäsennettäessä merkkijonoa" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tälle signaalille annetaan vain %d argumenttia, $%d on virheellinen" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Tallenna tekstitiedosto" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Numero" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Muokkaa tapahtumatekstejä" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Lataa..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Kokeile kaikki" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Tyhjennä luettelo" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopioi valittu URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopioi" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Tallenna luettelo tiedostoon" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d oppia, %d yhteensä" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "avaa URLin (irc://palvelin:portti/kanava)" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000000000000000000000000000000000000..6ae5b8a493f9136bce303536b7986f5d24841007 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,6264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Benjamin Sonntag <benjamin@alternc.org>, 2007 +# Benjamin Sonntag <benjamin@sonntag.fr>, 2007,2012 +# Hugo Locurcio, 2014 +# Hugo Locurcio, 2014 +# Hugo Locurcio, 2013-2014 +# Misdre <misdre@hexchat.misdre.info>, 2013 +# Misdre <misdre@hexchat.misdre.info>, 2013 +# Misdre <misdre@hexchat.misdre.info>, 2013 +# Towinet, 2014,2016-2017 +# Hugo Locurcio, 2013 +# Yannick Le Guen <leguen.yannick@gmail.com>, 2014,2016-2018,2020 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2020-01-14 13:11+0000\n" +"Last-Translator: Yannick Le Guen <leguen.yannick@gmail.com>\n" +"Language-Team: French (http://www.transifex.com/hexchat/hexchat/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Client IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat est un client IRC facile à utiliser et extensible. Il vous permet de rejoindre en toute sécurité plusieurs réseaux et de parler à d'autres utilisateurs en privé ou dans des canaux grâce à une interface personnalisable. Vous pouvez même transférer des fichiers." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat prend en charge des fonctionnalités telles que : DCC, SASL, serveurs mandataires, vérification orthographique, alertes, journalisation, thèmes personnalisés et scripts Python et Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Fenêtre de conversation principale" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Discutez avec d'autres personnes en ligne" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Ouvrir le mode sans échec" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Gestionnaire de thèmes HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Occupé" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Quitte" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Réseau" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<aucun>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Attente" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Actif" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Échec" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Terminé" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Connecter" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Interrompu" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossible d'accéder à %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Erreur" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s vous propose « %s ». Voulez-vous l'accepter ?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Aucun DCC actif\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Ouvrir la fenêtre de dialogue" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Envoyer un fichier" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Informations de l'_utilisateur (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Ajouter à la liste d'amis" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorer" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Actions de l'o_pérateur" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Donner l'état d'opérateur" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Prendre l'état d'opérateur" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Donner la parole" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Prendre la parole" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Expulser/Bannir" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Expulser" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bannir" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "ExpulserBannir" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Quitter le canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Rejoindre un canal…" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Entrer le canal à rejoindre :" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Liens du serveur" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Envoyer une requête ping au serveur" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Cacher la version" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Suppr. Op." + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "au revoir" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Entrer la raison pour expulser %s :" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Envoyer un fichier" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialogue" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Send" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Conversation" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Clear" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Vous n'avez pas les droits d'écriture vers %s. Rien ne sera enregistré de cette session." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Utiliser IRC sous un compte root est idiot !\n Vous devriez créer un compte utilisateur « standard » et\n l'utiliser pour vous connecter.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "OUI " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NON " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Vous êtes arrosé de requêtes CTCP par %s, %s va être ignoré\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Vous êtes bombardé de MSG par %s, désactivation de l'option gui_autoopen_dialog.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Résolu en %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Non trouvé" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Résolu en :" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Recherche de %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s connecté\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s déconnecté\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Vous n'avez encore rejoint aucun canal. Essayez /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Vous n'êtes pas encore connecté. Essayez /server <hôte> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Le serveur %s existe déjà dans le réseau %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Serveur %s ajouté au réseau %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Vous êtes déjà considéré comme absent : %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Vous êtes déjà considéré comme présent : %s\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh est nécessaire au fonctionnement\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Commandes disponibles :" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Commandes définies par l'utilisateur :" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Commandes définies par un greffon :" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Taper /HELP <commande> pour plus d'informations, ou /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Paramètre inconnu « %s », ignoré." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Rendre muet n'est pas pris en charge sur ce serveur." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Aucun greffon de ce type n'a été trouvé.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Impossible de décharger ce greffon.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nom> <action>, ajouter un bouton au-dessous de la liste des utilisateurs" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <Nouveau Réseau> <nouveauserveur/6667>, ajoute un nouveau réseau avec un nouveau serveur dans sa liste." + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envoyer une commande à tous les canaux sur lesquels vous êtes présent" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, envoyer une commande à tous les canaux sur le serveur courant" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envoyer une commande à tous les serveurs auxquels vous êtes connecté" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<raison>], indique que vous êtes absent (utilisez /BACK pour le démettre)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK signale que vous êtes de retour (plus absent)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <masque> [<typeban>], bannir du canal en cours tous ceux qui correspondent au masque. S'ils sont déjà sur ce canal, ils ne seront pas expulsés (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<valeur>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encodage>], retourne ou modifie le jeu de caractère utilisé pour la connexion en cours" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<nombre>], vider la fenêtre de texte actuelle ou l'historique de commandes" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], ferme l'onglet actuel, en fermant la fenêtre s'il s'agit du seul onglet ouvert, ou si utilisé avec le paramètre « -m », ferme toutes les requêtes." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|joker>, rechercher un code de pays, par exemple : au = Australie" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <pseudo> <message>, envoyer au pseudo un message CTCP, « VERSION » et « USERINFO » sont des messages usuels." + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], quitte et rejoint à nouveau le canal donné" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - accepter un fichier proposé\nDCC SEND [-maxcps=#] <nick> [file] - envoyer un fichier à quelqu'un\nDCC PSEND [-maxcps=#] <nick> [file] - envoyer un fichier en mode passif\nDCC LIST - afficher les connexions DCC\nDCC CHAT <nick> - proposer une discussion DCC à quelqu'un\nDCC PCHAT <nick> - proposer une discussion DCC en mode passif\nDCC CLOSE <type> <nick> <file> exemple :\n /dcc close send paul file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <pseudo>, supprimer l'état demi-opérateur « chanhalf-op » d'un pseudo sur le canal actuel (nécessite être opérateur [chanop])" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nom>, supprimer un des boutons situés au-dessous de la liste des utilisateurs" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <pseudo>, supprimer l'état opérateur (« chanop ») d'un pseudo sur le canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <pseudo>, supprimer la parole donnée à un pseudo sur le canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, se déconnecter du serveur" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <pseudo|hôte|IP>, résout une adresse IP ou un nom d'hôte" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texte>, afficher un texte en local" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <commande>, exécuter une commande. Si l'option -o est utilisée, la sortie est envoyée sur le canal actuel, sinon elle est affichée dans la zone de texte actuelle" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envoyer un signal « SIGCONT » au processus" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], tuer une exécution en cours dans la session actuelle. Si -9 est fourni, le processus est tué par le signal « SIGKILL »" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envoyer un signal « SIGSTOP » au processus" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envoyer des données à l'entrée standard des processus" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporte les paramètres d'HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vider la file d'envoi du serveur actuel" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <hôte> [<port>], utiliser un hôte comme serveur mandataire (proxy), le port 23 est utilisé par défaut" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <pseudo> [<mot-de-passe>], tuer un pseudonyme fantôme" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <pseudo>, donner l'état de demi-opérateur de canal « chanhalf-op » au pseudo (nécessite d'être opérateur [chanop)]" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <mot de passe>, vous identifie auprès de nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <masque> <types...> <options...>\n masque - masque d'hôtes à exclure, par ex. : *!*@*.aol.com\n types - types de données à exclure, un seul ou tous :\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <pseudo> [<canal>], inviter quelqu'un sur un canal, par défaut le canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, rejoindre le canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <pseudo> [raison], expulse le pseudo du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <pseudo> [raison], bannit puis expulse le pseudo du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forcer une nouvelle vérification de latence (lag)" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <chaîne>, cherche la chaîne dans le tampon\n Utiliser -h pour mettre en surbrillance les chaînes trouvées\n Utiliser -m pour respecter la casse\n Utiliser -r si la chaîne est une Expression Rationnelle\n Utiliser -- (double tiret) pour terminer les options, par exemple si vous cherchez '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fichier>, charger un greffon ou un script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, retirer globalement les droits d'opérateur à tous les demi-opérateurs (halfops) du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, retirer globalement tous les droits d'opérateur à tous les opérateurs du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, envoyer l'action sur le canal actuel (les actions sont écrites à la 3ème personne, comme /me est content)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, jeter (kick) massivement tout le monde sauf vous hors du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, donner globalement les droits d'opérateur à tous les utilisateurs du canal actuel (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <pseudo> <message>, envoie un message privé, envoyez un message à « . » pour envoyer au dernier pseudo utilisé ou préfixez avec « = » pour une conversation DCC" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [canal], liste les pseudonymes dans le canal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <pseudo> <message>, envoyer une notification CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noreconnect] <nom_hôte> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <pseudo>, définir votre pseudonyme" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <pseudo/canal> <message>, envoie une notification" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n réseau1[,réseau2,…]] [<pseudo>], affiche la liste des notifications ou ajoute quelqu'un à cette liste." + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <pseudo>, donner l'état d'opérateur « chanop » au pseudo (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<raison>], quitter le canal, par défaut le canal actuel" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <pseudo | canal>, envoyer un ping CTCP au pseudo ou au canal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <pseudo> [message], ouvre une fenêtre de message privé vers le pseudo et envoie optionnellement un message" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <masque> [<quiettype>], rendre muet toutes les personnes qui correspondent au masque dans le canal courant si pris en charge par le serveur." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<raison>], se déconnecter du serveur actuel" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texte>, transmettre le texte au serveur sous forme brute" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<hôte>] [<port>] [<mot_de_passe>], peut être appelée exactement comme /RECONNECT pour se reconnecter au serveur actuel ou avec /RECONNECT ALL pour se reconnecter à tous les serveurs ouverts" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<hôte>] [<port>] [<mot_de_passe>], peut être appelée exactement comme /RECONNECT pour se reconnecter au serveur actuel ou avec /RECONNECT ALL pour se reconnecter à tous les serveurs ouverts" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <texte>, envoie des données brutes à HexChat, comme si elles étaient reçues du serveur IRC." + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nom>, recharge un greffon ou script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texte>, envoyer un texte à l'objet de la fenêtre actuelle" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <pseudo> [<fichier>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <hôte> <port> <canal>, se connecter et rejoindre un canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hôte> <port> <canal>, se connecter et rejoindre un canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <hôte> [<port>] [<mot de passe>], se connecter à un serveur, le port par défaut est 6667 pour les connexions normales, et 6697 pour les connexions ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <hôte> [<port>] [<mot_de_passe>], se connecter à un serveur, le port par défaut est 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variable> [<valeur>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, repositionne le curseur dans la zone de saisie" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nouveau nom>, change le nom d'un onglet, la limite tab_trunc s'applique toutefois." + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <nouveau texte>, remplace le texte dans la zone de saisie" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<sujet>], définir le sujet si on en fournit un, sinon afficher le sujet actuel" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <délai> <fichier1> [<fichier2>] Définit les fichiers à utiliser pour faire clignoter l'icône de barre d'état.\nTRAY -f <fichier> Définit le fichier à utiliser pour l'icône de barre d'état.\nTRAY -i <numéro> Définit une icône interne pour le clignotement de la barre d'état.\nTRAY -t <texte> Définit le message d'aide de l'icône de barre d'état.\nTRAY -b <titre> <texte> Définit le message flottant de l'icône de barre d'état." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <masque> [<masque>…], supprime le bannissement pour les masques fournis." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <masque> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nom>, décharger un greffon ou un script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <masque> [<masque>…], enlève l'état « muet » pour les masques spécifiés si cela est pris en charge par le serveur." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ouvrir une URL dans votre navigateur" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <pseudo1> <npseudo2> etc., mettre en surbrillance le(s) pseudonyme(s) dans la liste des utilisateurs du canal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <pseudo>, donner la parole à quelqu'un (nécessite d'être opérateur [chanop])" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, écrire le message sur tous les canaux" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, envoyer le message à tous les opérateurs du canal actuel (chanops)" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Commande utilisateur pour : %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Utilisation : %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nAucune aide n'est disponible pour cette commande.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Cette commande n'existe pas.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Paramètres de la commande utilisateur erronés.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Trop de commandes utilisateur récursives, abandon." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Commande %s inconnue. Essayez /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "La méthode hexchat_plugin_init n'a pas été trouvée. Est-ce réellement un greffon HexChat ?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tErreur au lancement du serveur identd : %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <username>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Minuteur %d effacé.\n\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Aucun numéro de réf correspondant n'a été trouvé.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Aucun minuteur installé.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Êtes-vous sûr que ce serveur et ce port gèrent SSL ?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Résolution du nom d'hôte %s impossible.\nVeuillez vérifier vos réglages IP.\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "La traversée du serveur mandataire (proxy) a échoué.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Passage au serveur suivant dans %s…\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Attention : le jeu de caractères « %s » est inconnu. Aucune conversion ne sera effectuée pour le réseau %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O ajouté à la liste de notifications." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O sur %C24$4%O par %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNe peut rejoindre%C22 $1 %O(%C20Vous êtes banni%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tAutorisations bien reçues : %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tAutorisations retirées : %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tAutorisations disponibles :%C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tAutorisations demandées :%C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O est maintenant connu sous le nom de %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a banni %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tCanal %C22$1%O créé le %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a enlevé l'état de semi-opérateur de canal à %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a enlevé l'état d'opérateur de canal à %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a enlevé la parole à %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C a mis une exception sur %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a donné l'état de semi-opérateur de canal à %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C définit l'exemption d'invitation sur %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanal Utilisateurs Sujet" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O a mis le mode %C24$2$3%O sur %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O mode : %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a donné l'état d'opérateur de canal à %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O rend %C18$2%O muet" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a enlevé l'exception sur %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O supprime l'exemption d'invitation sur %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O a enlevé le mot de passe du canal" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O a enlevé la limite du nombre d'utilisateurs" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O définit le mot-clé du canal à %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O a mis la limite du canal à %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O supprime l'état de bannissement de %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ne rend plus %C18$2%O muet" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O URL : %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O a donné la parole à %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tConnecté. Maintenant entrons..." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tConnexion à %C29$1%C (%C23$2 :$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tLa connexion a échoué (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRéception d'un CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tRéception d'un CTCP %C24$1%C de %C18$2%C (à %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRéception d'un son CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tRéception d'un son CTCP %C24$1%C de %C18$2%C (à %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tConversation DCC vers %C18$1%O annulée." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tConversation DCC, connexion établie avec %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tConversation DCC avec %C18$1%O perdue (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tRéception d'un demande de conversation DCC de %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tEnvoi d'une proposition de conversation DCC à %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tVous avez déjà envoyé une demande de conversation à %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tTentative de connexion DCC $1 à %C18$2%O échouée (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tRéception de '%C23$1%C' de %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tRéception d'une requête DCC mal formée de %C18$1%O.$a010%C23*%O$tContenu de la trame : %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tProposition '%C24$1%O' à %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tProposition DCC non trouvée." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' à %C18$1%O annulé." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' de %C18$3%O terminé %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV connexion établie vers %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' de %C18$3%O échoué (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV : Impossible d'ouvrir '%C23$1%C' en écriture (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tLe fichier '%C24$1%C' existe déjà, il sera enregistré sous « %C23$2%O » à la place." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C a demandé la reprise de '%C23$2%C' de %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' vers %C18$1%O annulé." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' vers %C18$2%C terminé %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND connexion établie vers %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' vers %C18$2%C échoué (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C a offert '%C23$2%C' (%C24$3%O octets)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' vers %C18$3%O bloqué, annulation." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' vers %C18$3%O temps d'attente écoulé, annulation." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O effacé de la liste de notifications." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDéconnecté (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tVotre IP a été trouvée :%C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O ajouté à la liste à ignorer." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnore sur %C18$1%O modifié." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O enlevé de la liste à ignorer." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLa liste à ignorer est vide." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tImpossible de rejoindre le canal %C22$1%C (%C20Vous devez être invité%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tVous avez été invité sur %C22$1%O par %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) vient de rentrer" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tImpossible de rejoindre %C22$1%C (%C20Un mot de passe est demandé%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C a expulsé %C18$2%C de %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Vous avez été expulsé par %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD passé%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C est déjà utilisé. Tentative avec %C18$2%O…" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C est erroné. Tentative avec %C18$2%O…" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tPseudonyme erroné ou déjà utilisé. Utilisez /NICK pour en essayer un autre." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tDCC non trouvé." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tAucun processus ne tourne pour l'instant" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotification : %C18$1%C est absent (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotification : %C18$1%C est de retour" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLa liste de notification est vide." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O utilisateurs dans la liste de notifications." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tInformation : %C18$1%C est déconnecté (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tInformation : %C18$1%C est connecté (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) est parti" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) est parti ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tRéponse au ping de %C18$1%C : %C24$2%O seconde(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tPas de réponse au ping pendant %C24$1%O secondes, déconnexion." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tLe processus tourne déjà" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 a quitté ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C a activé le mode %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tRecherche de l'adresse IP de %C18$1%O…" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAuthentification par SASL en tant que %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConnecté." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tRecherche de %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tArrêt de la tentative de connexion précédente (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tLe sujet de %C22$1%C est : $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C a modifié le sujet pour : $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tSujet de %C22$1%C choisi par %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tHôte inconnu. Peut-être l'avez-vous mal orthographié ?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tImpossible de rejoindre %C22$1%C (%C20La limite d'utilisateurs est atteinte%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUtilisateurs sur %C22$1%C : %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C est absent %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFin de la liste WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inactif %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inactif %C23$2%O, connexion : %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Hôte réel : %C23$2%O, IP réelle : %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tVous parlez maintenant sur %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tVous avez été expulsé de %C22$2%C par %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tVous avez quitté le canal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tVous avez quitté le canal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tVous avez invité %C18$1%O sur le canal %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tVotre pseudonyme est maintenant %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Historique chargé depuis" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FIN DU JOURNAL À %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** DÉBUT DU JOURNAL À %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Impossible d'ouvrir le(s) fichier(s) journaux en écriture.\nVeuillez vérifier les permissions de %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Message de gauche" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Message de droite" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Adresse IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Pseudo de la personne qui arrive" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Canal à rejoindre" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Hôte de la personne" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Le compte de la personne" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Pseudonyme" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Action" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Caractère de mode" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Texte identifié" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Texte" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Message" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nom du serveur" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Autorisations reçues" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Autorisations retirées" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Autorisations du serveur" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Autorisations demandées" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Ancien pseudonyme" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nouveau pseudonyme" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Pseudonyme de la personne qui a changé le sujet" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Sujet" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Pseudonyme de celui qui a expulsé" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Personne qui se fait expulser" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Raison" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Pseudonyme de la personne qui part" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Heure" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Créateur" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Pseudonyme" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Raison" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Hôte" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Émetteur" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Heure au format x.x (voir ci-dessous)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Canal de destination" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Son" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Pseudonyme de la personne" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Événement CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Pseudonyme de la personne qui a défini la clé" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Clé" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Pseudonyme de la personne qui a défini la limite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Pseudonyme de la personne qui a donné l'état d'opérateur" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Pseudonyme de la personne qui a reçu l'état d'opérateur" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Pseudonyme de la personne qui a reçu l'état de demi-opérateur" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Pseudonyme de la personne qui a donné l'état de demi-opérateur" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Pseudonyme de la personne qui a donné la parole" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Pseudonyme de la personne à qui a été donnée la parole" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Pseudonyme de la personne qui a fait le bannissement" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Masque de bannissement" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Pseudonyme de la personne qui a rendu muet" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Le masque « quiet »" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Pseudonyme de la personne qui a supprimé la clé" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Pseudonyme de la personne qui a supprimé la limite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Pseudonyme de la personne qui a retiré l'état d'opérateur" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé l'état d'opérateur" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Pseudonyme de la personne qui a retiré l'état de demi-opérateur" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé l'état de demi-opérateur" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Pseudonyme de la personne qui a retiré la parole" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Pseudonyme de la personne à qui on a supprimé la parole" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Pseudonyme de la personne qui a retiré le bannissement " + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Pseudonyme de la personne qui a retiré l'état muet" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Pseudonyme de la personne qui a fait l' « exempt »" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Masque d'exempt" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Pseudonyme de la personne qui a supprimé l'exempt" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Pseudonyme de la personne qui a fait l'invite" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Masque d'invite" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Pseudonyme de la personne qui a enlevé l'invite" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Pseudonyme de la personne qui a défini le mode" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Signe du mode (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Lettre de mode" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Canal de destination" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nom complet" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membre des canaux (opérateur IRC)" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informations serveur" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Durée d'inactivité" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Heure de connexion" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Raison de l'absence" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Message" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Compte" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "utilisateur réel@hôte" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP réelle" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nom du canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mécanisme" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Nombre ou identifiant" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Texte" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Pseudonyme de la personne qui vous a invité" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Utilisateurs" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Pseudonyme déjà utilisé" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Pseudonyme en essai" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Chaîne de modes" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Type de DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nom de fichier" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nom du fichier de destination" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "cps" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Chemin" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Taille" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Chaîne DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Raison de l'absence" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Nombre de notifications" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Ancien nom de fichier" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nouveau nom de fichier" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Destinataire" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Masque d'hôte" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nom d'hôte" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paquet" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Secondes" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Pseudonyme de la personne qui a été invitée" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Masque de bannissement" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "qui a défini le bannissement" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Heure du bannissement" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Impossible de lire le fichier audio :\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "L'hôte distant a fermé la socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Connexion refusée" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Pas de route vers l'hôte" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Expiration du délai de connexion" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ne peut assigner cette adresse" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Connexion réinitialisée à l'autre extrémité" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension, île" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorre" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Émirats Arabes Unis" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Domaine de l'aviation" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua-et-barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanie" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Arménie" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilles néerlandaises" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctique" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentine" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS inverse" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa américaines" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Région Asie-Pacifique" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Autriche" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australie" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland, îles" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaïdjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnie-herzégovine" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbade" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgique" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarie" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahreïn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Bénin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudes" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunéi darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivie" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brésil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhoutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet, île" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bélarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalan" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocos (keeling), îles" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "République Démocratique du Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centrafricaine, république" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suisse" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Côte d'Ivoire" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook, îles" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Cameroun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Chine" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombie" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Coopératives" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbie Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cap-vert" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Christmas, île" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chypre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tchèque, république" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Allemagne de l'Est" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Allemagne" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danemark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominique" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominicaine, république" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algérie" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Équateur" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institution éducative" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonie" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Égypte" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara occidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Érythrée" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espagne" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Éthiopie" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Union Européenne" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlande" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland, îles (malvinas)" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronésie, états fédérés de" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Féroé, îles" + +#: src/common/util.c:770 +msgid "France" +msgstr "France" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Grande Bretagne" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenade" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Géorgie" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyane française" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Îles anglo-normandes" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambie" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinée" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Gouvernement" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinée équatoriale" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grèce" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Géorgie du sud et les îles Sandwich du sud" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinée-bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong-kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard, île et McDonald, îles" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croatie" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haïti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongrie" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonésie" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlande" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israël" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Île de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Inde" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatif" + +#: src/common/util.c:803 +msgid "International" +msgstr "International" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Océan indien, territoire britannique de l'" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran, république islamique d'" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islande" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italie" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaïque" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanie" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Relatif au travail" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japon" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirghizistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodge" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint-kitts-et-nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corée, république populaire démocratique de" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corée, république de" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Koweït" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Caïmanes, îles" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Lao, République Démocratique Populaire" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sainte-lucie" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituanie" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lettonie" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libyenne, jamahiriya arabe" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroc" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova, république de" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Médical États-Unis" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall, îles" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militaire" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macédoine, l'ex-République Yougoslave de" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolie" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Périphériques mobiles" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Mariannes du nord, îles" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritanie" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malte" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurice" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Musées" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexique" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaisie" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibie" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Noms propres" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nouvelle-Calédonie" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Réseau Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk, île" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Pays-Bas" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvège" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Népal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niué" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nouvelle-Zélande" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Organisation non-lucrative" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Pérou" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polynésie française" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papouasie-nouvelle-Guinée" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Philippines" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Pologne" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre-et-Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Professions" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territoires Palestiniens" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palaos" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Roumanie" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Ancien ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbie" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russie, fédération de" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabie saoudite" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salomon, îles" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Soudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suède" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapour" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Sainte-Hélène" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovénie" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard et île jan mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovaquie" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Léone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Saint-Marin" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Sénégal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalie" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sud-Soudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tomé-et-Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Ex URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syrienne, république arabe" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks et caïques, îles" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Services de communication téléphonique" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Terres australes françaises" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thaïlande" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor-Leste" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkménistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisie" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquie" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Voyage et tourisme" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinité-et-Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taïwan, province de chine" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanie, République-Unie de" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Ouganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Royaume-Uni" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "États-Unis" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Ouzbékistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Saint-Siège (État de la Cité du Vatican)" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Saint-Vincent et les Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Vénézuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Îles Vierges Britanniques" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Îles Vierges des États-Unis" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Viet Nam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis et Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Divertissements pour adultes" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yémen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yougoslavie" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afrique du Sud" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambie" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Impossible de se connecter au bus de session" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Impossible de compléter NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Impossible de terminer la commande" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "accès distant" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "greffon pour l'accès à distance en utilisant DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Impossible de se connecter au bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Échec de l'acquisition de %s : %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Table de caractères" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bannissements" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Exceptions" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Exception" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Invitations" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Muets" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Muet" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copier le masque" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s sur %s par %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copier l'entrée" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Non connecté." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Vous devez sélectionner des bannissements." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Voulez-vous vraiment enlever tous les éléments de %s ?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Type" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Masque" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Vous pouvez ouvrir la fenêtre de la liste des bannissements uniquement lorsque vous vous trouvez dans un onglet de canal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Liste des bannissements (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Enlever" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Scinder" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Rafraîchir" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Affichage de %d/%d utilisateurs sur %d/%d canaux." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Choisir un nom de fichier de sortie" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Re_joint le canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copie le nom du canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copie le suje_t du canal" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Liste des canaux (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Recherche" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Télécharger" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Enregistrer la _liste…" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Seuls les canaux " + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "ayant entre" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "et" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "utilisateurs." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Chercher dans :" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nom du canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Type de recherche :" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Recherche simple" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Recherche par motif (*)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expression rationnelle" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Rechercher :" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Envoyer le fichier à %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Ce fichier ne peut être repris." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Impossible d'accéder au fichier : %s\n%s.\nReprise impossible." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Le fichier dans le répertoire des téléchargements est plus gros que le fichier proposé. La reprise est impossible." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Impossible de reprendre le même fichier en provenance de deux personnes différentes." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Envois et récupérations - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "État" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fichier" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Heure de fin estimée" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Les deux" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Envois" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Récupérations" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Détails" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fichier : " + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresse : " + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Interrompre" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accepter" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Reprendre" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Ouvrir le dossier…" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Liste de conversations DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Envoyé" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Heure de début" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Ajouter" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Supprimer" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Annuler" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Enregistrer" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Ne pas se connecter automatiquement aux serveurs" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Utiliser un répertoire de configuration différent" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Ne charger aucun greffon automatiquement" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Afficher le répertoire de chargement automatique des greffons/scripts" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Afficher le répertoire de configuration de l'utilisateur" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Ouvrir une URL irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Exécuter la commande :" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Ouvrir l'URL ou exécuter la commande dans un HexChat existant" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Démarré minimisé. 0=Normal 1=Minimisé 2=Dans l'icône d'état" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "niveau" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Afficher la version" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "L'ouverture de la police a échoué :\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Le tampon de recherche est vide.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d octets" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "File d'envoi du serveur : %d octets" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "La commande d'action Exécuter (Run) lance la donnée dans Data 1 telle que si elle avait été tapée dans la boîte de saisie dans laquelle vous pressez la séquence de touches. Ainsi elle peut contenir du texte (qui sera envoyé à la chaîne/personne), des commandes ou des commandes d'utilisateur. Lorsqu'elle est exécutée tous les caractères \\n dans Données 1 sont utilisés pour délimiter les commandes séparées, afin qu'il soit possible de faire fonctionner davantage qu'une commande. Si vous voulez un \\n dans le texte réel alors entrez \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "La page changements (Change Page) commande le basculement entre les pages du carnet. Si Donnée 2 est paramétrée à n'importe quoi alors le commutateur sera relatif à la position actuelle. Paramétrer Donnée 1 à auto afin de commuter vers la page ayant l'activité la plus récente et la plus fréquente (requêtes d'abord, puis canaux mis en évidence, canaux avec des dialogues, canaux avec d'autres données)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "La commande Insert in Buffer insérera le contenu de Données 1 dans la zone où la séquence de touches a été pressée à la position actuelle du curseur" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "La commande Scroll Page fait défiler le widget textuel vers le haut ou vers le bas d'une page ou d'une ligne. Définir Data 1 soit à Top, Bottom, Up, Down, +1 ou -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "La commande Set Buffer met le contenu de Données 1 dans la zone où la séquence de touches a été pressée" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "La commande Last Command met dans la zone la dernière commande entrée - même comportement que la flèche vers le haut du pavé numérique dans un interpréteur de commandes" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "La commande Next Command met dans la zone la prochaine commande entrée - même comportement que la flèche vers le bas du pavé numérique dans un interpréteur de commandes" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Cette commande change le texte de la zone de saisie pour compléter un pseudo ou une commande incomplet. Si Données 1 est défini, alors un double appui dans une chaîne sélectionnera le dernier pseudo, pas le suivant" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Cette commande parcourt vers le haut ou le bas la liste des pseudonymes. Si Données 1 est défini elle parcourt vers le haut, sinon elle parcourt vers le bas" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Cette commande vérifie si le dernier mot saisi dans la zone est présent dans la liste de remplacements et le remplace si elle trouve une correspondance" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Cette commande déplace l'onglet de devant d'un cran vers la gauche" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Cette commande déplace l'onglet de devant d'un cran vers la droite" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Cette commande déplace l'ensemble des onglets vers la gauche" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Cette commande déplace l'ensemble des onglets vers la droite" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Placer la ligne de saisie dans l'historique mais ne pas l'afficher sur le serveur" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Il y a eu une erreur au chargement de la configuration des raccourcis clavier" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Sélectionner une ligne pour obtenir des informations sur son action." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Raccourcis clavier - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Impossible d'écrire dans ce fichier." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Impossible de lire ce fichier." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ce masque existe déjà." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privé" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notice" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Ne plus ignorer" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Voulez-vous vraiment enlever tous les éléments à ignorer ?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Entrer le masque d'exclusion :" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Liste d'ignorance - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statistiques d'ignorance :" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal :" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privé :" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notice :" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP :" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invite :" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Ajouter…" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Le nom de canal est trop court, veuillez réessayer." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Connexion complète - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Connecté à %s." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Dans la fenêtre de liste des serveurs, aucun canal (salon de conversation) n'a été entré pour être rejoint automatiquement sur ce réseau." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Que désirez-vous faire maintenant ?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Rien, je rejoindrai un canal plus tard." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Re_joindre le canal :" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Si vous connaissez le nom du canal que vous désirez rejoindre, entrez-le ici." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Ou_vrir la liste des canaux." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Récupérer la liste des canaux peut prendre une minute ou deux." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Toujours afficher ce dialogue après la connexion." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialoguer avec" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Le sujet de %s est : %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Aucun sujet n'est défini" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Ce serveur comporte déjà %d canaux ou dialogues qui lui sont associés. Faut-il tous les fermer ?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Quitter HexChat ?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ne plus me demander." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Vous êtes connecté à %i réseaux IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Voulez-vous vraiment quitter ?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Des transferts de fichiers sont en cours." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimiser dans la barre d'état" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Insérer un attribut ou un code de couleur" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Gras</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Souligné</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Italique</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Couleurs 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Couleurs 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "Paramètre_s" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Journa_liser sur le disque" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Recharger le tampon" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Enlever les _couleurs" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "Cac_her les messages entrée/sortie" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Al_ertes supplémentaires" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Biper sur les _messages" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Faire clignoter l'_icône de barre d'état" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Faire clignoter la _barre des tâches" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Détacher" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Fermer" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "La limite d'utilisateurs doit être un nombre !\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrer les couleurs" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Aucun message de l'extérieur" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Protection du sujet (Topic)" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Invite seulement" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Modéré" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Liste des bannissements" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Mot-clé" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limite d'utilisateurs" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Entrer le nouveau pseudonyme :" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Aucun résultat trouvé." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Fin atteinte lors de la recherche ou non trouvé." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "Mettre tout en _Surbrillance" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Mettre en surbrillance toutes les occurrences et souligner l'occurrence actuelle." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Sensible à la _casse" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Réaliser une recherche sensible à la casse." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "Expression _rationnelle" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Traiter la chaîne de recherche comme une expression rationnelle." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Hôte inconnu" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Compte inconnu" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Inconnu" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nom réel :" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Utilisateur :" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Compte :" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Pays :" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Serveur :" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "il y a %u minutes" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Dernier message :" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Message d'absence :" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d pseudonymes sélectionnés." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "La barre de menu est maintenant masquée. Vous pouvez l'afficher en appuyant sur Contrôle+F9 ou en faisant un clic droit sur une zone vide de la fenêtre principale." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Ouvrir le lien dans un navigateur" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copier le lien sélectionné" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Rejoindre le canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Partir du canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Cycler canal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "Rejoindre _automatiquement" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Rejoindre le canal automatiquement" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "Connexion _automatique" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menu utilisateur - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Éditer ce menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Ligne de repérage désactivée." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Ligne de repérage jamais définie." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Ligne de repérage repositionnée manuellement." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Ligne de repérage repositionnée à cause de la limite de défilement." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Ligne de repérage repositionnée avec la commande CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "État de la ligne de repérage inconnu." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Récupérer la liste des canaux" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "a été compilé sans prise en charge des greffons." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Commandes utilisateur - Codes d'échappement :\n\n%c = canal actuel\n%e = nom du réseau actuel\n%m = informations de la machine\n%n = votre pseudo\n%t = heure/date\n%v = version de HexChat\n%2 = mot 2\n%3 = mot 3\n&2 = du 2ème mot à la fin de la ligne\n&3 = du 3ème mot à la fin de la ligne\n\nexemple :\n/cmd yves bonjour\n\n%2 sera \"yves\"\n&2 sera \"yves bonjour\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Boutons de la liste d'utilisateurs - codes spéciaux :\n\n%a = tous les pseudos sélectionnés\n%c = canal actuel\n%e = nom du réseau actuel\n%h = hôte des pseudos sélectionnés\n%m = informations sur la machine\n%n = votre pseudo\n%s = pseudo sélectionné\n%t = date et heure\n%u = nom de compte des pseudos sélectionnés" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Boutons de dialogue - codes spéciaux :\n\n%a = tous les pseudos sélectionnés\n%c = canal actuel\n%e = nom du réseau actuel\n%h = hôte du pseudo sélectionné\n% = informations sur la machine\n%n = votre pseudo\n%s = pseudo sélectionné\n%t = date et heure\n%u = nom de compte du pseudo sélectionné" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Réponses CTCP - Codes d'échappement :\n\n%d = données (toute la réponse CTCP)\n%e = réseau actuel\n%m = informations sur la machine\n%s = pseudo ayant envoyé le CTCP\n%t = date/heure\n%2 = 2e mot\n%3 = 3e mot\n&2 = du 2e mot à la fin de la ligne\n&3 = du 3e mot à la fin de la ligne\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Gestionnaire d'URL - Codes d'échappement :\n\n%s = la chaîne URL\n\nSi vous mettez un ! devant la commande\ncela signifie qu'elle sera envoyée\nau terminal plutôt qu'à HexChat." + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Commandes définies par l'utilisateur - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu contextuel de la liste des utilisateurs - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Remplacer - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Remplacer par" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Gestionnaires d'URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Boutons de la liste des utilisateurs - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Boutons de dialogue - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Réponses CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Li_ste des réseaux" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nouveau" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Onglet de serveur" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Onglet de canal" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Fenêtre de serveur" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Fenêtre de canal" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Charger un greffon ou un script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Quitter" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Vue" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barre de _menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barre de suje_t" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Liste d'_utilisateurs" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Boutons de la liste des utili_sateurs" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Boutons de m_ode" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Sélecteur de _canaux" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Onglets" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Arbre" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Indicateurs du réseau" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Aucun" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graphique" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Plein écran" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Serveur" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Se _déconnecter" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Se _reconnecter" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "Re_joindre un canal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Liste des canaux" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Se marquer _absent" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menu de l'_utilisateur" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Paramètres" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Préférences" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Remplacement automatique" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Réponses CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Boutons de dialogue" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Raccourcis clavier" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Événements textuels" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Gestionnaires d'URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Commandes utilisateur" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Boutons de la liste des utilisateurs" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Menu contextuel de la liste des utilisateurs" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Fenêtre" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "Liste des _bannissements" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Conversation directe" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Transferts de fichiers" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Liste d'amis" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Liste d'ignorance" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Greffons et scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "Journal b_rut" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Récupération d'_URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Repositionner la ligne de repérage" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Aller à la ligne de repérage" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copier la sélection" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Effacer le texte" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Enregistrer le texte" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Recherche" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Rechercher du texte" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Chercher le suivant" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Chercher le précédent" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Aide" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contenu" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "À _propos" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Attacher" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nom" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Dernière apparition" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Déconnecté" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Jamais" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "il y a %d minutes" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Il y a une heure" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "il y a %d heures" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Connecté" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Entrer le pseudonyme à ajouter :" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notifier depuis les réseaux suivants :" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Une liste de réseaux séparés par une virgule est acceptée." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Liste d'amis - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Ouvrir la fenêtre de dialogue" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Message en surbrillance de : %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Message de canal de : %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Proposition de fichier de : %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invité sur le canal par : %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notification depuis : %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Message privé de : %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Connecté à %u réseau(x) et %u canal(aux) - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restaurer la fenêtre" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "Cac_her la Fenêtre" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Clignoter lors des" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Messages de canaux" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Messages privés" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Messages en surbrillance" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Changer d'état" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Absent" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Retour" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Message en surbrillance de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u messages en surbrillance, le dernier de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Message de canal de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u messages de canal. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Message privé de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u messages privés, le dernier de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Proposition de fichier de : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u propositions de fichier, la dernière de : %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Description" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Sélectionner un greffon ou un script à charger" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Greffons et scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Charger…" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Décharger" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Recharger" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Enregistrer sous…" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Journal brut (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Effacer le journal brut" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nouveau réseau" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Voulez-vous vraiment supprimer le réseau « %s » et tous ses serveurs ?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Le nom d'utilisateur ne peut être vide." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Vous ne pouvez pas avoir un pseudonyme vide." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Vous devez avoir deux pseudonymes uniques." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "La façon qui permet de vous identifier sur le serveur. Pour des méthodes d'identification personnalisées, utilisez des commandes de connexion." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Édition %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Serveurs" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Joindre automatiquement ces canaux" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Commandes de connexion" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Pseudonyme\n%p=Mot de passe\n%r=Nom réel\n%u=Nom d'utilisateur" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Clé (Mot de passe)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Éditer" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Ne se connecter qu'aux serveurs sélectionnés" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne pas passer au serveur suivant lorsque la connexion échoue." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Se connecter à ce réseau automatiquement" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Ne pas utiliser le serveur mandataire" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Utiliser SSL pour tous les serveurs de ce réseau" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Accepter les certificats SSL non valides" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Utiliser les informations utilisateur globales" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Pseudonyme :" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Second choix :" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nom _réel :" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nom d'_utilisateur :" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Méthode d'identification :" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Mot de passe :" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Le mot de passe utilisé pour se connecter. En cas de doute, le laisser blanc." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Jeu de caractères :" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Liste des réseaux - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informations utilisateur" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Troisième choix :" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Réseaux" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Sauter la liste des réseaux au démarrage" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Montrer uniquement les favoris" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "Édit_er…" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Trier" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Trie la liste des réseaux par ordre alphabétique. Utiliser les touches Maj+Haut et Maj+Bas pour déplacer une ligne." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favori" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Mettre ou enlever ce réseau des favoris." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_onnecter" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Sud-Africain" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanais" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharique" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturien" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaïdjanais" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basque" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Biélorusse" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgare" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinois (Simplifié)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinois (Traditionnel)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tchèque" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danois" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Néerlandais" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Anglais (Royaume-Uni)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Anglais" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonien" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finnois" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Français" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicien" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Allemand" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grec" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindou" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hongrois" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonésien" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italien" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonais" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coréen" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lettonien" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituanien" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macédonien" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malais" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvégien (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvégien (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polonais" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugais" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugais (du Brésil)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russe" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbe" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovaque" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovène" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espagnol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Suédois" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thaï" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turc" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainien" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamien" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Wallon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Général" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Langue :" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Police principale :" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Police :" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Zone de texte" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Colorer les pseudonymes" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Attribuer une couleur différente à chaque personne sur l'IRC" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indenter les pseudonymes" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Afficher les pseudonymes en les justifiant à droite" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Afficher la ligne de repérage" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Insérer une ligne rouge après le dernier texte lu." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Image d'arrière-plan :" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Paramètres de transparence" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacité de la fenêtre :" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Horodatage" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Activer l'horodatage" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Format de l'horodatage :" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Voir l'article MSDN de strftime pour plus de détails." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Voir la page de manuel de strftime pour plus de détails." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barre de titre" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Afficher le mode du canal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Afficher le nombre d'utilisateurs" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Le dernier ayant parlé d'abord" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Boîte de saisie" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Utiliser la police et les couleurs de la zone de texte" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Couleurs de rendu et attributs" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Afficher la boite de pseudonyme" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Afficher l'icône utilisateur dans la liste des pseudos" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Vérification orthographique" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Dictionnaire à utiliser : " + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Utiliser des codes de langues (comme dans « %LOCALAPPDATA%\\enchant\\myspell\\dicts »).\nSéparer les entrées multiples avec des virgules." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Utiliser des codes de langue. Séparer les entrées multiples avec des virgules." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Complétion des pseudonymes" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffixe pour la complétion des pseudonymes :" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Tri de la complétion des pseudonymes :" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Maximum pour la complétion de pseudonymes :" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Lister les pseudonymes au lieu de les compléter au-delà de ce seuil" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "pseudonymes." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Graphique" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, les opérateurs en premier" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, les opérateurs en dernier" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Non classé" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Gauche (en haut)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Gauche (en bas)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Droite (en haut)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Droite (en bas)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Haut" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bas" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Masqués" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Liste d'Utilisateurs" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Afficher les noms d'hôtes dans la liste des utilisateurs" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Utiliser la police et les couleurs de la boîte de texte" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Afficher des icônes pour les modes utilisateurs" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Afficher des icônes plutôt que du texte dans la liste des utilisateurs." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Colorer les pseudonymes de la liste d'utilisateurs" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Les pseudonymes seront de la même couleur que dans la zone de conversation." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Afficher le nombre d'utilisateurs dans les canaux" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Liste des utilisateurs classée par :" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Position de la liste des utilisateurs :" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Suivi de l'absence" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Suivre le statut d'absence des utilisateurs et les afficher dans une couleur différente" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Sur les canaux plus petits que :" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Action sur un double clic" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Gadgets supplémentaires" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Mesure de latence :" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Afficher le limiteur :" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Fenêtres" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Onglets" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Toujours" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Uniquement les onglets nécessaires" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatique" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Dans un onglet supplémentaire" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Dans l'onglet courant" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Arbre" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Type de liste des canaux :" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Ouvrir un onglet supplémentaire pour les messages du serveur" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Ouvrir un nouvel onglet lors de la réception de message privé" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Trier les onglets par ordre alphabétique" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Afficher des icônes dans l'arbre des canaux" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Afficher des lignes en pointillé dans l'arbre des canaux" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Tourner la molette de la souris pour changer d'onglet" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Clic du milieu pour fermer l'onglet" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Texte plus petit" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Focus sur les nouveaux onglets :" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Affichage des notifications (notices) :" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Position de la liste des canaux :" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Réduire les étiquettes des onglets à :" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "lettres." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Onglets ou fenêtres" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Ouvrir les canaux dans :" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Ouvrir les boîtes de dialogue dans :" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Ouvrir les utilitaires dans :" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Faut-il DCC, Ignore, Notify, etc., dans des onglets ou des fenêtres ?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Messages" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Tampon" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Demander confirmation" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Demander le dossier de téléchargement" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Sauver automatiquement" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Fichiers et répertoires" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Accepter automatiquement les propositions de fichiers :" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Télécharger les fichiers vers :" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Déplacer les fichiers complets vers :" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Enregistrer le pseudonyme dans les noms de fichiers" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Ouvrir automatiquement les fenêtres DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Fenêtre d'envoi" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Fenêtre de réception" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Fenêtre de conversation" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Vitesses de transfert de fichiers maximales (octets par seconde)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Par envoi :" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Vitesse maximale pour un transfert" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Par téléchargement :" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Tous les transferts combinés :" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Vitesse maximale pour tous les fichiers" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Tous les téléchargements combinés :" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertes" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Afficher les notifications pour :" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Faire clignoter l'icône de barre d'état pour :" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Faire clignoter la barre des tâches pour :" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Émettre un bip pour :" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Jouer le son système « Notification de messagerie instantanée » quand les événements sélectionnés surviennent" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Jouer « message-new-instant » depuis le thème de sons freedesktop.org quand les événements sélectionnés surviennent" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Jouer un bip GTK sur les événements sélectionnés" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Passer les alertes quand vous êtes absent" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Omettre les alertes quand la fenêtre est focalisée" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportement de la barre d'état" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Activer l'icône de barre d'état" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Réduire dans la barre d'icônes" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Fermer dans la barre d'icônes" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Gérer le statut absent/présent automatiquement" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automatiquement changer d'état en cachant l'application dans la barre de tâches." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Afficher les notifications uniquement en mode masqué ou iconifié" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Messages en surbrillance" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Les messages en surbrillance sont ceux où apparait votre pseudo, mais aussi :" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Mots déclenchant une surbrillance :" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Pseudos à ne pas mettre en surbrillance :" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Pseudos à toujours mettre en surbrillance :" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Séparer les mots avec une virgule.\nLes jokers sont acceptés." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Faire rebondir l'icône du dock pour :" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Messages par défaut" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Quitter :" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Quitter le canal :" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Absent :" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Absent" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "N'afficher qu'une seule fois le message d'absence" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Afficher des messages d'absence identique une seule fois." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Enlever la marque d'absence automatiquement" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Vous sortir du mode absent avant d'envoyer des messages." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Autres" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Afficher les MODEs sous forme brute" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS sur les notifications" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Envoyer un /WHOIS quand un utilisateur arrive, et qu'il est dans votre liste de notification." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Cacher les messages d'entrée et de sortie" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Cacher les messages d'entrée/sortie par défaut." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Cacher les messages de changement de pseudonyme" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.hôte" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domaine" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*utilisateur@*.hôte" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*utilisateur@domaine" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportement de la copie automatique" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copie automatiquement le texte sélectionné" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copier le texte sélectionné vers le presse-papiers quand le bouton gauche de la souris est relâché. Autrement, Ctrl+Maj+C copie le texte sélectionné vers le presse-papiers." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Automatiquement inclure l'horodatage" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Automatiquement inclure l'horodatage dans les lignes de texte copiées. Sinon, inclure l'horodatage lorsque la touche Maj est pressée pendant la sélection." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Ajouter automatiquement les informations de couleur" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Inclure automatiquement les informations de couleur dans les lignes de texte copiées. Autrement, inclure les informations de couleur si la touche Ctrl est pressée lors de la sélection." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nom réel :" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Police alternative :" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Séparer plusieurs entrées avec des virgules sans espaces avant ou après la virgule." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Afficher des listes compactes" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Utiliser moins d'espace entre la liste des utilisateurs et l'arbre des canaux." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Utiliser le temps serveur si pris en charge" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Afficher les horodatages obtenus depuis le serveur s'il prend en charge l'extension serveur de temps." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Automatiquement se reconnecter aux serveurs en cas de déconnexion" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Délai de reconnexion automatique :" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Délai pour rejoindre les canaux :" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Type de bannissement :" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Essayer d'utiliser ce masque de bannissement en banissant ou en rendant muet (requiert irc_who_join)." + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Journalisation" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Afficher le tampon de la session précédente" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Lignes de défilement :" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Activer l'enregistrement des conversations" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nom du fichier journal :" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Serveur %c=Canal %n=Réseau." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Insérer l'horodatage dans les journaux" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format de l'horodatage du journal :" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLs" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Activer l'enregistrement des URLs " + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Activer la récupération d'URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Nombre maximum d'URL à récupérer : " + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Désactivé)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Toutes les connexions" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Serveur IRC seulement" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "DCC seulement" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Votre adresse" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Lier à :" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "N'est utile que pour les ordinateurs ayant plusieurs adresses." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transferts de fichiers" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obtenir mon adresse depuis le serveur IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Demander au serveur IRC votre adresse réelle. À utiliser si vous avez une adresse du style 192.168.*.* !" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Adresse IP DCC :" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Prétendre que vous êtes à cette adresse quand vous proposez des fichiers." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Premier port d'écoute DCC :" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Dernier port d'écoute DCC :" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "Laisser les ports à zéro pour la plage complète." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Serveur mandataire (proxy)" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nom d'hôte :" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port :" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Type :" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Utiliser le serveur mandataire (proxy) pour :" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Authentification par le proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Utiliser l'authentification (HTTP ou SOCKS5 uniquement)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nom d'utilisateur :" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Serveur Identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Activé" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Le serveur répondra par le nom d'utilisateur de réseaux" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Vous devez avoir les permissions pour écouter sur ce port. Si sa valeur n'est pas 113 (0 renvoie à cette valeur par défaut), vous devez alors configurer la redirection de port." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Sélectionner une image" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Choisir le dossier pour la réception de fichiers" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Choisir une police" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Parcourir…" + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Ouvrir le dossier des données" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Choisir la couleur" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Couleurs du texte" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Couleurs mIRC :" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Couleurs locales :" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Premier plan :" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Arrière-plan :" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Texte sélectionné" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Couleurs de l'interface" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nouvelles données :" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Ligne de repérage :" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nouveau message :" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Utilisateur absent :" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Surbrillance :" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Vérification orthographique : " + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Enlever les couleurs" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Événement" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Fichier son" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Sélectionner un fichier son" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Fichier son :" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Parcourir…" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Jouer" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Apparence" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Boîte de saisie" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Liste des utilisateurs" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Liste des canaux" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Couleurs" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Conversation" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sons" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "_Avancés" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Réglages relatifs au réseau" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferts de fichiers" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Catégories" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Vous ne pouvez pas placer l'arbre en haut ou en bas !\nMerci de passer en mode <b>Onglets</b> dans le menu <b>Vue</b> d'abord." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "L'option Nom réel ne peut être laissée blanche. Le nom réel \"realname\" sera utilisé." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Certains réglages qui ont été modifiés nécessitent un redémarrage afin d'être effectifs." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ATTENTION*\nAccepter automatiquement les DCC dans votre répertoire personnel\npeut être dangereux et peut être exploité. Par exemple :\nquelqu'un pourrait vous envoyer un .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Préférences - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(pas de suggestion)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Plus…" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Ajouter « %s » au dictionnaire" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorer tout" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Suggestion d'orthographe" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "Erreur Enchant pour la langue %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Il y a eu une erreur d'analyse de la chaîne" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Ce signal n'a reçu que %d paramètres, $%d n'est pas valable" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Afficher le fichier de texte" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Numéro" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Éditer les événements" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Charger depuis…" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Tout tester" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Récupération d'URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Effacer la liste" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copier l'URL sélectionnée" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copier" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Enregistrer la liste dans un fichier" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Ouvrir une URL irc://serveur:port/canal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo : erreur lors de l'obtention des infos. Défaut de prise en charge ou erreur." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo : aucune information de ce nom\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo : %s est défini à : %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo : des réglages valables sont : announce (annoncer) et hide_* (cacher) pour chaque morceau d'information. Par exemple hide_os. S'il n'y a pas de valeur définie, il montrera le réglage actuel (ou par défaut).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo : nom de variable invalide\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Greffon %s chargé\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Greffon %s déchargé\n" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000000000000000000000000000000000000..a8ef55e0b5bfce635fd62dc31ebc530a21ef0ed0 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Leandro Regueiro <leandro.regueiro@gmail.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Galician (http://www.transifex.com/hexchat/hexchat/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Cliente de IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Xestor de temas de HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Abandonando" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rede" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ningún>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canle" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Agardando" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Activo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Fallou" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Rematado" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Conectar" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Abortado" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Non foi posíbel acceder a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Erro" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ofrécelle \"%s\". Quere aceptar?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Non hai DCCs activos\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorar" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dar Op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Tomar Op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dar Voz" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Tomar Voz" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Botar/Vetar" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Botar" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Vetar" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Botar e vetar" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Abandonar a canle" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Entrar á canle..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Introduza a canle á que quere entrar:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Ligazóns do servidor" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping ao servidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Agochar versión" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Quitar Op" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "adeus" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduza razón para expulsar a %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Diálogo" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Enviar" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Limpar" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Executar o IRC como root é estúpido! Debería\n crear unha conta de usuario e usala para conectarse.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "Si " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "Non.." + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Está recibindo demasiados CTCP de %s, ignorando %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s conectados\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desconectados\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Non entrou en ningún canal. Tente /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Non conectado. Tente /server <equipo> [<porto>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Xa está marcado como ausente: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Necesítase /bin/sh para executarse!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Comandos dispoñibles:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Comandos definidos polo usuario:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Compoñentes definidos polo usuario:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escriba /HELP <comando> para máis información, ou /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento descoñecido '%s' ignorado." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Non se atopou dito complemento.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ese complemento négase a ser desactivado.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <acción>, engade un botón debaixo da lista de usuarios" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envía unha orde a todos as canles aos que se uniu" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envía un comando a todos os servidores aos que está conectado" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <máscara> [<tipo de veto>], veta a todos aqueles que concorden coa máscara da canle actual. Se xa están na canle isto non os expulsa (é necesario ser operador da canle)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, busca o código de país, ex: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <alcume> <mensaxe>, envía a mensaxe CTCP ao alcume, as mensaxes comúns son VERSION e USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canle>], márchase da canle actual e inmediatamente volve a entrar" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <alcume> - acepta un ficheiro ofrecido\nDCC SEND [-maxcps=#] <alcume> [ficheiro] - envía un ficheiro a alguén\nDCC PSEND [-maxcps=#] <alcume> [ficheiro] - envía un ficheiro a alguén usando o modo pasivo\nDCC LIST - amosa a lista DCC\nDCC CHAT <alcume> - ofrece o DCC CHAT a alguén\nDCC PCHAT <alcume> - ofrece o DCC CHAT usando modo pasivo\nDCC CLOSE <tipo> <alcume> <ficheiro> exemplo:\n /dcc close send xoándapena ficheiro.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <alcume>, elimina o estado de semi-operador da canle ao alcume na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, borra un botón de debaixo da lista de usuarios" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <alcume>, quita o estado de operador da canle ao alcume na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <alcume>, quita o estado de voz do alcume na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desconéctase do servidor" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Imprime texto localmente" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <comando>, executa o comando. Se se usa a bandeira -o entón a saída envíase á canle actual, se non, imprímese na caixa de texto actual" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envía o proceso SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], mata un executable correndo na sesión actual. Se se indica -9 o proceso é matado pola forza" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envía ao proceso o sinal de deterse" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envía os datos á entrada estándar do proceso" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, borra a cola de envío actual do servidor" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <equipo> [<porto>], utiliza un proxy a través dun equipo, o porto por defecto é o 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <alcume>, da o estado de semi-operador ao alcume (necesita ser operador da canle)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <contrasinal>, identifícate no servidor" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <máscara> <tipos..> <opcións..>\n máscara - máscara de equipos a ignorar, ex: *!*@*.aol.com\n tipos - tipos de datos a ignorar, un ou todos:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opcións - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <alcume> [<canle>], invita a alguén a unha canle, por omisión a canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canle>, entra á canle" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forza unha nova comprobación de retardo" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ficheiro>, carga un complemento ou script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Quita masivamente o estado de semi-operador na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Quita masivamente o estado de operador na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <acción>, envía a acción á canle actual (as accións están escritas en terceira persoa, como /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Expulsa masivamente a todos excepto a vostede na canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Otorga masivamente o estado de operador da canle actual (necesita ser operador da canle)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <alcume> <mensaxe>, Envía unha noticia CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nome do equipo> [<porto>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <alcume>, establece seu alcume" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<alcume>], lista súa lista de notificacións ou agrega a alguén a ela" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <alcume>, otorga o estado de operador da canle ao alcume (necesita ser operador da canle)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canle>] [<razón>], abandona a canle, por defecto a canle actual" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <alcume | canle>, Envía pings CTCP ao alcume ou canle" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razón>], desconéctase do servidor actual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envía o texto en formato chan hacia o servidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<equipo>] [<porto>] [<contrasinal>], Pode ser chamado só como /RECONNECT para reconectarse ao servidor actual ou con /RECONNECT ALL para reconectarse a todos os servidores abertos" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<equipo>] [<porto>] [<contrasinal>], Pode ser chamado só como /RECONNECT para reconectarse ao servidor actual ou con /RECONNECT ALL para reconectarse a todos os servidores abertos" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envía texto hacia un obxecto da ventá actual" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<ficheiro>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <equipo> <porto> <canle>, Conéctao e entra nunha canle" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <equipo> <porto> <canle>, Conéctao e entra nunha canle" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <equipo> [<porto>] [<contrasinal>], conéctao ao servidor, por defecto o porto é 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tópico>], estable o tópico se se provee un, se non mostra o tópico actual " + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <máscara> [<máscara>...], reincorpora as máscaras especificadas." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, desactiva un complemento ou script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre unha URL no seu navegador" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <alcume1> <alcume2> etc, resalta o(s) alcume(s) na lista de usuarios da canle" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <alcume>, otorga o estado de voz a alguén (necesita ser operador da canle)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensaxe>, escribe a mensaxe a todos as canles" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensaxe>, envía a mensaxe a todos os operadores da canle na canle actual" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNon hai axuda dispoñible para ese comando.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Non existe ese comando.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumentos erróneos para o comando de usuario.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Demasiados comandos recursivos de usuario, abortando." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Está seguro de que é un servidor e porto SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Non se pode resolver o nome do equipo %s\nComprobe súa configuración de IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Fallou o proxy traversal.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ciclando ao seguinte servidor en %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Aviso: O conxunto de caracteres \"%s\" é descoñecido. Non se aplicará conversión para a rede %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanle Usuarios Tópico" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tA lista de notificacións está baleira." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Rexistro cargado desde" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINALIZANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INICIANDO CONEXIÓN EN %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Mensaxe de ausencia" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "A mensaxe" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Enderezo IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nome de usuario" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "O alcume da persoa que entra" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "A canle á que está entrando" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "O equipo da persoa" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Alcume" + +#: src/common/text.c:980 +msgid "The action" +msgstr "A acción" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Modo carácter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Texto de identificación" + +#: src/common/text.c:987 +msgid "The text" +msgstr "O texto" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "A mensaxe" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nome do servidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Alcume antigo" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Novo alcume" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Alcume da persoa que cambiou o tópico" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tópico" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "O alcume do que expulsa" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "A persoa que está sendo expulsada" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "A canle" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "A razón" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "O alcume da persoa que abandona" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "O tempo" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "O creador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Alcume" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razón" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Equipo" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De quén ven" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "O tempo no formato x.x (vexa debaixo)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "A canle vaise a" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "O son" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "O alcume da persoa" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "O evento CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "O alcume da persoa que establece a clave" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "A clave" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "O alcume da persoa que establece o límite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "O límite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "O alcume da persoa que otorgou os permisos de operador" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "O alcume da persoa que foi convertida en operador" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "O alcume da persoa que foi convertida en semi-operador" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "O alcume da persoa que otorgou os permisos de semi-operador" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "O alcume da persoa que otorgou os permisos de voz" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "O alcume da persoa que foi convertida en voz" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "O alcume da persoa que realizou o veto (banning)" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "A máscara de vetos" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "O alcume de quen eliminou a clave" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "O alcume de quen eliminou o límite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "O alcume da persoa á que se lle quitou o permiso de operador" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "O alcume da persoa á que se lle quitou os permisos de semi-operador" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "O alcume da persoa á que se lle quitaron os permisos de voz" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "O alcume da persoa que otorgou a execpción" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "A máscara de exención" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "O alcume da persoa que quitou a exención" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "O alcume da persoa que realizou a invitación" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "A máscara de invitación" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "O alcume da persoa que eliminou a invitación" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "O alcume da persoa que estableceu o modo" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "O signo do modo (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "A letra do modo" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "A canle está sendo configurada" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Membro especial da canle/\"é un operador de IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Información do servidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tempo inactivo" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Tempo de conexión" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razón de ausencia" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mensaxe" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Conta" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Verdadeiro usuario@equipo" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Verdadeira IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nome da canle" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Alcume da persoa que lle invitou" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Usuarios" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Alcume en uso" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Tentando usar o alcume" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Porto" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Cadea de modos" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nome de ficheiro" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nome do ficheiro de destino" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Nome da ruta" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posición" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamaño" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Cadea DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Número de elementos de notificación" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Nome anterior do ficheiro" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nome novo do ficheiro" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Máscara de equipo" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nome de equipo" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "O paquete" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Alcume da persoa que foi invitada" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Máscara de veto" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Quen estableceu o veto" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Tempo de veto" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Non se pode ler o ficheiro de son:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Porto pechado no equipo remoto" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Conexión rechazada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Non hai ruta hacia o equipo" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Tempo de espera da conexión agotado" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Non se pode asignar ese enderezo" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Conexión reiniciada polo par" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Illa Ascensión" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emiratos Árabes Unidos" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistán" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antiga e Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilas holandesas" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antártida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Arxentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Fiel á OTAN" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Islas Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaián" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia e Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bélxica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negocios" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bután" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Isla Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorusia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belice" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Islas Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democrática do Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centro Africana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suiza" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa d'Ivoire" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Islas Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camerón" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia e Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Isla Navidade" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Alemaña Occidental" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemaña" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Arxelia" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institución Educativa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Exipto" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Occidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "España" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopía" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Unión Europea" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fixi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Islas Malvinas" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Islas Feroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabón" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Gran Bretaña" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Xeorxia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guaiana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Islas da Canle da Mancha" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Xibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Governo" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea Ecuatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Xeorxia e S. Islas Sandwich" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guaiana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Islas Heard e McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croacia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haití" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungría" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Illa de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territorio Oceánico Indio Británico" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Xersei" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Xamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Xordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Xapón" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Camboia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "San Kitts e Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corea do Norte" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corea do Sur" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Illas Caimán" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucía" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letonia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marrocos" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Servizo Médico de Estados Unidos" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Illas Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Islas Marianas do Norte" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauricio" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museos" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malasia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níxer" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rede de Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Isla Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nixeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nova Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organización sen ánimo de lucro Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nova Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistán" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "San Pierre e Miquelón" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territorio Palestino" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunión" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romanía" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Antiga escola de ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federación Rusa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabia Saudí" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Illas Salomón" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suecia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Islas Svalbard e Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "República de Eslovaquia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Serra Leona" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Mariño" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudán do sur" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Santo Tomé e Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Antiga URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "O Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Islas Turks e Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territorios Franceses do Sur" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Oriental" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Túnez" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquía" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidade e Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucraína" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estados Unidos de América" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Cidade Estado do Vaticano" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "San Vicente e as Granadinas" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Islas Vírxenes Británicas" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Islas Vírxenes Norteamericanas" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Illas Wallis e Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Iemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Maiote" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Iugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sudáfrica" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Non se puido conectar ao bus de sesión" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Fallou ao completar NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Fallou ao completar o Comando" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "acceso remoto" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "complemento para acceso remoto usando DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Non se puido conectar ao bus de sesión: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Fallou ao adquirir %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Mapa de caracteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Vetar" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invitar" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Non conectado." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Debe seleccionar algún vetado." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Só podes abrir a ventá da lista de vetados nunha solapa da canle." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Lista de vetados (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Eliminar" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Achicar" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Refrescar" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Amosando %d/%d usuarios en %d/%d canles." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccione un nome de ficheiro de saída" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Entrar á canle" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copiar o nome da canle" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copiar texto do _tema" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Lista de Canles (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Procurar" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Descargar lista" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Gardar _lista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Amosar só:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canles con" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "usuarios." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Procurar en:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nome da canle" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Buscar tipo..." + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Busca simple" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Patrón de coincidencia (Comodíns)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expresión regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Buscar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Enviar ficheiro a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Ese ficheiro non se pode continuar." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Non se pode acceder ao ficheiro: %s\n%s.\nNon é posible continuar." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "O ficheiro no directorio de descarga é máis grande que o ficheiro ofrecido. Non é posible continuar." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Non se pode reanudar o mesmo ficheiro de dúas persoas." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Cargas e descargas - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estado" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Ficheiro" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Tempo" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Subidas" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Descargas" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalles" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Ficheiro:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Enderezo:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abortar" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Aceptar" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Continuar" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Abrir cartafol..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Lista de Chat DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recibido" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Tempo de comezo" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Engadir" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Borrar" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Gardar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Non reconectarse ao servidor automaticamente" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Usar un directorio de configuración diferente" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Non cargar automaticamente ningún complemento" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Amosar o directorio de configuración de usuario" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Executar comando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Iniciar minimizado. Nivel 0=Normal 1=Iconificado 2=Bandexa" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivel" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Amosar a información da versión" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Fallou ao abrir a fonte:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "O búfer de busca está baleiro.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Cola de envío de rede: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "O comando Inserir no Búfer insertará o contido de Data 1 na entrada onde a secuencia de teclas foi pulsada na posicón actual do cursor" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "O comando Establecer búfer establece a entrada onde a secuencia de teclas foi introducida aos contidos de Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "O comando Último Comando establece a entrada para conter o último comando introducido á igual que premer a tecla enriba na liña de comandos" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "O comando Seguinte Comando establece a entrada que conteña o seguinte comando ingresado á igual que ao premer a tecla abaixo na liña de comandos" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Este comando cambia o texto na entrada para completar un alcume incompleto ou un comando. Se Data 1 está establecido entón ao premer dúas veces a tecla TAB sobre unha cadea seleccionará o último alcume, non o seguinte." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Este comando despraza hacia arriba e abaixo a lista de alcumes. Se Data 1 está establecido a calquera entón desprazarase hacia arriba, se non desprazarase hacia abaixo" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Este comando comproba a última palabra introducida na entrada contra a lista de remprazos e a rempraza se atopa unha coincidencia" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Este comando move unha vez solapa superior á esquerda" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Este comando move unha vez solapa superior á dereita" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Este comando move a familia actual de solapas á esquerda" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Este comando move a familia actual de solapas á dereita" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Colocar a liña de entrada no historial pero sen enviala ao servidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Houbo un erro cargando a configuración das combinacións de teclas" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Atallos de teclado - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Non se pode escribir nese ficheiro." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Non se pode ler ese ficheiro." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Esa máscara xa existe." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Noticia" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Non ignorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Introduza a máscara que quere ignorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Lista de ignorados - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estatísticas de ignorados:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canle:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Noticia:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invitar:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Engadir..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "O nome da canle é demasiado corto, ténteo de novo." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Conexión completada - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexión a %s completada." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Que quere facer despois?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, unireime a unha canle máis tarde." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Entrar nesta canle:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se coñece o nome da canle na que quere entrar, introdúcea aquí." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "Amosar este diálogo _sempre despois de conectar." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Diálogo con" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "O tópico para %s é: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Non está establecido ningún tópico" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Este servidor ten todavía %d canles ou diálogos asociados. Pechalos todos?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Non preguntar a próxima vez." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Está conectado a %i redes IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Está seguro de que quere saír?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Algunhas transferencias de ficheiros seguen activas." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizar á bandexa" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Inserir atributo ou código de cor" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Grosa</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Subraiado</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Cores 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Pechar" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "O límite de usuarios debe ser un número!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Non hai mensaxes externas" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Protección do tópico" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Só para invitados" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Lista de vetados" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Palabra clave" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Límite de usuarios" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Introduza o novo alcume:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Equipo descoñecido" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Descoñecido" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nome real:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Usuario:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Conta:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País: " + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "Hai %u minutos" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Última mensaxe: " + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Mensaxe de ausencia: " + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Abrir ligazón no navegador" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copiar a ligazón seleccionada" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Entrar á canle" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Invitar canle" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ciclar canle" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menú de usuario - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Respostas CTCP - Códigos especiais:\n\n%d = datos (o ctcp completo)\n%e = nome da rede actual\n%m = información da máquina\n%s = alcume de quen enviou o ctcp\n%t = hora/data\n%2 = palabra 2\n%3 = palabra 3\n&2 = palabra 2 do fin de liña\n&3 = palabra 3 do fin de liña\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Comandos definidos polo usuario - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Reemprazar - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Reemprazar con" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Manexadores de URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Botóns da lista de usuarios - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Botóns de diálogo - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Respostas CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Novo" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Saír" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barra de _menú" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra de _tópico" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Lista de _usuarios" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Botóns de m_odo" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Cambiar _canles" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Solapas" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Á_rbore" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Configuración de _rede" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Apagar" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Gráfico" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menú de _usuario" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "C_onfiguración" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Preferencias" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ventá" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reiniciar marcador de liña" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Limpar texto" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "A_xuda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contidos" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Acerca de" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Visto por última vez" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Desconectado" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "hai %d minutos" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Conectado" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Introduza o alcume a engadir:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificar nestas redes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Abrir diálogo" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Conectado a %u redes e %u canles - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Intermitencia en" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Mensaxe de canle" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mensaxe privada" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Resaltar mensaxe" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Resaltar mensaxe de %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u mensaxes resaltadas, a última de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Mensaxe privada desde %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u mensaxes privadas, a última de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Ofrécese ficheiro desde: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u ficheiro ofrecidos, o último de: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versión" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descrición" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Seleccione un Complemento ou Script a cargar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Complementos e Scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Cargar..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Gardar como..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nova rede" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Realmente desexa eliminar a rede \"%s\" e todos os seus servidores?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Editar %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "E_ditar" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Conectar só ao servidor seleccionado" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Non ciclar a non ser que todos os servidores aos que está conectando fallen." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Usar SSL para todos os servidores desta rede" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Usar información global de usuario" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Alcume:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segunda elección:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nome _verdadeiro:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nome de _usuario:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Contrasinal:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Conxunto de caracteres:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Lista de redes - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Información de usuario" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Terceira elección:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Saltar a lista de servidores ao inicio" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Ordenar" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_onectar" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaián" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorusia" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Búlgaro" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Checo" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dinamarqués" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Neerlandés" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Inglés" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estoniano" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finés" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francés" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galego" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemán" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grego" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Húngaro" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesio" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiano" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Xaponés" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreano" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letón" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituano" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonio" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaio" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polaco" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugués" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ruso" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbio" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Eslovaco" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Eslovenio" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Español" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Sueco" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turco" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ucraíno" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valón" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Xeral" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Idioma:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Tipo de letra:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Alcumes con cores" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada persoa unha cor diferente no IRC" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indentar alcumes" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Xustificar alcumes á dereita." + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostrar liña de marcado" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Inserir unha liña vermella despois do último texto lido." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imaxe de fondo:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Configuración de transparencia" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Comprobar ortografía" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Completado de alcume" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufixo de completado para o alcume:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Completado de alcume ordenado:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Desordenada" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Enriba" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Abaixo" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Oculto" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Mostrar os nomes dos equipos na lista de usuarios" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Usar a fonte e cores da caixa de texto" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Lista de usuarios ordenada por:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Mostrar lista de usuarios a:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Nas canles máis pequenas que:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Acción facendo dobre pulsación" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Xanelas" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Lapelas" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Só retomar solapas" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Árbore" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Cambiar tipo:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Abrir unha solapa extra para as mensaxes do servidor" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir unha solapa nova cando reciba unha mensaxe privada" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar solapas en orde alfabético" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Enfocar as novas solapas:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Reducir etiquetas das solapas a:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Solapas ou Ventás" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Abrir canles en:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Abrir diálogos en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Abrir utilidades en:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Abrir DCC, Ignorar, Notificar etc, en solapas ou ventás?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Ficheiros e directorios" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Aceptar ofrecementos de ficheiros:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Descargar ficheiros en:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mover ficheiros completados a:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Gardar o alcume nos nomes de ficheiros" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Abrir automaticamente ventás DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Ventá de envío" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Ventá de recepción" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Ventá de Chat" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Unha subida:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocidade máxima para unha transferencia" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Unha descarga:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Todas as subidas mesturadas:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocidade máxima para todos os ficheiros" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Todas as descargas mesturadas:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Intermitencia da icona da bandexa en:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Intermitencia da barra de tarefas en:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Emitir un son en:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Activar icona da bandexa do sistema" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mensaxes resaltadas" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "As mensaxes resaltadas son nas que se menciona o seu alcume, pero tamén:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Palabras adicionais para resaltar:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Os alcumes a non resaltar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Os alcumes para resaltar sempre:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mensaxes predeterminadas" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Saír:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Abandonar a canle:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Ausente:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Ausente" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Mostrar ausencia unha soa vez" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Desmarcar ausencia automaticamente" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Mostrar os MODOs en forma crú" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Ocultar mensaxes de entrada e saída" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Retraso de reconexión automática:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Rexistros" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Liñas de desprazamento:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nome do ficheiro de rexistro:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canle %n=Rede." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Inserir marcas de data/hora nos rexistros" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formato de data/hora para o rexistro:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Desactivado)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Seu enderezo" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Ligar a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Só é útil para computadoras con enderezos múltiples." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obter o meu enderezo do servidor IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Preguntarlle ao servidor IRC o teu enderezo verdadeiro. Usa isto se tes un enderezo 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Enderezo IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Pretender estar neste enderezo cando está ofrecendo ficheiros." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "Deixar os portos en cero para o rango completo." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nome do equipo:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Porto:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Usar proxy para:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticación de Proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nome de usuario:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Seleccionar un ficheiro de imaxe" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Seleccionar cartafol de descarga" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Seleccionar fonte" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Examinar..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Abrir cartafol de datos" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleccionar cor" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Cores do texto" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Cores de mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Cores locais:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Primeiro plano:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fondo:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Cores da interface" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Dato novo:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Liña marcada:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nova mensaxe:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Usuario ausente:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Resaltado:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Ficheiro de son" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Seleccionar un ficheiro de son" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Ficheiro de son:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Examinar..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Reproducir" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Caixa de entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lista de usuarios" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Cores" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chateo" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avanzado" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configuración de rede" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferencias de ficheiros" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorías" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Algunhas opcións que cambiou requiren un reinicio para ter efecto completamente." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*AVISO*\nAceptar automaticamente DCC ao seu directorio de inicio\npode ser peligroso e é explotable. Por exemplo:\nAlguén pode enviarlle un ficheiro .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferencias - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Máis..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Houbo un erro analizando a cadea" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Esta sinal só analizou %d argumentos, $%d é inválido" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Imprimir ficheiros de texto" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editar eventos" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Cargar de..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Probar todo" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "Aceptar" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Capturador de URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Limpar lista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copiar a URL seleccionada" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Gardar lista nun ficheiro" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir unha URL irc://servidor:porto/canle" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 0000000000000000000000000000000000000000..d3a9ae446b600f398da65e41ecc05a9e05694cf6 --- /dev/null +++ b/po/gu.po @@ -0,0 +1,6253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Gujarati (http://www.transifex.com/hexchat/hexchat/language/gu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "હું વ્યસ્ત છું" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "છોડી રહ્યા છીએ" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "નેટવર્ક" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "ચેનલ" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "રાહ જોઇ રહ્યા છે" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "સક્રિય" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "નિષ્ફળ" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "પૂરુ થયું" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "સાંકળવું" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "અડધેથી બંધ કરાયેલ" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s વાપરી શકતા નથી\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "ભૂલ" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "કોઈ સક્રિય DCC નથી\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "ચાલક સ્થિતિ આપો" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "ચાલક સ્થિતિ લો" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "અવાજ આપો" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "અવાજ લો" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "કિક/બેન" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "કિક" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "બેન" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "કિકબેન" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "ચેનલ છોડો" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "ચેનલ જોડો..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "જોડાવા માટે ચેનલ દાખલ કરો:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "સર્વર કડીઓ" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping સર્વર" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "આવૃત્તિ છુપાવો" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "ચાલક" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "ચાલક દૂર કરો" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "આવજો" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s ને કિક કરવાનું કારણ દાખલ કરો:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "સંવાદ" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "મોકલો" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "સંવાદ" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "સાફ" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC ને રુટ તરીકે ચલાવવાનું ગાંડપણ છે! તમારે વપરાશકર્તા\n ખાતું બનાવવું જોઈએ અને તેનો ઉપયોગ પ્રવેશ માટે કરવો જોઈએ.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "હા " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "ના " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "તમને %s માંથી CTCP પૂર આવ્યું છે, %s અવગણી રહ્યા છીએ\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ઓનલાઈન\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ઓફલાઈન\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "કોઈ ચેનલમાં જોડાયા નથી. /join #<channel> પ્રયત્ન કરો\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "જોડાયેલ નથી. /server <host> [<port>] પ્રયત્ન કરો\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "મને ચલાવવા માટે /bin/sh ની જરૂર છે!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "આદેશો ઉપલબ્ધ:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "વપરાશકર્તા વ્યાખ્યાયિત આદેશો:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "પ્લગઈન વ્યાખ્યાયિત આદેશો:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "વધુ જાણકારી માટે /HELP <command>, અથવા /HELP -l લખો" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "અજ્ઞાત દલીલ '%s' અવગણવામાં આવી." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "આવું કોઈ પ્લગઈન મળ્યુ નથી.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "નહિં લાવવા માટે તે પ્લગઈન અટકાવી રહ્યું છે.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, વપરાશકર્તા-યાદી હેઠળ બટન ઉમેરે છે" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, તમે જે ચેનલોમાં છો તે બધીમાં આદેશ મોકલે છે" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, તમે જે સર્વરોમાં છો તે બધામાં આદેશ મોકલે છે" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], દરેકને વર્તમાન ચેનલમાંથી માસ્ક જોડણી કરવામાં બેન કરે છે. જો તેઓ પહેલાથી જ ચેનલ પર હોય તો આ તેમને કિક કરતું નથી (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, દેશ કોડ શોધે છે, દાત: au = ઓસ્ટ્રેલિયા" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <message>, નામને CTCP સંદેશો મોકલે છે, સામાન્ય સંદેશો VERSION અને USERINFO છે" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - તક અપાયેલ ફાઈલ સ્વીકારો\nDCC SEND [-maxcps=#] <nick> [file] - કોઈકને ફાઈલ મોકલો\nDCC PSEND [-maxcps=#] <nick> [file] - પેસીવ સ્થિતિની મદદથી ફાઈલ મોકલો\nDCC LIST - DCC યાદી બતાવો\nDCC CHAT <nick> - કોઈકને DCC CHAT ની તક આપો\nDCC PCHAT <nick> - પેસીવ સ્થિતિની મદદથી DCC CHAT ની તક આપો\nDCC CLOSE <type> <nick> <file> ઉદાહરણ:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, વર્તમાન ચેનલ પરના નામમાંથી અડધો-ચેનલ ચાલક સ્થિતિ દૂર કરે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, વપરાશકર્તા-યાદી હેઠળના બટનને કાઢે છે" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, વર્તમાન ચેનલ પરના નામમાંથી ચેનલ ચાલક સ્થિતિ દૂર કરે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, વર્તમાન ચેનલ પરના નામમાંથી અવાજ સ્થિતિ દૂર કરે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, સર્વરથી જોડાણ તોડે છે" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, લખાણ સ્થાનિક રીતે છાપે છે" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, આદેશ ચલાવે છે. જો -o ફ્લેગ વપરાય છે તો પછી આઉટપુટ વર્તમાન ચેનલને મોકલાય છે, નહિંતર તે વર્તમાન લખાણ બોક્સમાં છપાય છે" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, પ્રક્રિયા SIGCONT મોકલે છે" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], વર્તમાન સત્રમાં ચાલતું exec મારી નાંખે છે. જો -9 ને SIGKILL વાળી પ્રક્રિયા અપાયેલ હોય" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, પ્રક્રિયા SIGSTOP મોકલે છે" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, પ્રક્રિયાઓ stdin ને માહિતી મોકલે છે" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, વર્તમાન સર્વરની મોકલો કતરા ફ્લશ કરે છે" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], યજમાન મારફતે પ્રોક્સીઓ, પોર્ટ માટે મૂળભુત ૨૩ છે" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, નામને અડધો-ચેનલ ચાલક સ્થિતિ આપે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, તમને nickserv પ્રતિ ઓળખાવો" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n mask - અવગણવા માટે યજમાન માસ્ક, દાત: *!*@*.aol.com\n types - અવગણવા માટે માહિતીના પ્રકારો, એક અથવા બધા:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], કોઈકને ચેનલમાં આમંત્રિત કરે છે, મૂળભુત રીતે વર્તમાન ચેનલ (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, ચેનલ જોડાય છે" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, નવા લેગ ચકાસણીને દબાણ કરે છે" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, પ્લગઈન અથવા સ્ક્રિપ્ટ લાવે છે" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, વર્તમાન ચેનલમાં બધા અડધા-ચેનલ ચાલકની ચાલક સ્થિતિ દૂર કરે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, વર્તમાન ચેનલમાં માસ ડિઓપના બધા ચેનલ ચાલકs (ચેનલ ચાલક જરૂરી)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, વર્તમાન ચેનલને ક્રિયા મોકલે છે (ક્રિયાઓ ૩જી વ્યક્તિને લખાય છે, /me jumps ની જેમ)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, વર્તમાન ચેનલમાં તમારા સિવાય બધાને માસ કિક કરે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, વર્તમાન ચેનલમાં માસ ઓપના વર્તમાન વપરાશકર્તાઓ (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, CTCP સૂચના મોકલે છે" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, તમારું નામ સુયોજિત કરે છે" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, નામને ચેનલ ઓપરેટર સ્થિતિ આપે છે (ચેનલ ઓપરેટરની જરૂર છે)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], ચેનલ છોડે છે, મૂળભુત રીતે વર્તમાન" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP નામ અથવા ચેનલને પીંગ કરે છે" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], વર્તમાન સર્વરમાંથી જોડાણ તોડે છે" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, સર્વરને કાચા બંધારણમાં લખાણ મોકલે છે" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], વર્તમાન સર્વર સાથે ખાલી /RECONNECT તરીકે બોલાવી શકાય છે અથવા બધા ખૂલેલા સર્વરો માટે /RECONNECT ALL સાથે" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], વર્તમાન સર્વર સાથે ખાલી /RECONNECT તરીકે બોલાવી શકાય છે અથવા બધા ખૂલેલા સર્વરો માટે /RECONNECT ALL સાથે" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, વર્તમાન વિન્ડોમાં ઓબ્જેક્ટને લખાણ મોકલે છે" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, ચેનલ સાથે સંપર્ક કરે છે અને જોડાય છે" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, ચેનલ સાથે સંપર્ક કરે અને જોડાય છે" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], સર્વર સાથે જોડાય છે, 6667 મૂળભૂત પોર્ટ છે" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], મુદ્દો સુયોજિત કરે છે જો કોઈ આપેલ હોય, નહિંતર વર્તમાન મુદ્દો બતાવે છે" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ચોક્કસ માસ્ક પરથી બેન દૂર કરે છે" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, પ્લગઈન અથવા સ્ક્રિપ્ટ અનલોડ કરે છે" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, તમારા બ્રાઉઝરમાં URL ખોલે છે" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, કોઈકને અવાજ સ્થિતિ આપે છે (ચેનલ ચાલક જરૂરી છે)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, બધી ચેનલોને સંદેશો લખે છે" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, વર્તમાન ચેનલ પરના બધા ચેનલ ચાલકs ને સંદેશો મોકલે છે" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "વપરાશ: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nતે આદેશ પર કોઈ મદદ ઉપલબ્ધ નથી.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "આવો કોઈ આદેશ નથી.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "વપરાશકર્તા આદેશ માટે ખોટી દલીલો.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "ઘણા બધા પુનરાવર્તિત વપરાશકર્તા આદેશો, અડધેથી બંધ કરી રહ્યા છીએ." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "શું તમે ચોક્કસ છો કે આ SSL સક્ષમ સર્વર અને પોર્ટ છે?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "યજમાન નામ %s ઉકેલી શક્યા નહિં\nતમારા IP સુયોજનો ચકાસો!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "પ્રોક્સી પરિવહન નિષ્ફળ.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s માં આગળના સર્વર સુધી ફેરવી રહ્યા છીએ...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "ચેતવણી: \"%s\" અક્ષર સમૂહ અજ્ઞાત છે. નેટવર્ક %s માટે કોઈ રૂપાંતરણ લાગુ પડશે નહિં." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%Uચેનલ વપરાશકર્તાઓ મુદ્દો" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$t સૂચન યાદી ખાલી છે." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ENDING LOGGING AT %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGIN LOGGING AT %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "ડાબો સંદેશો" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "જમણો સંદેશો" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP સરનામું" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "વપરાશકર્તા નામ" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "જોડાયેલ વ્યક્તિનું નામ" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "ચેનલમાં જોડાઈ ગયા છો" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "વ્યક્તિનો યજમાન" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "લાડકું નામ" + +#: src/common/text.c:980 +msgid "The action" +msgstr "ક્રિયા" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "સ્થિતિ અક્ષર" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "ઓળખાયેલ લખાણ" + +#: src/common/text.c:987 +msgid "The text" +msgstr "લખાણ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "સંદેશો" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "સર્વર નામ" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "જૂનું નામ" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "નવું નામ" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "વ્યક્તિનું નામ કે જેણે મુદ્દો બદલ્યો છે" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "મુદ્દો" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "કિક કરનારનું નામ" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "વ્યક્તિને કિક મરાઈ ગઈ છે" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "ચેનલ" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "કારણ" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "છોડી રહેલ વ્યક્તિનું નામ" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "સમય" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "બનાવનાર" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "નામ" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "કારણ" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "યજમાન" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "તે ક્યાંથી છે" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "સમય x.x બંધારણમાં છે (નીચે જુઓ)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "ચેનલ કે જે ચાલુ છે" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "સાઉન્ડ" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "વ્યક્તિનું નામ" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP ઘટના" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "વ્યક્તિનું નામ કે જેણે કી સુયોજિત કરી છે" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "કી" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "વ્યક્તિનું નામ કે જે મર્યાદા સુયોજિત કરે છે" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "મર્યાદા" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "વ્યક્તિનું નામ કે જેણે કારકપદ મેળવ્યું હતું" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "વ્યક્તિનું નામ કે જે કારક રહી ચૂક્યો છે" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "વ્યક્તિનું નામ કે જે અડધો કારક રહી ચૂક્યો છે" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "વ્યક્તિનું નામ કે જેણે અડધું કારક પદ કર્યું હતું" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "વ્યક્તિનું નામ કે જેણે અવાજ આપ્યો હતો" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "વ્યક્તિનું નામ કે જેને અવાજ અપાયેલો હતોે" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "વ્યક્તિનું નામ કે જેણે બેનીંગ કર્યું હતું" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "બેન માસ્ક" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "નામ કે જેણે કી દૂર કરી હતી" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "નામ કે જેણે મર્યાદા દૂર કરી હતી" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "વ્યક્તિનું નામ કે જે ડિઓપ થયેલ હતો" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "વ્યક્તિનું નામ કે જેની અડધી ચાલક સ્થિતિ દૂર થઈ ગયેલ છે" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "વ્યક્તિનું નામ કે જેનો અવાજ લેવાઈ ગયેલ હતો" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "વ્યક્તિનું નામ કે જેણે એક્ઝેમ્પ્ટ કર્યું હતું" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "એક્ઝેમ્પ્ટ માસ્ક" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "વ્યક્તિનું નામ કે જેણે એક્ઝેમ્પ્ટ દૂર કર્યું હતું" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "વ્યક્તિનું નામ કે જેણે આમંત્રણ કર્યું હતું" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "આમંત્રણ માસ્ક" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "વ્યક્તિનું નામ કે જેણે આમંત્રણ દૂર કર્યું હતું" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "વ્યક્તિનું નામ સ્થિતિ સુયોજિત કરી રહ્યું" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "સ્થિતિનું ચિહ્ન (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "સ્થિતિ પત્ર" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "ચેનલ કે જે સુયોજિત થઈ ગયેલ છે" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "પૂરું નામ" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ચેનલ ઉમેદવારી/\"એ IRC ચાલક છે\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "સર્વર જાણકારી" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "ફાજલ સમય" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "પ્રવેશ સમય" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "દૂર જવાનું કારણ" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "સંદેશો" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "ખાતુ" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "વાસ્તવિક user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "વાસ્તવિક IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "ચેનલ નામ" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "લખાણ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "વ્યક્તિનું નામ કે જેણે તમને આમંત્રિત કર્યો છે" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "વપરાશકર્તાઓ" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "નામ વપરાશમાં છે" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "નામનો પ્રયાસ થયેલ છે" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "પોર્ટ" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "સ્થિતિઓ શબ્દમાળા" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC પ્રકાર" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "ફાઈલનું નામ" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "લક્ષ્ય ફાઈલ નામ" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "પાથનામ" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "જગ્યા" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "માપ" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC શબ્દમાળા" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "સૂચન વસ્તુઓની સંખ્યા" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "જૂની ફાઈલનામ" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "નવી ફાઈલનામ" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "મેળવનાર" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "હોસ્ટમાસ્ક" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "યજમાનનામ" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "પેકેટ" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "સેકન્ડો" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "વ્યક્તિનું નામ કે જે આમંત્રિત થયેલ છે" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "બેનમાસ્ક" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "કોણે બેન સુયોજિત કર્યું છે" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "બેન સમય" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "સાઉન્ડ ફાઈલ વાંચી શકતા નથી:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "દૂરસ્થ યજમાને સોકેટ બંધ કરેલ છે" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "જોડાણ તૂટી ગયું" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "યજમાનનો કોઈ રુટ નથી" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "જોડાણ સમય સમાપ્તિ" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "તે સરનામું સોંપી શકતા નથી" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "પીયર દ્વારા જોડાણ પુનઃસુયોજિત થયેલ છે" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "અન્ડોરા" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "યુનાયટેડ આરબ અમીરાત્સ" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "અફઘાનિસ્તાન" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "એન્ટીગ્વા અને બર્બ્યુડા" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "એન્ગ્યુઈલ્લા" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "અલ્બેનિયા" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "અર્મેનિયા" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "નેધરલેન્ડઝ એન્ટીલીસ" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "અન્ગોલા" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "એન્ટાર્કટિકા" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "આર્જેન્ટિના" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "ઉલટું DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "અમેરિકન સામોઆ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "ઓસ્ટ્રિયા" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "નાટો ફીયલ" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "ઓસ્ટ્રેલિયા" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "અરુબા" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "અઝરબૈજાન" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "બોસ્નિયા અને હર્ઝેગોવિના" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "બાર્બાડોસ" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "બાંગલાદેશ" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "બેલ્જિયમ" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "બર્કિના ફાસો" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "બલ્ગેરિયા" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "બહેરીન" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "બુરુન્દી" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "વ્યવસાયો" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "બેનીન" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "બેરમ્યુડા" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "બ્રુનેઈ દારુસલામ" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "બોલિવિયા" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "બ્રાઝિલ" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "બહામસ" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ભુતાન" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "બૌવેટ ટાપુ" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "બોટ્સવાના" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "બેલારુસ" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "બેલિઝ" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "કેનેડા" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "કોકોસ ટાપુઓ" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "સામ્યવાદી કોન્ગોનું ગણતંત્ર" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "કેન્દ્રિય આફ્રિકન ગણતંત્ર" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "કોન્ગો" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "સ્વીત્ઝરલેન્ડ" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "કોટે ડિવોઈર" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "કુક ટાપુઓ" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "ચિલે" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "કેમેરુન" + +#: src/common/util.c:738 +msgid "China" +msgstr "ચીન" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "કોલમ્બિયા" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "આંતરિક વ્યવસાયિક" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "કોસ્ટા રીકા" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "સર્બીયા અને મોન્ટેનેગ્રો" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "ક્યુબા" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "કેપ વર્ડે" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "ક્રિસમસ ટાપુ" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "સાયપ્રસ" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "ચેક રીપબ્લીક" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "જર્મની" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "ડીજીબૌટી" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "ડેન્માર્ક" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "ડોમિનિકા" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "ડોમિનિકન ગણતંત્ર" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "અલ્જેરિયા" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "ઈક્વેડોર" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "શૈક્ષણિક સંસ્થા" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "ઈસ્ટોનિયા" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "ઈજીપ્ત" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "પશ્ચિમિ સહારા" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "એરીટ્રીઆ" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "સ્પેન" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "ઈથીઓપિયા" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "ફિનલેન્ડ" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "ફીજી" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "ફોલ્કલેન્ડ ટાપુઓ" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "માઈક્રોનેસિયા" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "ફેરો ટાપુઓ" + +#: src/common/util.c:770 +msgid "France" +msgstr "ફ્રાંસ" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "ગેબન" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "ગ્રેટ બ્રિટન" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "ગ્રેનાડા" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "જ્યોર્જિયા" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "ફ્રેંચ જીનેવા" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "બ્રિટિશ ચેનલ ઈસલ્સ" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "ઘાના" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "ગિબ્રાલ્ટાર" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "ગ્રીનલેન્ડ" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "ગામ્બિયા" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "જીનેવા" + +#: src/common/util.c:782 +msgid "Government" +msgstr "સરકાર" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "ગ્યુઆડેલોપ" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "ઈક્વેટોરિયલ જીનેવા" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ગ્રીસ" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "એસ. જ્યોર્જિયા અને એસ. સેન્ડવીચ ઈસ્લ્સ" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "ગૌટેમાલા" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "ગ્યુઆમ" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "જીનેવા-બિસાઉ" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "ગાયાના" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "હોંગ કોંગ" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "હીયર્ડ અને મેકડોનાલ્ડ ટાપુઓ" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "હોન્ડુરાસ" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "ક્રોટીઆ" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "હાઈટી" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "હંગરી" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "ઈન્ડોનેશિયા" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "આર્યભૂમિ" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "ઈઝરાયલ" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "ભારત" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "જાણકારી" + +#: src/common/util.c:803 +msgid "International" +msgstr "આંતરરાષ્ટ્રિય" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "બ્રિટિશ ભારતીય સમુદ્રી ફરવાના સ્થળો" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "ઈરાક" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "ઈરાન" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "ટાપુ" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "ઈટાલી" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "જમૈકા" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "જોર્ડન" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "જાપાન" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "કેન્યા" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "કીર્ગીસ્તાન" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "કમ્બોડિયા" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "કિરીબાટી" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "કોમોરોસ" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "સંત. કિટ્સ અને નેવીસ" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "ઉત્તર કોરિયા" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "દક્ષિણ કોરિયા" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "કુવૈત" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "કેમેન ટાપુઓ" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "કઝાકિસ્તાન" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "લાઓસ" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "લેબનોન" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "સંત લ્યુસીઆ" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "લીચટેન્સ્ટેન" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "શ્રીલંકા" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "લિબેરિયા" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "લેસોથો" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "લિથુઆનિયા" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "લક્ઝેમ્બર્ગ" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "લેટવિયા" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "લિબ્યા" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "મોરોક્કો" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "મોનેકો" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "મોલ્ડોવા" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "યુનાઈટેડ સ્ટેટ્સ મેડિકલ" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "મડાગાસ્કાર" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "માર્શલ ટાપુઓ" + +#: src/common/util.c:843 +msgid "Military" +msgstr "સેના" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "મેકેડોનિયા" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "માલી" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "મ્યાનમાર" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "મોંગોલિયા" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "મકાઉ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "ઉત્તરી મારીઆના ટાપુઓ" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "માર્ટીનીક" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "મૌરીટાનિયા" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "મોન્ટસેરાટ" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "માલ્ટા" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "મોરેશિયસ" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "માલદીવ" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "માલાવી" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "મેક્સિકો" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "મલેશિયા" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "મોઝામ્બીક" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "નામિબિયા" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "ન્યુ કેલેડોનિયા" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "નાઈજર" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "આંતરિક નેટવર્ક" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "નોરફોલ્ક ટાપુ" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "નાઈજીરીયા" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "નાઈકારાગ્યુઆ" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "નેધરલેન્ડઝ" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "નોર્વે" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "નેપાળ" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "નૌરુ" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "નિયુ" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "ન્યુ ઝીલેન્ડ" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "ઓમાન" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "આંતરિક બિન-લાભ સંસ્થા" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "પનામા" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "પેરુ" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "ફ્રેંચ પોલિનેસિયા" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "પપુઆ ન્યુ જીનેઆ" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "ફિલિપાઈન્સ" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "પાકિસ્તાન" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "પોલેન્ડ" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "સંત્. પીયરે અને મીકેલોન" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "પિટકેર્ન" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "પ્યુએર્ટો રેકો" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "ફરવાનું સ્થળ પેલેસ્ટિયન" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "પોર્ટુગલ" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "પાલાઉ" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "પેરાગ્યુઆ" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "કતાર" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "રીયુનિયન" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "રોમાનિયા" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "જૂની શાળા ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "રશિયાઈ ફીડરેશન" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "ર્વાન્ડા" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "સાઉદી અરેબિયા" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "સોલોમન ટાપુઓ" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "સીચેલેસ" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "સુદાન" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "સ્વીડન" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "સિંગાપોર" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "સંત હેલેના" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "સ્લોવેનિયા" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "સ્વાલબેર્ડ અને જન મેયેન ટાપુઓ" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "સ્લોવેક ગણતંત્ર" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "સીયારા લીયોન" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "સંત મારિનો" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "સેનેગલ" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "સોમાલિયા" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "સુરીનામ" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "સંત ટોમ અને પ્રિન્સીપ" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "જૂના USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "ઈઆઈ સાલ્વાડોર" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "સીરીયા" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "સ્વાઝીલેન્ડ" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "તુર્ક્સ અને કેઈકોસ ટાપુઓ" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "ચાડ" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "ફ્રેંચ દક્ષિણી ફરવાના સ્થળો" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "ટોગો" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "થાઈલેન્ડ" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "તાજીકિસ્તાન" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "ટોકેલાઉ" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "પૂર્વીય ટિમોર" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "તુર્કમેનિસ્તાન" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "તનીસિયા" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "ટોન્ગા" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "તુર્કી" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "ટ્રીનીદાદ અને ટોબેગો" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "તુવાલુ" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "તાઈવાન" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "તાન્ઝાનીયા" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "યુક્રેનિયા" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "યુગાન્ડા" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "યુનાઈટેડ કિંગડમ" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "યુનાઈટેડ સ્ટેટ્સ ઓફ અમેરિકા" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "ઉરુગ્વે" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "ઉઝ્બેકિસ્તાન" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "વાટીકન શહેર રાજ્ય" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "સંત. વિન્સેન્ટ અને ગ્રેનેડીનેસ" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "વેનેઝુએલા" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "બ્રિટિશ વર્જીન ટાપુઓ" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "US વર્જિન ટાપુઓ" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "વિયેતનામ" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "વાનુઆટુ" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "વાલિસ અને ફુટુના ટાપુઓ" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "સામોઆ" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "યેમેન" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "મેયોટે" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "યુગોસ્લાવીયા" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "દક્ષિણ આફ્રિકા" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "ઝામ્બિયા" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "ઝિમ્બાબ્વે" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "અક્ષર ચાર્ટ" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "બેન" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "આમંત્રણ આપો" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "તમારે અમુક બેન પસંદ કરવા જ પડશે." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "સંતાડવુ" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "તરફથી" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "તારીખ" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "દૂર કરો" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "કાપવું" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "ફરી તાજું કરો" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "આઉટપુટ ફાઈલનામ પસંદ કરો" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "શોધો:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s ને ફાઈલ મોકલો" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "તે ફાઈલ અટકાવી શકાય તેવી નથી." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "ફાઈલ વાપરી શકતા નથી: %s\n%s.\nઅટકાવવાનું શક્ય નથી." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ડાઉનલોડ ડિરેક્ટરીમાંની ફાઈલ તક અપાયેલ કરતાં મોટી છે. અટકાવવાનું શક્ય નથી." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "એ જ ફાઈલ બે વ્યક્તિમાંથી અટકાવી શકાતી નથી." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "સ્થિતિ" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ફાઇલ" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ઇટા" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "બંને" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "ફાઈલ:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "સરનામું:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "અધૂરુ રાખીને જવુ" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "સ્વીકારો" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "ફરી ચાલુ કરો" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "મેળવો" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "મોકલાયેલ" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "દૂર કરો" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "રદ કરો" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "સંગ્રહ કરો" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "આદેશ ચલાવો:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "ફોન્ટ ખોલવામાં નિષ્ફળ:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "શોધ બફર ખાલી છે.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d બાઈટો" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "બફરમાં દાખલ કરો આદેશ માહિતી ૧ ના સમાવિષ્ટો પ્રવેશમાં દાખલ કરશે કે જ્યાં કી હરોળ વર્તમાન કર્સર સ્થાને દબાવાયેલ હતી" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "બફર સુયોજિત કરો આદેશ પ્રવેશ સુયોજિત કરે છે કે જ્યાં કી હરોળ માહિતી ૧ ના સમાવિષ્ટોમાં દાખલ થયેલ હતું" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "છેલ્લો આદેશ આદેશ દાખલ થયેલ છેલ્લો આદેશ સમાવવા માટે પ્રવેશ સુયોજિત કરે છે - એવું જ શેલમાં ઉપર દબાવીને" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "આગળનો આદેશ આદેશ દાખલ થયેલ આગળનો આદેશ સમાવવા માટે પ્રવેશ સુયોજિત કરે છે - એવું જ શેલમાં નીચે દબાવીને" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "આ આદેશ અપૂર્ણ નામ અથવા આદેશ પૂર્ણ કરવા માટે પ્રવેશમાં લખાણ બદલે છે. જો માહિતી ૧ સુયોજિત થયેલ હોય તો પછી શબ્દમાળામાં દ્વિ-ટેબ કરવાનું છેલ્લું નામ પસંદ કરશે, નહિં કે આગળનું" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "આ આદેશ ઉપર અને નીચે નામોની યાદીમાં સરકે છે. જો માહિતી ૧ સુયોજિત હોય કે જે કંઈપણ ઉપર ખસશે નહિં, નહિંતર તે નીચે ખસશે" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "આ આદેશ દાખલ થયેલ છેલ્લો શબ્દ પ્રવેશમાં બદલો યાદી વિરુદ્ધ ચકાસે છે અને તેને જોડણી શોધવા માટે બદલે છે" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "આ આદેશ આગળની ટેબ ડાબેથી એક જેટલી ખસે છે" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "આ આદેશ આગળની ટેબ જમણેથી એક જેટલી ખસે છે" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "આ આદેશ વર્તમાન ટેબ પરિવારને ડાબે ખસેડે છે" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "આ આદેશ વર્તમાન ટેબ પરિવારને જમણએ ખસેડે છે" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "ઈતિહાસમાં ઈનપુટ વાક્યનો દબાણ કરો પરંતુ તે સર્વરને મોકલાતું નથી" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "કી બાઈન્ડીંગ રૂપરેખાંકન લાવવામાં ભૂલ હતી" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "તે ફાઈલ પર લખી શકતા નથી." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "તે ફાઈલ વાંચી શકતા નથી." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "તે માસ્ક પહેલાથી જ હાજર છે." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "ખાનગી" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "સૂચના" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "અવગણો નહિં" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "અવગણવા માટે માસ્ક દાખલ કરો:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "અવગણો સ્થિતિ:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "માધ્યમ:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "ખાનગી:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "સૂચના:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "આમંત્રિત કરો:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "આની સાથે સંવાદ" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s માટેનો મુદ્દો આ છે: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "કોઈ મુદ્દો સુયોજિત નથી" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "બંધ કરો (_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "વપરાશકર્તા મર્યાદા નંબર હોવી જ જોઈએ!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "કોઈ બાહ્ય સંદેશાઓ નથી" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "મુદ્દા સુરક્ષા" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "માત્ર આમંત્રિત કરો" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "મોડરેટ થયેલ" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "બેન યાદી" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "મુખ્ય શબ્દ" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "વપરાશકર્તા મર્યાદા" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "નવું નામ દાખલ કરો:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "યજમાન અજ્ઞાત" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "અજ્ઞાત" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "વાસ્તવિક નામ:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "વપરાશકર્તા:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "દેશ:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "સર્વર:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "છેલ્લો સંદેશો:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "દૂર સંદેશો:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "ચેનલમાં જોડાવ" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "વિભાગ ચેનલ" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "ચક્ર ચેનલ" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "બંધ" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "ગ્રાફ" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "સર્વર (_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "સુયોજનો (_e)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "વિન્ડો (_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "માર્કર લીટી પુનઃસુયોજિત કરો" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "લખાણ સાફ કરો (_l)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "મદદ (_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "સમાવિષ્ટો (_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "વિશે (_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "નામ" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "છેલ્લું દૃશ્ય" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "ઓફલાઈન" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "ક્યારેય નહી" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ઓનલાઈન" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "ઉમેરવા માટે નામ દાખલ કરો:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "આવૃત્તિ" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "વર્ણન" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "લાવવા માટે પ્લગઈન અથવા સ્ક્રિપ્ટ પસંદ કરો" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "લોડ કરો (_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "નવું નેટવર્ક" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "શું ખરેખર નેટવર્ક \"%s\" અને તેના બધા સર્વરો દૂર કરવા માંગો છો?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "ફેરફાર કરો (_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "માત્ર પસંદિત સર્વરમાં જ જોડાવ" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "જ્યારે જોડાણ નિષ્ફળ જાય ત્યારે બધા સર્વરો મારફતે ફેરવશો નહિં." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "આ નેટવર્ક પરના બધા સર્વરો માટે SSL વાપરો" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "વૈશ્વિક વપરાશકર્તા જાણકારી વાપરો" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "હુલામણું નામ (_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "બીજી પસંદગી:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "વાસ્તવિક નામ (_l):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "વપરાશકર્તા નામ (_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "પાસવર્ડ:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "અક્ષર સમૂહ:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "વપરાશકર્તા જાણકારી" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "ત્રીજી પસંદગી:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "નેટવર્કો" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "ફેરફાર કરો (_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "ક્રમમાં ગોઠવો (_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "જોડો (_o)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "અલ્બેનિયા" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "અઝરબૈજાન" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "બેલારુસ" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "બલ્ગેરિયા" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "ઈસ્ટોનિયા" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "ભારત" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "મલેશિયા" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "થાઈલેન્ડ" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "વિયેતનામ" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "સામાન્ય" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "ફોન્ટ:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "રંગીન નામો" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC પરના દરેક વ્યક્તિને અલગ રંગ આપો" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "નામોના હાંસિયાથી અંતર રાખો" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "નામોને જમણી-બાજુઓ રાખો" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "માર્કલ લીટી બતાવો" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "છેલ્લા વાંચન લખાણ પછી લાલ લીટી દાખલ કરો." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "પાશ્વ ભાગ ઈમેજ:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "નામ પૂર્ણતા" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "નામ પૂર્ણતા પ્રત્યય:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "ક્રમમાં ગોઠવાયેલ નથી" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "ઉપર" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "નીચે" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "છુપુ" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "વપરાશકર્તા યાદી" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "વપરાશકર્તા યાદીમાં યજમાનનામો બતાવો" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "લખાણ બોક્સ ફોન્ટ અને રંગો વાપરો" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "વપરાશકર્તા યાદી આના દ્વારા ક્રમમાં ગોઠવાયેલ છે:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "આના કરતાં નાની ચેનલો પર:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "બે વાર ક્લિક કરવા પરની ક્રિયા" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "વિન્ડો" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "ટેબો" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "હંમેશા" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "માત્ર અરજી થયેલ ટેબો" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "સર્વર સંદેશાઓ માટે વધારાની ટેબ ખોલો" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "ટેબોને બારાક્ષરી ક્રમમાં ગોઠવો" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "નવી ટેબો પર ફોકસ કરો:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "ટુંકાવેલ ટેબ લેબલો આમાં:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "અક્ષરો." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "ટેબો અથવા વિન્ડો" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "ચેનલો આમાં ખોલો:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "સંવાદો આમાં ખોલો:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "ઉપયોગીતાઓ આમાં ખોલો:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "શું DCC, અવગણો, સૂચવો વગેરે, ને ટેબો અથવા વિન્ડોમાં ખોલવા છે?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "ફાઈલો અને ડિરેક્ટરીઓ" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "ફાઈલોને આમાં ડાઉનલોડ કરો:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "પૂર્ણ થયેલ ફાઈલોને આમાં ખસેડો:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "નામોને ફાઈલનામોમાં સંગ્રહો" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "DCC વિન્ડો આપોઆપ ખોલો" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "મોકલો વિન્ડો" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "મેળવો વિન્ડો" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "સંવાદ વિન્ડો" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "એક અપલોડ:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "એક પરિવહન માટે મહત્તમ ઝડપ" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "એક ડાઉનલોડ:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "બધા અપલોડ જોડાયેલ છે:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "બધી ફાઈલો માટે મહત્તમ ઝડપ" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "બધા ડાઉનલોડ જોડાયેલ છે:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "ચેતવણીઓ" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "મૂળભૂત સંદેશાઓ" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "બહાર નીકળો:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "ચેનલ છોડો:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "દૂર જાવ:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "દૂર જાવ" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "એકવાર દૂર જવાનું બતાવો" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "આપોઆપ દૂર થઈ ગયેલાનો સંકેત દૂર કરો" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "હરોળ બંધારણમાં MODE પ્રદર્શિત કરે છે" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "જોડવાના અને છોડવાના સંદેશાઓ છુપાવો" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "આપોઆપ પુનઃજોડાણનો વિલંબ:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "લોગ રાખવાનું" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "લીટીઓ સરકાવો:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "લોગમાં ટાઈમસ્ટેમ્પ દાખલ કરો" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "લોગ ટાઈમસ્ટેમ્પ બંધારણ:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(નિષ્ક્રિય)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "તમારું સરનામું" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "ને જોડો:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC સર્વરમાંથી મારું સરનામું મેળવો" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "તમારા વાસ્તવિક સરનામા માટે IRC સર્વરને પૂછે છે. આ વાપરો જે તમારી પાસે 192.168.*.* સરનામું હોય!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP સરનામું:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "જ્યારે ફાઈલોની તક આપી રહ્યા હોય ત્યારે તમે આ સરનામે દાવો કરો." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "પ્રોક્સી સર્વર" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "યજમાન નામ:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "પોર્ટ:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "પ્રકાર:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "વપરાશકર્તા નામ:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "ઈમેજ ફાઈલ પસંદ કરો" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "ફોન્ટ પસંદ કરો..." + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "શોધો..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "રંગ પસંદ કરો" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "લખાણ રંગો" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC રંગો:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "અગ્ર ભાગ:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "પાશ્વ ભાગ:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "ઈન્ટરફેસ રંગો" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "નવી માહિતી:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "માર્કર લાઈન:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "નવો સંદેશો:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "દૂર ગયેલ વપરાશકર્તા:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "પ્રકાશિત કરો:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "ઘટના" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "સાઉન્ડ ફાઈલ" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "સાઉન્ડ ફાઈલ પસંદ કરો" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "ધ્વનિ ફાઈલ:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "શોધો (_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "વગાડો (_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "ઈન્ટરફેસ" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "ઈનપુટ બોક્સ" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "વપરાશકર્તા યાદી" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "રંગો" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "વાર્તાલાપ" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "ઉન્નત" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "નેટવર્ક સુયોજન" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "ફાઈલ પરિવહનો" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "વર્ગો" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "અમુક સુયોજનો બદલવાની જરૂર હતી કે જેને સંપૂર્ણપણે અસર આપવા માટે ફરી શરૂ થવાની જરૂર છે." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*WARNING*\nતમારી ઘર ડિરેક્ટરીમાં DCC ને આપોઆપ સ્વીકારવાનું\nએ ભયજનક અને વિનાશકારી હોઈ શકે. દાત:\nકોઈક તમને .bash_profile મોકલી શક્યું હોય" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "શબ્દમાળાનું પદચ્છેદન કરવામાં ભૂલ હતી" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "આ સંકેત માત્ર %d દલીલો પસાર કરશે, $%d અયોગ્ય છે" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "લખાણ ફાઈલ છાપો" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ નંબર" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "ઘટનાઓમાં ફેરફાર કરો" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "બધું ચકાસો" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "યાદી સાફ કરો" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "પસંદિત URL ની નકલ કરો" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "નકલ કરો" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "યાદી ફાઈલમાં સંગ્રહો" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ચાલકો, %d કુલ" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000000000000000000000000000000000000..1847c9d544c891f3ae016176afab05d59d227929 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Rajesh Ranjan <rajesh672@gmail.com>, 2005 +# Rajesh Ranjan <rajesh672@gmail.com>, 2005 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Hindi (http://www.transifex.com/hexchat/hexchat/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "मैं व्यस्त हूँ" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "छोड़ रहा है" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "संजाल" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<कोई नहीं>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "चैनेल" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "प्रतीक्षारत" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "सक्रिय" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "असफल" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "सम्पन्न" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "जोड़ें" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "छोड़ा गया" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s का अभिगम नहीं कर सकता\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "त्रुटि" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "कोई सक्रिय DCC नहीं\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "ऑपरेटर दर्जा दें" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "ऑपरेटर दर्जा लें" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "आवाज दें" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "आवाज लें" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "किक/प्रतिबंध" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "किक" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "प्रतिबंध" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "चैनल छोड़ें" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "चैनल से जुड़ें..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "शामिल होने के लिये चैनल में दाखिल हों:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "सर्वर लिंक" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "सर्वर पिंग करें" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "संस्करण छुपायें" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "bye" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "किक करने का कारण दें %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "संवाद" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "भेजें" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "गपशप" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "खाली" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "पिंग" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* बतौर रूट IRC चलाना वेबकूफी है! आपको एक उपयोक्ता \n खाता बनाना चाहिये और उसे लॉगिन के लिये प्रयोग करना चाहिये.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "हां " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "नहीं " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s से आप CTCP फ्लडेड हो रहे हैं, %s को नजरअंदाज कर रहा है\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ऑनलाइन\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ऑफलाइन\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "कोई चैनल से जुड़ा नहीं है. /join #<channel> की कोशिश करें\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "संबंधित नहीं. /server <host> [<port>] की कोशिश करें\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "मुझे /bin/sh चलाने की जरूरत है!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "अज्ञात arg '%s' अनदेखा किया गया." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "ऐसा कोई प्लगिन नहीं मिला.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "प्लगिन अनलोड होने से मना कर रहा है.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, उपयोक्ता सूची में बटन जोड़ें" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, आपके द्वारा शामिल सभी चैनल में समादेश भेजें" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, आपके द्वारा शामिल सभी सर्वर में समादेश भेजें" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], मौजूदा चैनल से मास्क से मिलान करने वाले हर को प्रतिबंधित करता है. अगर वे पहले से चैनल पर हैं तो यह उनको किक नहीं करता है (chanop होना आवश्यक)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, देश कोड प्राप्त करता है, उदाहरण के लिये: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <message>, CTCP संदेश निक को भेजें, सामान्य संदेश VERSION और USERINFO हैं" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, मौजूदा चैनल पर उपनाम से चैनल आधा ऑपरेटर स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, उपयोक्ता सूची के अंदर एक बटन मिटाता है" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, मौजूदा चैनल पर उपनाम से चैनल ऑपरेटर स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, मौजूदा चैनल पर उपनाम से ध्वनि स्थिति हटाता है (chanop होना जरूरी)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, सर्वर से विसंबंधित करता है" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, स्थानीय रूप से पाठ मुद्रित करता है" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, समादेश चलाता है. अगर -o फ्लैग का प्रयोग होता है तो आउटपुट मौजूदा चैनल को जाता है, नहीं तो मौजूदा पाठ बॉक्स में मुद्रित हो जाता है" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, SIGCONT प्रक्रिया भेजता है" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], मौजूदा सत्र में एक चलायमान निष्पादन को मारता है. अगर -9 दिया जाता है तो प्रक्रिया SIGKILL हो जाता है" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, SIGSTOP प्रक्रिया भेजता है" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, stdin प्रक्रिया को आंकड़ा भेजता है" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, मौजूदा सर्वर के प्रेषण कतार को फ्लश करता है" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], मेजबान के द्वारा प्रॉक्सी करता है, 23 में मूलभूत पोर्ट करता है" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, chanhalf-op स्थिति उपनाम को देता है (chanop होना जरूरत है)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n मास्क - अनदेखा करने के लिये मेजबान मास्क करें, उदा: *!*@*.aol.com\n प्रकार - अनदेखा करने के लिये आंकड़ा प्रकार, एक या सभी का:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n विकल्प - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], किसी को चैनल में आमंत्रित करता है, मूलभूत रूप से मौजूदा चैनल में (chanop आवश्यक)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, चैनल से जोड़ता है" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, एक नये lag जांच के लिये दबाव डालता है" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, मौजूदा चैनल में सभी चैनलहाफ ऑपरेटर की ऑपरेटर स्थिति लेना (chanop होना जरूरी है)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, मौजूदा चैनल में सभी चैनल ऑपरेटर की ऑपरेटर स्थिति लेना (chanop होना जरूरी है)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, मौजूदा चैनल में एक्शन भेजता है (एक्शन तृतीय पुरूष के रूप में लिखा जाता है, जैसे /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, आपको छोड़ सभी को किक करता है चैनल में (chanop आवश्यक)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, मौजूदा चैनल में सभी उपयोक्ता को मास ऑपरेटर (chanop आवश्यक)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, एक CTCP सूचना भेजता है" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, आपका उपनाम सेट करता है" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, उपनाम को चैनल ऑपरेटर स्थिति देता है (chanop की आवश्यकता है)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], चैनल छोड़ता है, मूलभूत रूप से मौजूदा चैनल को" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP उपनाम या चैनल पिंग करता है" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], मौजूदा सर्वर से विसंबंधित करता है" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, सर्वर में पाठ कच्चे रूप में भेजता है" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], मौजूदा सर्वर में पुनः जुड़ने के लिये /RECONNECT के रूप में लाया सकता है या /RECONNECT ALL से सभी खुले सर्वर से फिर से जोड़कर" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], मौजूदा सर्वर में पुनः जुड़ने के लिये /RECONNECT के रूप में लाया सकता है या /RECONNECT ALL से सभी खुले सर्वर से फिर से जोड़कर" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, मौजूदा विंडो में वस्तु को पाठ भेजता है" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, एक चैनल से संबंधित होता है औऱ शामिल होता है" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, एक चैनल से संबंधित होता है औऱ शामिल होता है" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], एक सर्वर से जोड़ता है, मूलभूत पोर्ट 6667 है" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], अगर एक दिया हुआ है तो टॉपिक सेट करता है, अन्यथा मौजूदा टॉपिक दिखाता है" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], निर्दिष्ट मास्क पर से प्रतिबंध हटाता है." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, एक प्लगिन या स्क्रिप्ट अनलोड करता है" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, URL में ब्रॉउजर खोलता है" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, किसी को ध्वनि स्थिति देता है (chanop की आवश्यकता है)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, सभी चैनल में संदेश लिखता है" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, सभी चैनल ऑपरेटर को मौजूदा चैनल पर संदेश भेजता है" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "उपयोग: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nउस समादेश पर कोई सहायता उपलब्ध है.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "ऐसा कोई समादेश नहीं.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "उपयोक्ता समादेश के लिये गलत तर्क.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "कई recursive उपयोक्ता समादेश, विफल कर रहा है." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "क्या आप निश्चित हैं कि यह एक SSL सक्षम सर्वर व पोर्ट है?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "%s मेजबाननाम हल नहीं कर सकता है\nअपना IP सेटिंग जांचें!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "प्रॉक्सी लेनदेन विफल.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s में अगला सर्वर में चक्रीय कर रहा है...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "चेतावनी: \"%s\" संप्रतीक सेट अज्ञात है. %s संजाल के लिये कोई वार्तालाप लागू नहीं होगी." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UChannel उपयोक्ता विषय" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tसूचना सूची खाली है." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** इसपर लॉगिंग समाप्त कर रहा है %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** इसपर लॉगिंग शुरू करें %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "बांया संदेश" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "दाहिना संदेश" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP पता" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "उपयोक्तानाम" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "शामिल व्यक्ति का नाम" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "शामिल हुआ चैनल" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "व्यक्ति का मेजबान" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "उपनाम" + +#: src/common/text.c:980 +msgid "The action" +msgstr "क्रिया" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "मोड चार" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "पहचाना गया पाठ" + +#: src/common/text.c:987 +msgid "The text" +msgstr "पाठ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "संदेश" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "सर्वर नाम" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "पुराना उपनाम" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "नया उपनाम" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "विषय बदलने वाले का उपनाम" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "विषय" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "किक किया गये का उपनाम" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "किक किया गया व्यक्ति" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "चैनल" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "तर्क" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "छोड़ रहे व्यक्ति का उपनाम" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "समय" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "निर्माता" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "उपनाम" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "कारण" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "होस्ट" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "यह कहां से है" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x प्रारूप में समय (नीचे देखें)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "चैनल जिसमें यह जा रहा है" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "ध्वनि" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "व्यक्ति का नाम" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP घटना" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "कुंजी सेट करने वाले का उपनाम" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "कुंजी" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "सीमा सेट करने वाले का उपनाम" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "सीमा" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "ऑपरेटिंग करने वाले का उपनाम" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "उसका उपनाम जिसन ऑपरेट किया है" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "उसका उपनाम जिसन आधा ऑपरेट किया है" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "उसका उपनाम जिसने आधा ऑपरेट किया है" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "उसका उपनाम जिसने घ्वनि किया है" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "उसका उपनाम जिसने व्यायस्ड किया है" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "प्रतिबंध लगाने वाले का उपनाम" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "प्रतिबंध मास्क" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "कुंजी हटाने वाले का उपनाम" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "सीमा हटाने वाले का उपनाम" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "उसका उपनाम जिसने डिऑपरेटिंग किया है" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "उसका उपनाम जिसने डिहाफऑपरेटिंग किया है" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "उसका उपनाम जिसने डिव्यायसिंग किया गया है" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "उसका उपनाम जिसने exempt किया है" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "exempt मास्क" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "exempt हटाने वाले का उपनाम" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "आमंत्रण देने वाले का उपनाम" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "आमंत्रण मास्क" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "आमंत्रण हटाने वाले का उपनाम" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "मोड सेट करने वाले का उपनाम" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "मोड हस्ताक्षर (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "मोड पत्र" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "चैनल जिसपर सेट है" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "पूरा नाम" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "चैनल सदस्यता/\"एक IRC ऑपरेटर है\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "सर्वर जानकारी" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "सुस्त समय" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "साइनऑन समय" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "दूर का कारण" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "संदेश" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "खाता" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "वास्तविक user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "वास्तविक IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "चैनल नाम" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "पाठ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "आपको आमंत्रित करने वाले का उपनाम" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "उपयोक्ता" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "उपयोग में उपनाम" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "उपनाम के लिये कोशिश की गई" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "आईपी" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "पोर्ट" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "मोड स्ट्रिंग" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "डीसीसी क़िस्म" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "फ़ाइलनाम" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "गंतव्य फाइलनाम" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "पाथनेम" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "स्थिति" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "आकार" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC स्ट्रिंग" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "सूचना मद की संख्या" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "पुराना फाइलनाम" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "नया फाइलनाम" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "पाने वाला" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "होस्टमास्क" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "मेजबाननाम" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "पैकेट" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "सेकेंड" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "उपनाम जिसने आमंत्रण दिया है" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "बैनमास्क" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "किसने प्रतिबंध सेट किया है" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "प्रतिबंध समय" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "ध्वनि फाइल नहीं पढ़ सकता है:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "दूरस्थ मेजबान बंद सॉकेट" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "कनेक्शन अस्वीकृत" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "मेजबान में कोई रूट नहीं" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "कनेक्शन टाइम आउट हो गया" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "वह पता नियत नहीं कर सकता है" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "संबंधी द्वारा संबंधन फिर सेट" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "अंडोरा" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "संयुक्त अरब अमीरात" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "अफगानिस्तान" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "एंटिगुआ और बर्बुडा" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "एंग्विला" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "अलबानिया" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "आर्मेनिया" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "नीदरलैंड्स एंटीलेस" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "अंगोला" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "अंटार्कटिका" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "अर्जेन्टिना" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "विलोम DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "अमेरिकन समोआ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "आस्ट्रिया" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "आस्ट्रेलिया" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "अरूबा" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "अजरबैजान" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "बोस्निया और हर्जेगोविना" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "बारबोडस" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "बांग्लादेश" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "बेल्जियम" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "बुर्किना फासो" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "बल्गारिया" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "बहरीन" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "बुरूंडी" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "व्यापार" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "बेनिन" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "बरमुडा" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "ब्रुनेई दारूसलाम" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "बोलिविया" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "ब्राजील" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "बहामा" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "भूटान" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "बौभेट द्वीप" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "बोत्सवाना" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "बेलारूस" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "बेलाइज" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "कनाडा" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "कोकोस द्वीप" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "कांगो लोकतांत्रिक गणतंत्र" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "केंद्रीय अफ्रीकी गणतंत्र" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "कांगो" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "स्विट्जरलैंड" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "कोटे डि इवायर" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "कुक द्वीप" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "चिली" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "कैमरून" + +#: src/common/util.c:738 +msgid "China" +msgstr "चीन" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "कोलंबिया" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "इंटरनिक वाणिज्यिक" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "कोस्टा रिका" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "सर्बीया अने मोन्टेनेग्रो" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "क्यूबा" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "केप वर्डे" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "क्रिसमस द्वीप" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "साइप्रस" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "चेक गणतंत्र" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "जर्मनी" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "दिबॉती" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "डेनमार्क" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "डोमिनिका" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "डोमिनिकन गणतंत्र" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "अल्जीरिया" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "इक्वेडर" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "शैक्षणिक संस्थायें" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "इस्टोनिया" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "मिश्र" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "पश्चिम सहारा" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "इरीट्रिया" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "स्पेन" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "इथोपिया" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "फिनलैंड" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "फिजी" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "फाकलैंड द्वीप" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "माइक्रोनेशिया" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "फैरो द्वीप" + +#: src/common/util.c:770 +msgid "France" +msgstr "फ्रांस" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "गैबन" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "ग्रेट ब्रिटेन" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "ग्रेनाडा" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "जार्जिया" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "फ्रेंच गायना" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "ब्रिटिश चैनल द्वीप" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "घाना" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "जिब्राल्टर" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "ग्रीनलैंड" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "गैंबिया" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "गायना" + +#: src/common/util.c:782 +msgid "Government" +msgstr "सरकार" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "गुआडेलोप" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "भूमध्यरेखीय गायना" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ग्रीस" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "दक्षिणी ज्यार्जिया व दक्षिणी सैंडविच द्वीप" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "गुआटेमाला" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "गुआम" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "गाइना बिसाउ" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "गुयाना" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "हांग कांग" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "हर्ड व मैकडोनाल्ड द्वीप" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "होंडुरास" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "क्रोशिया" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "हैती" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "हंगरी" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "इंडोनेशिया" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "आयरलैंड" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "इज़राइल" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "भारत" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "जानकारीपरक" + +#: src/common/util.c:803 +msgid "International" +msgstr "अंतर्राष्ट्रीय" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "ब्रिटिश इंडियन समुद्री क्षेत्र" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "इराक" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "इरान" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "आइसलैंड" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "इटली" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "जमैका" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "जोर्डन" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "जापान" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "कीनिया" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "किर्गीस्तान" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "कंबोडिया" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "किरीबाती" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "कोमोरोस" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "सेंट किट्स तथा नेविस" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "उत्तर कोरिया" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "दक्षिण कोरिया" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "कुवैत" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "कैमन द्वीप" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "कजाखस्तान" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "लाओस" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "लेबनान" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "सेंट लुसिया" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "लिचेंस्टाइन" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "श्रीलंका" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "लाइबेरिया" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "लेसोथो" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "लिथुआनिया" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "लक्समबर्ग" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "लाटविया" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "लीबिया" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "मोरोक्को" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "मोनाको" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "माल्डोवा" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "संयुक्त राज्य मेडिकल" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "मेडागास्कर" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "मार्शल द्वीप" + +#: src/common/util.c:843 +msgid "Military" +msgstr "सैना" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "मेसीडोनिया" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "माली" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "म्यनमार" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "मंगोलिया" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "मकाउ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "उत्तरी मरियाना द्वीप" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "मार्टीनीक" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "मारीटेनिया" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "मोंट्सेराट" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "माल्टा" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "मॉरीशस" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "मालदीव" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "मलावी" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "मेक्सिको" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "मलेशिया" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "मोजांबिक" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "नामीबिया" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "न्यू कैलिडोनिया" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "नाइजर" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "इंटरनिक संजाल" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "नॉरफॉक द्वीप" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "नाइजीरिया" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "निकारागुआ" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "नीदरलैंड्स" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "नार्वे" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "नेपाल" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "नौरू" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "निवे" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "न्यू जीलैंड" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "ओमान" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "इंटरनिक गैर लाभकारी संगठन" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "पनामा" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "पेरू" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "फ्रेंच पोलीनेशिया" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "पापुआ न्यू गिनी" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "फिलीपीन" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "पाकिस्तान" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "पोलेंड" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "सेंट पियरे व मिकेलन" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "पिटकैर्न" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "प्यूरिटो रिको" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "फिलीस्तीनी क्षेत्र" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "पुर्तगाल" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "पलाऊ" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "पराग्वे" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "कातार" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "रीयूनियन" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "रोमानिया" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ओल्ड स्कूल ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "रूस परिसंघ" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "रवांडा" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "सऊदी अरब" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "सोलोमन द्वीप" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "सिचेलीस" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "सूडान" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "स्वीडन" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "सिंगापुर" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "सेंट हेलेना" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "स्लोवेनिया" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "स्वालबर्ड और जेन मयेन द्वीप" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "स्लोवाक गणतंत्र" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "सियरा लियोन" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "सैन मेरिनो" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "सेनेगल" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "सोमालिया" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "सुरीनाम" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "साओ टोम अने प्रिन्साईप" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "भूतपूर्व USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "अल सल्वाडोर" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "सीरिया" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "स्वाजीलैंड" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "तुर्क्स अने केईकोस द्वीपओ" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "चाड" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "फ्रेंच दक्षिण परिक्षेत्र" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "टोगो" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "थाइलैंड" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "ताजीकिस्तान" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "टोकेलाऊ" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "पूर्वीय टाईमोर" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "तुर्कमेनिस्तान" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "ट्यूनीशिया" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "टोन्गा" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "तुर्की" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "ट्रिनीदाद अने टोबेगो" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "तुवालू" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "ताइवान" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "तान्झानीया" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "उक्रेन" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "यूगांडा" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "यूनाइटेड किंगडम" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "युनाइटेड स्टेट आफ अमेरिका" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "उरुगवे" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "उजबेकिस्तान" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "वेटिकन सिटी स्टेट" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "सेंट विंसेंट तथा ग्रेनेडाइन्स" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "वेनेजुएला" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "ब्रिटिश बर्जिन द्वीप" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "US वर्जिन द्वीप" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "विएतनाम" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "वैनुआटु" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "वेलिश और फुटूना द्वीप" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "समोआ" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "यमन" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "मयोटे" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "युगोस्लाविया" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "दक्षिण अफ्रीका" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "जांबिया" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "जिंबाबवे" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "संप्रतीक चार्ट" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "प्रतिबंध" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "निमंत्रित करें" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "आपको अवश्य कुछ प्रतिबंध चुनना चाहिये" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "मास्क" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "से" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "तारीख़" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "हटाएं" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "क्रॉप" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "ताज़ा करें" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "एक आउटपुट फाइल नाम चुनें" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "चैनल नाम" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "ढूंढें:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s में फाइल भेजें" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "वह फाइल नहीं संभव है." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "फाइल अभिगम नहीं कर सकता: %s\n%s.\nपुनर्बहाली संभव नहीं." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "डाउनलोड निर्देशिका का फाइल दिये गये फाइल से बड़ा है. पुनर्बहाली संभव नहीं." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "दो व्यक्ति से समान फाइल नहीं ले सकता." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "स्थिति" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "फाइल" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "दोनों" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "छोड़ें" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "स्वीकारें" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "पुनरारंभ" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "भेजी-डाक" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "मिटाओ" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "रद्द" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "सहेजें" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "समादेस चलायें:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "पोर्ट खोलने में विफल:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "ढूंढें बफर खाली है.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d बाइट्" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "The Insert in Buffer command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "The Set Buffer command sets the entry where the key sequence was entered to the contents of Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "The Last Command command sets the entry to contain the last command entered - the same as pressing up in a shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "The Next Command command sets the entry to contain the next command entered - the same as pressing down in a shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "This command checks the last word entered in the entry against the replace list and replaces it if it finds a match" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "This command moves the front tab left by one" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "This command moves the front tab right by one" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "मौजूदा टैब परिवार को यह समादेश बांयी ओर बढ़ाता है" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "मौजूदा टैब परिवार को यह समादेश दाहिनी ओर बढ़ाता है" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "इतिहास में इनपुट लाइन डालें लेकिन सर्वर में मत भेजें" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "कुंजी बाइंडिंग विन्यास के भारण में त्रुटि थी." + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "उस फाइल में नहीं लिख सकता है" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "उस फाइल को पढ़ नहीं सकता है" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "वह मास्क पहले से मौजूद है" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "निजी" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "सूचना" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "सीटीसीपी" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "डीसीसी" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "अनदेखा न करें" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "अनदेखा करने के लिये मास्क दें: " + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "अनदेखा स्थिति:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "चैनलः" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "निजी:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "सूचना:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "आमंत्रण करें:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "इसके साथ संवाद" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s के लिये टॉपिक है: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "कोई टापिक सेच नहीं है" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "बंद करें (_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "उपयोक्ता सीमा अवश्य एक संख्या होनी चाहिये!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "कोई बाहरी संदेश नहीं" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "टॉपिक सुरक्षा" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "सिर्फ आमंत्रण" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderated" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "प्रतिबंध सूची" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "कीवर्ड" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "उपयोक्ता सीमा" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "नया उपनाम दें:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "मेजबान नाम" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "अज्ञात" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "चैनल में शामिल हों" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "चैनल छोड़ें" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "चक्रीय चैनल" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "बंद" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "ग्राफ" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "सर्वर (_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "जमावट (_e)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "विंडो (_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "मार्कर पंक्ति फिर सेट करें" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "पाठ साफ करें" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "मदद (_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "विषय सूची (_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "के बारे में (_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "नाम" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "पिछली बार देखा गया" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "ऑफ़लाइन" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "कभी नहीं" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ऑनलाइन" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "पता में उपनाम जोड़ें:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "संस्करण" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "वर्णन" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "भारित करने के लिये प्लगिन या स्क्रिप्ट चुनें" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "लोड (_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "नया संजाल" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "वास्तव में संजाल \"%s\" और इसके सारे सर्वर को हटाता है?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "संपादन (_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "चुने गये सर्वर से सिर्फ जुड़ें" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "संबंधन विफल होने पर सभी सर्वर से चक्रीय न होयें." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "इस संजाल पर सभी सर्वर के लिये SSL का प्रयोग करें" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "वैश्विक उपयोक्ता सूचना का प्रयोग करें" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "उपनाम (_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "दूसरा विकल्प:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "वास्तविक नाम (_l):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "उपयोक्ता नाम (_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "शब्दकूट:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "संप्रतीक सेट:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "उपयोक्ता जानकारी" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "तीसरा विकल्प:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "संजाल" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "संपादित करें (_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "क्रमबद्ध करें (_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "जोड़ें (_o)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "अलबानिया" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "अजरबैजान" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "बेलारूस" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "बल्गारिया" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "इस्टोनिया" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "भारत" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "मलेशिया" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "थाइलैंड" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "विएतनाम" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "सामान्य" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "फ़ॉन्टः" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "रंग किया गया उपनाम" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC पर हर आदमी को अलग रंग दें" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "प्रमाणित उपनाम" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "उपनाम को राइट जस्टीफाइड बनायें" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "मार्कर पंक्ति दिखायें" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "अंतिम पढ़े गये पाठ के बाद लाल रेखा दें" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "पृष्ठभूमि चित्र:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "उपनाम समाप्ति" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "उपनाम समाप्ति प्रत्यय:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "बिना छांटा" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "ऊपर" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "नीचे" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "छुपा हुआ" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "उपयोक्ता सूची" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "उपयोक्ता सूची में मेजबाननाम दिखायें" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "पाठ बॉक्स फंट व रंग का प्रयोग करें" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "इस रूप में उपयोक्ता सूची छांटी गई:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "इससे छोटे चैनल पर:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "दोहरे क्लिक पर क्रिया" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "विंडोज़" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "टॉब्स" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "हमेशा" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "सिर्प आग्रहित टैब" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "सर्वर संदेश के लिये एक अलग टैब खोलें" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "अकारादि क्रम में सजायें" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "नया टैब पर फोकस करें:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "इसमें टैब लेबल का छोटा करें:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "अक्षर" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "टैब या विंडो" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "इसमें चैनल खोलें:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "इसमें संवाद खोलें:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "इसमें उपयोगिता खोलें:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Open DCC, Ignore, Notify etc, in tabs or windows?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "फाइल और निर्देशिका" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "यहां फाइल डाउनलोड करें:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "यहां पूरी की गई फाइल भेजें:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "फाइलनाम में उपनाम सहेजें" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "स्वतः खोलें DCC विंडो" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "भेजें विंडो" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "विंडो पायें" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "बातचीत विंडो" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "एक अपलोड:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "एक स्थानांतरण के लिये अधिकतम गति" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "एक डाउनलोड:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "संयुक्त रूप से सभी अपलोड:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "सभी फाइल के लिये सर्वाधिक गति" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "सभी डाउनलोड संयुक्त रूप से:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "चेतावनी" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "मूलभूत संदेश" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "छोड़ें:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "चैनल छोड़े:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "दूर:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "दूर" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "एकबार दूर दिखायें" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "बतौर दूर स्वतः अचिह्नित करें" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "MODEs कच्चे प्रारूप में दिखायें" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "शामिल व अलग संदेश छुपायें" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "स्वतः रूप से फिर जुड़ने में विलंब:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "लॉगिंग" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "स्क्रॉलबैक पंक्ति:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "लॉग में टाइमस्टैंप दाखिल करें" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "टाइमस्टैंप प्रारूप को लॉग करें:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(निष्क्रिय)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "आपका पता" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "इससे जोड़ें:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC सर्वर से मेरा पता लीजिये" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "आपके वास्तविक पता के लिये IRC सर्वर से पूछता है. इसका उपयोग करें अगर आपके पास 192.168.*.* पता है!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP पता:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "दावा करें कि आप इस सूची पर हैं जब आप फाइल का प्रस्ताव भेज रहे हैं." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "प्रॉक्सी सर्वर" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "मेजबाननाम:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "पोर्टः" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "प्रकार:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "उपयोक्ता नाम:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "चित्र फाइल चुनें" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "फंट चुनें" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "ब्राउज़..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "रंग चुनें" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "पाठ रंग" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC रंग:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "अग्रभूमि:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "पृष्ठभूमि:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "अंतरफलक रंग" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "नया आंकड़ा:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "मार्कर पंक्ति:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "नया संदेश:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "दूर उपयोक्ता:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "उभारें:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "घटना" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "ध्वनि फाइल" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "ध्वनि फाइल चुनें" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "ध्वनि फाइल:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "ब्राउज...(_B)" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "बजाएँ (_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "अंतरफलक" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "इनपुट बॉक्स" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "उपयोक्ता सूची" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "रंग" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "बातचीत" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "विस्तृत" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "संजाल सेटअप" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "फाइल स्थानांतरण" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "श्रेणियां" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Some settings were changed that require a restart to take full effect." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*WARNING*\nAuto accepting DCC to your home directory\ncan be dangerous and is exploitable. Eg:\nSomeone could send you a .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "स्ट्रिंग की व्याख्या में त्रुटि थी" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "यह संकेत सिर्फ भेजा गया %d args है, $%d अमान्य है" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "पाठ फाइल मुद्रित करें" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ संख्या" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "घटना संपादित करें" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "सबको जांचें" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "सूची साफ करें" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "चुनें गये URL को कॉपी करें" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "कॉपी" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "फाइल में सूची सहेजें" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ऑपरेटर, %d कुल" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000000000000000000000000000000000000..c99b6597b8031baecd3b9469393907259d68928d --- /dev/null +++ b/po/hu.po @@ -0,0 +1,6260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# bviktor, 2012 +# bviktor, 2012-2013 +# bviktor, 2013 +# bviktor, 2012 +# Gabor Hosszu <hosszu.gabor90@gmail.com>, 2015 +# Horvath Szabolcs <horvathsz@penguinpowered.com>, 1999-2000, 2005 +# Kata Konkoly <kata@linuxforum.hu>, 2005 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:13+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Hungarian (http://www.transifex.com/hexchat/hexchat/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC kliens" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Elfoglalt vagyok" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Távozom" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Hálózat" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nincs>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Csatorna" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Várakozás" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktív" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Sikertelen" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Kész" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Kapcsolódás" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Megszakítva" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s nem érhető el\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Hiba" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s felajánlja a következőt: \"%s\". El kívánja fogadni?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nincs aktív DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Párbeszédablak _nyitása" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Fájl küldése" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Felhasz_nálóinformációk (WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "Hozzá_adás a barátok listájához" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Mellőzés" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_perátori műveletek" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Op-jog adása" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Op-jog elvétele" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Voice jog adása" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Voice jog elvétele" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kirúgás/kitiltás" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kirúgás" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Kitiltás" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Kirúgás és kitiltás" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Csatorna elhagyása" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Csatlakozás csatornához..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Írja be a csatorna nevét, amelyhez csatlakozni akar:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Kiszolgáló hivatkozások" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Kiszolgáló pingelése" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Verzió elrejtése" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "viszlát" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Adja meg %s kirúgásának okát:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Párbeszéd" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Küldés" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Csevegés" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Összes törlése" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Rootként IRC-zni nem okos dolog! Hozzon létre\n egy felhasználót és úgy lépjen be.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "IGEN" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEM" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s CTCP floodol, %s figyelmen kívül lesz hagyva\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "%s MSG floodol, automatikus ablakmegnyitás kikapcsolva.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nincs benn egy csatornán sem. Próbálja meg a /join #<csatorna> parancsot.\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nincs kapcsolat. Próbálja ezt: /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "A %s szerver már létezik a %s hálózaton.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "A %s szerver a %s hálózathoz hozzáadva.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Már megjelölve távollévőként: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Már megjelölve visszatértként.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "A /bin/sh-ra szükség van a futáshoz!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Elérhető parancsok:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Felhasználó által megadott parancsok:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Bővítmény által megadott parancsok:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "További információkért adja ki a /HELP <parancs> vagy /HELP -l parancsot" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "\"%s\" ismeretlen argumentum, mellőzve." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Nem található ilyen bővítmény.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ezt a bővítményt nem lehet kikapcsolni.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <név> <akció>, a felhasználólista alá helyez el egy gombot" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <ÚjHálózat> <újszerver/6667>, létrehoz egy új hálózatot egy új szerverrel a hálózatlistában" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <parancs>, parancs küldése minden csatornára, ahol benn van" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <parancs>, parancs küldése minden csatornára az aktuális kiszolgálón" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <parancs>, parancs küldése minden kiszolgálóra, ahol benn van" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, visszatértnek (nem távollévőnek) jelöli" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maszk> [<kitiltástípus>], kitilt mindenkit, akire illik a maszk az adott csatornán. Ha már benn vannak a csatornán, nem rúgja ki őket (ehhez chanop-jog kell)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <változó> [<érték>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kódolás>], a jelenlegi kapcsolat karakterkódolásának lekérdezése vagy beállítása" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kód|helyettesítőkarakter>, országkód keresése, például au = Ausztrália" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <becenév> <üzenet>, CTCP üzenet küldése a becenévnek, gyakori üzenetek: VERSION és USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<csatorna>], kilép és azonnal visszalép az aktuális vagy a megadott csatornára" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <becenév> - küldött fájl elfogadása\nDCC SEND [-maxcps=#] <becenév> [fájl] - fájlküldés\nDCC PSEND [-maxcps=#] <becenév> [fájl] - fájlküldés passzív módban\nDCC LIST - DCC lista mutatása\nDCC CHAT <becenév> - DCC CHAT meghívás\nDCC PCHAT <becenév> - DCC CHAT meghívás passzív módban\nDCC CLOSE <típus> <becenév> <fájl> DCC átvitel bezárása; példa:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <becenév>, elveszi a fél-op státuszt az adott csatornán a becenévtől (op-jog szükséges)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <név>, gomb törlése a felhasználólista alól" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <becenév>, op-jog megvonása a becenévtől az adott csatornán (op-jog szükséges)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <becenév>, megvonja a voice státuszt a becenévtől az adott csatornán (op-jog szükséges)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, bontja a kapcsolatot a kiszolgálóval" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <szöveg>, szöveg helyi megjelenítése" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <parancs>, parancs futtatása. Ha -o -val használja, a kimenet az aktuális csatornára megy, egyébként az aktuális szövegdobozba" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, SIGCONT küldése a folyamatnak" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], futó exec kilövése az aktuális munkafolyamatban. Ha a -9 kapcsolóval használja, a folyamat SIGKILL szignált kap" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, SIGSTOP küldése a folyamatnak" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, adatok küldése a folyamat szabványos bemenetére" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, HexChat beállítások exportálása" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, törli az aktuális kiszolgáló küldési várakozási sorát" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <kiszolgáló> [<port>], a kiszolgáló beállítása proxyként, az alapértelmezett portszám a 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <becenév> <jelszó>, Egy ghost-olt becenév kilövése" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <becenév>, fél-op státuszt ad a becenévnek (op-jog szükséges)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <jelszó>, azonosítja a becenév-kiszolgáló felé" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maszk> <típusok..> <opciók..>\n maszk - a mellőzendő gépek maszkja, például *!*@*.aol.com\n típusok - a mellőzendő adatok típusa, a következők legalább egyike:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opciók - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <becenév> [<csatorna>], meghívja a becenevet egy csatornára, alapértelmezésben az aktuálisra (op-jog szükséges)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <csatorna>, belépés a csatornára" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, új lag ellenőrzés kikényszerítése" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <szöveg>, szöveg keresése a pufferben\n Használd a -h kapcsolót a találat(ok) kiemeléséhez\n Használd az -m kapcsolót a kis/nagybetű érzékenységhez\n Használd az -r kapcsolót reguláris kifejezés használatához\n Használd a -- (dupla kötőjel) kapcsolót az opciók lezárásához, például ha az '-r' szövegre keresel" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fájl>, bővítmény vagy parancsfájl betöltése" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, minden fél-op-tól elveszi a fél-op jogot az adott csatornán (op-jog szükséges)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, minden op-tól elveszi az op-jogot az adott csatornán (op-jog szükséges)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <akció>, az adott tevékenységet az aktuális csatornára küldi (az igék 3. személyben írandók, például: /me ugrál)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, tömegesen kirúg mindenkit az adott csatornáról, kivéve Önt (op-jog szükséges)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, tömeges op-jog adása mindenkinek az adott csatornán (op-jog szükséges)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <becenév> <üzenet>, CTCP figyelmeztetés küldése" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <kiszolgálónév> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <becenév>, beállítja a becenevét" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n hálózat1[,hálózat2,...]] [<becenév>], megjeleníti az értesítési listát vagy hozzáad valakit" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <becenév>, op-jogot ad a becenévnek (op-jog szükséges)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<csatorna>] [<indoklás>], kilép a csatornáról, alapértelmezésben az aktuálisról" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <becenév | csatorna>, CTCP-pingeli a becenevet vagy a csatornát" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<indoklás>], bontja a kapcsolatot az aktuális kiszolgálóval" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <szöveg>, nyers formában küldi a szöveget a kiszolgálóra" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<kiszolgáló>] [<port>] [<jelszó>], Ugyanúgy használható, mint a /RECONNECT (újracsatlakozás az aktuális kiszolgálóhoz) vagy /RECONNECT ALL (minden nyitott kiszolgálóhoz csatlakozik)" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<jelszó>], Ugyanúgy használható, mint a /RECONNECT (újracsatlakozás az aktuális kiszolgálóhoz) vagy /RECONNECT ALL (minden nyitott kiszolgálóhoz csatlakozik)" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <szöveg>, nyers adatok küldése a HexChat-nek, mintha az IRC kiszolgálótól érkezett volna" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <szöveg>, szöveget küld az aktuális ablakban lévő objektumba" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <becenév> [<fájl>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <csatorna>, csatlakozik és belép egy adott csatornára" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <csatorna>, csatlakozik és belép az adott csatornára" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<jelszó>], csatlakozik a kiszolgálóhoz, az alapértelmezett port 6667 normál kapcsolathoz, és 6697 SSL kapcsolathoz" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<jelszó>], csatlakozik az adott kiszolgálóhoz, az alapértelmezett port a 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <változó> [<érték>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<pozíció>, a kurzor átmozgatása a beviteli mezőben" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <új név>, egy fül nevének megváltoztatása, a tab_trunc korlát továbbra is érvényes" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <új szöveg>, a beviteli mező szövegének cseréje" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<téma>], beállítja a témát, ha megadja, vagy megmutatja az aktuális témát" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <időkorlát> <fájl1> [<fájl2>] Villogjon a tálcán a két ikon között.\nTRAY -f <fájlnév> A tálca beállítása rögzített ikonra.\nTRAY -i <szám> Tálca villogtatása belső ikonnal.\nTRAY -t <szöveg> A tálca gyorstippjének beállítása.\nTRAY -b <cím> <szöveg> A tálca feliratának beállítása." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maszk> [<maszk>...], kitiltás feloldása az adott maszkokra." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maszk> [QUIET] az adott maszk mellőzésének megszüntetése" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <név>, kikapcsol egy bővítményt vagy parancsfájlt" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, megnyitja az adott URL-t a böngészőben" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> stb, kiemeli a beceneve(ke)t a csatorna felhasználólistájában" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <becenév>, voice státuszt ad valakinek (op-jog szükséges)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <üzenet>, kiírja az üzenetet az összes csatornára" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <üzenet>, elküldi az üzenetet az aktuális csatorna összes opjának" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Használat: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nEhhez a parancshoz nincs súgó.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Nincs ilyen parancs.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Hibás argumentum a felhasználói parancs mellett.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Túl sok rekurzív felhasználói parancs, kilépek." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Nem találom a hexchat_plugin_init szimbólumot; biztos, hogy ez egy HexChat plugin?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Biztos, hogy ez SSL-re képes kiszolgáló és port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nem lehet feloldani a(z) %s gépnevet\nEllenőrizze az IP-beállításait!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Nem sikerült átjutni a proxyn.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ugrás a következő kiszolgálóra %s múlva...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Figyelem: a \"%s\" karakterkészlet ismeretlen. Nem lesz konverzió a(z) %s hálózaton." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O az értesítési listához adva." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNem tudok csatlakozni ide: %C22$1 %O(%C20Ki vagy tiltva%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tJóváhagyott képességek: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tTámogatott képességek: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tIgényelt képességek: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O mostantól a %C18$2%O néven ismert" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O beállítja %C18$2%O tiltását" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tA(z) %C22$1%O csatorna létrehozva ekkor: %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O elveszi %C18$2%O féloperátor jogát" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O elveszi %C18$2%O operátor jogát" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O elveszi %C18$2%O hangját" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C felmenti %C18$2%O-t" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O féloperátor jogot ad %C18$2%O részére" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCsatorna Felhasználók Téma" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O beállítja a %C24$2$3%O módot ezen: %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$t%C22$1%O csatorna módjai: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O operátor jogot ad %C18$2%O részére" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O törli %C18$2%O felmentését" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O törli a csatorna kulcsszavát" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O megszünteti a létszámkorlátot" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O beállítja a csatorna kulcsszavát (%C24$2%O)" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O beállítja a csatorna létszámkorlátját ennyire: %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O törli %C18$2%O tiltását" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O hangot ad %C18$2%O részére" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tKapcsolódva. Most bejelentkezem." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tCsatlakozás ide: %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tCsatlakozás sikertelen (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tCTCP %C24$1%C érkezett %C18$2%O felől" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tCTCP %C24$1%C érkezett %C18$2%C felől (%C22$3%C szobában)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tCTCP Sound %C24$1%C érkezett %C18$2%O felől" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tCTCP Sound %C24$1%C érkezett %C18$2%C felől (%C22$3%O szobában)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%O DCC CHAT-je megszakítva." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%OLétrejött a DCC CHAT kapcsolat $t%C18$1%C felé %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tA %C18$1%O felé nyitott DCC CHAT megszakadt (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$t%C18$1%O DCC CHAT felkérést küldött" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tDCC CHAT kezdeményezése %C18$1%O felé" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tMár kezdeményeztél CHAT-et %C18$1%O felé" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%OA kezdeményezett $tDCC $1 kapcsolódási kísérlet kudarcba fulladt %C18$2%O felé (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$t'%C23$1%C' érkezett %C18$2%O felől" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tÉrvénytelen formátumú DCC kérés érkezett %C18$1%O felől.$a010%C23*%O$tA csomag tartalma: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$t'%C24$1%O' felajánlása %C18$2%O részére" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNincs ilyen DCC ajánlat." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%O felé küldött DCC RECV '%C23$2%O' megszakítva." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' %C18$3%O felől befejeződött %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tA DCC RECV kapcsolat létrejött %C18$1 felé %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$t%C18$3%O felől érkező DCC RECV '%C23$1%O' sikertelen (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: '%C23$1%C' írása sikertelen (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tMár létezik '%C24$1%C' nevű fájl, mentés '%C23$2%O' néven." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C '%C23$2%C' folytatását kérte innen: %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%O felé küldött DCC SEND '%C23$2%C' megszakítva." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' %C18$2%C felé befejeződött %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND kapcsolat kiépítve %C18$1 felé %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' %C18$2%C felé sikertelen (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C felajánlotta: '%C23$2%C' (%C24$3%O bájt)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' %C18$3%O felé megakadt, leállítás." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' %C18$3%O felé túllépte az időkorlátot, leállítás." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O törölve az értesítési listáról." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tLecsatlakozva (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tMegtaláltam az IP címed: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O a mellőzési listához adva." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%O%C18$1%O mellőzési beállításai megváltoztak." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O törölve a mellőzési listáról." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OA mellőzési lista üres." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$t%C22$1%C szobához csatlakozás sikertelen (%C20Meghívás szükséges%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$t%C18$2%O meghívott téged a %C22$1%O szobába (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNem tudok a %C22$1%C szobába belépni (%C20kulcsszó szükséges%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C18$2%C ki lett rúgva %C26$1%C által a %C22$3%C szobából (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19%C26$1%C legyilkolt téged (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD kihagyva%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNincs ilyen DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tJelenleg nem futnak folyamatok" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tAz értesítési lista üres." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O felhasználó az értesítési listán." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tÉrtesítés: %C18$1%C kijelentkezett (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tÉrtesítés: %C18$1%C bejelentkezett (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing válasz %C18$1%C felől: %C24$2%O másodperc" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tNem érkezett ping válasz %C24$1%O másodpercig, szétkapcsolódás." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tMár fut egy folyamat" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 kijelentkezett ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C beállítja a módokat %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$t%C18$1%O IP címének megkeresése..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tKapcsolódva." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$t%C29$1%O megkeresése" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tElőző kapcsolódási kísérlet félbehagyva (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$t%C22$1%C csatorna témája: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C megváltoztatta a csatorna témáját erre: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$t%C22$1%C témája beállítva %C26$2%C által (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tIsmeretlen gép. Talán elírtad?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tSikertelen a csatlakozás %C22$1%C szobához (%C20Túllépett létszámkorlát%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$t%C22$1%C felhasználói: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C távol van %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OWHOIS lista vége." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O %C23$2%O óta tétlen" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O %C23$2%O óta tétlen, belépett: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Valódi gépnév: %C23$2%O, Valódi IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tMostantól a %C22$2%O csatornán beszélgetsz" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$t%C26$3%O kirúgott a %C22$2%C csatornából (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tElhagytad a %C22$3%O csatornát" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tElhagytad a %C22$3%C csatornát (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tMeghívtad %C18$1%O-t a %C22$2%O csatornába (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tMostantól a %C18$2%O néven beszélgetsz" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Napló betöltve" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** NAPLÓZÁS BEFEJEZÉSE EKKOR: %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** NAPLÓZÁS KEZDETE EKKOR: %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Nem lehet írni a naplófájl(oka)t. Ellenőrizd a\n jogokat a(z) %s fájlon" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Bal oldali üzenet" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Jobb oldali üzenet" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP cím" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Felhasználónév" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "A csatlakozó személy beceneve" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "A csatorna, amelyre belép" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "A személy gépe" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Becenév" + +#: src/common/text.c:980 +msgid "The action" +msgstr "A művelet" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mód karakter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Azonosított szöveg" + +#: src/common/text.c:987 +msgid "The text" +msgstr "A szöveg" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Az üzenet" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Kiszolgáló neve" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Jóváhagyott képességek" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Szerver képességek" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Igényelt képességek" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Régi becenév" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Új becenév" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "A témát megváltoztató személy beceneve" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Téma" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "A kirúgó beceneve" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "A kirúgott személy" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "A csatorna" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Az indoklás" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "A kilépő személy beceneve" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Az idő" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "A létrehozó" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Becenév" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Indoklás" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Kiszolgáló" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kitől jött" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Az idő x.x formátumban (lásd lejjebb)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "A csatorna, amelyre megy" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "A hang" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "A személy beceneve" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "A CTCP esemény" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "A személy beceneve, aki a kulcsot beállította" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "A kulcs" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "A személy beceneve, aki beállította a limitet" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "A limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Annak a beceneve, aki az op-jogot adta" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Annak a beceneve, aki op-jogot kapott" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Annak a beceneve, aki fél-op jogot kapott" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Annak a beceneve, aki a fél-op jogot adta" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Annak a beceneve, aki voice jogot adott" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Annak a beceneve, aki voice jogot kapott" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Annak a beceneve, aki a kitiltást végezte" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "A kitiltásmaszk" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Annak a beceneve, aki eltávolította a kulcsot" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Annak a beceneve, aki eltávolította a limitet" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Annak a beceneve, akitől elvették az op-jogot" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Annak a beceneve, akitől elvették a fél-op jogot" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Annak a beceneve, akitől megvonták a voice jogot" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Annak a beceneve, aki a kivételezést beállította" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "A kivételezés maszkja" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Annak a beceneve, aki a kivételezést eltávolította" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Annak a beceneve, aki a meghívást küldte" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "A meghívás maszkja" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Annak a beceneve, aki a meghívást visszavonta" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Annak a beceneve, aki a módot beállította" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "A mód előjele (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "A mód betűjele" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "A csatorna, amelyre beállítják" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Teljes név" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Csatornatagság/\"IRC operátor\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Kiszolgálóinformáció" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tétlenség ideje" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Bejelentkezés ideje" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Távollét oka" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Üzenet" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Fiók" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Valós user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Valós IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Csatorna neve" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Nyers szám vagy azonosító" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Szöveg" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Annak a beceneve, aki meghívta" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Felhasználók" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "A becenév használatban van" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Próbált becenév" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Módok karakterlánca" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC típus" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Fájlnév" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Cél fájlnév" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Elérési út" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozíció" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Méret" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC karakterlánc" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Az értesítési bejegyzések száma" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Régi fájlnév" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Új fájlnév" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Címzett" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Kiszolgálómaszk" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Kiszolgálónév" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "A csomag" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "másodperc" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Annak a beceneve, akit meghívtak" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Kitiltásmaszk" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Ki állította be a kitiltást" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Kitiltás ideje" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nem lehet olvasni ezt a hangfájlt:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "A távoli gép lezárta a foglalatot" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Kapcsolódás elutasítva" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Nincs útvonal a kiszolgálóhoz" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Időtúllépés miatt a kapcsolat megszakadt" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ezt a címet nem lehet kiosztani" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "A kapcsolatot a túloldali gép visszaállította" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension-sziget" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Egyesült Arab Emirátusok" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Repüléssel kapcsolatos területek" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganisztán" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua és Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albánia" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Örményország" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Holland Antillák" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktisz" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentína" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Fordított DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikai Szamoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Ázsia-Csendes-óceáni térség" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Ausztria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "NATO" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Ausztrália" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland-szigetek" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajdzsán" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosznia-Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Banglades" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgium" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgária" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Üzleti" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Szultánátus" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazília" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahama-szigetek" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhután" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet-sziget" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Fehéroroszország" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belizé" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalán" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kókusz-szigetek" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Kongói Demokratikus Köztársaság" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Közép-Afrikai Köztársaság" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongó" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Svájc" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elefántcsont-part" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook-szigetek" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kína" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic kereskedelmi" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Együttműködők" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Szerbia és Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Karácsony-szigetek" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Ciprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Cseh Köztársaság" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Kelet-Németország" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Németország" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dzsibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dánia" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikai Köztársaság" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algéria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Oktatási intézmény" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Észtország" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egyiptom" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Nyugat-Szahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanyolország" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Európai Unió" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finnország" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidzsi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland-szigetek" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe-szigetek" + +#: src/common/util.c:770 +msgid "France" +msgstr "Franciaország" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Nagy-Britannia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Grúzia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Francia Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Brit Csatorna-szigetek" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghána" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltár" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Kormányzat" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Egyenlítői Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Görögország" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Szt. György- és S. Sandwich-szigetek" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Bissau-Guinea" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard- és McDonald-szigetek" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Horvátország" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Magyarország" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonézia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Írország" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Man szigete" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Információs tartomány" + +#: src/common/util.c:803 +msgid "International" +msgstr "Nemzetközi" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Brit Indiai-óceáni terület" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Izland" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Olaszország" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordánia" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Céges állások" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japán" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizisztán" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodzsa" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comore-szigetek" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts és Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Észak-Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Dél-Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kajmán-szigetek" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazahsztán" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laosz" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litvánia" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lettország" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokkó" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegró" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Egyesült Államok (egészségügy)" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaszkár" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall-szigetek" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Katonai" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedónia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongólia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makaó" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobil eszközök" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Északi Mariana-szigetek" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritánia" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Málta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Múzeumok" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldív-szigetek" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexikó" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malajzia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Magánszemélyek nevei" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Új-Kaledónia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic hálózat" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk-szigetek" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Hollandia" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvégia" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepál" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Új-Zéland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic non-profit szervezet" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Francia Polinézia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Pápua Új-Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Fülöp-szigetek" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakisztán" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Lengyelország" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre és Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Mesterségek" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palesztin terület" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugália" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Románia" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Régimódi ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Szerbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Orosz Föderáció" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Szaúd-Arábia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salamon-szigetek" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelle-szigetek" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Szudán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Svédország" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Szingapúr" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Szt. Ilona" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Szlovénia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard és Jan Mayen szigetek" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Szlovák Köztársaság" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Szenegál" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Szomália" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Dél-Szudán" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome és Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Korábbi Szovjetunió" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Szíria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Szváziföld" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks és Caicos szigetek" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Csád" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internetes kommunikációs szolgáltatások" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Déli Francia Területek" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togó" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thaiföld" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadzsikisztán" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Kelet-Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Türkmenisztán" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunézia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Törökország" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Utazás és turizmus" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad és Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tajvan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzánia" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrajna" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Egyesült Királyság" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerikai Egyesült Államok" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Üzbegisztán" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikán Állam" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent és a Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Brit Virgin-szigetek" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "USA Virgin-szigetek" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis és Futuna szigetek" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Szamoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Felnőtt tartalmak" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoszlávia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Dél-Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nem lehet csatlakozni a munkamenet buszhoz" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Nem sikerült a NameHasOwner befejezése" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Nem sikerült a parancs végrehajtása" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "távoli elérés" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "DBUS-t használó bővítmény távoli eléréshez" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nem lehet csatlakozni a munkamenetbuszhoz: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "A(z) %s lekérése nem sikerült: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Karaktertábla" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Tiltások" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Felmentettek" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Felmentett" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Meghívások" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Meghívás" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Némítások" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Némítás" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Nincs kapcsolat." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Ki kell választania néhány kitiltást." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Biztosan törölni akarod %s összes kilistázott elemét?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Típus" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maszk" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Kitől" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Dátum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Csak a csatornafülön nyithatja meg a kitiltáslistát." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Eltávolítás" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Levágás" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Frissítés" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d felhasználó megjelenítése %d/%d csatornán." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Válasszon egy kimeneti fájlnevet" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Belépés _csatornára" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "Csatornané_v másolása" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Té_ma szövegének másolása" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Keresés" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Lista letöltése" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "List_a mentése..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Megjelenítés:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "csak a(z)" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "és" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "közötti felhasználószámú csatornák." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Keresés:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Csatorna neve" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Keresés típusa:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Egyszerű keresés" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Mintaillesztés (helyettesítő karakterek)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Reguláris kifejezés" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Keresés:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Fájl küldése %s számára" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Ezt a fájlt nem lehet folytatni." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Nem lehet hozzáférni a következő fájlhoz: %s\n%s.\nA folytatás nem lehetséges." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "A letöltési könyvtárban lévő fájl nagyobb, mint a felkínált. A folytatás nem lehetséges." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nem lehet ugyanazt a fájlt két embertől folytatni." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Állapot" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fájl" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Mindkettő" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Feltöltések" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Letöltések" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Részletek" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fájl:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Cím:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Megszakítás" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Elfogadás" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Folytatás" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Mappa megnyitása..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Bejövő" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Elküldött" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Kezdés időpontja" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Törlés" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Mégsem" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Mentés" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Ne csatlakozzon újra automatikusan a kiszolgálókra" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Másik konfigurációs könyvtár használata" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Ne töltsön be automatikusan egy bővítményt sem" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Az automatikusan betöltődő bővítmények mappájának mutatása" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mutassa a felhasználói konfigurációs könyvtárat" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Parancs végrehajtása:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "URL megnyitása vagy parancs végrehajtása egy már futó HexChat-ben" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Indítás minimalizálva. Lehetséges értékek: 0=normál, 0=ikonméret 2=tálca" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "szint" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Mutassa a verzióinformációt" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Nem sikerült a következő betűkészlet megnyitása:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "A keresési puffer üres.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bájt" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Hálózati küldési sor: %d bájt" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Az \"Oldal váltása\" parancs a noteszlapok közt vált. Állítsd be az Adat1-et arra az oldalra, amelyre váltani akarsz. Ha az Adat2 bármire be van állítva, akkor a váltás a jelenlegi pozícióhoz képest megy végbe. Adat1 automatikusra állításával a legújabb és legfontosabb aktivitáshoz fogsz ugrani (először lekérdezések, majd csatornák kiemeléssel, csatornák beszélgetéssel, csatornák egyéb tartalommal)." + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "A \"Beszúrás a pufferbe\" parancs az Adat1 tartalmát szúrja be az aktuális kurzorpozícióba, ahol a billentyűkombinációt lenyomta" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "A \"Puffer beállítása\" parancs a billentyűlenyomáskor bevitt adatokat adja hozzá az Adat1 tartalmához" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Az \"Utolsó parancs\" az utoljára bevitt parancsot állítja be - ugyanaz, mint amikor egy parancsértelmezőben megnyomja a felfelé nyilat" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "A \"Következő parancs\" a következő bevitt parancsot jeleníti meg - ugyanaz, mint amikor egy parancsértelmezőben megnyomja a lefelé nyilat" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ez a parancs kiegészíti a megkezdett becenevet vagy parancsot. Ha az Adat1 be van állítva, akkor a TAB kétszeri lenyomása az utolsó becenevet választja ki, nem a következőt" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Ez a parancs fel- vagy lefelé görgeti a becenevek listáját. Ha az Adat1 bármire be van állítva, akkor felfelé görget, egyéb esetben lefelé" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Ez a parancs összehasonlítja az utolsó bevitt szót a cserelista tartalmával és lecseréli, ha egyezést talál" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Ez a parancs eggyel balra mozgatja az első fület" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Ez a parancs eggyel jobbra mozgatja az első fület" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Ez a parancs az aktuális fülek csoportját balra mozgatja" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Ez a parancs az aktuális fülek csoportját jobbra mozgatja" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "A beviteli mező tartalmát hozzáadja az előzményekhez, de nem küldi el a kiszolgálónak" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Hiba történt a billentyűkombinációk betöltésekor" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nem lehet írni ezt a fájlt." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nem lehet olvasni ezt a fájlt." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ez a maszk már létezik." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privát üzenet" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Figyelmeztetés" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Mellőzés megszüntetése" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Biztosan törölni szeretnéd az összes mellőzést?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Írja be a mellőzendő maszkot:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Mellőzési statisztika:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Csatorna:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privát:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Figyelmeztetés:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Meghívás:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Hozzáadás..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "A csatornanév túl rövid, próbálja újra." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "A kapcsolódás kész a következőhöz: %s." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Mit szeretne tenni ezután?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Semmit, később lépek be egy csatornára." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Belépés erre a csatornára:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ha tudja a csatorna nevét, amelyre be kíván lépni, adja meg itt." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Mindig jelenjen meg ez a párbeszédablak csatlakozás után." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Párbeszéd" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "A(z) %s témája: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nincs beállítva téma" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Ehhez a kiszolgálóhoz még %d csatorna vagy párbeszéd van társítva. Az összeset bezárja?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Kilépsz a HexChat-ből?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ne kérdezze újra." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "%i IRC hálózathoz van kapcsolódva." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Biztos, hogy ki szeretne lépni?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Még vannak aktív fájlátvitelek." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimalizálás a tálcára" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Attribútum vagy színkód beszúrása" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Félkövér</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Aláhúzott</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normál" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Színek 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Színek 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Beállítások" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Naplózás" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Visszatekintés új_ratöltése" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "A csatlakozási/távozási üzenetek elre_jtése" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Extra figyelmeztetések" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Üzenetkor _csipog" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "_Tálcaikon villogtatása" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "_Feladatsáv villogtatása" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Leválasztás" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "Be_zárás" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "A felhasználó-limit egy szám legyen!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Nincs külső üzenet" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Témavédelem" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Csak meghívásra" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderált" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Kitiltási lista" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Kulcsszó" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Felhasználó-limit" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Írja be az új becenevet:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Mind kiemelése" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Ismeretlen gépnév" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Ismeretlen" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Valódi név:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Felhasználó:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Ország:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Kiszolgáló:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u perccel ezelőtt" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Utolsó üzenet:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Távol üzenet:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d becenév kiválasztva." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Hivatkozás megnyitása böngészőben" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kijelölt hivatkozás másolása" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Belépés csatornára" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Kilépés a csatornáról" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ki- és belépés a csatornára" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Felhasználói parancsok - Speciális kódok:\n\n%c = jelenlegi csatorna\n%e = jelenlegi hálózat neve\n%m = gép információ\n%n = a beceneved\n%t = idő/dátum\n%v = HexChat verzió\n%2 = 2. szó\n%3 = 3. szó\n&2 = 2. szótól a sor végéig\n&3 = 3. szótól a sor végéig\n\npl.:\n/cmd john hello\n\n%2 lenne \"john\"\n&2 lenne \"john hello\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP válaszok - Különleges kódok:\n\n%d = adatok (a teljes ctcp)\n%e = jelenlegi hálózat neve\n%m = gép infó\n%s = a ctcp-t küldő becenév\n%t = idő/dátum\n%2 = 2. szó\n%3 = 3. szó\n&2 = 2. szótól a sor végéig\n&3 = 3. szótól a sor végéig\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL kezelők - Speciális kódok:\n\n%s = az URL szöveg\n\nA parancs elé !-t téve a HexChat\nhelyett egy shell kapja meg" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Csere" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "Ú_j" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Kilépés" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Nézet" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menüsáv" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Témasáv" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Felhasználólista" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "_Mód gombok" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Csatornaváltó" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Fülek" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "F_a" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Hálózatfigyelők" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Ki" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafikon" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Kiszolgáló" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Szétkapcsolás" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Ú_jrakapcsolódás" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Felhasználói menü" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "B_eállítások" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Beállítások" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ablak" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Jelzővonal visszaállítása" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kijelölés másolása" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Szöveg _törlése" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Keresés" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Következő találat" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Előző keresése" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Súgó" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Tartalom" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Névjegy" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Csatolás" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Név" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Utolsó jelenléte" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Soha" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d perccel ezelőtt" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online dokumentáció" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Írja be a hozzáadandó becenevet:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Értesítés ezeken a hálózatokon:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Hálózatok vesszőkkel elválasztott listája adható meg." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Megnyitás párbeszédablak" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "Ablak _helyreállítása" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "Ablak _elrejtése" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Villogjon" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Csatornaüzenet esetén" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privát üzenet esetén" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Kiemelt üzenet esetén" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "Álla_pot módosítása" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Távol" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Vissza" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Verzió" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Leírás" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Válassza ki a betöltendő bővítményt vagy parancsfájlt" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Betöltés..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Mentés másként..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Nyers napló törlése" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Új hálózat" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Valóban törli a(z) \"%s\" hálózatot és összes kiszolgálóját?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Kulcs (Jelszó)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Szerkesztés" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Csak a kiválasztott kiszolgálókhoz kapcsolódjon" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne járja körbe a kiszolgálókat, ha nem sikerül a kapcsolódás." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Ne használjon proxy kiszolgálót" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "SSL használata a hálózat összes kiszolgálójához" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Használja a globális felhasználói információkat" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Be_cenév:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Második lehetőség:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Való_di név:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Felhasználónév:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Jelszó:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Karakterkészlet:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Felhasználói információk" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Harmadik lehetőség:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Hálózatok" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Ne jelenjen meg a hálózatlista indításkor" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Csak a kedvencek mutatása" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Szerkesztés..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Rendezés" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Kedvenc" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "A hálózat kedvencek közé vétele" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "K_apcsolódás" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Búr" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albán" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amhara" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Aszturleóni" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azeri" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baszk" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Fehérorosz" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bolgár" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kínai (egyszerűsített)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kínai (hagyományos)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Cseh" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dán" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holland" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Angol (Brit)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Angol" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Észt" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finn" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francia" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiciai" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Német" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Görög" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gudzsaráti" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Magyar" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonéz" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Olasz" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japán" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreai" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lett" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litván" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedón" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Maláj" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malajálam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvég (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvég (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Lengyel" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugál" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugál (brazil)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pandzsábi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Orosz" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Szerb" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Szlovák" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Szlovén" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanyol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Svéd" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrán" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnami" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Vallon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Általános" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Nyelv:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Fő betűkészlet:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Betűtípus:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Szövegdoboz" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Színes becenevek" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Mindenkinek külön szín" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Becenevek behúzása" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "A beceneveket jobbra igazítja" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Jelzővonal mutatása" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Vörös vonalat szúr be az utolsó olvasott szöveg után." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Háttérkép:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Áttetszőség beállításai" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Részletekért lásd az MSDN cikket." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Lásd az strftime kézikönyvoldalát." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Címsor" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Csatorna módok mutatása" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Létszám mutatása" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Utolsó hozzászólás sorrendjében" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Beviteli mező" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Névdoboz mutatása" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Felhasználói mód ikon mutatása a becenév dobozban" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Helyesírás-ellenőrzés" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Használandó szótárak:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Használj nyelvi kódokat. Több értéket vesszővel válassz el." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Becenév-kiegészítés" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Becenév-kiegészítés utótagja:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Becenév-kiegészítés rendezése:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafikus" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Rendezetlen" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Felül" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Alul" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Rejtett" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Felhasználólista" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "A kiszolgálónevek megjelenítése a felhasználólistában" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Használja a Szövegdoboz betűkészletét és színeit" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Ikonok megjelenítése a felhasználói módokhoz" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Grafikus ikonok használata szöveges szimbólumok helyett a felhasználólistában." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Becenevek színezése a felhasználólistában" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Beszínezi a neveket, mint a beszélgetőablakban." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Létszám mutatása a csatornákban" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Felhasználólista rendezése:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Felhasználólista megjelenítése:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Távollét követés" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Olyan csatornákon, amelyek kisebbek, mint:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Művelet kettős kattintáskor" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Extra kütyük" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Késés mérő" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Lassítás mérő" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Ablakok" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Fülek" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Mindig" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Csak a kívánt fülek" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatikus" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Új fülön" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Az aktív fülön" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Fastruktúra" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Csatornaváltó típusa:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Nyisson új fület a kiszolgáló üzeneteihez" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Nyisson új fület privát üzenetek fogadásakor" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Fülek rendezése betűrendbe" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Ikonok mutatása fa nézetben" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Pöttyözött vonalak mutatása a csatornafán" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Kisebb szöveg" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Új fül fókuszt kap:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Figyelmeztetések helye:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "A csatornaváltó megjelenítése:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Fülek címkéjének rövidítése:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "betűre." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Fülek vagy ablakok" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Csatornák megnyitása:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Párbeszédablakok megnyitása:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Segédalkalmazások megnyitása:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "A DCC, mellőzési, értesítési stb. ablakokat füleken vagy ablakokban nyissa meg?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Üzenetek" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Visszatekintő" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Megerősítés kérése" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Célmappa kérése" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Mentés kérdés nélkül" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Fájlok és könyvtárak" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Fájlajánlatok automatikus elfogadása:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Fájlok letöltése ide:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Kész fájlok átmozgatása ide:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "A bejövő fájlokhoz fűzze hozzá a küldő becenevét" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Közvetlen csevegésablakok automatikus megnyitása" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Küldés ablak" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Fogadás ablak" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Csevegésablak" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Egy feltöltés:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maximális sebesség egy átvitelhez" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Egy letöltés:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Összes feltöltés együtt:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maximális sebesség az összes fájlhoz" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Az összes letöltés együtt:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Figyelmeztetések" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Tálcaikon villogtatása:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Feladatsáv villogtatása:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Hangjelzés:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Értesítések mellőzése távollét alatt" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Tálca viselkedés" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Rendszertálcaikon engedélyezése" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimalizálás a tálcára" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Becsukás a tálcára" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Távol/elérhető állapot beállítása automatikusan" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Állapot automatikus beállítása tálcára minimalizáláskor." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Kiemelt üzenetek" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Kiemelt üzenetek azokon kívül, amelyekben említik a becenevét:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "További kiemelendő szavak:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nem kiemelendő becenevek:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Mindig kiemelendő becenevek:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Több szót vesszőkkel választhat el egymástól.\nHelyettesítő karakterek használhatók." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Alapértelmezett üzenetek" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Kilépés:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Kilépés csatornáról:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Távol:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Távol" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Távol mutatása egyszer" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Azonos távol-üzeneteket csak egyszer mutasson." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatikusan vonja vissza a távol állapotot" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Távol jelzés visszavonása üzenetküldés előtt." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "A MODE-okat nyers formában mutatja" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Küld egy /WHOIS-t, ha a barátlistán szereplő valamelyik felhasználó online lesz." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Elrejti a belépés és kilépés üzeneteket" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Csatorna be/kilépési üzenetekeinek elrejtése alapból." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Automatikus másolás" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Kijelölt szöveg automatikus másolása" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Színkódok automatikus másolása" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Valós név:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternatív betűkészletek:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Listák megjelenítése tömörített formában" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Kevesebb térköz használata a felhasználólista/csatornafa sorai között." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "A kiszolgálóhoz újracsatlakozás késleltetése:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Automatikus belépés késleltesése:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Naplózás" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Visszatekintés megjelenítése az előző folyamatból" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Visszagörgethető sorok:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Csevegések naplózásának engedélyezése" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Naplófájl neve:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=kiszolgáló %c=csatorna %n=hálózat." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Időbélyeg beillesztése a naplófájlokba" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Napló időbélyegének formátuma:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL-ek" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "URL-ek lemezre naplózásának engedélyezése" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "URL elfogó engedélyezése" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maximálisan elfogott URL-ek száma:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Letiltva)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Saját cím" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Kötés:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Csak több címmel rendelkező gépek esetén hasznos." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Saját IP lekérdezése az IRC kiszolgálótól" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Lekéri az IRC kiszolgálótól a valós IP címét. Akkor használja, ha 192.168.*.* alakú címe van!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP  cím:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Ha fájlt küld, ezt mutatja a címeként." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!hagyja nullán a portokat a teljes tartomány használatához." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy kiszolgáló" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Gép neve:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Típus:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Proxy használata ehhez:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxyhitelesítés" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Felhasználónév:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Válasszon egy képfájlt" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Válasszon letöltési mappát" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Válasszon egy betűtípust" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Tallózás..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Adatmappa megnyitása" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Válasszon színt" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Szövegszín" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC színek:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Helyi színek:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Előtér:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Háttér:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Kijelölt szöveg" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Megjelenés színe" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Új adatok:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Jelölő vonal:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Új üzenet:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Távollévő felhasználó:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Kiemelés:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Helyesírás-ellenőrző:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Színkódok eltávolítása" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Esemény" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Hangfájl" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Válasszon hangfájlt" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Hangfájl:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Tallózás..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Lejátszás" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Felület" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Megjelenés" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Beviteli doboz" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Felhasználólista" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Csatornaváltó" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Színek" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Csevegés" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Haladó" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Hálózat beállítása" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Fájlátvitel" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategóriák" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Nem helyezheti alulra vagy felülre a fát!\nElőször váltson a <b>Nézet</b> menü <b>Fülek</b> elrendezésére." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Néhány beállítás érvényesítéséhez újraindítás szükséges." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*FIGYELMEZTETÉS*\nDCC automatikus elfogadása a home könyvtárába\nveszélyes és kihasználható lehet. Például:\nValaki küldhet Önnek egy .bash_profile-t" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(nincs javaslat)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Több..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "\"%s\" hozzáadása a szótárhoz" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Mind figyelmen kívül hagyása" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Helyesírási javaslatok" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant hiba a %s nyelvvel" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Hiba történt a karakterlánc feldolgozása közben" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Ez a szignál csak %d argumentumot kapott, $%d érvénytelen" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Szöveges fájl nyomtatása" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ szám" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Események szerkesztése" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Betöltés innen..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Mindet tesztelje" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Lista törlése" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kijelölt URL másolása" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Másolás" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Lista mentése fájlba" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d összesen" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Egy irc://kiszolgáló:port/csatorna URL megnyitása" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000000000000000000000000000000000000..330b4824bae38b4453b9fe64cffa04f195046213 --- /dev/null +++ b/po/id.po @@ -0,0 +1,6257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Andhika Padmawan <andhika.padmawan@gmail.com>, 2010 +# Rahmat Bambang <doplank@gmx.com>, 2012-2013 +# Rahmat Bambang <doplank@gmx.com>, 2013 +# Rendiyono Wahyu Saputro <rendi.7936@gmail.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:12+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Indonesian (http://www.transifex.com/hexchat/hexchat/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Klien IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat adalah klien IRC yang mudah digunakan tetapi bisa diperluas. Hal ini memungkinkan anda aman dalam bergabung ke beberapa jaringan dan berbicara ke pengguna secara pribadi atau dalam saluran dengan menggunakan antarmuka yang dapat disesuaikan. Anda bahkan dapat mentransfer berkas." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat mendukung fitur seperti: DCC, SASL, proksi, periksa ejaan, peringatan, pencatatan, tema kustom, dan skrip Python/Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Mengobrol dengan orang lain daring" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Obrolan;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Buka Mode Aman" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Pengelola Tema HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Saya sibuk" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Pergi" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Jaringan" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<tak ada>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Menunggu" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktif" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Gagal" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Selesai" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Konek" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Dibatalkan" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Tak dapat mengakses %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Galat" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s menawarkan \"%s\". Apakah Anda ingin menerimanya?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Tak ada DCC aktif\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Buka Jendela Dialog" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Kirim Berkas" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Info Pengguna (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Tambah ke Daftar Teman" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Abaikan" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "A_ksi Operator" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Berikan Operator" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Cabut Operator" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Berikan Suara" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Cabut Suara" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Keluarkan/Hukum" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Keluarkan" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Hukum" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KeluarkanHukum" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Tinggalkan Kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Gabung Kanal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Masukkan nama kanal untuk bergabung:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Tautan Server" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping Server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Sembunyikan Versi" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Operator" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Lepas Operator" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "sampai jumpa" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Masukkan alasan untuk menendang %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Kirim" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Obrol" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Bersihkan" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Anda tidak memiliki akses tulis ke %s. Tidak ada dari sesi ini yang dapat disimpan." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Menjalankan IRC sebagai root adalah salah! Kamu harus\n membuat Akun Pengguna untuk loginn.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "YA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "TIDAK " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Anda sedang dibanjiri CTCP dari %s, mengabaikan %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Kamu sedang di Spam dari %s, atur gui_autoopen_dialog menjadi mati.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s terhubung\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s terputus\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Tak ada kanal yang dimasuki. Coba /join #<nama kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Tidak terhubung. Coba /server <host> [<pangkalan>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s sudah ada di dalam jaringan %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Tambahkan server %s ke jaringan %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Telah ditandai sedang pergi: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Telah ditandai sebagai kembali.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Saya butuh /bin/sh untuk berjalan!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Perintah Tersedia:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Perintah yang ditentukan pengguna:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Perintah yang ditentukan plugin:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Ketik /HELP <perintah> untuk informasi lebih lanjut, atau /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumen tak diketahui '%s' diabaikan." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Diam tidak didukung oleh server ini." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Tak ada plugin yang ditemukan.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin tersebut menolak untuk dimuat ulang.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nama> <aksi>, tambah tombol di bawah dartar pengguna" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <Nama Jaringan> <newserver/6667>, tambahkan jaringan baru ke daftar jaringan" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <perintah>, kirim perintah ke semua kanal yang anda masuki" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <perintah>, mengirim perintah ke semua kanal yang terhubung di server" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <perintah>, kirim perintah ke semua server yang anda masuki" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, mengatur kembalinya anda (tidak pergi)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<tipe hukuman>], hukum setiap orang yang cocok dengan mask pada kanal saat ini. Jika mereka ada di kanal, maka mereka tidak langsung dikeluarkan (memerlukan chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabel> [<nilai>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<encoding>], atur encoding untuk koneksi yang digunakan saat ini" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<amount>], Membersihkan jendela teks saat ini atau riwayat perintah" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kode|kartu as>, mencari kode negara, misalnya: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <pengguna> <pesan>, kirim pesan CTCP ke pengguna, pesan yang umum adalah VERSION dan USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], keluar dari kanal saat ini atau yang diberikan lalu segera bergabung kembali" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <pengguna> - menerima berkas yang ditawarkan\nDCC SEND [-maxcps=#] <pengguna> [berkas] - kirim berkas ke seseorang\nDCC PSEND [-maxcps=#] <pengguna> [berkas] - kirim berkas menggunakan mode pasif\nDCC LIST - tampilkan daftar DCC\nDCC CHAT <pengguna> - tawarkan DCC CHAT ke seseorang\nDCC PCHAT <pengguna> - tawarkan DCC CHAT menggunakan mode pasif\nDCC CLOSE <tipe> <pengguna> <berkas> contoh:\n /dcc close send johnsmith berkas.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <pengguna>, cabut hak ½ operator dari pengguna di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nama>, hapus tombol dari bawah daftar pengguna" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <pengguna>, hapus status operator kanal dari pengguna di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <pengguna>, hapus status suara dari pengguna di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Putuskan koneksi dari server" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, Mengetahui IP atau hostname" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <teks>, Cetak teks lokal" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <perintah>, menjalankan perintah. Jika opsi -o digunakan maka keluarannya dikirim ke kanal saat ini, atau dicetak ke kotak teks saat ini" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, kirim proses SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], matikan eksekusi yang berjalan di sesi saat ini. Jika -9 diberikan maka proses akan di-SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, kirim proses SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, kirim data ke proses masukan standar" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, ekspor pengaturan HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, buang antrian pengiriman server saat ini" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<pangkalan>], proxy melewati host, standar pangkalan adalah 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nama> [sandi], Matikan nama pengguna hantu" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <pengguna>, memberikan hak ½ operator ke pengguna (memerlukan chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <sandi>, identifikasikan diri anda ke nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <tipe..> <opsi..>\n mask - host mask yang akan diabaikan, misalnya: *!*@*.aol.com\n tipe - tipe data yang akan diabaikan, salah satu atau semua dari:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opsi - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <pengguna> [<kanal>], undang seseorang ke kanal, standarnya adalah kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, gabung ke kanal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick> [reason], tendang nick dari saluran saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nick> [reason], larang kemudian tendang nick dari saluran saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, memaksa pemeriksaan jeda baru" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <string>, mencari kata di dalam log\n Pakai -h untuk menyoroti kata yang ingin dicari(ditemukan)\n Pakai -m untuk menemukan kata yang cocok\n Pakai -r untuk mencari kata dengan ekspresi reguler\n Pakai -- (tanda penghubung ganda) ketika mencari kata pada akhir opsi, contoh, '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <berkas>, membuka plugin atau skrip" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Cabut hak ½ operator secara masal di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Cabut hak operator secara masal di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <aksi>, mengirim aksi ke kanal saat ini (aksi ditulis dalam sudut pandang orang ketiga, seperti /me lompat)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Keluarkan semua orang kecuali kamu (memerlukan chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Operator massal semua pengguna di kanal saat ini (memerlukan chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nick> <message>, mengirimkan pesan pribadi, pesan \".\" untuk mengirim ke nick terakhir atau awalan dengan \"=\" untuk obrolan dcc" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [channel], Mendaftar nick yang ada pada saluran" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <pengguna> <pesan>, Mengirim pemberitahuan CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nama host> [<pangkalan>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nama>, ganti/atur nama anda" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <nick/channel> <message>, mengirimkan pemberitahuan" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n jaringan1[,jaringan2,...]] [<pengguna>], tampilkan daftar pemberitahuan anda atau tambah seseorang ke dalamnya" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <pengguna>, berikan status operator kanal ke pengguna (memerlukan chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<alasan>], meninggalkan kanal, standarnya kanal yang sekarang" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <pengguna | kanal>, ping CTCP pengguna atau kanal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <nick> [message], membuka jendela pesan pribadi baru ke seseorang dan opsional mengirim sebuah pesan" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask> [<quiettype>], diamkan semua orang yang cocok dengan tanda di saluran saat ini jika didukung oleh server." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<alasan>], putus koneksi pada server saat ini" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <teks>, kirim teks dalam bentuk mentah ke server" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<pangkalan>] [<sandi>], Dapat dipanggil cukup dengan /RECONNECT untuk menyambung ulang ke server saat ini atau dengan /RECONNECT ALL untuk menyambung ulang ke semua server yang terbuka" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<pangkalan>] [<sandi>], Dapat dipanggil cukup dengan /RECONNECT untuk menyambung ulang ke server saat ini atau dengan /RECONNECT ALL untuk menyambung ulang ke semua server yang terbuka" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <teks>, kirim data asli le HexChat, seolah-olah itu diterima dari server IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <name>, memuat ulang sebuah plugin atau skrip" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teks>, kirim teks ke objek di jendela saat ini" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <pengguna> [<berkas>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <pangkalan> <kanal>, konek dan gabung ke kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <pangkalan> <kanal>, konek dan gabung ke kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], terhubung ke server, untuk jaringan normal gunakan port 6667, dan gunakan 6697 untuk jaringan yang terenskripsi" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<pangkalan>] [<sandi>], konek ke server, port standar adalah 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variabel> [<nilai>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, posisikan ulang kursor di dalam inputbox" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <new name>, ubah nama tab, tab_trunc masih dibatasi" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <new text>, ganti teks di dalam inputbox" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topik>], tetapkan topik jika ada yang diberikan, atau tampilkan topik saat ini" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <waktu> <berkas1> [<berkas2>] Kedipkan baki diantara dua ikon.\nTRAY -f <nama berkas> Atur baki ke ikon tetap.\nTRAY -i <nomor> Kedipkan baki dengan ikon internal.\nTRAY -t <teks> Atur tip alat baki.\nTRAY -b <judul> <teks> Atur balon baki." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], lepas hukuman mask yang ditentukan." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nama>, tutup plugin atau skrip" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask>...], batalkan tanda tertentu jika didukung oleh server." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, buka tautan ke browser." + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <pengguna1> <pengguna2> dll, sorot pengguna di daftar pengguna kanal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <pengguna>, berikan status suara ke seseorang (memerlukan chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <pesan>, tulis pesan ke semua kanal" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <pesan>, kirim pesan ke semua operator kanal di kanal saat ini" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Perintah Pengguna untuk: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Penggunaan: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nTak ada bantuan yang tersedia untuk perintah tersebut.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Tak ada perintah seperti itu.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumen buruk untuk perintah pengguna.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Terlalu banyak perintah pengguna rekursif, dibatalkan." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Tidak ada hexchat_plugin_init symbol; benarkan ini plugin HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Anda yakin ini adalah server dan pangkalan yang mendukung SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Tak dapat memecahkan nama host %s\nCek Pengaturan IP anda!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Transversi proxy gagal.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Daur ke server selanjutnya di %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Peringatan: set karakter \"%s\" tak diketahui. Tak ada konversi yang akan diterapkan untuk jaringan %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O ditambahkan ke daftar pemberitahuan." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O pada %C24$4%O oleh %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tTidak dapat bergabung %C22$1 %O(%C20Kamu telah dihukum%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tKemampuan diakui: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tKemampuan didukung: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tKemampuan diminta: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O sekarang namanya adalah %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O atur hukuman ke %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tSaluran %C22$1%O dibuat pada %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O mencabut hak ½ operator dari %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O mencabut hak operator dari %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O mencabut hak suara dari %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C atur hak bebas pada %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O memberikan hak ½ operator pada %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Pengguna Topik" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O mengatur mode %C24$2$3%O pada %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O mode: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O memberikan hak operator pada %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tetapkan diam pada %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O menghapus hak bebas pada %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O menghapus password kanal" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O menghapus limit pengguna" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O tetapkan kata kunci saluran ke %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O mengatur batasan kanal menjadi %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O melepas larangan pada %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O melepaskan diam pada %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tSaluran %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O memberikan hak suara pada %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tTerhubung. Memproses..." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tTerhubung ke %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tKoneksi gagal(%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tMenerima CTCP %C24$1%C dari %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tMenerimaCTCP %C24$1%C dari %C18$2%C (ke %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tMenerima suara CTCP %C24$1%C dari %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tMenerima suara CTCP %C24$1%C dari %C18$2%C (ke %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT %C18$1%O dibatalkan." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tKoneksi DCC CHAT terpasang kembali pada %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT pada %C18$1%O hilang (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tMemerima tawaran DCC CHAT dari %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tMenawarkan DCC Chat pada %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tSudah menawarkan CHAT pada %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 mencoba konek ke %C18$2%O gagal (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tMenerima '%C23$1%C' dari %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tMenerima permintaan DCC cacat dari %C18$1%O.$a010%C23*%O$tPaket konten: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tMenawarkan'%C24$1%O' ke %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tTidak ada DCC yang ditawarkan." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' ke %C18$1%O dibatalkan." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' dari %C18$3%O selesai %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV koneksi terpasang lagi pada %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' dari %C18$3%O gagal (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Tidak dapat dibuka '%C23$1%C' untuk ditulis (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tThe file '%C24$1%C' sudah ada, disimpan dengan nama '%C23$2%O'." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C telah meminta kembali '%C23$2%C' dari %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' ke %C18$1%O dibatalkan." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C selesai %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND koneksi terpasang lagi pada %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' ke %C18$2%C gagal (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C menawarkan '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' ke %C18$3%O terhenti, proses dibatalkan." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' ke %C18$3%O terputus, proses dibatalkan." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O dipaus dari daftar pemberitahuan." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tTerputus (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tDitemukan IP kamu: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O ditambahkan ke daftar pengabaian." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%Odiabaikan %C18$1%O berubah." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O dihapus dari daftar pengabaian." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%ODaftar pengabaian kosong." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tTidak dapat bergabung%C22$1%C (%C20Kanal tersebut hanya untuk undangan%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tKamu telah diundang ke %C22$1%O by %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) telah bergabung" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tTidak dapat bergabung %C22$1%C (%C20Membutuhkan sandi%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C telah dikeluarkan %C18$2%C dari %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Kamu telah dibunuh oleh %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Lewati%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C sudah digunakan. Mencoba dengan %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C adalah salah. Mencoba dengan %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tJulukan ini salah atau sudah digunakan. Gunakan /NICK untuk mencoba yang lain." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tTidak ada DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tTidak ada proses yang sedang berjalan" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tPemberitahuan: %C18$1%C telah pergi (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tPemberitahuan: %C18$1%C telah kembali" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tDaftar kosong." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O jumlah user dalam daftar pemberitahuan." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C sedang offline (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C sedang online (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) telah meninggalkan" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) telah meninggalkan ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tbalasan Ping dari %C18$1%C: %C24$2%O detik" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tTidak ada balasan Ping dari %C24$1%O detik, terputus." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tProses dengan berjalan" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 telah keluar ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C atur mode %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tMencari nomor IP untuk %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tOtentifikasi melalui SASL sebagai %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tTerhubung." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tMencari %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tUpaya menghentikan koneksi sebelumnya (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTopik %C22$1%C adalah: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C telah mengubah topik menjadi: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTopik %C22$1%C dibuat oleh %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tHost tidak dikenali. Apa mungkin kamu salah tulis?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tTidak dapat bergabung %C22$1%C (%C20Sudah mencapat Limit%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUser di %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C sedang tidak ada ditempat %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OAkhir dari daftar WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O diam %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O diam selama %C23$2%O, terdaftar pada: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Host asli: %C23$2%O, IP asli: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tSekarang kamu berbicara di %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tKamu telah dikeluarkan dari %C22$2%C oleh %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tKamu telah meninggalkan kanal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tKamu telah meninggalkan kanal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tKamu diundang %C18$1%O pada %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tSekarang nama kamu adalah %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Memuat log dari" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AKHIRI PENCATATAN PADA %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** MULAI PENCATATAN PADA %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Tidak dapat membuka berkas log. Mohon cek\nizin berkas pada %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Pesan kiri" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Pesan kanan" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Alamat IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nama Pengguna" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Nama pengguna orang yang bergabung" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanal tempat bergabung" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Host dari orang tersebut" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Akun dari orang" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Panggilan" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Aksi" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Mode karakter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Teks teridentifikasi" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teks" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Pesan" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nama Server" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Kemampuan Diakui" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Kemampuan Server" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Kemampuan diminta" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Panggilan lama" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nama pengguna baru" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nama pengguna yang mengubah topik" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Topik" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Nama pengguna yang menendang" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Orang yang dikeluarkan" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Alasan" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Nama pengguna yang telah pergi" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Waktu" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Pembuat" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nama pengguna" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Alasan" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Dari siapa itu" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Waktu dalam format x.x (lihat di bawah)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanal tujuan itu" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Suara" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Nama pengguna dari orang" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Event CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Nama pengguna yang mengatur kunci" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Kunci" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Nama pengguna yang mengatur batas" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Batas" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Nama pengguna yang memberikan operator" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Nama pengguna yang telah di-operator-kan" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Nama pengguna yang telah diberi hak ½ operator" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Nama pengguna yang memberikan ½ operator" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Nama pengguna yang memberikan voice" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Nama pengguna yang telah diberikan suara" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Nama pengguna yang melakukan hukuman" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Hukum mask" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Julukan dari orang yang melakukan diam" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Tanda diam" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Nama pengguna yang menghapus kunci" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Nama pengguna yang menghapus batasan" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Nama pengguna yang telah dicabut hak operator" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Nama pengguna yang telah dicabut hak ½ operator" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Nama pengguna yang telah dicabut hak suaranya" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Nama pengguna yang telah dicabut hukumannya" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Mask pembebasan" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Nama pengguna yang menghapus pembebasan" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Nama pengguna yang melakukan undangan" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Mask undangan" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Nama pengguna dari orang yang menghapus undangan" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Nama pengguna dari orang yang mengatur mode" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Tanda mode (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Huruf mode" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanal sedang diatur" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nama lengkap" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Keanggotaan Kanal/\"adalah operator IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informasi Server" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Waktu diam" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Waktu masuk" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Alasan Pergi" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Pesan" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Akun" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "pengguna@host asli" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP asli" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nama Kanal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanisme" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Numerik atau Pengidentifikasi Mentah" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Teks" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nama pengguna dari orang yang mengundang anda" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Pengguna" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nama panggilan yang dipakai" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Nama panggilan sedang dicoba" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Tali mode" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "Tautan" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipe DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nama berkas" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Tujuan berkas" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Nama alamat" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posisi" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Ukuran" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Tali DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Alasan Meninggalkan" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Jumlah item pemberitahuan" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Nama Berkas Lama" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nama Berkas Baru" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Penerima" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Mask Host" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nama Mask" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Detik" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nama pengguna dari orang yang telah diundang" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Hukuman mask" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Siapa yang mengatur hukuman" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Waktu Hukuman" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Tak dapat membaca berkas suara:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Host jarang jauh menutup soket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Koneksi ditolak" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Tak ada rute ke host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Waktu koneksi habis" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Tak dapat menugaskan alamat tersebut" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Koneksi ditata ulang oleh peer" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Pulau Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Uni Emirat Arab" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviation-Bidang yang terkait" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua dan Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilles Belanda" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antartika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS Kebalikan" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Amerika" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Wilayah Asia Pasifik" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Kepulauan Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia dan Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Banglades" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Bisnis" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahama" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Pulau Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalan" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kepulauan Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Republik Demokratik Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Republik Afrika Tengah" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Swiss" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Pantai Gading" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kepulauan Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Cili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Komersial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Koperatif" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia dan Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Tanjung Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Pulau Christmas" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Siprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Republik Ceko" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Jerman Timur" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Jerman" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Denmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Republik Dominika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institusi Pendidikan" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Mesir" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Barat" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanyol" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Uni Eropa" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Kepulauan Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Kepulauan Faroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Prancis" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Britania Raya" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyana Prancis" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Kepulauan Selat Inggris" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Pemerintah" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea Khatulistiwa" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Yunani" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Kepulauan S. Georgia dan S. Sandwich" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Kepulauan Heard dan McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroasia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongaria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlandia" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informasional" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internasional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Wilayah Lautan Hindia Milik Inggris" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Yordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Perusahaan" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Jepang" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kamboja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoro" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts dan Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Korea Utara" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Korea Selatan" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kepulauan Cayman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Medik Amerika Serikat" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Kepulauan Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militer" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Perangkat Mobile" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Kepulauan Mariana Utara" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museum" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maladewa" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Nama Individual" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Kaledonia Baru" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigeria" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Jaringan Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Pulau Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Belanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norwegia" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Selandia Baru" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Organisasi Nirlaba" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Prancis" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nugini" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipina" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polandia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre dan Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesi" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Wilayah Palestina" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reuni" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Sekolah Tua ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federasi Rusia" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arab Saudi" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Kepulauan Solomon" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Swedia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Kepulauan Svalbard dan Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Republik Slovakia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudah Selatan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome dan Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Dahulu USSR (Uni Soviet)" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Suriah" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Kepulauan Turks dan Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internet Communication Services" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Wilayah Selatan Prancis" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Timur" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turki" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Travel dan Tourism" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad dan Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Inggris" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerika Serikat" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Negara Kota Vatikan" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent dan Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Kepulauan Virgin Inggris" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Kepulauan Virgin AS" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Kepulauan Wallis dan Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Hiburan Dewasa" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yaman" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afrika Selatan" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Tak dapat menyambung ke bus sesi" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Gagal menyelesaikan NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Gagal menyelesaikan Perintah" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "akses jarak jauh" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin untuk akses jarak jauh menggunakan DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Tak dapat menyambung ke bus sesi: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Gagal mendapatkan %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Bagan Karakter" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Hukum" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Undang" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Tanda salin" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s pada %s oleh %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Salin entri" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Tidak terhubung." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Anda harus memilih beberapa hukuman." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Apakah anda yakin ingin melepas semua item tedaftar di %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipe" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Dari" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Tanggal" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Anda hanya dapat membuka jendela Daftar Hukuman ketika di tab kanal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Daftar Hukuman (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Hapus" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Potong" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Segarkan" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Menampilkan %d/%d pengguna di %d/%d kanal." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Pilih nama berkas keluaran" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Gabung Kanal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Salin Nama Kanal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Salin _Teks Topik" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Daftar Kanal (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "Te_lusuri" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Tampilkan Kanal" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "S_impan Daftar..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Tampilkan hanya:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanal dengan" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "ke" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "pengguna." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Cari di:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nama kanal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipe penelusuran:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Penelusuran Sederhana" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Kecocokan Pola (Kartu As)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Ekspresi Reguler" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Temukan:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Kirim berkas ke %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Berkas tersebut tak dapat dilanjutkan" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Tak dapat mengakses berkas: %s\n%s.\nTidak mungkin melanjutkan." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Berkas di direktori unduh lebih besar dari berkas yang ditawarkan. Tidak mungkin melanjutkan." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Tak dapat melanjutkan berkas yang sama dari dua orang." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Unggah dan Unduh - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Berkas" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Kira-kira" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Keduanya" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Unggah" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Unduh" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detail" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Berkas:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Alamat:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Batal" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Lanjutkan" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Buka Foler..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Daftar Chat DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Kirim" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Waktu Mulai" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Tambah" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Hapus" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Batal" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Simpan" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Jangan lakukan koneksi otomatis ke server" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Gunakan direktori pengaturan yang berbeda" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "jangan otomatis buka plugin apapun" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Tampilkan direktori plugin/skrip" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Tampilkan direktori pengaturan pengguna" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Membuka sebuah irc://server:port/channel?key URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Eksekusi perintah:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Buka Tautan atau jalankan perintah di HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Mulai minimalkan. Level 0=Normal 1=Jadikan Ikon 2=Baki" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "level" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Tampilkan informasi versi" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Gagal membuka font:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Penyangga penelusuran kosong.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Antrean kirim jaringan: %d byte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Perintah Sisipkan di Penyangga akan menyisipkan isi Data 1 ke dalam entri tempat kombinasi kunci ditekan pada posisi kursor saat ini" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Perintah Atur Penyangga mengatur entri tempat kombinasi tombol dimasukkan ke isi dari Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Perintah Ganti Perintah mengatur entri agar berisi perintah terakhir yang dimasukkan - sama seperti menekan tanda panah atas di shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Perintah Perintah Selanjutnya mengatur entri agar berisi perintah selanjutnya yang dimasukkan - sama seperti menekan tanda panah bawah di shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Perintah ini mengganti teks di entri untuk menyelesaikan nama pengguna atau perintah yang belum lengkap. Jika Data 1 diatur maka tab ganda di tali akan memilih nama pengguna terakhir, bukan yang setelahnya" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Perintah ini menggulung ke atas dan bawah melewati daftar pengguna. Jika Data 1 diatur ke apapun maka perintah akan menggulung ke atas, atau ke bawah" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Perintah ini memeriksa kata terakhir yang dimasukkan di entri melawan daftar ganti lalu menggantinya bila menemukan kecocokan" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Perintah ini memindahkan tab depan ke kiri satu tab" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Perintah ini memindahkan tab depan ke kanan satu tab" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Perintah ini memindahkan keluarga tab saat ini ke kiri" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Perintah ini memindahkan keluarga tab saat ini ke kanan" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Dorong baris masukan ke riwayat tapi tidak mengirim ke server" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Terjadi galat ketika memuat konfigurasi pengikat kunci" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Pilih sebuah baris untuk mendapatkan informasi tentang tindakannya." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Tombol Cepat Keyboard - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Tak dapat menulis ke berkas tersebut." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Tak dapat membaca berkas tersebut." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Mask tersebut sudah ada." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Pribadi" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Pemberitahuan" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Tak abaikan" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Apakah anda yakin ingin melepas semua abaian?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Masukkan mask yang akan diabaikan:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Daftar Pengabaian - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Abaikan Statistik:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Pribadi:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Pemberitahuan" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Undang:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Tambah..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nama kanal terlalu pendek, coba lagi." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Koneksi Selesai - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Koneksi ke %s selesai." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Apa yang Anda ingin lakukan selanjutnya?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Tak ada, Saya akan bergabung ke kanal nanti." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Gabung ke kanal ini:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jika anda tahu nama kanal yang ingin anda masuki, masukkan namanya di sini." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Selalu tampilkan dialog ini setelah terhubung." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog dengan" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topik untuk %s adalah: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Tak ada topik" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Server ini masih memiliki %d kanal atau dialog yang terhubung dengannya. Tutup mereka semua?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Keluar dari HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Jangan tanyakan lagi." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Anda terhubung ke %i jaringan IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Anda yakin ingin keluar?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Beberapa transfer berkas masih aktif." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Cuitkan ke Tray" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Masukkan Atribut atau Kode Warna" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Tebal</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Garis Bawah</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Miring</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Warna 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Warna 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Pengaturan" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Log ke Harddisk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Buka Ulang Scrollback" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Sembunyikan Gabung/Pisah Pesan" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Peringatan _Ekstra" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "_Bip pada Pesan" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Kedip _Ikon Baki" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Kedip Bar _Task" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Lepas" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Tutup" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Batas pengguna harus merupakan nomor!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Tak ada pesan dari luar" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Perlindungan Topik" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Hanya Undangan" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Dimoderasi" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Daftar Hukuman" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Sandi" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Batas Pengguna" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Masukkan nama pengguna baru:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Soroti semua" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host tak diketahui" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Tak Diketahui" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nama Asli:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Pengguna:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Negara" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u menit yang lalu" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Pesan Terakhir:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Pesan Pergi:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d pengguna terpilih." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Buka Tautan di Browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Salin Taut Terpilih" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Gabung Kanal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Tinggalkan Kanal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Daur Kanal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menu pengguna - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Perintah User - Kode Spesial:\n\n%c = kanal saat ini\n%e = nama jaringan saat ini\n%m = informasi mesin\n%n = nick kamu\n%t = waktu/tanggal\n%v = versi HexChat\n%2 = 2 kata\n%3 = 3 kata\n&2 = 2 kata dari akhir baris\n&3 = 3 kata dari akhir baris\n\ncontoh:\n/cmd john hello\n\n%2 hasilnya \"john\"\n&2 hasilnya \"john hello\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Balasan CTCP - Kode khusus:\n\n%d = data (seluruh ctcp)\n%e = nama jaringan saat ini\n%m = informasi mesin\n%s = pengguna yang mengirim ctcp\n%t = waktu/tanggal\n%2 = kata 2\n%3 = kata 3\n&2 = kata 2 sampai akhir baris\n&3 = word 3 sampai akhir baris\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Pengendali Tautan - Kode Spesial:\n\n%s = Tautan\n\nMenaruh ! di depan perintah\nmenunjukkan hal tersebut harus dikirim ke \nshell bukan HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Kustom Perintah - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Ganti - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Ganti dengan " + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Pengendali Tautan - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Daftar Tombol Kustom - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Tombol Dialog - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Balasan CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Baru" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Keluar" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Tampilan" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Bar Menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Bar _Topik" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Daftar Pengguna" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Tombol M_ode" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Peng_ganti Kanal" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Tab" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "P_ohon" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Meteran Jaringan" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Matikan" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafik" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Putuskan koneksi" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Konek" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menu _Pengguna" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Pe_ngaturan" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Peng_aturan" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Jendela" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Atur Ulang Penanda Baris" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Salin Seleksi" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Bersi_hkan Teks" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Cari" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Cari Selanjutnya" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Cari Sebelumnya" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Bantuan" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Konten" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Tentang" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Lampiran" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nama" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Terakhir Terlihat" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Terputus" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Tak Pernah" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d menit yang lalu" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Terhubung" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Masukkan nama pengguna yang akan ditambah:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Pemberitahuan di jaringan ini:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Koma yang memisahkan daftar jaringan dapat diterima." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Daftar Teman - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Buka Dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Terhubung ke %u jaaringan dan %u kanal - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Kembalikan Jendela" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Sembunyikan Jendela" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Bip pada" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Pesan Kanal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Pesan Pribadi" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Pesan Tersorot" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Ubah status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Pergi" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Kembali" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Soroti pesan dari: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u pesan disoroti, terakhir dari: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Pesan rahasia dari: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u pesan rahasia, terakhir dari: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Berkas dikirim dari: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u berkas kiriman, terakhir dari: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versi" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Keterangan" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Pilih Plugin atau Skrip yang akan dibuka" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Skrip dan Plugin - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Buka..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Simpan Sebagai..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Log Asli (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Bersihkan Log" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Jaringan Baru" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Yakin hapus jaringan \"%s\" dan semua servernya?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Sunting %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Kunci (Sandi)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "Suntin_g" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Hanya konek ke server terpilih" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Jangan daur melewati semua server jika koneksi gagal." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Lewati server proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Gunakan SSL untuk semua server di jaringan ini" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Gunakan informasi pengguna global" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nama Panggilan:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Pilihan kedua:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Na_ma asli:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nama _Pengguna:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Sandi:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Set karakter:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Daftar Jaringan - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informasi Pengguna" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Pilihan ketiga:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Jaringan" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Lewati daftar jaringan pada saat mulai" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Tampilkan favorit saja" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Sunting..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Urut" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favorit" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Beri tanda atau tidak jaringan ini sebagai jaringan favorit." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "M_asuk" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Bahasa Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amhar" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Bahasa Asturia" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basque" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarus" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Hanzi (Sederhana)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Hanzi (Traditional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Ceko" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Bahasa Denmark" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Belanda" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Inggris (Britania)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Inggris" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonia" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finlandia" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Prancis" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galisia" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Jerman" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Yunani" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Bahasa Gujarat" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hungaria" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Bahasa Indonesia" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Itali" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Jepang" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Bahasa Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korea" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvi" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituavi" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonia" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaysia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Bahasa Melayu" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norwegia (Bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norwegia (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polandia" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugis" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugis (Barzil)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Rusia" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbia" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakia" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovania" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanyol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Swedia" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thailand" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukraina" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walonia" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Umum" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Bahasa" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Font utama" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Kotak Teks" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Nama pengguna diwarnai" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Tampilkan nama pangguna dengan warna yang berbeda-beda" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Rata kanan" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Buat nama pengguna rata kanan" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Tampilkan garis pembatas" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Tampilkan garis merah setelah pesan terakhir ditulis" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Gambar background:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Pengaturan Transparansi" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Lihat artikel strftime MSDN untuk lebih jelasnya." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Lihat halaman utama strftime untuk lebih jelasnya." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Nama Bar" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Tampilkan mode kanal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Tampilkan jumlah user" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Urutan yang terakhir dibicarakan" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Input Box" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Tampilkan kotak panggilan" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Tampilkan ikon mode pada kotak panggilan pengguna" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Pengecek ejaan" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Kamus yang digunakan:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Pakai kode bahasa. Pisahkan beberapa kata dengan tanda koma." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Penyelesai Nama Pengguna" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Awalan penyelesai nama pengguna:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Urutan penyelesai nama pengguna:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafis" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Tak diurutkan" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Atas" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bawah" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Tersembunyi" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Daftar Pengguna" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Tampilkan nama host di daftar pengguna" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Gunakan font dan warna kotak Teks" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Tampilkan ikon untuk mode user" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Gunakan ikon untuk daftar user" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Tampilkan jumlah kanal user" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Daftar pengguna diurutkan menurut:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Tampilkan daftar pengguna pada:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Telusuri \"Sibuk\" " + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Di kanal yang lebih kecil dari:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Aksi Pada Klik Ganda" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Gadget Tambahan" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Meteran Lag" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Meteran Throttle" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Jendela" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Tab" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Selalu" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Hanya tab yang diminta" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Pohon" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Tipe pengganti:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Buka tab ekstra untuk pesan server" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Buka tab baru ketika anda menerima pesan pribadi" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Urutkan tab dalam urutan alfabetis" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Tampilkan ikon di kanal" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Tampilkan garis dot pada model pohon kanal" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Teks lebih kecil" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokus tab baru:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Tampilkan kanal di:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Urutkan label tab ke:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "huruf." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Tab atau Jendela" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Buka kanal di:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Buka dialog di:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Buka utilitas di:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Buka DCC, Abaikan, Pemberitahuan, dll di tab atau jendela?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Pesan" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Gulir kebelakang" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Tanyakan terdahulu" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Tanyakan lokasi folder unduhan" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Simpan tanpa interaksi" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Berkas dan Direktori" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Terima otomatis tawaran berkas:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Unduh berkas ke:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Pindahkan berkas yang telah selesai ke:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Simpan nama pengguna di nama berkas" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Buka Otomatis Jendela DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Jendela kirim" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Jendela terima" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Jendela bincang" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Satu unggah:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Kecepatan maksimum untuk satu transfer" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Satu unduh:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Semua unggah digabungkan:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Kecepatan maksimum untuk semua berkas" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Semua unduh digabungkan:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Peringatan" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Kedipkan ikon baki di:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Kedipkan bar tugas di:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Buat suara bip di:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Jangan beri peringatan ketika ditandai sedang pergi" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Mode Tray" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Aktifkan ikon baki sistem" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Susutkan ke Tray" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Tutup ke Tray" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Otomatis tandai sedang pergi/kembali" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Pesan Tersorot" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Pesan tersorot adalah pesan dimana nama pengguna anda disebutkan, tapi juga:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Kata tambahan untuk disorot:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nama pengguna yang tidak disorot:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nama pengguna yang selalu disorot:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Pisahkan banyak kata dengan koma.\nWildcards juga diterima." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Pesan Standar" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Keluar:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Tinggalkan kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Pergi:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Pergi" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Tampilkan kepergian sekali saja" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Tampilkan pesan identik pergi sekali saja" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Otomatis menghapus tanda kepergian" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Jangan tandai saya sedang pergi sebelum mengirim pesan" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Tampilkan MODE dalam bentuk mentah" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Kirim /WHOIS ketika seseorang terhubung di daftar pemberitahuan anda" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Sembunyikan pesan gabung dan pisah" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Sembunyikan pesan kanal gabung/pisah secara standar" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Auto Salin" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Otomatis menyalin teks yang terpilih" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Otomatis masukkan informasi warna" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Font alternatif" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Tampilkan daftar dengan mode kompak" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Gunakan lebih sedikit spasi antara baris daftar user/pohon kanal " + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Jeda koneksi ulang otomatis:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Terjadi jeda ketika auto join:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Pencatatan" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Tampilkan gulung balik dari sesi sebelumnya" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Gulung baris:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Aktifkan pencatatan percakapan ke harddisk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nama berkas catatan:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanal %n=Jaringan." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Sisipkan stempel waktu di catatan" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format stempel waktu catatan:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Tautan" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Hidupkan pencatat tautan" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Hidupkan perekam tautan" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Jumlah maksimum perekam tautan" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Non aktifkan)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Alamat Anda" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Ikat ke:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Hanya berguna bagi komputer dengan banyak alamat." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Dapatkan alamat saya dari server IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Tanyakan server IRC alamat asli anda. Gunakan ini jika anda memiliki alamat 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Alamat IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Klaim diri anda di alamat ini ketika menawarkan berkas." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Tinggalkan pangkalan pada nol untuk jangkauan penuh." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Server Proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nama host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Pangkalan:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipe:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Gunakan proxy untuk:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Otentikasi Proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nama pengguna:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Pilih Berkas Gambar" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Pilih Folder Unduh" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Pilih font" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Ramban..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Buka Folder Data" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Pilih warna" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Warna Teks" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Warna mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Warna lokal:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Latar depan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Latar belakang:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Teks yang terpilih" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Warna Antarmuka" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Data baru:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Garis penanda:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Pesan baru:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Pengguna Pergi:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Sorot:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Pengecek ejaan" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Warna " + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Event" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Berkas suara" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Pilih berkas suara" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Berkas suara:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Ramban" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "P_utar" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Antarmuka" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Penampilan" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Kotak input" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Daftar pengguna" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Pengaturan Kanal" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Warna" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Obrolan" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Tingkat Tinggi" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Pengaturan jaringan" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transfer berkas" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategori" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Anda tak dapat menempatkan pohon di atas atau bawah!\nSilakan ganti tata letak <b>Tab</b> di menu <b>Tampilan</b> dahulu." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "HexChat harus dijalankan ulang agar pengaturan baru dapat digunakan." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*PERINGATAN*\nOtomatis menerima DCC ke direktori home\nanda dapat berbahaya dan mudah dieksploitasi. Misalnya: \nSeseorang dapat mengirimi anda .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(tidak ada saran)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Lagi..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Tambahkan \"%s\" pada kamus" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Abaikan semua" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Saran Ejaan" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "perbaikin kesalahan bahasa pada: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Ada galat ketika menganalisa tali" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Sinyal ini hanya melewati %d argumen, $%d tidak sah" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Cetak Berkas Teks" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Nomor" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Sunting Event" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Buka Dari..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Tes Semua" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Perekam Tautan - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Bersihkan daftar" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Salin tautan yang terpilih" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Salin" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Simpan daftar ke berkas" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operator, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Buka tautan irc://server:pangkalan/kanal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000000000000000000000000000000000000..76f047205a598cbcbfc2fbc2520808538e07306e --- /dev/null +++ b/po/it.po @@ -0,0 +1,6266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Claudio Arseni <claudio.arseni@gmail.com>, 2013-2014,2016-2018 +# Eros Palberti - Fabio Viola : How-Tux Team <admin@how-tux.com>, 2006 +# Marina Latini <marina.latini@libreoffice.org>, 2016 +# Random_R, 2013 +# Random_R, 2013,2016-2018 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-12-15 12:53+0000\n" +"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n" +"Language-Team: Italian (http://www.transifex.com/hexchat/hexchat/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Client IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat è un client IRC semplice ed estensibile. Consente di accedere in modo sicuro a più reti e comunicare con altri utenti privatamente o nei canali usando una interfaccia personalizzabile. È inoltre possibile trasferire file." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat supporta caratteristiche come: DCC, SASL, proxy, controllo ortografico, avvisi, registrazione delle conversazioni, temi personalizzati e script Python e Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Finestra di chat principale" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Chiacchiera con altri utenti online" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;Messaggistica Istantanea;IRC;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Apri modalità sicura" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Gestore temi di HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Non disponibile" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Sto andando via" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rete" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<vuoto>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canale" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "In attesa" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Attivo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Non riuscito" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Completato" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Connetti" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Interrotto" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossibile accedere a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Errore" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s sta offrendo «%s». Accettare?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nessun DCC attivo\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Apri finestra di dialogo" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Invia un file" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Informazioni _utente (WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "A_ggiungi all'elenco degli amici" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignora" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Azioni dell'o_peratore" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dai lo stato di operatore" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Togli lo stato di operatore" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dai la parola" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Togli la parola" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Kick/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Ban" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Esci dal canale" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Entra nel canale..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Digitare il canale in cui entrare:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Collegamenti ai server" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Nascondi versione" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "ciao" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Motivo per il kick a %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Invia file" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialogo" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WHOIS" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Invia" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Pulisci" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Non si possiedono i permessi di scrittura per %s. Nulla di questa sessione potrà essere salvato." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Eseguire IRC come l'utente root non è consigliato.\n È preferibile creare un account utente\n e utilizzare tale utente per effettuare l'accesso.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SI " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Hai ricevuto un flood CTCP da parte di %s. %s viene ignorato\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Hai ricevuto un flood MSG da parte di %s. gui_autoopen_dialog impostato a OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Risolto a %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Non trovato" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Risolto a:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Ricerca di %s..." + +#: src/common/inbound.c:1992 +msgid "Could not create SCRAM session with digest %s" +msgstr "Impossibile creare una sessione SCRAM con la funzione hash %s" + +#: src/common/inbound.c:2024 +msgid "SASL SCRAM authentication failed: %s" +msgstr "SASL SCRAM autenticazione fallita: %s" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s in linea\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s non in linea\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nessun canale aperto. Provare /join #<canale>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Non connessi. Provare /server <host> [<porta>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Il server %s esiste già sulla rete %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Server %s aggiunto alla rete %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Già impostato come assente: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Già tolto lo stato di assenza.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "È necessario /bin/sh per l'esecuzione.\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Comandi disponibili:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Comandi definiti dall'utente:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Comandi definiti dal plugin:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Digitare /HELP <comando> per ulteriori informazioni, oppure /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argomento «%s» sconosciuto ignorato." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Il quiet non è supportato da questo server." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Plugin non trovato.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Impossibile disattivare questo plugin.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <azione>, aggiunge un pulsante nell'elenco utenti" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NuovaRete> <nuovo_server/6667>, aggiunge una nuova rete con un nuovo server all'elenco delle reti" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, invia un comando a tutti i canali in cui si è presenti" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, invia un comando a tutti i canali del server attuale" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, invia un comando a tutti i server ai quali si è collegati" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<motivo>], imposta lo stato di assenza (usare /BACK per ripristinare la presenza)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, imposta lo stato di presenza" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<tipo_di_ban>], allontana dal canale attuale tutti coloro che corrispondono alla maschera di rete specificata. Se sono già connessi al canale, questo non li espelle (kick). Bisogna essere operatore." + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabile> [<valore>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<codifica>], rileva o imposta la codifica usata per la connessione attuale" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<quantità>], pulisce la finestra di testo corrente o la cronologia dei comandi" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], chiude la scheda corrente, chiudendo la finestra se questa è l'unica scheda aperta , o con l'opzione «-m», per chiudere tutte le query." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <codice|wildcard>, cerca un codice paese, per es.: it = Italia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <soprannome> <messaggio>, invia il messaggio CTCP al soprannome indicato, messaggi comuni sono VERSION e USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canale>], abbandona il canale attuale o quello dato e vi rientra immediatamente" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <soprannome> - accetta un file offerto\nDCC SEND [-maxcps=#] <soprannome> [file] - invia un file a qualcuno\nDCC PSEND [-maxcps=#] <soprannome> [file] - invia un file utilizzando la modalità passiva\nDCC LIST - visualizza l'elenco dei collegamenti DCC\nDCC CHAT <soprannome> - propone una CHAT DCC a qualcuno\nDCC PCHAT <soprannome> - propone una CHAT DCC utilizzando la modalità passiva\nDCC CLOSE <tipo> <soprannome> <file> per esempio:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <soprannome>, rimuove lo stato di semi-operatore sul canale attuale al soprannome indicato (bisogna essere operatore)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, elimina un pulsante pulsante dall'elenco utenti" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <soprannome>, rimuove lo stato di operatore sul canale attuale al soprannome indicato (bisogna essere operatore)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <soprannome>, toglie la parola al soprannome indicato sul canale attuale (bisogna essere operatore)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, disconnette dal server" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <soprannome|host|ip>, risolve un IP o un nome host" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <canale,elenco,/rete> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <testo>, stampa un testo localmente" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <comando>, esegue il comando. Se si utilizza l'opzione -o, l'output è inviato al canale attuale, altrimenti è stampato nell'area di testo attuale" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, invia un SIGCONT al processo" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], termina un'istanza exec nella sessione attuale. Se è specificato -9, il processo è ucciso con SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, invia un SIGSTOP al processo" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, invia dati allo stdin del processo" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, esporta le impostazioni di HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, svuota la coda di invio del server attuale" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<porta>], utilizza un host come proxy, la porta predefinita è la 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <soprannome> [password], uccide un soprannome fantasma" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, dà lo stato di semi-operatore al soprannome (bisogna essere operatore)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ti identifica presso il nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maschera> <tipi..> <opzioni..>\n maschera - host maschera da ignorare, per es.: *!*@*.aol.com\n tipi - tipi di dati da ignorare, uno o più tra:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opzioni - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <soprannome> [<canale>], invita qualcuno in un canale, la regola predefinita è per il canale attuale (bisogna essere operatore)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canale>, entra nel canale" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <soprannome> [motivo], espelle l'utente dal canale attuale (è necessario essere operatore)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <soprannome> [motivo], allontana ed espelle l'utente dal canale attuale (è necessario essere operatore)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, forza un nuovo controllo del ritardo (lag)" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <stringa>, cerca una stringa nel buffer\nUsare -h per evidenziare le stringhe trovate\nUsare -m quando la stringa è un'espressione regolare\nUsare -- (doppio trattino) per terminare le opzioni quando si cerca, per esempio, la stringa «-r»" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, carica un plugin o uno script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, toglie lo stato a tutti i semi-operatori del canale attuale (bisogna essere operatore)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, toglie lo stato a tutti gli operatori del canale attuale (bisogna essere operatore)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <azione>, invia l'azione al canale attuale (le azioni sono scritte in terza persona, es. /me saluta tutti)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, imposta lo stato hop per tutti gli utenti presenti nel canale attuale (è necessario essere operatore del canale)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, espelle dal canale attuale tutti gli utenti tranne te (bisogna essere operatore)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, rende operatori tutti gli utenti nel canale attuale (bisogna essere operatore)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <soprannome> <messaggio>, invia un messaggio privato, messaggio \".\" per inviarlo all'ultimo soprannome contattato o con il prefisso \"=\" per avviare una chat DCC" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [canale], elenca i soprannomi presenti nel canale" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <soprannome> <messaggio>, invia una notifica CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nome host> [<porta>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <soprannome>, imposta il tuo soprannome" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <soprannome/canale> <messaggio>, invia una notifica" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n rete1[,rete2,...]] [<soprannome>], mostra l'elenco di notifica o aggiunge qualcuno a esso" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <soprannome>, dà lo stato di operatore al soprannome indicato (bisogna essere operatore)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canale>] [<motivo>], abbandona il canale. Se non specificato, quello attuale" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <soprannome | canale>, invia un ping CTCP al soprannome o al canale" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <soprannome> [messaggio], apre una nuova finestra per messaggi privati con qualcuno e opzionalmente invia un messaggio" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask> [<quiettype>], imposta il quiet per il canale su tutti tutti coloro che corrispondono alla maschera se la funzione è supportata dal server." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<motivo>], disconnette dal server attuale" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <testo>, invia il testo in forma grezza al server" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<porta>] [<password>], può essere richiamato semplicemente come /RECONNECT per riconnettersi al server attuale o con /RECONNECT ALL per riconnettersi a tutti i server aperti" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<porta>] [<password>], può essere richiamato semplicemente come /RECONNECT per riconnettersi al server attuale o con /RECONNECT ALL per riconnettersi a tutti i server aperti" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <testo>, invia dati in forma grezza a HexChat, come se venissero ricevuti dal server IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nome>, ricarica un plugin o uno script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <testo>, invia il testo all'oggetto a cui corrisponde la finestra corrente" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <soprannome> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <porta> <canale>, si connette ed entra nel canale" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <porta> <canale>, si connette ed entra nel canale" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<porta>] [<password>], si connette al server, la porta predefinita è la 6667 per le connessioni normali e la 6697 per le connessioni ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<porta>] [<password>], si connette al server, la porta predefinita è la 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variabile> [<valore>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posizione>, riposiziona il cursore nella casella di immissione" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nuovo nome>, cambia il nome della scheda. Se troppo lungo verrà troncato automaticamente" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <nuovo testo>, sostituisce il testo nella casella di immissione" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<argomento>], imposta l'argomento, se specificato, altrimenti mostra quello attuale" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Lampeggia l'area di notifica tra due icone.\nTRAY -f <nomefile> Imposta l'area di notifica a un'icona fissa.\nTRAY -i <numero> Lampeggia l'area di notifica con un'icona interna.\nTRAY -t <testo> Imposta il suggerimento dell'area di notifica.\nTRAY -b <titolo> <testo> Imposta l'avviso per l'area di notifica." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maschera> [<maschera>...], rimuove il ban per la maschera specificata" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maschera> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, termina un plugin o uno script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask>...], toglie il quiet alla maschera specificata se la funzione è supportata dal server." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, apre uno URL nel browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <soprannome1> <soprannome2> ecc., evidenzia i/il soprannomi/e nell'elenco utenti del canale" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <soprannome>, dà la parola a qualcuno (bisogna essere operatore)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <messaggio>, scrive il messaggio su tutti i canali" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <messaggio>, invia il messaggio a tutti gli operatori del canale attuale" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Comando utente per: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNessun aiuto disponibile per questo comando.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Comando non esistente.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argomenti del comando non corretti.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Troppi comandi ricorsivi. Interruzione." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Comando sconosciuto %s. Prova /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Nessun simbolo hexchat_plugin_init; è veramente un plugin di HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tRichiesta di identificazione al servizio da %s come %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tErrore nell'avvio del server identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <porta> <nome_utente>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d eliminato.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Nessun numero di riferimento trovato.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Nessun timer installato.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Riferimento# Secondi Ripetizione Comando \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Il server e la porta supportano veramente SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Impossibile risolvere il nome host %s.\nControllare le impostazioni dell'IP.\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Attraversamento del proxy non riuscito.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Nuovo tentativo con il server successivo di %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Attenzione: il set di caratteri «%s» non è conosciuto. Non verrà effettuata alcuna conversione per la rete %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O aggiunto all'elenco di notifica." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O su %C24$4%O su %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tImpossibile entrare in %C22$1 %O(%C20Hai ricevuto un ban%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tFunzionalità accettate: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tFunzionalità rimosse: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tFunzionalità supportate: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tFunzionalità richieste: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O è ora conosciuto come %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha impostato un ban su %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tCanale %C22$1%O creato su %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha tolto lo stato di semi-operatore del canale a %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha tolto lo stato di operatore del canale a %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha tolto la parola a %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C ha impostato l'exempt su %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha dato lo stato di semi-operatore del canale a %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C ha impostato l'exempt per l'invito su %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanale Utenti Argomento" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O ha impostato la modalità %C24$2$3%O su %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tCanale %C22$1%O modalità: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha dato lo stato di operatore del canale a %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha impostato il quiet su %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha rimosso l'exempt su %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha rimosso l'exempt per l'invito su %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O ha rimosso la parola chiave del canale" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O ha rimosso il limite di utenti" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O ha impostato come parola chiave del canale %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O ha impostato il limite utenti del canale a %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha rimosso il ban da %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha rimosso il quiet su %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tCanale %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ha dato la parola a %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tConnesso. Accesso in corso." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tConnessione a %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tC21Connessione non riuscita (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRicevuto un CTCP %C24$1%C da %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tRicevuto un CTCP %C24$1%C da %C18$2%C (per %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRicevuto un suono CTCP %C24$1%C da %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tRicevuto un suono CTCP %C24$1%C da %C18$2%C (per %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tCHAT DCC con %C18$1%O interrotta." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tConnessione CHAT DCC con %C18$1%C %C30[%C24$2%C30]%O stabilita" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tCHAT DCC con %C18$1%O persa (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tRicevuta una richiesta di CHAT DCC da %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tInvito a una CHAT DCC per %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tInvito alla CHAT per %C18$1%O già effettuato" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tTentativo di connessione DCC $1 a %C18$2%O non riuscito (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tRicevuto «%C23$1%C» da %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Tipo A/Da Stato Dim Pos File" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tRicevuta una richiesta DCC mal formata da %C18$1%O.$a010%C23*%O$tContenuto del pacchetto: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tOfferta di «%C24$1%O» per %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tOfferta DCC inesistente." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV «%C23$2%O» a %C18$1%O interrotto." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV «%C23$1%O» da %C18$3%O completato %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV connessione stabilita con %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV «%C23$1%O» da %C18$3%O non riuscito (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: impossibile aprire «%C23$1%C» in scrittura (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tIl file «%C24$1%C» esiste già, verrà salvato come «%C23$2%O»." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C ha richiesto di ripristinare «%C23$2%C» da %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND «%C23$2%C» a %C18$1%O interrotto." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND «%C23$1%C» a %C18$2%C completato %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND connessione stabilita con %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND «%C23$1%C» a %C18$2%C non riuscito (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C ha offerto «%C23$2%C» (%C24$3%O byte)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 «%C23$2%C» a %C18$3%O bloccato, interruzione." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 «%C23$2%C» a %C18$3%O scaduto, interruzione." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O rimosso dall'elenco di notifica." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDisconnessi (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tTrovato l'indirizzo IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O aggiunto all'elenco degli utenti ignorati." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OLo stato degli utenti ignorati su %C18$1%O è cambiato." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Maschera host PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O rimosso dall'elenco degli utenti ignorati." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OL'elenco utenti ignorati è vuoto." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tImpossibile entrare in %C22$1%C (%C20L'accesso al canale è solamente su invito%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tHai ricevuto un invito per %C22$1%O da %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) è entrato" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tImpossibile entrare in %C22$1%C (%C20Richiesta parola chiave%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C ha esplulso %C18$2%C da %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19%C26$1%C ti ha ucciso (kill) %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD saltato%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C è già in uso. Nuovo tentativo con %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C è errato. Nuovo tentativo con %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tSoprannome errato o già in uso. Usare /NICK per provarne un altro." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tDCC inesistente." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tNessun processo attualmente in esecuzione" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotifica: %C18$1%C è assente (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotifica: %C18$1%C ha tolto lo stato di assenza" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tL'elenco di notifica è vuoto." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Notifica elenco" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O utenti nell'elenco di notifica." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotifica: %C18$1%C non è in linea (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotifica: %C18$1%C è in linea (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) abbandona" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) ha abbandonato ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tRisposta al ping da %C18$1%C: %C24$2%O secondi" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tNessuna risposta al ping per %C24$1%O secondi, disconnessione in corso." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tUn processo è già in esecuzione" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 ha chiuso la connessione ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C ha impostato le modalità %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tRicerca dell'indirizzo IP per %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutenticazione SASL come %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConnessi." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tRicerca di %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tIl tentativo di connessione precedente è stato interrotto (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tL'argomento di %C22$1%C è: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C ha scelto come argomento: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tArgomento per %C22$1%C impostato da %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tHost sconosciuto. Forse è scritto male?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tImpossibile entrare in %C22$1%C (%C20Raggiunto il limite di utenti%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUtenti in %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C è assente %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFine dell'elenco WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inattivo da %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inattivo %C23$2%O, connesso da: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O host efettivo: %C23$2%O, IP effettivo: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tParla in %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$t%C26$3%O ti ha espulso da %C22$2%C (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tHai lasciato il canale %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tHai lasciato il canale %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tHai invitato %C18$1%O in %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tIl tuo soprannome è ora %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Registro caricato da" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** FINE REGISTRAZIONE: %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** INIZIO REGISTRAZIONE: %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Impossibile aprire i file di registro in scrittura.\n Verificare i permessi su %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Messaggio a sinistra" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Messaggio a destra" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Indirizzo IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nome utente" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Il soprannome della persona che è entrata" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Il canale nel quale sta entrando" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "L'host della persona" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "L'account della persona" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Soprannome" + +#: src/common/text.c:980 +msgid "The action" +msgstr "L'azione" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Il carattere della modalità" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Testo identificato" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Il testo" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Il messaggio" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nome del server" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Funzionalità accettate" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Funzionalità rimosse" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Funzionalità del server" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Funzionalità richieste" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Vecchio soprannome" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nuovo soprannome" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Soprannome dell'utente che ha cambiato l'argomento" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Argomento" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Il soprannome di chi ha effettuato il kick" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "La persona che ha ricevuto il kick" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Il canale" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Il motivo" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Il soprannome della persona che è andata via" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "L'ora" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Il creatore" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Soprannome" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Motivo" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Da chi è stato fatto" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "L'ora nel formato x.x (vedi sotto)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Il canale al quale è destinato" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Il suono" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Il soprannome della persona" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "L'evento CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Il soprannome della persona che ha impostato la chiave" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "La chiave" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Il soprannome della persona che ha impostato il limite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Il limite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Il soprannome della persona che ha impostato lo stato di operatore" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Il soprannome della persona che è stata resa operatore" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Il soprannome della persona che è stata resa semi-operatore" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Il soprannome della persona che ha impostato lo stato di semi-operatore" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Il soprannoome della persona che ha dato la parola" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Il soprannome della persona che ha ricevuto la parola" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Il soprannome della persona che ha impostato il ban" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "La maschera del ban" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Il soprannome della persona che ha impostato il quiet" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "La maschera del quiet" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Il soprannome della persona che ha rimosso la chiave" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Il soprannome della persona che ha rimosso il limite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Il soprannome della persona che ha tolto lo stato di operatore" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Il soprannome della persona che è stata rimossa dallo stato di operatore" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Il soprannome della persona che ha tolto lo stato di semi-operatore" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Il soprannome della persona che è stata rimossa dallo stato si semi-operatore" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Il soprannome della persona che ha tolto la parola" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Il soprannome della persona a cui è stata tolta la parola" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Il soprannome della persona che ha rimosso il ban" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Il soprannome della persona che ha rimosso il quiet" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Il soprannome della persona che ha impostato l'exempt" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "La maschera di exempt" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Il soprannome della persona che ha rimosso l'exempt" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Il soprannome della persona che ha fatto l'invito" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "La maschera di invito" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Il soprannome della persona che ha rimosso l'invito" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Il soprannome della persona che ha impostato la modalità" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Il segno della modalità (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "La lettera della modalità" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Il canale su cui ha effetto l'impostazione" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Appartenenza al canale / \"è un operatore IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informazioni sul server" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tempo di inattività" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Orario di connessione" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Motivo dell'assenza" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Messaggio" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Utente@host effettivo" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP effettivo" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nome del canale" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Meccanismo" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Numerico grezzo o identificatore" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Testo" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nick della persona che ti ha invitato" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Utenti" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Soprannome in uso" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Soprannome in via di prova" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Porta" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Stringhe modalità" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipo DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nome del file" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nome del file di destinazione" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Percorso" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posizione" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Dimensione" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Stringa DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Motivo dell'assenza" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Numero degli utenti nell'elenco di notifica" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Vecchio nome del file" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nuovo nome del file" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Destinatario" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Maschera dell'host" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nome dell'host" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Il pacchetto" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Secondi" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Soprannome della persona che è stata invitata" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maschera dei ban" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Chi ha impostato il ban" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Ora del ban" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Impossibile leggere il file audio:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "L'host remoto ha chiuso il socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Connessione rifiutata" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Nessun instradamento per l'host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Connessione scaduta" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Impossibile assegnare l'indirizzo" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Connessione interrotta dall'host remoto" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Isole Ascensione" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emirati Arabi Uniti" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Relativo ai trasporti aerei" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua e Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antille Olandesi" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antartide" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS inverso" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americane" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Regione dell'Asia Pacifica" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Isole Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaigian" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia ed Erzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgio" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasile" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Isola Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorussia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalano" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Isole Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Repubblica Democratica del Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Repubblica Centrafricana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Svizzera" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa d'Avorio" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Isole Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Cile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Cina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic, commerciale" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperative" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia e Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Capo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Isole di Natale" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cipro" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Repubblica Ceca" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Germania Est" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Germania" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Gibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danimarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Repubblica Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Istituzione educativa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egitto" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara occidentale" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spagna" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Unione Europea" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Isole Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Isole Faroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francia" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Gran Bretagna" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyana Francese" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Isole del Canale Britannico" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibilterra" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Governativo" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupa" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinea equatoriale" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grecia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Isole S.Georgia e S.Sandwich" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Isole Heard e McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croazia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungheria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israele" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isola di Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internazionale" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territori Britannici dell'Oceano Indiano" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islanda" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Giamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Giordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Imprese che pubblicizzano posti di lavoro" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Giappone" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirghizistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambogia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comore" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "S. Kitts e Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corea del Nord" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corea del Sud" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Isole Cayman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakistan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lussemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lettonia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marocco" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Stati Uniti, sanità" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Isole Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militare" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Dispositivi mobili" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Isole Marianne settentrionali" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Muritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Musei" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldive" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Messico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malesia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambico" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individuali (nome)" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nuova Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rete Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Isola Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Paesi Bassi" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvegia" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nuova Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic, associazione no-profit" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perù" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesia Francese" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nuova Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippine" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre e Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Professioni" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territori palestinesi" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portogallo" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet vecchio tipo" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federazione Russa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabia Saudita" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Isole Salomone" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Svezia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "S. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Isole Svalbard e Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Repubblica Slovacca" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudan del Sud" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome e Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Ex URSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Isole Turks e Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Servizi di comunicazione Internet" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Terre Australi Francesi" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Est" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turchia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Viaggi e turismo" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad e Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Regno Unito" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Stati Uniti d'America" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Città del Vaticano" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "S. Vincent e le Grenadine" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Isole Vergini Britanniche" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Isole Vergini Americane" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Isole Wallis e Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Intrattenimento per adulti" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Iugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sud Africa" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbawe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Impossibile connettersi al bus di sessione" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Completamento di NameHasOwner non riuscito" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Completamento del comando non riuscito" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "accesso remoto" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin per l'accesso remoto usando D-BUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Impossibile connettersi al bus di sessione: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Acquisizione di %s non riuscita: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tabella caratteri" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Exempt" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Exempt" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Inviti" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Invita" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Quiet" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Quiet" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copia maschera" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s su %s da %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copia elemento" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Non connesso." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "È necessario selezionare alcuni ban." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Rimuovere veramente tutti gli elementi elencati in %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipo" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maschera" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Da" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "È possibile aprire la finestra con l'elenco dei ban solo mentre si è nella scheda di un canale" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "elenco dei ban (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Rimuovi" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Crop" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Aggiorna" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Mostra utenti %d/%d su %d/%d canali" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Scegliere il nome del file di output" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Entra nel canale" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copia il nome del canale" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copia l'argomen_to del canale" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "elenco canali (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "Ce_rca" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "E_lenco scaricamenti" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Salva e_lenco..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Mostra solo:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canali con, da" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "utenti." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Cerca in:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nome canale" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipo di ricerca:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Ricerca semplice" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Corrispondenza modello (meta-caratteri)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Espressione regolare" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Trova:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Invia file a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Impossibile ripristinare il file." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Impossibile accedere al file: %s\n%s.\nImpossibile ripristinarlo." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Il file nella directory di scaricamento è più grande di quello offerto. Impossibile ripristinarlo." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Impossibile ripristinare lo stesso file da due persone." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "trasferimenti file - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Stato" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "File" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Tempo mancante" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Entrambi" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Caricamenti" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Scaricamenti" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Dettagli" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "File:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Indirizzo:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Interrompi" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accetta" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Ripristina" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Apri cartella..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "elenco chat DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Ricevuto" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Inviato" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Ora d'inizio" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Aggiungi" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Cancella" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Annulla" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Salva" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Non connettere automaticamente ai server" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Usa una cartella di configurazione diversa" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Non caricare automaticamente i plugin" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Mostra directory di plugin e script caricati automaticamente" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mostra la cartella di configurazione utente" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Apre un URL irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Eseguire comando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Apri URL o esegui comando in una istanza di HexChat esistente" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Avvia minimizzato. Livello 0=normale 1=ridotto a icona 2=nell'area di notifica" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "livello" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Mostra informazioni sulla versione" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Impossibile aprire il carattere:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Buffer di ricerca vuoto.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Coda di invio rete: %d byte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "La funzione Run Command esegue il contenuto di «Dati 1» come se fosse stato digitato nella casella di testo dove è stata premuta la combinazione di tasti. Può contenere testo (che verrà inviato ad un canale/utente), comandi o comandi utente. Quando in «Dati 1» sono presenti più comandi, i caratteri \\n vengono utilizzati per separali, in modo da eseguire più di un comando. Per inserire una \\ nell'attuale esecuzione testuale digitare \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "La funzione Change Page consente di spostarsi tra le pagine aperte. Inserire in «Dati 1» la pagina a cui si vuole accedere. Se «Dati 2» è impostato il cambio sarà relativo alla posizione attuale. Impostare «Dati 1» ad «auto» per spostarsi nella pagina con l'attività più recente e importante (prima le query, poi i canali con messaggi evidenziati, i canali con dialoghi, quindi i canali con altri dati)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "La funzione Insert in Buffer inserirà il contenuto di «Dati 1» nella casella di testo dove è stata eseguita la combinazione di tasti nella posizione attuale del cursore" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Il comando Scroll Page scorre l'oggetto testo su o giù di una pagina o di una riga. Impostare Data 1 a Top, Bottom, Up, Down, +1 o -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "La funzione Set Buffer inserisce nella casella di testo dove viene premuta la combinazione di tasti il valore contenuto in «Dati 1»" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "La funzione Last Command inserisce nella casella di testo l'ultimo comando disponibile digitato - così come accade premendo il tasto «freccia su» in un terminale" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "La funzione Next Command inserisce nella casella di testo il successivo comando disponibile - così come accade premendo il tasto «freccia giù» in un terminale" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Questo comando modifica il testo digitato per completare automaticamente un soprannome o un comando. Se «Dati 1» è configurato, la doppia pressione del tasto «Tab» in una stringa selezionerà l'ultimo soprannome e non il successivo" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Questo comando scorre l'elenco dei soprannomi. Se «Dati 1» è impostato lo scorrimento avverrà verso l'altro, altrimenti verso il basso" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Questo comando controlla l'ultima parola inserita nella casella di testo con l'elenco delle risposte, se viene trovata una corrispondenza viene sostituita" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Questo comando sposta la scheda verso sinistra" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Questo comando sposta la scheda verso destra" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Questo comando sposta il gruppo di schede attuale verso sinistra" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Questo comando sposta il gruppo di schede attuale verso destra" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Inserisci la riga di inserimento nella cronologia ma senza inviarla al server" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Si è verificato un errore caricando la configurazione delle combinazioni di tasti" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Selezionare una riga per ottenere infromazioni sull'azione" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "scorciatoie da tastiera - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Impossibile scrivere su quel file." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Impossibile leggere quel file." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Maschera già esistente." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privato" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Avviso" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Non ignorare" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Rimuovere veramente tutti gli utenti ignorati?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Inserire maschera da ignorare:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "elenco utenti ignorati - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statistiche utenti ignorati:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canale:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privato:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Avviso:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Invita:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Aggiungi..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nome del canale troppo corto, riprovare." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "connessione completata - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Connessione a %s completata." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Nella finestra con l'elenco dei server, nessun canale (stanza) è stato scelto per l'ingresso automatico in questa rete." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Cosa fare successivamente?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Niente, verrà selezionato successivamente un canale." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Entrare in questo canale:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se si conosce il nome del canale nel quale si vuole entrare, digitarlo qui." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "A_pri l'elenco dei canali." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "La rilevazione dell'elenco dei canali può durare uno o due minuti." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "Mostr_are sempre questo dialogo dopo la connessione" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialoga con" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "L'argomento di %s è: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nessun argomento impostato" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Questo server ha ancora %d canali o dialoghi associati. Chiudere tutto?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Chiusura di HexChat" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Non chiedere la prossima volta." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Reti IRC connesse %i." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Chiudere veramente l'applicazione?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Alcuni trasferimenti di file sono ancora in corso." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizza nell'area di notifica" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Inserisci attributo o codice colore" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Grassetto</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Sottolineato</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Corsivo</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normale" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Colori 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Colori 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "Impo_stazioni" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Registra su_l disco" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Ricarica conversazioni precedenti" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "_Colori di strip" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Nascondi messaggi di entrata e uscita" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Avvisi a_ggiuntivi" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Suono sul _messaggio" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "_Icona lampeggiante nell'area di notifica" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "_Barra delle attività lampeggiante" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Separa" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Chiudi" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Il limite utenti deve essere un numero.\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtra colori" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Nessun messaggio esterno" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Argomento protetto" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Solo su invito" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderato" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Elenco dei ban" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Parola chiave" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limite utenti" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Nuovo soprannome:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nessun risultato trovato." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Ricerca finita o non trovato." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "E_videnzia tutti" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Evidenzia tutte le ricorrenze e sottolinea quella attuale." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Corrispondenza MAIUSCOLO/minuscolo" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Esegue una ricerca distinguendo maiuscole e minuscole." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Considera la stringa di ricerca come un'espressione regolare." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host sconosciuto" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Account sconosciuto" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Sconosciuto" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nome vero:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Utente:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Account:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Nazione:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuti fa" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Ultimo messaggio:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Messaggio di assenza:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d soprannomi selezionati." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "La barra dei menù è ora nascosta. È possibile mostrarla nuovamente premendo Ctrl+F9 o facendo clic con il pulsante destro in uno spazio vuoto dell'area di testo principale." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Apri il collegamento nel browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copia collegamento selezionato" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Entra nel canale" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Abbandona il canale" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Prova il canale" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Accesso automatico" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Accesso automatico al canale" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "Connetti _automaticamente" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "menù utente - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Modifica questo menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Linea di demarcazione disabilitata." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Linea di demarcazione mai impostata." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Linea di demarcazione reimpostata manualmente." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Linea di demarcazione reimpostata a causa del superamento del limite per le conversazioni precedenti." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Linea di demarcazione reimpostata dal comando CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Stato della linea di demarcazione sconosciuto." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Recupera elenco canali" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "è stato compilato senza il supporto ai plugin." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Comandi utente - Codici speciali:\n\n%c = canale attuale\n%e = nome della rete attuale\n%m = informazioni sulla macchina\n%n = proprio soprannome\n%t = ora/data\n%v = versione HexChat\n%2 = parola 2\n%3 = parola 3\n&2 = parola 2 alla fine della riga\n&3 = parola 3 alla fine della riga\n\nesempio:\n/cmd john ciao\n\n%2 dovrebbe essere \"john\"\n&2 dovrebbe essere \"john ciao\"" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Pulsanti elenco utente - codici speciali:\n\n%a = tutti i soprannomi selezionati\n%c = canale attuale\n%e = nome rete attuale\n%h = nomi host dei soprannomi selezionati\n%m = informazioni sulla macchina\n%n = proprio soprannome\n%s = soprannome selezionato\n%t = orario/data\n%u = account utenti selezionati" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Pulsanti dialogo - codici speciali:\n\n\n%a = tutti i soprannomi selezionati\n%c = canale attuale\n%e = nome rete attuale\n%h = nomi host dei soprannomi selezionati\n%m = informazioni sulla macchina\n%n = proprio soprannome\n%s = soprannome selezionato\n%t = orario/data\n%u = account utenti selezionati" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Risposte CTCP - Codici speciali:\n\n%d = dati (tutto il ctcp)\n%e = nome della rete attuale\n%m = informazioni sulla macchina\n%s = soprannome di chi ha inviato il ctcp\n%t = ora/data\n%2 = parola 2\n%3 = parola 3\n&2 = parola 2 alla fine della riga\n&3 = parola 3 alla fine della riga\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Gestori URL - Codici speciali:\n\n%s = stringa dell'URL\n\nInserire un «!» davanti al comando\nindica che deve essere inviato\nad un terminale invece che ad HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "comandi definiti dall'utente - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu popup lista utenti - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "sostituisci - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Sostituisci con" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "gestori URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "pulsanti elenco utenti - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "pulsanti dialogo - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "risposte CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Elenco _rete" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nuova" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Scheda server" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Scheda canale" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Finestra server" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Finestra canale" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "Carica p_lugin o script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Esci" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Visualizza" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Barra dei _menù" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra dell'argomen_to" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Elenco _utenti" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Pul_santi elenco utenti" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Pulsanti m_odalità" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Elenco _canali" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Schede" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Albe_ro" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "A_nalizzatore rete" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Disattivato" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafico" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "Sc_hermo intero" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Disconnetti" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Riconnetti" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Entra in un canale" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "E_lenco canali" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Contrassegna come _Assente" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menù _utente" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Impostazioni" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferenze" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Sostituzione automatica" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Risposte CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Pulsanti di dialogo" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Scorciatoie da tastiera" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Eventi testuali" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Gestori URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Comandi utente" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Pulsanti elenco utenti" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Popup elenco utenti" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Finestra" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "Elenco dei _ban" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Chat diretta" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Trasferimenti di file" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Elenco amici" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Elenco utenti ignorati" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Plugin e script" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Registro grezzo" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Cattura _URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Azzera linea di demarcazione" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Spostarsi alla linea di demarcazione" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copia selezione" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Pu_lisci testo" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Salva testo" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Cerca" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Cerca testo" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Ricerca successivo" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Ricerca precedente" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "A_iuto" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Contenuti" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Informazioni" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Riunisci" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Ultima volta visto" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Non in linea" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Mai" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuti fa" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Un'ora fa" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d ore fa" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "In linea" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Inserire soprannome da aggiungere:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificare su queste reti:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Elenco di reti, separate da virgole." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "elenco amici - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Apri dialogo" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Messaggio evidenziato da: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Messaggio del canale da: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "File offerto da: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invitato nel canale da: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notizia da: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Messaggio privato da: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "reti connesse %u, canali %u - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Ripristina finestra" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Nascondi finestra" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Lampeggia per" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Messaggio del canale" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Messaggio privato" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Messaggio evidenziato" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Cambia stato" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Assente" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Presente" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "messaggio evidenziato da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u messaggi evidenziati, l'ultimo da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "messaggio del canale da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u messaggi dal canale. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "messaggio privato da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u messaggi privati, l'ultimo da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "file offerto da: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u file offerti, l'ultimo da: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versione" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descrizione" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Seleziona il plugin o lo script da caricare" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "plugin e script - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Carica..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Disattiva" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Ricarica" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Salva come..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "registro in forma grezza (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Pulisci registro" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nuova rete" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Rimuovere veramente la rete «%s» e tutti i relativi server?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Il nome utente non può essere vuoto." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Non è possibile avere un soprannome vuoto." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "È necessario avere due soprannomi univoci." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Il metodo usato per autenticarsi sul server. Per metodi di accesso personalizzati usare i comandi di connessione." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "modifica %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Server" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Canali a cui accedere automaticamente" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Comandi dopo la connessione" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Soprannome\n%p=Password\n%r=Nome vero\n%u=Nome utente" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Chiave (password):" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Modifica" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Connettere solo al server selezionato" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Non provare tutti i server quando la connessione non riesce." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Connettere automaticamente a questa rete" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Scavalcare il server proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Usare SSL per tutti i server di questa rete" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Accettare certificati SSL non validi" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Usare informazioni utente globali" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Sopra_nnome:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Seconda scelta:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nome _vero:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nome _utente:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Metodo di accesso:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Password:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Password usata per effettuare l'accesso. In caso di subbio, lasciare vuoto." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Set di caratteri:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "elenco reti - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informazioni utente" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Terza scelta:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Reti" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Non visualizzare l'elenco reti all'avvio" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Visualizzare solo reti preferite" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Modifica..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Ordina" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Ordina l'elenco delle reti alfabeticamente. Usare i tasti Maiusc+Freccia sù e Maiusc+Freccia giù per spostare una riga." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "Pre_ferita" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Contrassegna la rete selezionata come preferita." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Co_nnetti" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Africano" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanese" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amarico" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturiano" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azero" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basco" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorusso" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaro" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Cinese (semplificato)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Cinese (tradizionale)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Ceco" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danese" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Olandese" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Inglese (britannico)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Inglese" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estone" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finlandese" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francese" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiziano" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Tedesco" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Greco" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Indi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungherese" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesiano" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiano" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Giapponese" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreano" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lettone" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituano" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedone" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malese" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvegese (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvegese (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polacco" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portoghese" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portoghese (brasiliano)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russo" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbo" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovacco" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Sloveno" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spagnolo" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Svedese" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turco" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ucraino" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamita" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Vallone" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Generale" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Lingua:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Carattere principale:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Carattere:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Area di testo" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Soprannomi colorati" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Assegna a ciascun utente su IRC un colore differente" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indentare soprannomi" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Allinea i soprannomi a destra" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostrare riga di demarcazione" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Inserisce una riga rossa dopo l'ultimo messaggio letto." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Immagine di sfondo:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Impostazioni trasparenza" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacità finestra:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Marcatura temporale" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Abilita marcatura temporale" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Formato marcatura temporale:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Per maggiori informazioni, consultare l'articolo MSDN di strftime." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Per maggiori informazioni, consultare il manuale di strftime." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barra del titolo" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Mostrare la modalità del canale" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Mostrare il numero di utenti" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "alfabeticamente (A-Z)" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "prima l'ultimo che ha parlato" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Area di input" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Usa i caratteri e i colori della casella di testo" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Resa a schermo di colori e attributi" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Mostrare casella soprannome" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Mostrare icona modalità utente nella casella del soprannome" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Controllo del periodo" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Dizionario da usare:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Usa codici lingua (come in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSeparare le voci con un virgola." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Usare i codici della lingua. Separare voci multiple con una virgola." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Completamento dei soprannomi" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffisso al completamento dei soprannomi:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Ordinare i soprannomi completati:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Numero di soprannomi completati:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Soglia di soprannomi da iniziare a elencare invece di completarli" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "soprannomi." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafico" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, prima gli operatori" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, operatori alla fine" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "alfabeticamente (Z-A)" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "non ordinare" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Sinistra (più alto)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Sinistra (più basso)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Destra (più alto)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Destra (più basso)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "in alto" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "in basso" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "nascosto" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Elenco utenti" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Mostrare nome host nell'elenco utenti" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Usa carattere e colori dell'area testo" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Mostrare icone per le modalità utente" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Usa icone al posto dei simboli di testo nell'elenco utenti." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Colorare i soprannomi nell'elenco utente" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "I soprannomi verranno colorati come nella finestra di chat." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Mostrare il numero di utenti nei canali" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Ordinare elenco utenti:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Posizionare elenco utenti:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Stato di assenza" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Tieni traccia degli stati di assenza degli utenti e contrassegnali con un colore differente" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Sui canali più piccoli di:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Azione da eseguire sul doppio-clic" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Funzioni aggiuntive" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Misuratore del ritardo (lag):" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Misuratore velocità trasferimento:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Finestre" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Schede" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Solo schede richieste" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "automaticamente" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "in una scheda aggiuntiva" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "nella scheda aperta" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Albero" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Tipo di selettore canali:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Aprire una scheda aggiuntiva per i messaggi del server" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Aprire una nuova scheda quando si riceve un messaggio privato" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordinare le schede in modo alfabetico" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Mostrare le icone nell'albero dei canali" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Mostrare linee tratteggiate nell'albero dei canali" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Usare la rotellina del mouse per combiare scheda" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Clic centrale per chiudere la scheda" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Ridurre le dimensioni del testo" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Focus nuove schede:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Posizionare le notizie:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Posizionare elenco canali:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Etichette schede abbreviate a:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "lettere." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Schede o finestre" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Aprire canali in:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Aprire dialoghi in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Aprire utilità in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Aprire DCC, elenco ignorati, notifiche ecc, in schede o finestre?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Messaggi" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Conversazioni precedenti" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Chiedi conferma" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Chiedi quale cartella usare" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Salva senza chiedere conferma" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "File e cartelle" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Accettare automaticamente i file offerti:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Scaricare i file in:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Spostare i file completi in:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Salvare il soprannome nei nomi dei file" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Apri automaticamente finestre DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Finestra d'invio" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Finestra di ricezione" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Finestra di chat" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Velocità massima di trasferimento (byte al secondo)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Un caricamento:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocità massima per un trasferimento" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Uno scaricamento:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Tutti i caricamenti combinati:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocità massima per tutti i file" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Tutti gli scaricamenti combinati:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Avvisi" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Mostrare notifiche per:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Icona lampeggiante nell'area di notifica per:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Barra delle attività lampeggiante per:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Emettere un suono per:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Riproduce il suono di sistema per le notifiche di messaggistica istantanea per gli eventi selezionati" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Riproduce il suono per le notifiche di messaggistica istantanea dal tema freedesktop.org per gli eventi selezionati" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Riprodurre un suono per gli eventi selezionati" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Omettere gli avvisi quando assente" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Omettere gli avvisi quando la finestra ha il focus" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportamento dell'area di notifica" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Abilitare icona nell'area di notifica" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimizzare nell'area di notifica" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Chiudere nell'area di notifica" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Assegnare e rimuovere automaticamente lo stato di assenza" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Cambia automaticamente lo stato quando si minimizza la finestra nel vassoio." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Mostrare le notifiche solo quando nascosto o ridotto a icona" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Messaggi evidenziati" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "I messaggi evidenziati sono quelli in cui compare il proprio soprannome, ma anche:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Altre parole da evidenziare:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Soprannomi da non evidenziare:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Soprannomi da evidenziare sempre:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separare le parole con virgole.\nSono ammessi i meta-caratteri." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Icona rimbalzante nella barra per:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Messaggi predefiniti" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Uscita:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Abbandono del canale:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Assenza:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Assenza" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Mostrare lo stato di assenza una sola volta" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Mostra i messaggi di assenza identici una sola volta." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Togliere automaticamente lo stato di assenza" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Toglie lo stato di assenza prima di inviare messaggi." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Varie" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Mostrare le «modalità» in forma grezza" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS su notifica" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Invia il comando /WHOIS quando un utente presente nell'elenco di notifica si collega." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Nascondere i messaggi di entrata e uscita" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Nasconde i messaggi di entrata e uscita nei canali in maniera predefinita." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Nascondere i messaggi del cambio di soprannome" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@dominio" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*utente@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*utente@dominio" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportamento per la copia automatica" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copiare automaticamente il testo selezionato" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copia il testo selezionato negli appunti quando il pulsante sinistro del mouse viene rilasciato. In alternativa, usare Ctrl+Maiusc+C per copiare il testo selezionato negli appunti" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Includere automaticamente marcatura temporale" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Include automaticamente la marcaura temporale nelle righe di testo copiate. In alternativa, include la marcatura temporale se li tasto Maiusc è premuto durante la selezione." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Includere automaticamente le informazioni sul colore" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Include automaticamente le informazioni sul colore nelle righe di testo copiate. In alternativa, include le informazioni sul colore se il tasto Ctrl è premuto durante la selezione." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nome vero:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Caratteri alternativi:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Separare le voci con virgole, senza spazi né prima né dopo." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Mostrare gli elenchi in modalità compatta" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Usa una spaziatura inferiore tra l'elenco utenti e l'albero dei canali" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Usare l'ora del server se supportata" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Mostra l'orario ottenuto dal server se è supportata l'estensione \"time-server\"." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Riconnettere automaticamente ai server se disconnessi" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Attesa prima della nuova connessione automatica:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Attesa prima dell'accesso automatico" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Tipo di ban:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Tenta di usare questa maschera per i ban e i quiet. (È richiesto irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Registrazione" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Mostrare conversazioni della sessione precedente" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Righe precedenti visibili:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Abilitare registrazione delle conversazioni sul disco" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nome file del registro:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Canale %n=Rete." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Inserire orario nei registri" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formato orario del registro:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Abilitare la registrazione degli URL sul disco" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Abilitare la collezione degli URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Numero massimo di URL da collezionare:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(disabilitato)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automatico" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Tutte le connessioni" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Solo server IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Solo DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Proprio indirizzo" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Associare a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Utile solo per computer con indirizzi multipli." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Trasferimenti di file" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Ottenere l'indirizzo dal server IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Chiede al server IRC il vero indirizzo. Abilitare questa funzione se si utilizza un indirizzo 192.168.*.*" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Indirizzo IP per DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Mostra questo indirizzo quando si offrono file." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Prima porta di ascolto DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Ultima porta di ascolto DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Impostare le porte a zero per utilizzare l'intervallo completo." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Server proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Nome host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Porta:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Usa proxy per:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticazione proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Usa autenticazione (solo HTTP o SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Nome utente:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Server identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Attivo" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Il server risponderà con il nome utente delle reti" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Sono necessari i permessi per ascoltare su questa porta. Se non è la 113 (0 equivale a questa) allora è necessario configurare il port forwarding." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Seleziona un'immagine" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Seleziona la cartella di scaricamento" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Seleziona il carattere" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Sfoglia..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Apri cartella dati..." + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleziona un colore" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Colori del testo" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Colori di mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Colori locali:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Primo piano:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Sfondo:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Testo selezionato" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Colori dell'interfaccia" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nuova data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Seleziona linea:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nuovo messaggio:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Utente assente:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Evidenziazione:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Controllo ortografico:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Strip del colore" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "File sonoro" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Seleziona un file sonoro" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "File sonoro:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Sfoglia..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Ri_produci" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interfaccia" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Aspetto" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Area di testo" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Elenco utenti" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Elenco canali" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Colori" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Finestra di chat" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Suoni" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avanzate" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Impostazioni rete" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Trasferimenti di file" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorie" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Impossibile posizionare l'albero in alto o in basso.\nSelezionare prima la vista a <b>Schede</b> nel menù <b>Visualizza</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "L'opzione del vero nome non può essere vuota. Verrà ripristinato il valore \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Alcune impostazioni sono state modificate e richiedono il riavvio per essere applicate." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ATTENZIONE*\nAccettare automaticamente DCC nella propria home\npotrebbe essere pericoloso. Esempio:\nQualcuno potrebbe inserire un file .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "preferenze - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(nessun suggerimento)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Altro..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Aggiungi «%s» al dizionario" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignora tutto" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Suggerimenti ortografici" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "errore di enchant per la lingua: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Si è verificato un errore analizzando la stringa" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "A questo segnale vengono passati solo %d argomenti, $%d non è valido" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Salva in un file di testo" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Numero" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Modifica eventi" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Carica da..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Prova tutto" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL collezionati - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Pulisci elenco" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copia l'URL selezionato" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copia" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Salva l'elenco in un file" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d totali" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Apri un URL irc://server:porta/canale" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: impossibile ottenere informazioni. Non supportato o errore." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: nessuna informazione per quel nome\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s è impostato a: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: le impostazioni valide sono: announce e hide_* per ogni parte delle informazioni. Per esempio hide_os. Senza un valore verrà mostrato il contenuto attuale (o predefinito).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: nome variabile non valido\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Plugin %s attivato\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Plugin %s disattivato\n" diff --git a/po/ja_JP.po b/po/ja_JP.po new file mode 100644 index 0000000000000000000000000000000000000000..7160556a71d39800a1099b62152c109237e208d6 --- /dev/null +++ b/po/ja_JP.po @@ -0,0 +1,6260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# k725, 2014 +# Emmanuel Chanel <emmanuelchanel@gmail.com>, 2013-2014 +# Itsuki Toyota <titsuki@cpan.org>, 2020 +# k725, 2014 +# Ooyama Yosiyuki <qqke6wd9k@apricot.ocn.ne.jp>, 2016 +# pabook_32 <inactive+pabook_32@transifex.com>, 2015 +# pabook_32 <inactive+pabook_32@transifex.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2020-01-03 01:18+0000\n" +"Last-Translator: Itsuki Toyota <titsuki@cpan.org>\n" +"Language-Team: Japanese (Japan) (http://www.transifex.com/hexchat/hexchat/language/ja_JP/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja_JP\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRCクライアント" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChatは使いやすく、しかも拡張可能なIRCクライアントです。安全に複数のネットワークに参加でき、カスタマイズ可能なインターフェイスを使用してチャネルのユーザーと話すことが可能、さらにファイルを転送することができます。" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChatは、次の機能をサポートしています: DCC, SASL, プロキシ, スペルチェック, アラート, カスタムテーマ, Python/Perl スクリプト" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "他の人とオンラインチャットをします" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "セーフモードで開く" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChatテーママネージャー" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "多忙" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "さようなら" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "ネットワーク" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<なし>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "チャンネル" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "待機中" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "アクティブ" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "失敗" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "終了" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "接続" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "中断" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s へアクセスできません。\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "エラー" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s が「%s」を提案しています。受け付けますか?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "アクティブな DCC はありません\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "ダイアログウィンドウを開く(_O)" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "ファイルを送信(_S)" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "ユーザー情報(Whois)(_U)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "フレンドリストに追加(_A)" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "無視(_I)" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "オペレーターアクション(_P)" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "オペレーター権限を与える" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "オペレーター権限を奪う" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "発言権を与える" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "発言権を奪う" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "キック/バン" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "キック" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "バン" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "キックバン" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "チャンネルを離れる" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "チャンネルへ参加..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "参加するチャンネルを入力:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "サーバーリンク" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "ピングサーバー" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "バージョンを隠す" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "オペレーター" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "オペレーター権限剥奪" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "さようなら" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s をキックする理由を入力:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "ダイアログ" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "送信" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "消去" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "%s へのに書き込み許可がありません。このセッションの何も保存されません。" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC を root 権限で立ち上げるなんて愚かにも程があります!\n きちんとユーザーアカウント作成してから そのユーザーで\n ログインしなおしてください。\n\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "はい " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "いいえ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s から大量の CTCP が来ました。%s を無視します。\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s オンライン\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s オフライン\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "チャンネルに参加していません。「/join #<チャンネル>」を実行してください。\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "サーバーと接続していません。「/server <ホスト> [<ポート>]」を実行してください。\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "サーバー %s はすでに %s ネットワークに存在しています。\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "サーバー %s を %s ネットワークに追加しました。\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "すでに離席状態です: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "すでに着席状態です。\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "実行には /bin/sh が必要です!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "以下のコマンドが利用できます:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "ユーザー定義コマンド:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "プラグイン定義コマンド:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "詳細は「/HELP <コマンド>」もしくは「/HELP -l」と入力してください。" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "不明な引数 '%s' を無視します。" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Quiet 機能はこのサーバーではサポートしていません。" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "そのようなプラグインはありません。\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "そのプラグインの読み込み解除を拒絶しています。\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <名前> <動作>, ユーザーリストの下にボタンを加える" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <コマンド>, 参加している全チャンネルへコマンドを送信する" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <コマンド> 現在のサーバーの全てのチャンネルにコマンドを送ります。" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <コマンド>, 入っている全サーバーにコマンドを送信する" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "Back, 着席状態(離席でない状態)にセットします。" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <マスク> [<禁止タイプ>], 現在のチャンネルから, マスクに一致するニックをバンする. 既にチャンネルに参加しているニックに関しては効果がない (オペレーター権限が必要)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <変数> [<値>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<文字コード>], 現在の接続の文字コードを取得あるいはセットします。" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <国別コード|ワイルドカード>, 国別コードを表示します。 eg: au = オーストラリア" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <ニック> <メッセージ>, CTCP メッセージを指定のニックへ送信する。メッセージは普通, VERSION や USERINFO を使う" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<チャンネル>], チャンネルを離席し、即時に再入室します。" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <ニック> - 差し出されたファイルを受け取る\nDCC SEND [-maxcps=#] <ニック> <ファイル> - ファイルを送信する\nDCC PSEND [-maxcps=#] <nick> [file] - パッシブモードでファイルを送信する\nDCC LIST - DCC 一覧を表示する\nDCC CHAT <ニック> - DCC CHAT を申し込む\nDCC PCHAT <ニック> - パッシブモードで DCC CHAT を申し込む\nDCC CLOSE <種類> <ニック> <ファイル> 例:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <ニック>, 現在のチャンネルの指定ニックからハーフオペレーター権限を剥奪する (オペレーター権限が必要)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ボタン名>, ユーザーリストの下のボタンを削除する" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <ニック>, 現在のチャンネルの指定ニックからオペレーター権限を剥奪する (オペレーター権限が必要)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <ニック>, 現在のチャンネルの指定ニックから, 発言権を削除する (オペレーター権限が必要)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, サーバーからの接続を切断する" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO テキスト, テキストをローカル上に表示する" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <コマンド>, コマンドを実行する. -o フラグを利用すると出力は現在のチャンネルへ送信する。それ以外は現在のテキスト・ボックスに表示する" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, プロセスに対して SIGCONT を発行する" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], 現在のプロセスに対してシグナルを発行する。-9 を指定した場合、プロセスは SIGKILL される" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, プロセスに対して SIGSTOP を発行する" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, プロセスの標準入力へデータを送信する" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, 現在サーバーの送信キューをフラッシュする" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <ホスト> [<ポート>], 指定ホストを通したプロキシ。標準ポートは 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <ニック> [パスワード], 幽霊化したニックを Kill します。" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ニック>, 指定のニックにハーフオペレーター権限を与える (オペレーター権限が必要)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <パスワード>, nickserv に自分を確認します" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "/IGNORE <マスク> <種類...> <オプション...>\n マスク - 無視するホスト名のマスク, 例: *!*@*.ne.jp\n 種類 - 無視するデータの種類, 以下の一つもしくは全部:\n PRIV, CHAN, NOTI, CTCP, INVI, ALL\n オプション - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <ニック> [<チャンネル>], 指定のチャンネルへ招待する。標準では現在のチャンネル名 (オペレーター権限が必要)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <チャンネル>, チャンネルに参加する" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, 新規ラグチェックを強制する" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <文字列>, バッファ中から文字列を検索する。\n -h で、ヒットした文字列にハイライトをつけます。\n -m で大文字・小文字の区別をします。\n -r は正規表現文字列で検索する事を表します。\n -- (ダブル・ハイフン)は、 '-r' オプションで検索文字列の終了を表します。" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ファイル>, スクリプトかプラグインを読み込む" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, 現在のチャンネルの全員のハーフオペレーター権限を剥奪する (オペレーター権限が必要)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, 現在のチャンネルの全員のオペレーター権限を剥奪する (オペレーター権限が必要)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <行動>, 現在のチャンネルに対して, 指定の ACTION を送信する (行動は 『/me jumps』のように第3者側で書かれる)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, 現在のチャンネルの全員にハーフオペレーター権限を与える (オペレーター権限が必要)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, 現在のチャンネルの自分以外の全員をキックする (オペレーター権限が必要)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, 現在のチャンネルの全員のオペレーター権限を剥奪する (オペレーター権限が必要)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ニック> <メッセージ>, CTCP NOTICE を送信する" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <ホスト名> [<ポート>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ニック>, 自分のニックを設定する" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<ニック>], 通知リストを表示したり、通知リストにニックを追加します。" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ニック>, 指定のニックにオペレーター権限を与える (オペレーター権限が必要)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<チャンネル>] [<理由>], チャンネルを去る。デフォルトでは現在のチャンネル" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <ニック | チャンネル>, ニックかチャンネルへ CTCP PING をかける" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<理由>], 現在のサーバーから接続を切断する" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <テキスト>, サーバーへ生形式のテキストを送信する" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<ホスト>] [<ポート>] [<パスワード>], /RECONNECTだけで現在のサーバーに接続しなおすこともできるし、/RECONNECT ALLで開いているサーバーすべてに接続しなおすこともできる" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<ホスト>] [<ポート>] [<パスワード>], /RECONNECTだけで現在のサーバーに接続しなおすこともできるし、/RECONNECT ALLで開いているサーバーすべてに接続しなおすこともできる" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <テキスト>, カレントウィンドウのオブジェクトへテキストを送信する" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ニック> [<ファイル>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <ホスト> <ポート> <チャンネル>, 接続およびチャンネルへ参加する" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <ホスト> <ポート> <チャンネル>, 接続およびチャンネルへ参加する" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <ホスト> [<ポート>] [<パスワード>], サーバーに接続します。デフォールトのポートは、通常は 6667 、SSL接続の場合は 6697 です。" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <ホスト> [<ポート>] [<パスワード>], サーバーへ接続する。標準ポート番号は6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <変数> [<値>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, カーソルを入力ボックスに合わせます。" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<トピック>], トピックを設定する。引数がなければ現在のトピックを表示する" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <マスク> [<マスク>...], 指定したマスクのBanを解除する" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <マスク> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <名前> プラグインかスクリプトの読み込みをやめる" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ブラウザーで URL を開く" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <ニック1> <ニック2> など、チャンネルのユーザー一覧のニックをハイライトにします" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ニック>, 発言権を指定のニックへ与える (オペレーター権限が必要)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <メッセージ>, 全チャンネルへメッセージを送信する" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <メッセージ>, 現在のチャンネルのオペレーター権限保持者全員へメッセージを送信する" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "使い方: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nこのコマンドのヘルプは利用できません.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "そのようなコマンドはありません.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "ユーザーコマンドに対して不正な引数を与えています.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "ユーザーコマンドの再帰が多すぎます。アボートします。" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "このサーバーとポートが SSL 対応なのは確かですか?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "ホスト名「%s」を解決できません。\nIP 設定を確認してください!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%Uチャンネル ユーザー トピック" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) が参加" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$t通知リストの内容が空です。" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s でログ記録終了\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s からログ記録開始\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "左メッセージ" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "右メッセージ" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP アドレス" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "ユーザー名" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "参加したニック" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "参加したチャンネル" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "ニックのホスト" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "個人のアカウント" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "ニックネーム" + +#: src/common/text.c:980 +msgid "The action" +msgstr "アクション" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "モード文字" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "識別テキスト" + +#: src/common/text.c:987 +msgid "The text" +msgstr "テキスト" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "メッセージ" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "サーバー名" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "サーバーの機能" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "要求された機能" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "旧ニックネーム" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "新ニックネーム" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "トピックを変更したニック" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "トピック" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "キックしたニック" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "キックされたニック" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "チャンネル" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "理由" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "離脱したニック" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "時間" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "作成者" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "ニック" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "理由" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "ホスト" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "誰から" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x 形式による時刻 (下参照)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "発行されたチャンネル" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "サウンド" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "ニック" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP イベント" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "キーワードを設定したニック" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "キーワード" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "制限を設定したニック" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "制限" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "オペレーター権限をもらったニック" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "ハーフオペレーター権限をもらったニック" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "発言権をもらったニック" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "バンされたニック" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "バンマスク" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "キーワードを削除したニック" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "制限を削除したニック" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "オペレーター権限を取られたニック" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ハーフオペレーター権限を取られたニック" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "発言権を取り上げられたニック" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "免除を行ったニック" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "免除マスク" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "免除を削除したニック" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "招待したニック" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "招待マスク" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "招待マスクを削除したニック" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "モードを設定したニック" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "モードの符号 (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "モード文字" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "チャンネルのモードは" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "フルネーム" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "チャンネル メンバシップ /\"はIRC 管理者\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "サーバー情報" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "アイドル時間" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Signon 時間" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "離席理由" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "メッセージ" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "アカウント" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "リアル user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "リアル IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "チャンネル名" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "メカニズム" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "テキスト" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "自分を招待したニック" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "ユーザー" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "使用するニック" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "次に試行するニック" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IPアドレス" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "ポート" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "モード文字列" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC タイプ" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "ファイル名" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "目的先ファイル名" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "パス名" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "場所" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "サイズ" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC 文字列" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "離席理由" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "通知アイテム数" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "旧ファイル名" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "新ファイル名" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "受取人" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "ホストマスク" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "ホスト名" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "パケット" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "自分を招待したニック" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "バンマスク" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "バンを設定した人" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "バン時間" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "サウンドファイルの読み込みができません:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "リモートホストがソケットを閉じました。" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "接続が拒否されました。" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "ホストへの経路がありません。" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "接続時間アウト" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "そのアドレスは予約できません。" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "peerによって接続がリセットされました。" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "アセンション島" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "アンドラ" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "アラブ首長国連邦" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "アフガニスタン" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "アンティグアバーブーダ" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "アンギラ" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "アルバニア" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "アルメニア" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "蘭領アンティル諸島" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "アンゴラ" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "南極大陸" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "アルゼンチン" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "逆引きDNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "米領サモア" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "アジア太平洋地域" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "オーストリア" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "NATO領地" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "オーストラリア" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "アルーバ" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "オーランド諸島" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "アゼルバイジャン" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "ボスニア・ヘルツェゴビナ" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "バルバドス" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "バングラディシュ" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "ベルギー" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "ブルキナファソ" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "ブルガリア" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "バーレーン" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "ブルンジ" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "ビジネス" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "ベニン" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "バミューダ" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "ブルネイ・ダルサラーム国" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "ボリビア" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "ブラジル" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "バハマ" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ブータン" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "ブーベ島" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "ボツワナ" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "ベラルーシ" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "ベリーズ" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "カナダ" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "カタルーニャ" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "ココス諸島" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "コンゴの民主主義共和国" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "中央アフリカ共和国" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "コンゴ" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "スイス" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "コートジボワール" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "クック諸島" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "チリ" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "カメルーン" + +#: src/common/util.c:738 +msgid "China" +msgstr "中国" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "コロンビア" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "企業" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "協同組合" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "コスタリカ" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "セルビアとモンテネグロ" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "キューバ" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "ケープベルデ" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "クリスマス諸島" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "キプロス" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "チェコ共和国" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "東ドイツ" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "ドイツ" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "ジブチ" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "デンマーク" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "ドミニカ" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "ドミニカ共和国" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "アルジェリア" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "エクアドル" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "学術機関" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "エストニア" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "エジプト" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "西サハラ" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "エリトリア" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "スペイン" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "エチオピア" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "欧州連合" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "フィンランド" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "フィジー" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "フォークランド諸島" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "ミクロネシア" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "フェロー諸島" + +#: src/common/util.c:770 +msgid "France" +msgstr "フランス" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "ガボン" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "イギリス" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "グレナダ" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "ジョージア" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "仏領ギアナ" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "英領チャネル諸島" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "ガーナ" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "ジブラルタル" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "グリーンランド" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "ガンビア" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "ギニア" + +#: src/common/util.c:782 +msgid "Government" +msgstr "政治" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "グアドループ" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "赤道ギニア" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ギリシャ" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "サウスジョージア・サウスサンドウィッチ諸島" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "グァテマラ" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "グアム" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "ギニアビサウ" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "ギアナ" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "香港" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "ハードマクドナルド諸島" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "ホンジュラス" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "クロアチア" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "ハイチ" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "ハンガリー" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "インドネシア" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "アイルランド" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "イスラエル" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "マン島" + +#: src/common/util.c:801 +msgid "India" +msgstr "インド" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "情報" + +#: src/common/util.c:803 +msgid "International" +msgstr "国際" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "英領インド洋領域" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "イラク" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "イラン" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "アイスランド" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "イタリア" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "ジャージー" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "ジャマイカ" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "ヨルダン" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "仕事関連" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "ケニア" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "キルギスタン" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "カンボジア" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "キリバス" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "コモロ" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "セントキッツネビス" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "北朝鮮" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "韓国" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "クエート" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "ケイマン諸島" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "カザフスタン" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "ラオス" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "レバノン" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "セントルシア" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "リヒテンシュタイン" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "スリランカ" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "リベリア" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "レソト" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "リトアニア" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "ルクセンブルク" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "ラトビア" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "リビア" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "モロッコ" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "モナコ" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "モルドバ" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "モンテネグロ" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "合衆国医療機関" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "マダガスカル" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "マーシャル諸島" + +#: src/common/util.c:843 +msgid "Military" +msgstr "軍事" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "マケドニア" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "マリ" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "ミャンマー" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "モンゴル" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "マカオ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "モバイル端末" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "北マリアナ諸島" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "マルティニク" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "モーリタニア" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "モントセラト" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "マルタ" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "モーリシャス" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "博物館" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "モルジブ" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "マラウィ" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "メキシコ" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "マレーシア" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "モザンビーク" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "ナミビア" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "個人名" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "ニューカレドニア" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "ニジェール" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "ネットワーク" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "ノーフォーク諸島" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "ナイジェリア" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "ニカラグア" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "オランダ" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "ノルウェー" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "ネパール" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "ナウル" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "ニウエ" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "ニュージーランド" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "オマーン" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "非営利組織" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "パナマ" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "ペルー" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "ポリネシア フランス領" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "パプアニューギニア" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "フィリピン" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "パキスタン" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "ポーランド" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "セントピエールおよびミクロン" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "ピトケイン" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "プエルトリコ" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "専門家" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "パレスチナ自治区" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "ポルトガル" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "パラオ" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "パラグアイ" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "カタール" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "レユニオン" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "ルーマニア" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "昔ながらの ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "セルビア" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "ロシア連邦" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "ルワンダ" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "サウジアラビア" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "ソロモン諸島" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "セーシェル" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "スーダン" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "スウェーデン" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "シンガポール" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "セントヘレナ" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "スロベニア" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "スヴァールバルヤンマイエン諸島" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "スロバキア共和国" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "シェラレオネ" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "サンマリノ" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "セネガル" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "ソマリア" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "スリナム" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "南スーダン" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "サオトーメプリンシペ" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "旧ソビエト連邦" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "エルサルバドル" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "シリア" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "スワジランド" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "タークスカイコス諸島" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "チャド" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "インターネットコミュニケーションサービス" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "仏領サザンテリトリー" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "トーゴ" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "タイ" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "タジキスタン" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "トケラウ" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "東チモール" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "トルクメニスタン" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "チュニジア" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "トンガ" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "トルコ" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "旅行" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "トリニダードトバゴ" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "ツバル" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "台湾" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "タンザニア" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "ウクライナ" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "ウガンダ" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "イギリス" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "アメリカ合衆国" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "ウルグアイ" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "ウズベキスタン" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "バチカン市国" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "セントビンセントおよびグレナディーン諸島" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "ベネズエラ" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "英領バージン諸島" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "米バージン諸島" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "ベトナム" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "ヴァヌアトゥ" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "ヴァリスフトゥーナ諸島" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "サモア" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "アダルト娯楽" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "イエメン" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "マヨット" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "旧ユーゴスラビア" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "南アフリカ" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "ザンビア" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "ジンバブエ" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "セッションバスに接続できません" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "コマンドを完了できませんでした" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "リモートアクセス" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "DBUS を用いてリモートアクセスのプラグイン" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s の取得に失敗しました: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "文字集合" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "バン" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "招待" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "招待" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "接続していません。" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "いくつかのバンを選ばなければなりません。" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "種類" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "マスク" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "送り元" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "日付" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "チャンネルタブの間だけバン一覧ウィンドウを開くことができます。" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "削除" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "更新" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "出力ファイル名の選択" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "チャンネルへ参加(_J)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "チャンネル名をコピー(_C)" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "トピックテキストをコピー(_T)" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "検索(_S)" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "ダウンロードリスト(_D)" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "リストを保存(_L)" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "チャンネル名" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "検索タイプ:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "単純検索" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "パターン・マッチ(ワイルドカード)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "正規表現" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "検索語:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s へ送信するファイル名の選択" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "ファイルはリジュームできません。" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "ファイルにアクセスできません: %s\n%s.\nおそらく継続できません。" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ダウンロード・フォルダーにあるファイルは、提案されているファイルより大きいので、レジューム出来ません。" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "2 人から同じファイルを再開できません。" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "状態" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ファイル" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "残り" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "両方" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "アップロード" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "ダウンロード" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "詳細" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "ファイル:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "アドレス:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "中断" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "許可" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "再開" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "フォルダーを開く..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "受取" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "送信" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "開始時間" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "追加" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "削除" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "キャンセル" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "保存" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "自動的にサーバーに再接続しない" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "異なる設定ディレクトリを使う" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "いくつかのプラグインは自動読み込まないa" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "プラグイン/スクリプトの自動ロードディレクトリを表示する" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "ユーザー設定ディレクトリを表示する" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "コマンド実行:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "レベル" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "バージョン情報を表示する" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "フォントを開けません:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "検索バッファが空です。\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d バイト" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ネットワーク送信キュー: %d バイト" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "バッファへ挿入 コマンドはデータ1の内容を, 入力行中のカーソルの場所へ挿入します。" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "バッファ設定コマンドは, テキスト入力行の内容を, データ1の内容として置き換えます。" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "最後のコマンドはテキスト入力行に, 最後に入力されたコマンド内容を含ませます. シェル上で, コマンドを直接実行するのと同じです。" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "次のコマンドはテキスト入力行に, 次に入力されたコマンド内容を含ませます. シェル上で, コマンドを直接実行するのと同じです。" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "このコマンドは, 入力行中の不完全なニックやコマンドを補完します. データ1が設定されていると, タブキーを2回押した場合に, 次の補完候補でなく, 最後に入力されたニックが補完されます。" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "このコマンドは, ニックリストを上下へスクロールさせます. データ1に何か設定されていれば上へスクロールし, そうでなければ下へスクロールします。" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "このコマンドはフロントタブを一つずつ左に移動します" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "このコマンドはフロントタブを一つずつ右に移動します" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "このコマンドは現在のタブファミリーを左に移動します" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "このコマンドは現在のタブファミリーを右に移動します" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "入力ラインを履歴に記録するが、サーバーには送信しません" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "キーバインド設定にエラーがあります" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "そのファイルには書き込めません。" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "そのファイルには読み込めません。" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "そのマスクは既に存在します。" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "プライベート" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "無視解除" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "すべての無視を削除してもよろしいですか?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "無視するマスクを入力:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "無視状態:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "チャンネル:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "プライベート:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "招待:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "追加..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "チャンネル名が短すぎます。もう一度試してください。" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "%s へ接続完了です。" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "あなたは何を次に行いたいですか?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "何もしません。後でチャンネルに参加します。(_N)" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "チャンネルへ参加:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "参加したいチャンネルの名前を分かっている場合は、ここで入力してください。" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "常にこのダイアログを接続後に表示します。(_A)" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s のトピックは: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "トピックを設定していません" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "HexChatを終了しますか?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "次回以降聞かないでください。" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "あなたは、%i 個のIRCネットワークに接続されています。" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "本当に終了してもよろしいですか?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "いくつかのファイル転送は、まだアクティブになっています。" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "トレイに最小化(_M)" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "色コードか属性を挿入する" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>強調</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>下線</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>斜体</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "通常" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "色 0 から 7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "色 8 から 15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "設定(_S)" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "ログをディスクに(_L)" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "参加と退出メッセージを隠す(_H)" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "追加の警告(_E)" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "メッセージでビープ音(_M)" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "トレイアイコンを点滅(_I)" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "タスクバーを点滅(_B)" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "デタッチ(_D)" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "閉じる(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "ユーザー制限は数字でなければなりません!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "フィルター色" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "チャンネル外からのメッセージ禁止" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "トピック保護" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "招待のみ" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "モデレート" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "バン一覧" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "キーワード" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "ユーザー数制限" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "新ニックネームを入力:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "結果が見つかりません。" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "すべての出現をハイライトし、現在の出現に下線を引きます。" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "大文字と小文字を区別(_C)" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "大文字と小文字を区別する検索を実行します。" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "正規表現(_R)" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "正規表現と見なす検索文字列。" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "不明なホスト" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "不明なアカウント" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "不明" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "本名:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "ユーザー:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "アカウント:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "国:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "サーバー:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分前" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "最後のメッセージ: %s" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "離席メッセージ:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "メニューバーは現在非表示です。再表示する場合は Control+F9 を押すか、またはメインテキストエリアの空白部分で右クリックします。" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "ブラウザーでリンクを開く" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "選択したリンクをコピーする" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "チャンネルへ参加" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "チャンネルを離れる" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "チャンネルをサイクルする" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "自動参加(_A)" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "チャンネルへ自動参加" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "自動接続(_A)" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "マーカー行が無効。" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "ユーザーコマンド - 特殊なコード:\n\n%c = 現在のチャンネル\n%e = 現在のネットワーク名\n%m = マシン情報\n%n = 自分のニック\n%t = 時間/日付\n%v = HexChatのバージョン\n%2 = 単語 2\n%3 = 単語 3\n&2 = 行の末尾にある単語 2\n&3 = 行の末尾にある単語 3\n\n例:\n/cmd john hello\n\n%2 \"john\" になります\n&2 \"john hello\" になります" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "置換" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "新規(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "終了(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "閲覧(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "メニューバー(_M)" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "トピックバー(_T)" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "ユーザーリスト(_U)" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "モードボタン(_O)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "チャンネル切り替え(_C)" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "タブ(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "ツリー(_R)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "ネットワークメーター(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "オフ" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "グラフ" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "フルスクリーン(_F)" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "サーバー(_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "切断する(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "再接続する(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "席を離れる(_A)" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "ユーザーメニュー(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "設定(_E)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "設定(_P)..." + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "ウィンドウ(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "マーカー行をリセット" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "マーカー行に移動" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "選択した部分をコピー(_C)" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "通常テキスト(_L)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "検索" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "次を検索" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "前を検索" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "コンテンツ(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "HexChat について(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "アタッチ(_A)" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "名前" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "最近の出会い" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "オフライン" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "一度もなし" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d 分前" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "1 時間前" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d 時間前" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "オンライン" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "新ニックネームを入力:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "これらのネットワークで通知:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "ダイアログウィンドウを開く" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "ウィンドウを元のサイズに戻す(_R)" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "ウィンドウを隠す(_H)" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "点滅(_B)" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "チャンネルメッセージ" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "プライベートメッセージ" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "ハイライトされたメッセージ" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "ステータスを変更(_C)" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "離席(_A)" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "着席(_B)" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "バージョン" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "詳細" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "読み込むプラグインかスクリプトを選択する" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "ロード...(_L)" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "アンロード(_U)" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "再読み込み(_R)" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "別名で保存..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "生ログをクリア" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "新規ネットワーク" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "本当にネットワーク \"%s\" とそのすべてのサーバーを削除しますか?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "ユーザー名は空にできません。" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "あなたは2つのユニークなニックネームを持っている必要があります。" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "サーバー" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "チャンネルへ自動参加" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "接続コマンド" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "キー(パスワード)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "編集(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "選択したサーバーのみに接続する" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "起動時にこのネットワークに自動接続する" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "プロキシサーバをバイパス" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "このネットワークのすべてのサーバーへは SSL を使う" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "不正なSSL証明書を受け入れる" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "全体ユーザー情報を使う" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "ニックネーム(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "2 つ目を選択:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "本名(_L):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "ユーザー名(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "ログイン方法:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "パスワード:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "ログインに使用するパスワード。疑問がある場合は空白のままにします。" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "文字集合:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "ユーザー情報" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "3 つめを選択:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "ネットワーク" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "起動時にネットワーク一覧を飛ばす" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "お気に入りのみ表示" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "編集...(_E)" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "ソート(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "お気に入り(_F)" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "このネットワークのお気に入りマークを付けはずしします。" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "接続(_O)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "アフリカーンス語" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "アルバニア" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "ダリー語" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "アストゥリアス語" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "アゼルバイジャン" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "バスク語" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "ベラルーシ" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "ブルガリア" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "中国語(簡体字)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "中国語(繁体字)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "チェコ語" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "デンマーク語" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "オランダ語" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "英語(英国)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "英語" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "ストニア" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "フィンランド語" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "フランス語" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "ガリシア語" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "ドイツ語" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "ギリシャ語" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "グジャラート語" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "ヒンディー語" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "ハンガリー語" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "インドネシア語" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "イタリア語" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "日本語" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "カンナダ語" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "キニヤルワンダ語" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "韓国語" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "ラトビア語" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "リトアニア語" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "マケドニア語" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "マレーシア" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "マラヤーラム語" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "ノルウェー語(ブークモール)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "ノルウェー語(ニーノシュク)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "ポーランド語" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "ポルトガル語" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "ブラジルポルトガル語" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "パンジャブ語" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "ロシア語" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "セルビア語" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "スロバキア語" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "スロベニア語" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "スペイン語" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "スウェーデン語" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "タイ" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "トルコ語" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "ウクライナ語" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "ベトナム" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "ワロン語" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "言語:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "メインフォント:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "フォント:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "テキストボックス" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "ニックに色を付ける" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC の各個人に異なる色を与える" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "ニックをインデントして揃える" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "ニックを右揃えする." + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "マーカーラインを表示" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "最後に読んだテキストの後に赤い線を挿入します。" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "背景の絵:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "ファイル転送設定" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "詳細はMSDNのstrftimeを参照してください。" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "詳細はmanページのstrftimeを参照してください。" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "タイトルバー" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "チャネルモードを表示" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "ユーザーの数を表示" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "昇順" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "入力ボックス" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "ニックボックスを表示" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "ニックボックスにユーザーモードアイコンを表示" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "スペルの確認中" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "辞書を使用:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "使用している言語のコードは次の場所にあります (\"%LOCALAPPDATA%\\enchant\\myspell\\dicts\")\n複数のエントリはコンマで区切ります。" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "使用している言語コード。複数のエントリはコンマで区切ります。" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "ニックを補完する" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "ニックの補完接頭語:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "ニック補完の並べ替え:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "ニックを補完する量:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "ニック" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "グラフィカル" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "降順" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "ソートしない" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "上部" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "ボタン" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "隠す" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "ユーザーリスト" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "ユーザーリストのホスト名を表示する" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "テキストボックスに使用するフォントと色" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "ユーザーモードのアイコンを表示する" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "ユーザリスト内のグラフィックアイコンではなく、テキストシンボルを使用してください。" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "ユーザリストのニックに色" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "チャンネル内のユーザー数を表示" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "ユーザーリストのソート基準:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "ユーザーリストの表示位置:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "離席を追跡" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "より小さいチャネルの場合:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "ダブルクリックでの動作" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "余分なガジェット" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "遅延メーター" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "ウィンドウ" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "タブ" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "常に" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "要求があったタブのみ" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "自動" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "ツリー" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "切り替えの種類:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "サーバーからのメッセージは別のタブを開く" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "プライベートメッセージを受信したときに新しいタブを開く" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "アルファベットオーダーでタブをソート" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "チャネルツリー内のアイコンを表示" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "チャネルツリーの点線を表示する" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "タブを変更するには、マウスホイールをスクロール" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "小さいテキスト" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "新規タブにフォーカス:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "チャンネル切り替えの表示位置:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "指定文字数でタブラベルを縮める:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "文字" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "タブかウィンドウ" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "チャンネルの開き方:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "ダイアログの開き方:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "ユーティリティの開き方:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "メッセージ" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "スクロール" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "確認を求める" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "ダウンロードフォルダを尋ねる" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "ファイルかディレクトリ" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "定時のファイルを自動的に受理する:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "ダウンロードしたファイルの保存先:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "移動を完了したファイルの保存先:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "ファイル名にニックを保存" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "自動で DCC ウィンドウを開く" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "送信ウィンドウ" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "受信ウィンドウ" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "チャットウィンドウ" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "ひとつのアップロード" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "ひとつ転送するときの最大速度" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "ひとつダウンロード:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "すべてのアップロードの合計:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "すべてのファイルの最大速度" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "すべてのダウンロードの合計:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "警告" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "トレイアイコンの点滅:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "タスクバーの点滅:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "ビープ音:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "選択したイベントの際に、GTKのビープ音を再生する" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "離席している時にマークされた場合アラートを省略" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "フォーカスがあるウィンドウの警告を省略します" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "トレイの動作" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "システムトレイアイコンを有効にする" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "トレイに最小化" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "トレイに閉じる" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "ハイライトされたメッセージ" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "ニックをハイライトしない:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "ニックを常にハイライトする:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "複数の単語はカンマで区切ります。\nワイルドカードも使用できます。" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "デフォルトメッセージ:" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "終了:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "チャンネルを離れる:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "離席:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "離席" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "一度だけ離席を表示" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "同一の離席メッセージは一度だけ表示。" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "自動離席解除" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "その他" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOISに関する通知" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "参加と退出メッセージを隠す" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "デフォルトで参加と退出メッセージを隠す" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "ニック変更メッセージを隠す" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.ホスト" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@ドメイン" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*ユーザー@*.ホスト" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*ユーザー@ドメイン" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "自動コピーの挙動" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "自動的に選択されたテキストをコピーする" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "自動的に色情報を含める" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "本名:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "代替フォント:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "コンパクトモードのリストを表示" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "サポートされている場合、サーバーの時間を使用" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "切断時に自動的にサーバーに再接続" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "自動再接続の遅延時間:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "自動参加の遅延時間" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "BANの種類:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "ログを残す" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "以前のセッションのログを表示" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "スクロール保存行:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "ディスクへのログの書き込みを有効にします" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "ログファイル:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=サーバー %c=チャンネル %n=ネットワークです。" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "常にタイムスタンプを挿入" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "ログタイムスタンプのフォーマット:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "ディスクへのURLのログの書き込みを有効にします" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "URL 取り込みを有効にします" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "取得するURLの最大数:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(無効)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "自動" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "あなたのアドレス" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "割り当て:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "複数のアドレスを持つコンピューターにのみ適しています。" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "ファイル転送" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC サーバーから自分の IP アドレスを取得する" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP アドレス:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "プロキシサーバー" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "ホスト名:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "ポート:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "種類:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "プロキシの使用:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "プロキシ認証" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "ユーザー名:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "画像ファイル名の選択" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "ダウンロードフォルダーを選択する" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "フォント選択" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "参照..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "データフォルダを開く" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "色選択" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "テキスト色" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC 色:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "ローカルの色:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "前景色:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "背景色:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "選択されたテキスト" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "インタフェース色" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "新規データ:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "マーカー行:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "新規メッセージ:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "離席ユーザー:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "ハイライト:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "スペルの確認:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "色を除去" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "イベント" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "サウンドファイル" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "出力ファイルの選択" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "サウンドファイル:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "参照...(_B)" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "再生(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "インタフェース" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "外観" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "入力ボックス" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "ユーザーリスト" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "チャンネル切り替え" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "色" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "チャット" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "サウンド" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "高度な設定" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "ネットワークセットアップ" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "ファイル転送" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "カテゴリ" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "本名オプションを空にすることはできません。 「本名」にフォールバック。" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "一部の設定を有効にするには再起動が必要です。" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*警告*\nホーム・ディレクトリへ自動DCC受け取りを有効にする\nことは悪戯される危険があり, 勧められません. 例えば,\n誰からがあなたへ『.bash_profile』ファイルを転送す\nると, 勝手にシェルの設定が上書きされてしまいます。" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(提案はありません)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "その他..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "辞書に「%s」を追加" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "すべて無視" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "スペル候補" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "文字列解析にエラーがありました." + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "このシグナルは %d 個の引数を通します, $%d 個は不適当です。" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "テキストファイルの表示" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ 番号" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "イベント編集" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "読み込み元..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "全てを試行" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "リスト消去" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "選択した URL をコピー" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "コピー" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "ファイルにリストを保存" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 人のオペレーター、合計 %d 人" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/kn.po b/po/kn.po new file mode 100644 index 0000000000000000000000000000000000000000..02d0945a2f1353aeb8badda06fe469a2495bff4d --- /dev/null +++ b/po/kn.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# shankar <svenkate@redhat.com>, 2010 +# shankar <svenkate@redhat.com>, 2010 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Kannada (http://www.transifex.com/hexchat/hexchat/language/kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "ನಾನು ಕಾರ್ಯನಿರತವಾಗಿದ್ದೇನೆ" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "ಹೊರಹೋಗಲಾಗುತ್ತಿದೆ" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "ಜಾಲಬಂಧ" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ಏನೂ ಇಲ್ಲ>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "ಚಾನಲ್" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "ಕಾಯಲಾಗುತ್ತಿದೆ" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "ಸಕ್ರಿಯ" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "ವಿಫಲವಾಗಿದೆ" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "ಆಯಿತು" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿದೆ" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "ನಿಲ್ಲಿಸಿದೆ" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ಅನ್ನು ನಿಲುಕಿಸಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "ದೋಷ" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ರವರು \"%s\" ಅನ್ನು ನೀಡುತ್ತಿದ್ದಾರೆ. ನೀವು ಸ್ವೀಕರಿಸಲು ಬಯಸುತ್ತೀರೆ?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "ಯಾವುದೆ ಸಕ್ರಿಯ DCCಗಳಿಲ್ಲ\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "ಸಂವಾದ ವಿಂಡೊವನ್ನು ತೆರೆ(_O)" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "ಕಡತವನ್ನು ಕಳುಹಿಸು(_S)" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "ಬಳಕೆದಾರ ಮಾಹಿತಿ (WhoIs)(_U)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "ಗೆಳೆಯರ ಪಟ್ಟಿಗೆ ಸೇರಿಸು(_A)" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "ನಿರ್ವಾಹಕರ ಕ್ರಿಯೆಗಳು(_p)" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Ops ಅನ್ನು ನೀಡಿ" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ops ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "ಧ್ವನಿಯನ್ನು ನೀಡಿ" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "ಧ್ವನಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "ಹೊರಗಟ್ಟು/ನಿಶೇಧಿಸು" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "ಹೊರಗಟ್ಟು" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "ನಿಶೇಧಿಸು" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "ಹೊರಗಟ್ಟಿ ನಿಶೇಧಿಸು" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರನಡೆಯಿರಿ" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "ಸೇರಬೇಕಿರುವ ಚಾನಲ್‌ ಅನ್ನು ನಮೂದಿಸಿ:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "ಪರಿಚಾರಕದ ಕೊಂಡಿಗಳು" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "ಪರಿಚಾರಕವನ್ನು ಪಿಂಗ್‌ ಮಾಡು" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "ಆವೃತ್ತಿಯನ್ನು ಅಡಗಿಸು" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "ಶುಭವಾಗಲಿ" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s ಅನ್ನು ಹೊರಗಟ್ಟಲು ಕಾರಣ ಕೊಡಿ:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "ಸಂವಾದ" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "ಕಳುಹಿಸು" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "ಮಾತುಕತೆ" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "ಖಾಲಿಮಾಡಿ" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "ಪಿಂಗ್" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC ಅನ್ನು ನಿರ್ವಾಹಕರಾಗಿ ಚಲಾಯಿಸುವುದು ಮೂರ್ಖತನ! \n ನೀವು ಒಂದು ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ರಚಿಸಿ ನಂತರ ಒಳಕ್ಕೆ ಪ್ರವೇಶಿಸಬೇಕು.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ಹೌದು " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "ಇಲ್ಲ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "ನಿಮ್ಮತ್ತ %s ಇಂದ CTCP ಹರಿಸುತ್ತಿದ್ದಾರೆ, %s ಅನ್ನು ಆಲಕ್ಷಿಸಲಾಗುತ್ತಿದೆ\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ಆನ್‌ಲೈನ್\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ಆಫ್‍ಲೈನ್\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ಯಾವುದೆ ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಂಡಿಲ್ಲ. /join #<channel> ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿಲ್ಲ. /server <host> [<port>] ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ ನೋಡಿ\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ಈಗಾಗಲೆ ಆಚೆ ಹೋಗಿದ್ದಾರೆ ಎಂದು ಗುರುತು ಹಾಕಲಾಗಿದೆ: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "ಮರಳಿಬಂದಿದ್ದಾರೆ ಎಂದು ಈಗಾಗಲೆ ಗುರುತುಹಾಕಲಾಗಿದೆ.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "ಚಲಾಯಿಸಲು ನನಗೆ /bin/sh ನ ಅಗತ್ಯವಿದೆ!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "ಲಭ್ಯವಿರುವ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "ಬಳಕೆದಾರರಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "ಪ್ಲಗ್‌ಇನ್‌ನಿಂದ ಸೂಚಿಸಲಾದ ಆಜ್ಞೆಗಳು:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ /HELP <command> ಅನ್ನು, ಅಥವ /HELP -l ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "'%s' ಎಂಬ ಆಜ್ಞಾತ ಆಜ್ಞೆಯನ್ನು ಆಲಕ್ಷಿಸಲಾಗಿದೆ." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "ಅಂತಹ ಯಾವುದೆ ಪ್ಲಗ್‌ಇನ್ ಕಂಡುಬಂದಿಲ್ಲ.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "ಆ ಪ್ಲಗ್‌ಇನ್ ಲೋಡ್ ಆಗಲು ನಿರಾಕರಿಸಿದೆ.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿ ಒಂದು ಗುಂಡಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, ನೀವು ಇರುವ ಎಲ್ಲಾ ಚಾನಲ್‌ಗೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, ನೀವು ಇರುವ ಎಲ್ಲಾ ಪರಿಚಾರಕಕ್ಕೂ ಒಂದು ಆಜ್ಞೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ಮರಳಿದ್ದಾರೆ ಎಂದು ಗುರುತುಹಾಕುತ್ತದೆ (ಆಚೆ ಎಂದಲ್ಲ)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>], ಮುಸುಕಿಗೆ(ಮಾಸ್ಕ್) ತಾಳೆಯಾಗುವ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲರನ್ನೂ ನಿರ್ಬಂಧಿಸಲಾಗುತ್ತದೆ. ಅವರು ಈಗಾಗಲೆ ಚಾನಲ್‌ನಲ್ಲಿದ್ದಲ್ಲಿ ಇದು ಅವರನ್ನು ಹೊರಹಾಕುವುದಿಲ್ಲ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ಒಂದು ದೇಶದ ಸಂಕೇತವನ್ನು ಹುಡುಕುತ್ತದೆ, ಉದಾ: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <message>, ನಿಗದಿತ ಅಡ್ಡಹೆಸರಿಗೆ CTCP ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯ ಸಂದೇಶಗಳೆಂದರೆ VERSION ಹಾಗು USERINFO ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], ಪ್ರಸಕ್ತ ಅಥವ ಸೂಚಿಸಲಾದ ಚಾನಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಿ ನಂತರ ತಕ್ಷಣ ಮರಳಿ ಸೇರಿಕೊಳ್ಳಲಾಗುತ್ತದೆ" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - ಕಳುಹಿಸಲಾದ ಕಡತವನ್ನು ಸ್ವೀಕರಿಸಿ\nDCC SEND [-maxcps=#] <nick> [ಕಡತ] - ನಿಗದಿತ ವ್ಯಕ್ತಿಗೆ ಕಡತವನ್ನು ಕಳುಹಿಸಿ\nDCC PSEND [-maxcps=#] <nick> [ಕಡತ] - ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ ಒಂದು ಕಡತವನ್ನು ಕಳುಹಿಸಿ\nDCC LIST - DCC ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಿ\nDCC CHAT <nick> - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ DCC CHAT ನಡೆಸಿ\nDCC PCHAT <nick> - ನಿಗದಿತ ವ್ಯಕ್ತಿಯೊಂದಿಗೆ ನಿಷ್ಕ್ರಿಯ ಕ್ರಮದಲ್ಲಿ DCC CHAT ನಡೆಸಿ\nDCC CLOSE <type> <nick> <file> ಉದಾಹರಣೆ:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, ಇದು ಬಳಕೆದಾರ ಪಟ್ಟಿಯಲ್ಲಿನ ಒಂದು ಗುಂಡಿಯನ್ನು ಅಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ chanop ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿ ಅಡ್ಡಹೆಸರಿನಿಂದ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, ಪಠ್ಯವನ್ನು ನಿಮಗೆ ಮಾತ್ರ ಕಾಣಿಸುವಂತೆ ಗೋಚರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುತ್ತದೆ. -o ಫ್ಲಾಗ್‌ ಅನ್ನು ಬಳಸಲಾಗಿದ್ದರೆ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ ಪ್ರಸಕ್ತ ಪಠ್ಯ ಚೌಕಕ್ಕೆ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGCONT ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], ಚಾಲನೆಯಲ್ಲಿರುವ exec ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸುತ್ತದೆ. -9 ಅನ್ನು ನೀಡಲಾಗಿದ್ದರೆ SIGKILL ಆಗುತ್ತದೆ" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECCONT, ಪ್ರಕ್ರಿಯೆ SIGSTOP ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, ಪ್ರಕ್ರಿಯೆಗಳ stdin ಗೆ ದತ್ತಾಂಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, ಇದು ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದ ಕಳುಹಿಸುವ ಸರತಿಯನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], ಒಂದು ಆತಿಥೇಯದ ಮೂಲಕ ಪ್ರಾಕ್ಸಿಗಳು, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 23 ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, ಅಡ್ಡಹೆಸರಿಗೆ chanhalf-op ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, nickserv ನಿಮ್ಮನ್ನು ಗುರುತಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n mask - ಕಡೆಗಣಿಸಬೇಕಿರುವ ಆತಿಥೇಯ ಮುಸುಕು, ಉದಾ: *!*@*.aol.com\n types - ಕಡೆಗಣಿಸಬೇಕಿರುವ ದತ್ತಾಂಶದ ಬಗೆಗಳು, ಇವುಗಳಲ್ಲಿ ಒಂದು ಅಥವ ಎಲ್ಲವೂ:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], ನಿಗದಿತ ವ್ಯಕ್ತಿಯನ್ನು ಚಾನಲ್‌ಗೆ ಆಮಂತ್ರಿಸುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ ಆಗಿರುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, ಚಾನಲ್‌ಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, ಹೊಸ ಲ್ಯಾಗ್ ಪರಿಶೀಲನೆಯನ್ನು ಒತ್ತಾಯಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanhalf-op ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanop ಗಳನ್ನು ಒಟ್ಟಿಗೆ deop ಮಾಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, ಕ್ರಿಯೆಯನ್ನು ಪ್ರಸಕ್ತ ಚಾನಲ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ (ಕ್ರಿಯೆಗಳನ್ನು ಮೂರನೆ ವ್ಯಕ್ತಿ ಹೇಳುವಂತೆ ಬರೆಯಲಾಗುತ್ತದೆ, ಉದಾ., /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, ನಿಮ್ಮನ್ನು ಹೊರತು ಪಡಿಸಿ ಎಲ್ಲರನ್ನೂ ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಿಂದ ಹೊರಹಾಕುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೂ ಒಟ್ಟಿಗೆ op ಮಾಡಲಾಗುತ್ತದೆ (chanop ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, ಒಂದು CTCP ಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, ನಿಮ್ಮ ಅಡ್ಡಹೆಸರನ್ನು ಹೊಂದಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], ನಿಮ್ಮ ಸೂಚನಾ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸುತ್ತದೆ ಅಥವ ಅದಕ್ಕೆ ನಿಶ್ಚಿತ ವ್ಯಕ್ತಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, ಅಡ್ಡಹೆಸರಿಗೆ chanop ಸ್ಥಿತಿಯನ್ನು ನೀಡುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], ಚಾನಲ್‌ನಿಂದ ಹೊರಹೋಗಲಾಗುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪ್ರಸಕ್ತ ಚಾನಲ್ ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, ಅಡ್ಡಹೆಸರಿಗೆ ಅಥವ ಚಾನಲ್‌ಗೆ CTCP ಪಿಂಗ್‌ಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], ಪರಿಚಾರಕದಿಂದ ಸಂಪರ್ಕವನ್ನು ಕಡಿದು ಹಾಕುತ್ತದೆ" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, ಇದು ಪಠ್ಯವನ್ನು ಕಚ್ಛಾ ರೂಪದಲ್ಲಿ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], ಪ್ರಸಕ್ತ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮರಳಿ ಸಂಪರ್ಕ ಹೊಂದಲು /RECONNECT ಬಳಸಬಹುದು ಅಥವ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಮುಕ್ತ ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಸಾಧಿಸಲು /RECONNECT ALL ಅನ್ನು ಬಳಸಬಹುದು" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, ಪ್ರಸಕ್ತ ವಿಂಡೊದಲ್ಲಿ ಪಠ್ಯವನ್ನು ವಸ್ತುವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, ಒಂದು ಚಾನಲ್‌ಗೆ ಸಂಪರ್ಕಿತಗಗೊಂಡು ನಂತರ ಸೇರ್ಪಡೆಗೊಳ್ಳುತ್ತದೆ" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], ಒಂದು ಪರಿಚಾರಕಕ್ಕೆ ಸಂಪರ್ಕಿತಗೊಳ್ಳುತ್ತದೆ, ಪೂರ್ವನಿಯೋಜಿತ ಸಂಪರ್ಕಸ್ಥಾನವು 6667 ಆಗಿರುತ್ತದೆ" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], ಸೂಚಿಸಿದ ವಿಷಯವನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಅಥವ ಪ್ರಸಕ್ತ ವಿಷಯವನ್ನು ತೋರಿಸುತ್ತದೆ " + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] ಎರಡು ಚಿಹ್ನೆಗಳ ನಡುವೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\nTRAY -f <filename> ಟ್ರೇ ಅನ್ನು ಒಂದು ನಿಶ್ಚಿತ ಚಿಹ್ನೆಗೆ ಹೊಂದಿಸುತ್ತದೆ.\nTRAY -i <number> ಒಂದು ಆಂತರಿಕ ಚಿಹ್ನೆಯೊಂದಿಗೆ ಟ್ರೇಯನ್ನು ಮಿನುಗಿಸುತ್ತದೆ.\nTRAY -t <text> ಟ್ರೇಯ ಸಲಹೆಉಪಕರಣವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.\nTRAY -b <title> <text> ಟ್ರೇ ಬಲೂನ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತದೆ." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ಸೂಚಿತ ಮುಸುಕುಗಳ(ಮಾಸ್ಕ್) ನಿಶೇಧವನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಅನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ಒಂದು URL ಅನ್ನು ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ತೆರೆಯುತ್ತದೆ" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> ಇತರೆ, ಚಾನಲ್‌ನ ಬಳಕೆದಾರಪಟ್ಟಿಯಲ್ಲಿ ಅಡ್ಡಹೆಸರನ್ನು೯(ಗಳನ್ನು) ಹೈಲೈಟ್ ಮಾಡುತ್ತದೆ" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, ಬೇರೆಯೊಬ್ಬರಿಗೆ ಧ್ವನಿ ಸ್ಥಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ (chanop ನ ಅಗತ್ಯವಿರುತ್ತದೆ)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, ಎಲ್ಲಾ ಚಾನಲ್‌ಗಳಲ್ಲಿಯೂ ಸಂದೇಶವನ್ನು ಬರೆಯುತ್ತದೆ" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, ಪ್ರಸಕ್ತ ಚಾನಲ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ chanops ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "ಬಳಕೆ: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nಆ ಆಜ್ಞೆಗೆ ಯಾವುದೆ ನೆರವು ಲಭ್ಯವಿಲ್ಲ.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "ಅಂತಹ ಯಾವುದೇ ಆಜ್ಞೆ ಇಲ್ಲ.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "ಬಳಕೆದಾರ ಆಜ್ಞೆಯಲ್ಲಿ ಸರಿಯಲ್ಲದ ಆರ್ಗುಮೆಂಟ್‌ಗಳು.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "ಬಹಳಷ್ಟು ಪುನರಾವರ್ತಿತ ಬಳಕೆದಾರ ಆಜ್ಞೆಗಳು, ನಿಲ್ಲಿಸಲಾಗುತ್ತಿದೆ." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "ಇದು ಒಂದು SSL ಸಮರ್ಥವಾದ ಪರಿಚಾರಕ ಹಾಗು ಸಂಪರ್ಕಸ್ಥಾನ ಎಂದು ನೀವು ಖಚಿತವೆ?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "%s ಎಂಬ ಆತಿಥೇಯ ಹೆಸರನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ\nನಿಮ್ಮ IP ಸಿದ್ಧತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "ಪ್ರಾಕ್ಸಿ ಚಲನೆಯು ವಿಫಲಗೊಂಡಿದೆ.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s ನಲ್ಲಿ ಮುಂದಿನ ಪರಿಚಾರಕಕ್ಕೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "ಎಚ್ಚರಿಕೆ: \"%s\" ಅಕ್ಷರದ ಸೆಟ್‌ ತಿಳಿದಿಲ್ಲ. %s ಎಂಬ ಜಾಲಬಂಧಕ್ಕೆ ಯಾವುದೆ ಮಾತುಕತೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗಿಲ್ಲ." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%Uಚಾನಲ್ ಬಳಕೆದಾರರ ವಿಷಯ" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tಸೂಚನಾ ಪಟ್ಟಿ ಖಾಲಿ ಇದೆ." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "ಇಲ್ಲಿಂದ ದಾಖಲೆಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿದೆ" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ದಾಖಲೆಯನ್ನು %s ಎಂಬಲ್ಲಿ ಕೊನೆಗೊಳಿಸಲಾಗಿದೆ\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s ಯಲ್ಲಿ ದಾಖಲೆಯನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "ಎಡ ಸಂದೇಶ" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "ಬಲ ಸಂದೇಶ" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP ವಿಳಾಸ" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "ಬಳಕೆದಾರರ ಹೆಸರು " + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "ಸೇರಲಾಗುತ್ತಿರುವ ಚಾನಲ್" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "ವ್ಯಕ್ತಿಯ ಆತಿಥೇಯ ಗಣಕ" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:980 +msgid "The action" +msgstr "ಕ್ರಿಯೆ" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "ಕ್ರಮ char" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "ಗುರುತಿಸಲಾದ ಪಠ್ಯ" + +#: src/common/text.c:987 +msgid "The text" +msgstr "ಪಠ್ಯ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "ಸಂದೇಶ" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "ಪರಿಚಾರಕದ ಹೆಸರು" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "ಹಳೆಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "ಹೊಸ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "ವಿಷಯವನ್ನು ಬದಲಾಯಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "ವಿಷಯ" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "ಹೊರಗಟ್ಟಿದವರ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "ಹೊರಹಾಕಲಾಗುತ್ತಿರುವ ವ್ಯಕ್ತಿ" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "ಚಾನಲ್" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "ಕಾರಣ" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "ಹೊರಹೋದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "ಸಮಯ" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "ರಚಿಸಿದವರು" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "ಕಾರಣ" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "ಅತಿಥೇಯ" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "ಇದು ಯಾರಿಂದ ಬಂದಿದೆ" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x ವಿನ್ಯಾಸದಲ್ಲಿ ಸಮಯ (ಕೆಳಗೆ ನೋಡಿ)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "ಇದು ಹೋಗಲಿರುವ ಚಾನಲ್" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "ಧ್ವನಿ" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP ಘಟನೆ" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "ಕೀಲಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "ಕೀಲಿ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "ಮಿತಿ" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "op ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "ಯಾರಿಗೆ op ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "ಯಾರಿಗೆ halfop ಮಾಡಲಾಯಿತೊ ಅವರ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "halfop ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "ಯಾರು voice ಮಾಡಿದರೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "ಯಾವ ವ್ಯಕ್ತಿಗೆ ಧ್ವನಿ ನೀಡಲಾದೆಯೋ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "ನಿಶೇಧಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "ನಿಶೇಧ ಮುಸುಕು(ಮಾಸ್ಕ್)" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "ಕೀಲಿಯನ್ನು ತೆಗೆದು ಹಾಕಲಾಗದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "ಮಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದೆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "ಯಾರಿಗೆ deop ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ಯಾರಿಗೆ dehalfop ಮಾಡಲಾಯಿತೊ ಆ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "devoice ಮಾಡಲ್ಪಟ್ಟ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "ವಿನಾಯಿತಿಯನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "ವಿನಾಯಿತಿ ಮುಸುಕು" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "ವಿನಾಯಿತಿಯನ್ನು ತೆಗೆದು ಹಾಕಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "ಆಮಂತ್ರಣವನ್ನು ನೀಡಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "ಆಮಂತ್ರಣ ಮುಸುಕು" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "ಆಮಂತ್ರಣವನ್ನು ತೆಗೆದು ಹಾಕಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "ಕ್ರಮವನ್ನು ಹೊಂದಿಸಿದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "ಕ್ರಮದ ಚಿಹ್ನೆಗಳು (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "ಕ್ರಮದ ಅಕ್ಷರ" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "ಇದನ್ನು ಹೊಂದಿಸಲಾದ ಚಾನಲ್‌" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "ಪೂರ್ಣ ಹೆಸರು" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ಚಾನಲ್ ಸದಸ್ಯತ್ವ/\"IRC ಕಾರ್ಯನಿರ್ವಾಹಕರಾಗಿದ್ದಾರೆ\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍) ಮಾಹಿತಿ" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "ನಿಶ್ಚಲ ಸಮಯ" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "ಪ್ರವೇಶದ ಸಮಯ" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "ಆಚೆ ಹೋಗಲು ಕಾರಣ" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "ಸಂದೇಶ" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "ಖಾತೆ" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "ನಿಜವಾದ ಬಳಕೆದಾರ@ಆತಿಥೇಯ" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "ನಿಜವಾದ IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "ಚಾನಲ್ ಹೆಸರು" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "ಪಠ್ಯ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "ನಿಮ್ಮನ್ನು ಆಮಂತ್ರಿಸಲಾದ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "ಬಳಕೆದಾರರು" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "ಬಳಕೆಯಲ್ಲಿರುವ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿರುವ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "ಸಂಪರ್ಕಸ್ಥಾನ" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "ಕ್ರಮಗಳ ವಾಕ್ಯ" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC ಬಗೆ" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "ನಿರ್ದೇಶಿತ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "ಮಾರ್ಗದ ಹೆಸರು" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "ಸ್ಥಾನ" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "ಗಾತ್ರ" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC ವಾಕ್ಯ" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "ಸೂಚನಾ ಅಂಶಗಳ ಸಂಖ್ಯೆ" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "ಹಳೆಯ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "ಹೊಸ ಕಡತದ ಹೆಸರು" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "ಸ್ವೀಕರಿಸುವವರು" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "ಅತಿಥೇಯಮುಸುಕು" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "ಆತಿಥೇಯಗಣಕ" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "ಪ್ಯಾಕೆಟ್" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "ಸೆಕೆಂಡುಗಳು" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "ಆಮಂತ್ರಿತಗೊಂಡ ವ್ಯಕ್ತಿಯ ಅಡ್ಡಹೆಸರು" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "ನಿಶೇಧಮುಸುಕು" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "ನಿಶೇಧವನ್ನು ವಿಧಿಸಿದವರು" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "ನಿಶೇಧದ ಸಮಯ" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "ಧ್ವನಿ ಕಡತವನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "ದೂರಸ್ಥ ಅತಿಥೇಯವು ಸಾಕೆಟ್ ಅನ್ನು ಮುಚ್ಚಿದೆ" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "ಸಂಪರ್ಕವನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "ಅತಿಥೇಯಕ್ಕೆ ಯಾವುದೆ ಮಾರ್ಗವಿಲ್ಲ" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "ಸಂಪರ್ಕದ ಸಮಯ ಮೀರಿದೆ" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "ಆ ವಿಳಾಸವನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "ಪೀರ್ ಇಂದ ಸಂಪರ್ಕವನ್ನು ಮರಳಿ ಹೊಂದಿಸಲಾಗಿದೆ" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "ಅಸೆನ್ಶನ್ ದ್ವೀಪ" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "ಅಂಡೋರ" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "ಯುನೈಟೆಡ್ ಅರಬ್ ಎಮಿರೈಟ್ಸ್‍" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "ಅಫ್ಘಾನಿಸ್ಥಾನ್" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "ಆಂಟಿಗುವಾ ಹಾಗು ಬಾರ್ಬುಡ" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "ಆಂಗ್ವಿಲ್ಲಾ" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "ಅಲ್ಬೇನಿಯಾ" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "ಅರ್ಮೇನಿಯಾ" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "ನೆದರ್ಲ್ಯಾಂಡ್ಸ್‍ ಆಂಟಿಲ್ಲಿಸ್" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "ಅಂಗೋಲಾ" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "ಅಂಟಾರ್ಟಿಕಾ" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "ಅರ್ಜೆಂಟಿನಾ" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "ರಿವರ್ಸ್ DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "ಅಮೇರಿಕನ್ ಸಮೋವಾ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "ಆಸ್ಟ್ರಿಯಾ" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "ನ್ಯಾಟೊ ಫಿಯೆಲ್" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "ಆಸ್ಟ್ರೇಲಿಯಾ" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "ಅರುಬಾ" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "ಅಲಂದ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "ಅಝರ್ಬೈಜಾನ್" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "ಬೋಸ್ನಿಯಾ ಹಾಗು ಹರ್ಝೆಗೋವಿನಾ" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "ಬಾರ್ಬಡೋಸ್" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "ಬಾಂಗ್ಲಾದೇಶ" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "ಬೆಲ್ಜಿಯಮ್" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "ಬರ್ಕಿನಾ ಫಾಸೋ" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "ಬಲ್ಜೇರಿಯಾ" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "ಬಹರೈನ್" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "ಬುರುಂಡಿ" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "ಬಿಸ್‌ನೆಸಸ್" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "ಬೆನಿನ್" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "ಬರ್ಮುಡಾ" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "ಬ್ರೂನೈ ದರುಸೆಲಂ" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "ಬೊಲಿವಿಯಾ" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "ಬ್ರಝಿಲ್" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "ಬಹಮಾಸ್" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ಭೂತಾನ್" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "ಬೋವೆಟ್ ಐಲ್ಯಾಂಡ್" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "ಬೋಟ್ಸ್‍ವಾನಾ" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "ಬೆಲಾರಸ್" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "ಬೆಲೀಸ್" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "ಕೆನಡ" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "ಕೊಕೊಸ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "ಡೆಮೊಕ್ರಟಿಕ್ ರಿಪಬ್ಲಿಕ್ ಆಫ್ ಕಾಂಗೊ" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "ಮಧ್ಯ ಆಫ್ರಿಕನ್ ರಿಪಬ್ಲಿಕ್" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "ಕಾಂಗೊ" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "ಸ್ವಿಡ್ಜರ್ಲ್ಯಾಂಡ್" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "ಕೋಟ್ ಡೆವಾಯರ್" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "ಕುಕ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "ಚಿಲಿ" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "ಕ್ಯಾಮೆರೂನ್‌" + +#: src/common/util.c:738 +msgid "China" +msgstr "ಚೈನ" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "ಕೊಲಂಬಿಯ" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "ಇಂಟರ್ನಿಕ್ ಕಮರ್ಶಿಯಲ್" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "ಕೋಸ್ಟಾ ರಿಕಾ" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "ಸರ್ಬಿಯ ಹಾಗು ಮಾಂಟೆನಿಗ್ರೊ" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "ಕ್ಯೂಬ" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "ಕೇಪ್ ವರ್ಡ್" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "ಕ್ರಿಸ್‌ಮಸ್ ದ್ವೀಪ" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "ಸೈಪ್ರಸ್" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "ಜೆಕ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "ಜರ್ಮನಿ" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "ಜಿಬೋಟಿ" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "ಡೆನ್ಮಾರ್ಕ್" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "ಡೊಮನಿಕಾ" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "ಡೊಮನಿಕನ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "ಅಲ್ಜೀರಿಯ" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "ಈಕ್ವೆಡಾರ್" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "ಶೈಕ್ಷಣಿಕ ಸಂಸ್ಥೆ" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "ಎಸ್ಟೊನಿಯ" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "ಈಜಿಪ್ಟ್" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "ಪಶ್ಚಿಮ ಸಹಾರ" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "ಎರಿಟ್ರಿಯಾ" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "ಸ್ಪೇನ್" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "ಇತಿಯೋಪಿಯ" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "ಯುರೋಪಿಯನ್ ಒಕ್ಕೂಟ" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "ಫಿನ್‌ಲ್ಯಾಂಡ್" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "ಫಿಜಿ" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "ಫಾಕ್‌ಲ್ಯಾಂಡ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "ಮೈಕ್ರೋನೇಸಿಯ" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "ಫರೊ ದ್ವೀಪಗಳು" + +#: src/common/util.c:770 +msgid "France" +msgstr "ಫ್ರಾನ್ಸ್" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "ಗೆಬೋನ್" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "ಗ್ರೇಟ್ ಬ್ರಿಟನ್" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "ಗ್ರೆನೆಡ" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "ಜಾರ್ಜಿಯ" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "ಫ್ರೆಂಚ್ ಗಿನಿ" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "ಬ್ರಿಟಿಷ್‌ ಚಾನಲ್ ಐಲ್‌ಗಳು" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "ಘಾನ" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "ಜಿಬ್ರಾಲ್ಟರ್" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "ಗ್ರೀನ್‌ಲ್ಯಾಂಡ್‌" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "ಗೇಂಬಿಯ" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "ಗಿನಿ" + +#: src/common/util.c:782 +msgid "Government" +msgstr "ಸರಕಾರಿ" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "ಗ್ವಾಡೆಲೋಪ್" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "ಈಕ್ವೆಟೋರಿಯಲ್ ಗಿನಿ" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ಗ್ರೀಸ್" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "ಸೈ. ಜಾರ್ಜಿಯ ಹಾಗು ಸೈ. ಸ್ಯಂಡ್‌ವಿಚ್ ಐಲ್‌ಗಳು" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "ಗ್ವಾಟೆಮಾಲ" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "ಗುವಾಮ್" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "ಗಿನಿ-ಬಿಸಾವು" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "ಗಯಾನ" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "ಹಾಂಕ್‌ಕಾಂಗ್" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "ಹರ್ಡ್ ಹಾಗು ಮ್ಯಾಕ್‌ಡೊನಾಲ್ಡ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "ಹೋಂಡುರಾಸ್" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "ಕ್ರೊಯೇಶಿಯ" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "ಹೈತಿ" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "ಹಂಗೆರಿ" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "ಇಂಡೋನೇಶಿಯ" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "ಐರ್ಲ್ಯಾಂಡ್" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "ಇಸ್ರೇಲ್" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "ಐಲ್ ಆಫ್ ಮ್ಯಾನ್" + +#: src/common/util.c:801 +msgid "India" +msgstr "ಭಾರತ" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "ಇನ್‌ಫಾರ್ಮೇಶನಲ್" + +#: src/common/util.c:803 +msgid "International" +msgstr "ಅಂತರಾಷ್ಟ್ರೀಯ" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "ಬ್ರಿಟಿಷ್ ಇಂಡಿಯನ್ ಓಶಿಯನ್ ಟೆರಿಟರಿ" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "ಇರಾಕ್" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "ಇರಾನ್" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "ಐಸ್‌ಲ್ಯಾಂಡ್" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "ಇಟಲಿ" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "ಜರ್ಸಿ" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "ಜಮೈಕಾ" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "ಜೋರ್ಡಾನ್" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "ಜಪಾನ್" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "ಕೀನ್ಯಾ" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "ಕಿರ್ಗಿಸ್ತಾನ್" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "ಕಾಂಬೊಡಿಯ" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "ಕಿರಿಬಾಟಿ" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "ಕೊಮೊರೊಸ್" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "ಸೈಂಟ್ ಕಿಟ್ಸ್ ಹಾಗು ನೆವಿಸ್" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "ಉತ್ತರ ಕೊರಿಯ" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "ದಕ್ಷಿಣ ಕೊರಿಯ" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "ಕುವೈತ್" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "ಕೇಮ್ಯಾನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "ಕಝಕಿಸ್ತಾನ್" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "ಲಾವೊಸ್" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "ಲೆಬೆನಾನ್" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "ಸೈಂಟ್ ಲೂಸಿಯ" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "ಲೈಕ್ಟಿಸ್ಟೆನ್" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "ಶ್ರೀಲಂಕ" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "ಲಿಬಿರಿಯ" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "ಲೆಸೊತೊ" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "ಲಿತುವಾನಿಯ" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "ಲಕ್ಸೆಂಬರ್ಗ್" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "ಲಾಟ್ವಿಯ" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "ಲಿಬಿಯ" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "ಮೊರೊಕ್ಕೊ" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "ಮೊನ್ಯಾಕೊ" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "ಮಾಲ್ಡೋವ" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "ಯನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ ಆಫ್ ಮೆಡಿಕಲ್" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "ಮಡಗಾಸ್ಕರ್" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "ಮಾರ್ಶಲ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:843 +msgid "Military" +msgstr "ಮಿಲಿಟರಿ" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "ಮೆಸೆಡೋನಿಯ" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "ಮಾಲಿ" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "ಮಿಯನ್ಮಾರ್" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "ಮಂಗೊಲಿಯ" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "ಮಕಾವು" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "ನಾರ್ತರ್ನ್ ಮರಿಯಾನ ದ್ವೀಪಗಳು" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "ಮಾರ್ಟಿನೀಕ್" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "ಮಾರ್ಟೀನಿಯಾ" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "ಮೊಂಟ್ಸೆರಾಟ್" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "ಮಾಲ್ಟಾ" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "ಮಾರಿಶಸ್" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "ಮಾಲ್ಡೀವ್ಸ್" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "ಮಲಾವಿ" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "ಮೆಕ್ಸಿಕೊ" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "ಮಲೇಶಿಯ" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "ಮೊಝಾಂಬಿಕ್" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "ನಮಿಬಿಯ" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "ನ್ಯೂ ಕೆಲಡೋನಿಯ" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "ನೈಜರ್" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "ಇಂಟರ್ನಿಕ್ ನೆಟ್‌ವರ್ಕ್" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "ನಾರ್ಫೋಕ್ ದ್ವೀಪ" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "ನೈಜೀರಿಯ" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "ನಿಕರಾಗುವ" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "ನೆದರ್ಲ್ಯಾಂಡ್ಸ್" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "ನಾರ್ವೆ" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "ನೇಪಾಲ್" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "ನೌರು" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "ನಿಯು" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "ನ್ಯೂಜಿಲ್ಯಾಂಡ್" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "ಒಮನ್" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "ಇಂಟರ್ನಿಕ್ ನಾನ್-ಪ್ರಾಫಿಟ್ ಆರ್ಗನೈಸೇಶನ್" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "ಪನಾಮ" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "ಪೆರು" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "ಫ್ರೆಂಚ್ ಪಾಲಿನೆಸಿಯಾ" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "ಪಪುವಾ ನ್ಯೂ ಗಿನಿ" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "ಫಿಲಿಪೀನ್ಸ್" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "ಪಾಕಿಸ್ತಾನ್" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "ಪೋಲ್ಯಾಂಡ್" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "ಸೈಂಟ್ ಪಿಯರೆ ಹಾಗು ಮಿಕ್ಯೂಲಾನ್" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "ಪಿಟ್‍ಕೈರ್ನ್" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "ಪೂರ್ಟೊ ರಿಕೊ" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "ಪ್ಯಾಲೆಸ್ತೀನಿಯನ್ ಟೆರಿಟರಿ" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "ಪೋರ್ಚುಗಲ್" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "ಪಲಾವು" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "ಪರುಗ್ವೆ" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "ಕತಾರ್" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "ರಿಯೂನಿಯನ್" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "ರೋಮೇನಿಯ" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ಓಲ್ಡ್ ಸ್ಕೂಲ್ ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "ರಶೀಯನ್ ಫೆಡರೇಶನ್" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "ರುವಾಂಡ" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "ಸೌದಿ ಅರೇಬಿಯಾ" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "ಸೊಲೊಮನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "ಸಿಶೇಲ್ಸ್" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "ಸುಡಾನ್" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "ಸ್ವೀಡನ್" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "ಸಿಂಗಪೂರ್" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "ಸೈಂಟ್ ಹೆಲೆನಾ" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "ಸ್ಲೋವೆನಿಯಾ" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "ಸ್ವಾಲ್ಬಾರ್ಡ್ ಹಾಗು ಜಾನ್ ಮೇಯನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "ಸ್ಲೋವಾಕ್ ರಿಪಬ್ಲಿಕ್‌" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "ಸಿಯರಾ ಲಿಯೋನ್" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "ಸ್ಯಾನ್ ಮಾರಿನೊ" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "ಸೆನೆಗಲ್" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "ಸೋಮಾಲಿಯ" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "ಸುರಿನೇಮ್" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "ಸಾವೋ ಟೋಮ್ ಹಾಗು ಪ್ರಿನ್ಸಿಪಿ" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "ಫಾರ್ಮರ್ USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "ಎಲ್‌ ಸಾಲ್ವಾಡಾರ್" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "ಸಿರಿಯ" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "ಸ್ವಾಝಿಲ್ಯಾಂಡ್" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "ಟರ್ಕ್ಸ್‍ ಹಾಗು ಕೈಕೋಸ್ ಐಲ್ಯಾಂಡ್ಸ್‍" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "ಚಾಡ್" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "ಫ್ರೆಂಚ್ ಸದರ್ನ್ ಪ್ರದೇಶಗಳು" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "ಟೊಗೊ" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "ತೈಲ್ಯಾಂಡ್" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "ತಜಿಕ್‌ಸ್ತಾನ್" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "ಟೊಕೆಲಾವ್" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "ಪೂರ್ವ ತಿಮೋರ್" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "ಟರ್ಕಮೆನಿಸ್ತಾನ್" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "ಟುನೀಸಿಯಾ" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "ಟೋಂಗಾ" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "ಟರ್ಕಿ" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "ಟ್ರಿನಿಡಾಡ್ ಹಾಗು ಟೊಬ್ಯಾಗೊ" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "ಟುವಾಲು" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "ತೈವಾನ್" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "ಟಾಂಝಾನಿಯಾ" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "ಉಕ್ರೇನ್" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "ಉಗಾಂಡ" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "ಯುನೈಟೆಡ್ ಕಿಂಗ್‌ಡಮ್" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "ಯನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ ಆಫ್ ಅಮೇರಿಕಾ" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "ಉರುಗ್ವೆ" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "ಉಜ್ಬೇಕಿಸ್ತಾನ್" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "ವ್ಯಾಟಿಕನ್ ಸಿಟಿ ಸ್ಟೇಟ್" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "ಸೈಂಟ್ ವಿನ್ಸೆಂಟ್ ಹಾಗು ಗ್ರೆನಾಡೈನ್ಸ್" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "ವೆನಿಝುವಲಾ" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "ಬ್ರಿಟಿಷ್ ವರ್ಜಿನ್ ದ್ವೀಪಗಳು" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ಯುಎಸ್ ವರ್ಜಿನ್ ಐಲ್ಯಾಂಡ್‌ಗಳು" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "ವಿಯೆಟ್ನಾನ್" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "ವನುವಾತು" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "ವಾಲಿಸ್ ಹಾಗು ಫುಟುನಾ ದ್ವೀಪಗಳು" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "ಸಮೊವಾ" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "ಯೆಮೆನ್" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "ಮೆಯೋಟ್" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "ಯಗೋಸ್ಲಾವಿಯ" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "ಸೌತ್ ಆಫ್ರಿಕಾ" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "ಜಾಂಬಿಯಾ" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "ಜಿಂಬಾಬ್ವೆ" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "ಅಧಿವೇಶನದ ಬಸ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "ಆಜ್ಞೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "ದೂರಸ್ಥ ನಿಲುಕಣೆ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "DBUS ಅನ್ನು ಬಳಸಿಕೊಂಡು ದೂರದಿಂದ ಬಳಸುವ ಸಲುವಾಗಿನ ಪ್ಲಗ್‌ಇನ್" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ಅಧಿವೇಶನದ ಬಸ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s ಅನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "ಚಿಹ್ನೆಯ ನಕ್ಷೆ" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "ನಿಶೇಧಿಸು" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "ಆಮಂತ್ರಿಸಿ" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "ಸಂಪರ್ಕಿತಗೊಂಡಿಲ್ಲ." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "ಕೆಲವು ನಿಶೇಧಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲೆ ಬೇಕು." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "ಮುಸುಕು" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "ಇವರಿಂದ" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "ದಿನಾಂಕ" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "ಒಂದು ಚಾನಲ್‌ ಹಾಳೆಯಲ್ಲಿದ್ದಾಗ ಮಾತ್ರ ನೀವು ನಿಶೇಧ ಪಟ್ಟಿಯ ವಿಂಡೊವನ್ನು ತೆರೆಯಬಹುದು." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "ಕತ್ತರಿಸು" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "ಪುನಶ್ಚೇತನಗೊಳಿಸು" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d ಬಳಕೆದಾರರನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ(%d/%d ಚಾನಲ್‌ಗಳಲ್ಲಿ)." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "ಔಟ್‌ಪುಟ್‌ ಕಡತದ ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "ಚಾನಲ್ ಅನ್ನು ಸೇರು(_J)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "ಚಾನಲ್‌ನ ಹೆಸರನ್ನು ಕಾಪಿ ಮಾಡು(_C)" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "ವಿಷಯದ ಪಠ್ಯವನ್ನು ಕಾಪಿ ಮಾಡು(_T)" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "ಹುಡುಕು(_S)" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "ಡೌನ್‌ಲೋಡ್‌ ಪಟ್ಟಿ(_D)" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "ಪಟ್ಟಿಯನ್ನು ಉಳಿಸು(_L)..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "ಇದನ್ನು ಮಾತ್ರ ತೋರಿಸು:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "ಇದರೊಂದಿಗಿನ ಚಾನಲ್" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "ಗೆ" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "ಬಳಕೆದಾರರು." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "ಇದರಲ್ಲಿ ನೋಡು:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "ಚಾನಲ್ ಹೆಸರು" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "ಹುಡುಕುವ ಬಗೆ:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "ಸರಳ ಹುಡುಕಾಟ" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "ನಮೂನೆಯು ತಾಳೆಯಾಗುವಿಕೆ (ವೈಲ್ಡ್ ಕಾರ್ಡುಗಳು)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್‍ಪ್ರೆಶನ್" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "ಹುಡುಕು:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s ಗೆ ಕಡತವನ್ನು ಕಳುಹಿಸು" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "ಆ ಕಡತವನ್ನು ಮರಳಿ ಆರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "ಕಡತವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ: %s\n%s.\nಮರಳಿ ಆರಂಭಿಸುವುದು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ಡೌನ್‌ಲೋಡ್ ಕೋಶದಲ್ಲಿನ ಕಡತದ ಗಾತ್ರವು ನೀಡಲು ಬಯಸಿರುವ ಕಡತಕ್ಕಿಂತ ದೊಡ್ಡದಾಗಿದೆ. ಮರಳಿ ಆರಂಭಿಸುವುದು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "ಒಂದೇ ಕಡತವನ್ನು ಎರಡು ವ್ಯಕ್ತಿಗಳಿಗಾಗಿ ಮರಳಿ ಆರಂಭಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "ಸ್ಥಿತಿ" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ಕಡತ" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "ಎರಡೂ" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "ಅಪ್‌ಲೋಡ್‌ಗಳು" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "ಡೌನ್‌ಲೋಡ್‌ಗಳು" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "ವಿವರಗಳು" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "ಕಡತ:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "ವಿಳಾಸ:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "ಸ್ಥಗಿತಗೊಳಿಸು" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "ಅಂಗೀಕರಿಸು" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "ಮರಳಿ ಆರಂಭಿಸು" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "ಕಡತಕೋಶವನ್ನು ತೆರೆ..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "ಕಳುಹಿಸಲಾದ" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "ಆರಂಭಿಸಿದ ಸಮಯ" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕಿ" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "ರದ್ದುಗೊಳಿಸಿ" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "ಉಳಿಸಿ" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "ಪರಿಚಾರಕಗಳೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕ ಸಾಧಿಸಬೇಡ" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "ಒಂದು ಪ್ರತ್ಯೇಕವಾದ ಸಂರಚನಾ ಕೋಶವನ್ನು ಬಳಸು" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "ಯಾವುದೆ ಪ್ಲಗ್‌ಇನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೋಡ್ ಮಾಡಬೇಡ" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "ಬಳಕೆದಾರ ಸಂರಚನಾ ಕೋಶವನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "ಈ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸು:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "ಕಿರಿದಾಗಿಸಲಾದುದರಿಂದ ಆರಂಭಿಸು. ಹಂತ 0=ಸಾಮಾನ್ಯ 1=ಚಿಹ್ನೆ ಮಾಡಲಾದ 2=ಟ್ರೇ" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "ಮಟ್ಟ" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "ಅಕ್ಷರಶೈಲಿಯನ್ನು ತೆರೆಯಲು ವಿಫಲಗೊಂಡಿದೆ:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "ಹುಡುಕು ಬಫರ್ ಖಾಲಿ ಇದೆ.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d ಬೈಟ್‌ಗಳು" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ಜಾಲಬಂಧ ಕಳುಹಿಸುವ ಸರತಿ: %d ಬೈಟ್‌ಗಳು" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Insert in Buffer ಆಜ್ಞೆಯು ದತ್ತಾಂಶ 1 ರಲ್ಲಿರುವುದನ್ನು ಪ್ರಸಕ್ತ ತೆರೆಸೂಚಕದ ಸ್ಥಳದಲ್ಲಿ ಒತ್ತಲಾದ ಕೀಲಿ ಅನುಕ್ರಮದ ನಮೂದಿಗೆ ಸೇರಿಸುತ್ತದೆ." + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Set Buffer ಆಜ್ಞೆಯು ದತ್ತಾಂಶ 1 ಕ್ಕೆ ನಮೂದಿಸಲಾದ ವಿಷಯಕ್ಕೆ ನಮೂದಿಸಲಾದ ಕೀಲಿ ಅನುಕ್ರಮಕ್ಕೆ ನಮೂದನ್ನು ಹೊಂದಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "ಕೊನೆಯ ಆಜ್ಞೆ ಆಜ್ಞೆಯು ಕೊನೆಯ ಬಾರಿಗೆ ನಮೂದಿಸಲಾದ ಆಜ್ಞೆಯನ್ನು ನಮೂದಿನಲ್ಲಿ ಇರುವಂತೆ ಹೊಂದಿಸುತ್ತದೆ - ಶೆಲ್‌ನಲ್ಲಿ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೆ" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "ಕೊನೆಯ ಆಜ್ಞೆ ಆಜ್ಞೆಯು ಮುಂದಿನ ಆಜ್ಞೆಯನ್ನು ನಮೂದಿನಲ್ಲಿ ಇರುವಂತೆ ಹೊಂದಿಸುತ್ತದೆ - ಶೆಲ್‌ನಲ್ಲಿ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೆ" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "ಈ ಆಜ್ಞೆಯು ಅಪೂರ್ಣಗೊಂಡ ಅಡ್ಡಹೆಸರು ಅಥವ ಆಜ್ಞೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವ ನಮೂದಿನ ಪಠ್ಯವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ದತ್ತಾಂಶ 1 ಅನ್ನು ಹೊಂದಿಸಲಾಗಿದ್ದಲ್ಲಿ, ಎರಡು ಬಾರಿ ಟ್ಯಾಬ್ ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಕೊನೆಯ ಬಾರಿಯ ಅಡ್ಡಹೆಸರನ್ನು ಆರಿಸುತ್ತದೆಯೆ ಹೊರತು ಮುಂದಿನದ್ದಲ್ಲ" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "ಈ ಆಜ್ಞೆಯು ಅಡ್ಡಹೆಸರುಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಮೇಲಕ್ಕೆ ಹಾಗು ಕೆಳಕ್ಕೆ ಚಲಿಸುತ್ತದೆ. ದತ್ತಾಂಶ 1 ನ್ನು ಯಾವುದಕ್ಕಾದರೂ ಹೊಂದಿಸಿದಲ್ಲಿ ಇದು ಮೇಲಕ್ಕೆ ಚಲಿಸುತ್ತದೆ ಇಲ್ಲದೆ ಹೋದಲ್ಲಿ ಕೆಳಕ್ಕೆ ಚಲಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "ಈ ಆಜ್ಞೆಯು ಬದಲಾಯಿಸುವ ಪಟ್ಟಿಯಲ್ಲಿನ ನಮೂದಿನಲ್ಲಿ ಕಡೆಯದಾಗಿ ನಮೂದಿಸಲಾದ ಹುಡುಕುತ್ತದೆ ಹಾಗು ತಾಳೆಯಾಗುವುದು ಕಂಡು ಬಂದಲ್ಲಿ ಬದಲಾಯಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "ಈ ಆಜ್ಞೆಯು ಎದುರಿನ ಹಾಳೆಯನ್ನು ಎಡಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "ಈ ಆಜ್ಞೆಯು ಎದುರಿನ ಹಾಳೆಯನ್ನು ಬಲಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "ಈ ಆಜ್ಞೆಯು ಪ್ರಸಕ್ತ ಹಾಳೆಯ ಸಂಕುಲವನ್ನು ಎಡಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "ಈ ಆಜ್ಞೆಯು ಪ್ರಸಕ್ತ ಹಾಳೆಯ ಸಂಕುಲವನ್ನು ಬಲಕ್ಕೆ ಒಂದು ಹಂತ ಸ್ಥಳಾಂತರಿಸುತ್ತದೆ" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "ಇನ್‌ಪುಟ್ ಸಾಲನ್ನು ಇತಿಹಾಸಕ್ಕೆ ತಳ್ಳುತ್ತದೆ ಆದರೆ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸುವುದಿಲ್ಲ" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "ಕೀಲಿ ಬೈಂಡಿಂಗ್‌ಗಳ ಸಂರಚನೆಯನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ಒಂದು ದೋಷ ಉಂಟಾಗಿದೆ" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "ಆ ಕಡತಕ್ಕೆ ಬರೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "ಆ ಕಡತವನ್ನು ಓದಲಾಗಿಲ್ಲ." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "ಆ ಮುಸುಕು ಈಗಾಗಲೇ ಇದೆ." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "ಖಾಸಗಿ" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "ಸೂಚನೆ" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "ಕಡೆಗಣಿಸಿದ್ದನ್ನು ರದ್ದುಗೊಳಿಸು" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "ಕಡೆಗಣಿಸಲು ಮುಸುಕನ್ನು ನಮೂದಿಸಿ:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "ಕಡೆಗಣಿಸುವ ಅಂಕಿಅಂಶಗಳು:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "ಚಾನಲ್:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "ಖಾಸಗಿ:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "ಸೂಚನೆ:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "ಆಮಂತ್ರಿಸಿ:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "ಸೇರಿಸು..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "ಚಾನಲ್ ಹೆಸರು ಬಹಳ ಸಣ್ಣದಾಗಿದೆ, ಇನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "%s ಗಾಗಿನ ಸಂಪರ್ಕವು ಪೂರ್ಣಗೊಂಡಿದೆ." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "ನೀವು ಇದರ ನಂತರ ಏನು ಮಾಡಲು ಬಯಸುವಿರಿ?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "ಏನೂ ಇಲ್ಲ, ನಾನು ಆಮೇಲೆ ಚಾನಲ್‌ನಲ್ಲಿ ಸೇರಿಕೊಳ್ಳುತ್ತೇನೆ(_N)." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "ಚಾನಲ್‌ ಅನ್ನು ಸೇರು(_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "ನೀವು ಸೇರಲು ಬಯಸುವ ಚಾನಲ್‌ನ ಹೆಸರು ತಿಳಿದಿದ್ದಲ್ಲಿ, ಇಲ್ಲಿ ಬರೆಯಿರಿ." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "ಯಾವಾಗಲೂ ಸಂಪರ್ಕಿತಗೊಂಡ ನಂತರ ಈ ಸಂವಾದವನ್ನು ತೋರಿಸು(_A)." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "ಇದರೊಂದಿಗಿನ ಸಂವಾದ" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s ಗಾಗಿನ ವಿಷಯ %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "ವಿಷಯವನ್ನು ಗೊತ್ತುಪಡಿಸಿಲ್ಲ" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "ಈ ಪರಿಚಾರಕವು ಇನ್ನೂ ಸಹ %d ಚಾನಲ್‌ಗಳನ್ನು ಅಥವ ಸಂವಾದಗಳನ್ನು ಹೊಂದಿದೆ. ಎಲ್ಲವನ್ನೂ ಮುಚ್ಚಬೇಕೆ?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "ಮುಂದಿನ ಬಾರಿ ಕೇಳಬೇಡ." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "ನೀವು %i IRC ಜಾಲಬಂಧಗಳೊಂದಿಗೆ ಸಂಪರ್ಕಿತಗೊಂಡಿದ್ದೀರಿ." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "ನೀವು ಖಚಿತಾವಾಗಿಯೂ ನಿರ್ಗಮಿಸಲು ಬಯಸುತ್ತೀರೆ?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "ಕೆಲವು ಕಡತ ವರ್ಗಾವಣೆಗಳು ಇನ್ನೂ ಸಹ ಸಕ್ರಿಯವಾಗಿದೆ." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "ಟ್ರೇಗೆ ಕಿರಿದಾಗಿಸು(_M)" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅಥವ ಬಣ್ಣದ ಸಂಕೇತವನ್ನು ಸೇರಿಸು" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>ಬೋಲ್ಡ್</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>ಅಡಿಗೆರೆ ಎಳೆ</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "ಸಾಮಾನ್ಯ" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "ಬಣ್ಣಗಳು 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "ಬಣ್ಣಗಳು 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "ಸಿದ್ಧತೆಗಳು(_S)" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "ಡಿಸ್ಕಿಗೆ ದಾಖಲಿಸು(_L)" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕನ್ನು ಮರಳಿ ಲೋಡ್ ಮಾಡು(_R)" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ/ಹೊರಕ್ಕೆ ತೆರಳಿದ ಸಂದೇಶಗಳನ್ನು ಅಡಗಿಸು(_H)" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "ಹೆಚ್ಚುವರಿ ಎಚ್ಚರಿಕೆಗಳು(_E)" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "ಸಂದೇಶ ಬಂದಾಗ ಬೀಪ್ ಮಾಡು(_M)" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಮಿನುಗಿಸು(_I)" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "ಕಾರ್ಯ ಪಟ್ಟಿಯನ್ನು ಮಿನುಗಿಸು(_B)" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "ಕಳಚು(_D)" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "ಮುಚ್ಚು(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "ಬಳಕೆದಾರರ ಮಿತಿಯು ಒಂದು ಸಂಖ್ಯೆಯಾಗಿರಬೇಕು!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "ಯಾವುದೆ ಹೊರಗಿನ ಸಂದೇಶಗಳಿಲ್ಲ" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "ವಿಷಯದ ಸಂರಕ್ಷಣೆ" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "ಆಮಂತ್ರಣದ ಮೇರೆಗೆ ಮಾತ್ರ" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "ನಿರ್ಣಯಿಸಲಾದ" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "ನಿಷೇಧಪಟ್ಟಿ" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "ಕೀಲಿಪದ" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "ಬಳಕೆದಾರ ಮಿತಿ" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "ಹೊಸ ಅಡ್ಡಹೆಸರನ್ನು ಸೇರಿಸಿ:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "ಅಜ್ಞಾತ ಆತಿಥೇಯ" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "ಗೊತ್ತಿಲ್ಲದ" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "ನಿಜವಾದ ಹೆಸರು:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "ಬಳಕೆದಾರ:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "ದೇಶ:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍):" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u ನಿಮಿಷಗಳ ಹಿಂದೆ" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "ಕಡೆಯ ಸಂದೇಶ:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "ಆಚೆ ಹೋಗಲಾದಾಗಿನ ಸಂದೇಶ:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಆರಿಸಲಾಗಿದೆ." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "ಕೊಂಡಿಯನ್ನ್ನು ವೀಕ್ಷಕದಲ್ಲಿ ತೆರೆ" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಸಂಪರ್ಕಕೊಂಡಿಯನ್ನು ಕಾಪಿ ಮಾಡಿ" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "ಒಂದು ಚಾನಲ್ ಅನ್ನು ಸೇರು" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರಹೋಗು" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "ಚಾನಲ್‌ನಲ್ಲಿ ಆವರ್ತನಗೊಳಿಸು" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP ಪ್ರತ್ಯುತ್ತರಗಳು - ವಿಶೇಷ ಸಂಕೇತಗಳು:\n\n%d = ದತ್ತಾಂಶ (ಸಂಪೂರ್ಣ ctcp)\n%e = ಪ್ರಸಕ್ತ ಜಾಲಬಂಧದ ಹೆಸರು\n%m = ಗಣಕದ ಹೆಸರು\n%s = ctcp ಅನ್ನು ಕಳುಹಿಸಿದವರ ಅಡ್ಡಹೆಸರು\n%t = ಸಮಯ/ದಿನಾಂಕ\n%2 = ಪದ 2\n%3 = ಪದ 3\n&2 = ಪದ 2 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n&3 = ಪದ 3 ರಿಂದ ಸಾಲಿನ ಕೊನೆಯವರೆಗೆ\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "ಇದರೊಂದಿಗೆ ಬದಲಿಸು" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "ಹೊಸ(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "ಹೊರನಡೆ(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "ನೋಟ(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "ಮೆನು ಪಟ್ಟಿ(_M)" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "ವಿಷಯದ ಪಟ್ಟಿ(_T)" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ(_U)" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "ಕ್ರಮದ ಗುಂಡಿಗಳು(_o)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "ಚಾನಲ್ ಬದಲಾವಣೆಗಾರ(_C)" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "ಹಾಳೆಗಳು(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "ವೃಕ್ಷ(_r)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "ಜಾಲಬಂಧ ಮೀಟರುಗಳು(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "ಆಫ್" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "ನಕ್ಷೆ(ಗ್ರಾಫ್)" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "ಪರಿಚಾರಕ(ಸರ್ವರ್‍)(_S) " + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "ಸಂಪರ್ಕ ಕಡಿದುಹಾಕು(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "ಮರಳಿ ಸಂಪರ್ಕಸಾಧಿಸು(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "ಬಳಕೆದಾರ ಮೆನು(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "ಸಿದ್ಧತೆಗಳು(_e)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "ಆದ್ಯತೆಗಳು(_P)" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "ವಿಂಡೊ(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "ಗುರುತಿನ ಗೆರೆಯನ್ನು ಮರಳಿ ಹೊಂದಿಸು" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "ಪಠ್ಯವನ್ನು ಅಳಿಸು(_l)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "ನೆರವು(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "ವಿಷಯಗಳು(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "ಇದರ ಬಗ್ಗೆ(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "ಲಗತ್ತಿಸು(_A)" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "ಹೆಸರು" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "ಕೊನೆಯ ಬಾರಿಗೆ ಕಂಡಿದ್ದು" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "ಆಫ್‍ಲೈನ್" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "ಎಂದಿಗೂ ಇಲ್ಲ" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d ನಿಮಿಷಗಳ ಹಿಂದೆ" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ಆನ್‍ಲೈನ್" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "ಸೇರಿಸಲು ಅಡ್ಡಹೆಸರುಗಳನ್ನು ನಮೂದಿಸಿ:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "ಈ ಜಾಲಬಂಧಗಳಲ್ಲಿ ಸೂಚಿಸಿ:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "ವಿರಾಮಚಿಹ್ನೆಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾದ ಅಂಗೀಕರಿಸಲಾದ ಜಾಲಬಂಧಗಳ ಪಟ್ಟಿ." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "ಸಂವಾದಚೌಕವನ್ನು ತೆರೆ" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "ಮಿನುಗಿಸು(_B)" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "ಚಾನಲ್ ಸಂದೇಶ" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "ಖಾಸಗಿ ಸಂದೇಶ" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶ" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "ಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸು(_C)" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ(_A)" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "ಹಿಂದೆ(_B)" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "ಆವೃತ್ತಿ" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "ವಿವರಣೆ" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "ಅನುಸ್ಥಾಪಿಸಲು ಪ್ಲಗ್‌ಇನ್ ಅಥವ ಸ್ಕ್ರಿಪ್ಟನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "ಲೋಡ್‌ ಮಾಡು(_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "ಹೀಗೆ ಉಳಿಸು..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "ಹೊಸ ಜಾಲಬಂಧ" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "ಜಾಲಬಂಧ \"%s\" ಹಾಗು ಅದರ ಎಲ್ಲಾ ಪರಿಚಾರಕಗಳನ್ನು ನಿಜವಾಗಿಯೂ ತೆಗೆದುಹಾಕಬೇಕೆ?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "ಕೀಲಿ(ಗುಪ್ತಪದ)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "ಸಂಪಾದನೆ(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "ಆಯ್ದ ಪರಿಚಾರಕದೊಂದಿಗೆ(ಸರ್ವರ್‍) ಮಾತ್ರ ಸಂಪರ್ಕ ಜೋಡಿಸು" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ಸಂಪರ್ಕವು ವಿಫಲಗೊಂಡಲ್ಲಿ ಎಲ್ಲಾ ಪರಿಚಾರಕದಾದ್ಯಂತ ಆವರ್ತನಗೊಳಿಸಬೇಡ. " + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "ಪ್ರಾಕ್ಸಿ ಪರಿಚಾರಕವನ್ನು ಬೈಪಾಸ್ ಮಾಡು" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "ಈ ಜಾಲಬಂಧದಲ್ಲಿರುವ ಎಲ್ಲಾ ಪರಿಚಾರಕಗಳಿಗಾಗಿಯೂ SSL ಅನ್ನು ಬಳಸು" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "ಜಾಗತಿಕ ಬಳಕೆದಾರ ಮಾಹಿತಿಯನ್ನು ಬಳಸು" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "ಅಡ್ಡ ಹೆಸರು(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "ಎರಡನೆಯ ಆಯ್ಕೆ:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "ನಿಜವಾದ ಹೆಸರು(_l):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "ಬಳಕೆದಾರ ಹೆಸರು(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "ಗುಪ್ತಪದ:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "ಚಿಹ್ನೆಯ ನಕ್ಷೆ:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "ಬಳಕೆದಾರ ಮಾಹಿತಿ" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "ಮೂರನೆ ಆಯ್ಕೆ:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "ಜಾಲಬಂಧಗಳು" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "ಆರಂಭಿಸುವಾಗ ಜಾಲಬಂಧ ಪಟ್ಟಿಯನ್ನು ಬಿಟ್ಟುಬಿಡು" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "ಸಂಪಾದನೆ (_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "ವಿಂಗಡಣೆ(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "ಸಂಪರ್ಕ ಕಲ್ಪಿಸು (_o)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "ಅಲ್ಬೇನಿಯಾ" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "ಅಝರ್ಬೈಜಾನ್" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "ಬೆಲಾರಸ್" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "ಬಲ್ಜೇರಿಯಾ" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "ಎಸ್ಟೊನಿಯ" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "ಭಾರತ" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "ಮಲೇಶಿಯ" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "ತೈಲ್ಯಾಂಡ್" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "ವಿಯೆಟ್ನಾನ್" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "ಸಾಮಾನ್ಯ" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "ಅಕ್ಷರಶೈಲಿ:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "ಬಣ್ಣಯುಕ್ತ ಅಡ್ಡಹೆಸರುಗಳು" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC ಯಲ್ಲಿನ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಪ್ರತ್ಯೇಕ ಬಣ್ಣವನ್ನು ನೀಡು" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಇಂಡೆಂಟ್ ಮಾಡು" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "ಅಡ್ಡಹೆಸರುಗಳನ್ನು ಬಲಕ್ಕೆ ಜೋಡಿಸಿ ಇರಿಸು" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "ಗುರುತಿನ ಗೆರೆಯನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "ಕೊನೆಯ ಬಾರಿಗೆ ಓದಲಾದ ಪಠ್ಯದ ಕೆಳಗೆ ಕೆಂಪು ಗೆರೆಯನ್ನು ಎಳೆ." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "ಹಿನ್ನಲೆ ಚಿತ್ರ:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "ಪಾರದರ್ಶಕತೆಯ ಸಿದ್ಧತೆಗಳು" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "ಕೊನೆಯದಾಗಿ ಮಾತನಾಡಿದ ಕ್ರಮ" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "ಕಾಗುಣಿತ ಪರೀಕ್ಷೆ" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "ಅಡ್ಡಹೆಸರಿನ ಪೂರ್ಣಗೊಳಿಕೆ" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "ಅಡ್ಡಹೆಸರು ಪೂರ್ಣಗೊಳಿಕೆಯ ಸಂಜ್ಞೆ:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "ಅಡ್ಡಹೆಸರಿನ ಪೂರ್ಣಗೊಳಿಕೆಯ ವಿಂಗಡಣೆ:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "ವಿಂಗಡಿಸದೆ ಇರುವ" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "ಮೇಲೆ" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "ಕೆಳಗೆ" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "ಅಡಗಿಸಲಾದ" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯಲ್ಲಿ ಆತಿಥೇಯ ಹೆಸರುಗಳನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "ಪಠ್ಯ ಚೌಕದ ಅಕ್ಷರಗಳು ಹಾಗು ಬಣ್ಣಗಳನ್ನು ಬಳಸು" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "ಇದರ ಆಧಾರದಲ್ಲಿ ವಿಭಜಿಸಲಾದ ಬಳಕೆದಾರ ಪಟ್ಟಿ:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "ಇಲ್ಲಿರುವ ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸು:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "ಇದಕ್ಕಿಂತ ಚಿಕ್ಕದಾದ ಚಾನಲ್‌ಗಳಲ್ಲಿ:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "ಎರಡು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗಿನ ಕ್ರಿಯೆ" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "ವಿಂಡೊಗಳು" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "ಹಾಳೆಗಳು" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "ಯಾವಾಗಲೂ" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "ಮನವಿ ಸಲ್ಲಿಸಲಾದ ಹಾಳೆಗಳು ಮಾತ್ರ" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "ವೃಕ್ಷ" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "ಸ್ವಿಚರ್ ಬಗೆ:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "ಪರಿಚಾರಕ ಸಂದೇಶಗಳಿಗಾಗಿ ಒಂದು ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "ಖಾಸಗಿ ಸಂದೇಶವು ಬಂದಾಗ ಒಂದು ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "ಹಾಳೆಗಳನ್ನು ವರ್ಣಮಾಲೆ ಅಕ್ಷರದ ಆಧಾರದಲ್ಲಿ ವಿಂಗಡಿಸಿ" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "ಸಣ್ಣ ಅಕ್ಷರಗಳು" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "ಹೊಸ ಹಾಳೆಗಳತ್ತ ಗಮನ ಹರಿಸು:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "ಇಲ್ಲಿ ಚಾನಲ್ ಬದಲಾವಣೆಗಾರನನ್ನು ತೋರಿಸು:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "ಹಾಳೆಯ ಲೇಬಲ್‌ ಅನ್ನು ಇಷ್ಟು ಚಿಕ್ಕದಾಗಿಸಿ" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "ಅಕ್ಷರಗಳು." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "ಹಾಳೆಗಳು ಹಾಗು ವಿಂಡೊಗಳು" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "ಚಾನಲ್‌ಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "ಸಂವಾದ ಚೌಕಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "ಸವಲತ್ತುಗಳನ್ನು ಇದರಲ್ಲಿ ತೆರೆ:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, ಕಡೆಗಣಿಸು, ಸೂಚಿಸು ಇತ್ಯಾದಿಗಳನ್ನು ಹೊಸ ಹಾಳೆಗಳಲ್ಲಿ ಅಥವ ವಿಂಡೊಗಳಲ್ಲಿ ತೆರೆಯಬೇಕೆ?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "ಕಡತಗಳು ಹಾಗು ಕೋಶಗಳು" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "ಕಡತವನ್ನು ನೀಡಿದಾಗ ತಾನಾಗಿಯೆ ಒಪ್ಪಿಕೊ:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "ಕಡತಗಳನ್ನು ಇಲ್ಲಿಗೆ ಡೌನ್‌ಲೋಡ್ ಮಾಡು:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "ಪೂರ್ಣಗೊಂಡ ಕಡತಗಳನ್ನು ಇಲ್ಲಿಗೆ ಸ್ಥಳಾಂತರಿಸು:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "ಅಡ್ಡಹೆಸರನ್ನು ಕಡತದ ಹೆಸರುಗಳಲ್ಲಿ ಉಳಿಸಿಕೊ" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "DCC ವಿಂಡೊಗಳನ್ನು ತಾನಾಗಿಯೆ ತೆರೆ" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "ಕಳುಹಿಸುವ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "ಸ್ವೀಕರಿಸುವ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "ಮಾತುಕತೆಯ ವಿಂಡೊ" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "ಒಂದು ಅಪ್‌ಲೋಡ್:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "ಒಂದು ವರ್ಗಾವಣೆಗಾಗಿನ ಗರಿಷ್ಟ ವೇಗ" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "ಒಂದು ಡೌನ್‌ಲೋಡ್:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "ಎಲ್ಲಾ ಅಪ್‌ಲೋಡ್‌ಗಳೂ ಸೇರಿ:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "ಎಲ್ಲಾ ಕಡತಗಳುಗಾಗಿನ ಗರಿಷ್ಟ ವೇಗ" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "ಎಲ್ಲಾ ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸಿ:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "ಎಚ್ಚರಿಕೆಗಳು" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಮಿನುಗಿಸು:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಪಟ್ಟಿಯನ್ನು ಮಿನುಗಿಸು:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "ಈ ಸಮಯದಲ್ಲಿ ಬೀಪ್ ಸದ್ದೊಂದನ್ನು ಮಾಡು:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "ವ್ಯವಸ್ಥೆಯ ಟ್ರೇ ಚಿಹ್ನೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶಗಳು" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲಾದ ಸಂದೇಶಗಳು ನಿಮ್ಮ ಅಡ್ಡಹೆಸರನ್ನು ಉಲ್ಲೇಖಿಸಲಾದವುಗಳಾಗಿರುತ್ತವೆ, ಅದರ ಜೊತೆಗೆ:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಲು ಹೆಚ್ಚುವರಿ ಪದಗಳು:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "ಹೈಲೈಟ್ ಮಾಡಬೇಕಿರುವ ಅಡ್ಡಹೆಸರುಗಳು:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "ಯಾವಾಗಲೂ ಹೈಲೈಟ್ ಮಾಡಬೇಕಿರುವ ಅಡ್ಡಹೆಸರುಗಳು:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "ಅನೇಕ ಪದಗಳನ್ನು ವಿರಾಮ ಚಿಹ್ನೆಗಳ ಮೂಲಕ ಪ್ರತ್ಯೇಕಿಸಿ.\nವೈಲ್ಡ್‌ಕಾರ್ಡುಗಳಿಗೆ ಬೆಂಬಲವಿರುತ್ತದೆ." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "ಪೂರ್ವನಿಯೋಜಿತ ಸಂದೇಶಗಳು" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "ಹೊರನಡೆ:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "ಚಾನಲ್‌ನಿಂದ ಹೊರನಡೆಯಿರಿ:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "ಆಚೆ ಹೋಗಲಾಗಿದೆ" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "ಒಮ್ಮೆ ಮಾತ್ರ ಆಚೆಹೋದುದನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಚೆ ಹೋದುದನ್ನು ತೆಗೆದು ಹಾಕಿ" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "MODEಗಳನ್ನು ಕಚ್ಛಾ ರೂಪದಲ್ಲಿ ತೋರಿಸು" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "ಸೇರ್ಪಡೆಗೊಂಡ/ಹೊರಕ್ಕೆ ತೆರಳುವ ಸಂದೇಶಗಳನ್ನು ಅಡಗಿಸು" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕಿತಗೊಳ್ಳುವುದರಲ್ಲಿನ ವಿಳಂಬ:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "ದಾಖಲಾತಿ" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "ಹಿಂದಿನ ಅಧಿವೇಶನದಿಂದ ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕನ್ನು ತೋರಿಸು" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "ಸ್ಕ್ರಾಲ್‌ಬ್ಯಾಕ್‌ ಸಾಲುಗಳು:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "ಸಂಭಾಷಣೆಗಳನ್ನು ಡಿಸ್ಕಿಗೆ ಬರೆಯುವುದನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "ದಾಖಲೆ ಕಡತದ ಹೆಸರು:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=ಪರಿಚಾರಕ %c=ಚಾನಲ್ %n=ಜಾಲಬಂಧ." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "ಸಮಯಮುದ್ರೆಗಳನ್ನು ದಾಖಲೆಗಳಲ್ಲಿ ಸೇರಿಸು" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪವನ್ನು ದಾಖಲಿಸು:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(ಅಶಕ್ತಗೊಳಿಸಲಾದ)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "ನಿಮ್ಮ ವಿಳಾಸ" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "ಇದಕ್ಕೆ ಬೈಂಡ್ ಮಾಡು:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "ಅನೇಕ ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವ ಗಣಕಗಳಲ್ಲಿ ಮಾತ್ರ ಸಹಾಯಕವಾಗುತ್ತದೆ." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC ಪರಿಚಾರಕದಿಂದ ನನ್ನ ವಿಳಾಸವನ್ನು ಪಡೆದುಕೊ" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "IRC ಪರಿಚಾರಕವನ್ನು ನಿಜವಾದ ವಿಳಾಸಕ್ಕಾಗಿ ಕೇಳುತ್ತದೆ. ನಿಮ್ಮಲ್ಲಿ 192.168.*.* ವಿಳಾಸವಿದ್ದಲ್ಲಿ ಇದನ್ನು ಬಳಸಿ!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP ವಿಳಾಸ:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "ಕಡತಗಳನ್ನು ನೀಡುತ್ತಿರುವಾಗ ನೀವು ಈ ವಿಳಾಸದಲ್ಲಿ ಇದ್ದೀರೆಂದು ತಿಳಿಸಿ" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Lಸಂಪೂರ್ಣ ವ್ಯಾಪ್ತಿಗಾಗಿ ಸೊನ್ನೆಯಲ್ಲಿಯೆ ಉಳಿಸಿ." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "ಪ್ರಾಕ್ಸಿ ಪರಿಚಾರಕ" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "ಆತಿಥೇಯಗಣಕ:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "ಸಂಪರ್ಕಸ್ಥಾನ:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "ಬಗೆ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "ಇದಕ್ಕಾಗಿ ಪ್ರಾಕ್ಸಿ ಬಳಸಿ:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣ" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "ಬಳಕೆದಾರ ಹೆಸರು:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "ಒಂದು ಚಿತ್ರವನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "ಡೌನ್‌ಲೋಡ್ ಕಡತಕೋಶವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "ಅಕ್ಷರ ಶೈಲಿಯನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "ವೀಕ್ಷಿಸು..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "ದತ್ತಾಂಶವನ್ನು ಹೊಂದಿರುವ ಕಡತಕೋಶವನ್ನು ತೆರೆ" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "ಬಣ್ಣವನ್ನು ಆಯ್ಕೆಮಾಡಿ" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "ಪಠ್ಯ ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC ಬಣ್ಣಗಳು:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "ಸ್ಥಳೀಯ ಬಣ್ಣಗಳು:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "ಮುನ್ನೆಲೆ:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "ಹಿನ್ನಲೆ:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "ಸಂಪರ್ಕಸಾಧನದ ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "ಹೊಸ ದತ್ತಾಂಶ:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "ಗುರುತಿನ ಗೆರೆ:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "ಹೊಸ ಸಂದೇಶ" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "ಆಚೆ ಹೋದ ಬಳಕೆದಾರ:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "ಹೈಲೈಟ್:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "ಘಟನೆ" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "ಧ್ವನಿ ಕಡತ" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "ಧ್ವನಿ ಕಡತವನ್ನು ಆಯ್ದುಕೊಳ್ಳಿ" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "ಧ್ವನಿ ಕಡತ:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "ಜಾಲವೀಕ್ಷಣೆ(_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "ಚಲಾಯಿಸು(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "ಸಂಪರ್ಕಸಾಧನ" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "ಇನ್‌ಪುಟ್ ಚೌಕ" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "ಬಳಕೆದಾರರ ಪಟ್ಟಿ" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "ಚಾನಲ್ ಬದಲಾವಣೆಗಾರ" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "ಬಣ್ಣಗಳು" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "ಮಾತುಕತೆ" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "ಸುಧಾರಿತ" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "ಜಾಲಬಂಧ ಸಿದ್ಧತೆ" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "ಕಡತ ವರ್ಗಾವಣೆಗಳು" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "ಪಂಗಡಗಳು" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "ವೃಕ್ಷವನ್ನು ನೀವು ಮೇಲೆ ಅಥವ ಕೆಳಗೆ ಇರಿಸುವಂತಿಲ್ಲ!\nದಯವಿಟ್ಟು ಮೊದಲು <b>ನೋಟ</b>ದ ಮೆನುವಿನಲ್ಲಿ <b>ಹಾಳೆಗಳ</b> ವಿನ್ಯಾಸಕ್ಕೆ ಬದಲಾಯಿಸಿ." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "ಮಾಡಲಾದ ಕೆಲವು ಬದಲಾವಣೆಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಲು ಮರಳಿ ಆರಂಭಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ಎಚ್ಚರಿಕೆ*\nDCC ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗು ನಿಮ್ಮ ನೆಲೆ ಕೋಶಕ್ಕೆ ಒಪ್ಪಿಕೊಳ್ಳುವುದು\nಅಪಾಯಕಾರಿ ಹಾಗು ಮೋಸದ ಬಳಕೆಗೆ ಕಾರಣವಾಗಬಹುದು. ಉದಾ:\nಯಾರಾದರೂ ನಿಮಗೆ ಒಂದು .bash_profile ಅನ್ನು ಕಳುಹಿಸಬಹುದು" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "ವಾಕ್ಯಾಂಶವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "ಈ ಸಂಜ್ಞೆಯು ಕೇವಲ %d args ಅನ್ನು ರವಾನಿಸಿದೆ, $%d ಅಮಾನ್ಯವಾಗಿದೆ" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "ಪಠ್ಯ ಕಡತವನ್ನು ಮುದ್ರಿಸು" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ ಸಂಖ್ಯೆ" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "ಘಟನೆಗಳನ್ನು ಸಂಪಾದಿಸು" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "ಇದರಿಂದ ಲೋಡ್ ಮಾಡು..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "ಎಲ್ಲವನ್ನೂ ಪರೀಕ್ಷಿಸಿ" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "ಪಟ್ಟಿಯನ್ನು ಅಳಿಸಿ ಹಾಕಿ" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ URL ಅನ್ನು ಕಾಪಿ ಮಾಡಿ" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "ಕಾಪಿ ಮಾಡು" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "ಪಟ್ಟಿಯನ್ನು ಕಡತಕ್ಕೆ ಉಳಿಸಿ" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ಒಟ್ಟು" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "ಒಂದು irc://server:port/channel URL ಅನ್ನು ತೆರೆ" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000000000000000000000000000000000000..6a74b8475d6268142710c495dc9c42950345b774 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,6257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Seong-ho Cho <darkcircle.0426@gmail.com>, 2014 +# Intrainos, 2016 +# Intrainos, 2016 +# Seong-ho Cho <darkcircle.0426@gmail.com>, 2014,2016-2017,2019 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2019-04-02 01:54+0000\n" +"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n" +"Language-Team: Korean (http://www.transifex.com/hexchat/hexchat/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "헥스채트" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC 클라이언트" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "헥스채트는 사용하기 쉽고 확장성이 뛰어난 IRC 클라이언트 입니다. 여러 네트워크에 안전하게 참여할 수 있으며, 여러분이 직접 유연하게 꾸밀 수 있는 인터페이스를 사용하여 다른 사람과 개인적으로 대화하거나 대화방에서 대화할 수 있습니다. 게다가 파일도 보낼 수 있습니다." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "핵스채트는 DCC, SASL, 프록시 서버, 철자 검사, 경고, 기록, 사용자 정의 테마, 파이썬/펄 스크립트 같은 기능을 지원합니다." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "주 대화 창" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "온라인에 있는 여러 사람과 대화합니다" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;인스턴트 메신저;Chat;대화;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "공개 안전 모드" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "핵스채트 테마 관리자" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "바빠요~" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "전 이만 갑니다." + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "끔" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "켬" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{설정 안 함}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "네트워크" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<없음>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "대화방" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "대기 중" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "활성" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "실패" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "확인" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "연결" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "중지됨" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s에 접근할 수 없습니다.\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "오류" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s님이 \"%s\"(을)를 전송합니다. 수락하시겠습니까?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "DCC가 활성화되지 않았습니다\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "귓속말 창 열기(_O)" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "파일 전송(_S)" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "사용자 정보(WhoIs)(_U)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "친구 목록에 추가(_A)" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "무시(_I)" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "관리자 명령(_P)" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "관리 권한 주기" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "관리 권한 박탈" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "발언권 주기" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "발언권 뺏기" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "퇴장/입장 금지" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "퇴장" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "입장 금지" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "퇴장 후 입장 금지" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "대화방 나가기" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "대화방 입장..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "입장할 대화방을 입력하십시오:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "서버 연결" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "서버에 핑" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "버전 숨기기" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "관리 권한" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "관리권 뺏기" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "안녕" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s님을 강제로 퇴장시키는 이유:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "파일 보내기" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "귓속말" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "사용자 정보" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "보내기" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "대화" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "지우기" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "핑" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "%s에 쓰기 권한이 없습니다. 이 세션에서 저장할 수 없습니다." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC를 루트 계정으로 실행했습니다!!\n 새로운 사용자 계정을 만든후 로그인하여 실행하십시오.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "예 " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "아니요 " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s님에게서 너무 많은 CTCP 요청을 받고 있으므로 %s님을 무시합니다.\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "%s에서 과도한 양의 메시지가 오고 있습니다. gui_autoopen_dialog를 OFF로 설정하십시오.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "%s(으)로 해석했습니다" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "없음" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "해석 결과:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "%s 찾는중..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 연결됨\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 종료함\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "입장한 대화방이 없습니다. \"/join #대화방이름\"으로 대화방에 입장하세요.\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "연결하지 못했습니다. \"/server <서버 주소> [<포트>]\"명령으로 연결하세요.\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "%s 네트워크에 이미 %s 서버가 있습니다.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "%s 네트워크에 %s 서버를 추가했습니다.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "이미 자리 비움으로 설정함: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "이미 돌아옴으로 설정함.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "실행하려면 /bin/sh가 필요합니다!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "사용 가능한 명령:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "사용자 정의 명령:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "추가 기능 정의 명령:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "/HELP <명령>, 또는 /HELP -l 명령을 치면 더 많은 정보를 볼 수 있습니다." + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "'%s' 인자는 알 수 없으므로 무시합니다." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "이 서버에서 발언권 박탈 기능을 지원하지 않습니다." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "추가 기능을 찾을 수 없습니다.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "해당 추가 기능을 제거했습니다.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <버튼이름> <동작>, 사용자 목록에 버튼을 추가합니다" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <새네트워크> <새서버주소/6667>, 네트워크 목록에 새 서버주소와 새 네트워크를 추가합니다" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <명령>, 입장한 모든 대화방에 명령을 수행합니다" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <명령>, 현재 서버의 모든 채널에 명령을 전달합니다" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <명령>. 연결 중인 모든 서버에서 명령을 수행합니다" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<reason>], 명령은 자리비움을 설정합니다(설정을 해제하려면 /BACK 명령 사용)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, 돌아옴으로 설정(자리 비우지 않음)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <마스크> [<입장금지형식>], 현재 대화방에서 해당되는 마스크에 속한 모든 사람을 대화방에 입장하지 못하게 합니다. 이미 대화방에 있는 참여자는 강제 퇴장되지 않습니다(관리 권한 필요)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <변수> [<값>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<인코딩>], 현재 연결에 사용할 인코딩 설정을 가져오거나 설정합니다" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<개수>], 현재 텍스트 창 또는 명령 기록을 지웁니다" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], 열린 탭이 하나만 있을 경우 창을 닫거나, \"-m\" 플래그로 모든 요청문을 닫는 식으로 현재 탭을 닫습니다." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <코드|와일드카드>, 국가 코드를 찾습니다. 예: au = 오스트레일리아" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <대화명> <메시지>, CTCP 메시지를 해당 사용자에게 보냅니다. 널리 쓰이는 메시지는 VERSION과 USERINFO입니다" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<대화방>], 현재 대화방 또는 주어진 대화방을 나갔다가 바로 다시 들어옵니다" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <대화명> - 해당 사용자에게 파일 받기를 시도합니다\nDCC SEND [-maxcps=#] <대화명> [파일] - 해당 사용자에게 파일을 전송합니다\nDCC PSEND [-maxcps=#] <대화명> [파일] - 해당 사용자에게 파일을 Passive 모드로 전송합니다\nDCC LIST - DCC 목록을 표시합니다\nDCC CHAT <대화명> - 해당 사용자와 1:1 대화를 시도합니다\nDCC PCHAT <대화명> - 해당 사용자와 1:1 대화를 Passive 모드로 시도합니다\nDCC CLOSE <명령> <대화명> <파일> 예제:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <대화명>, 현재 대화방에서 제한된 관리 권한을 박탈합니다(관리 권한 필요)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <버튼이름>, 사용자 목록에서 버튼을 지웁니다" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <대화명>, 현재 대화방에서 관리 권한을 박탈합니다(관리 권한 필요)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <대화명>, 현재 대화방에서 해당 사용자의 발언권을 박탈합니다(관리 권한 필요)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, 서버와 연결을 끊습니다" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <대화명|호스트|IP>, IP 또는 호스트 이름을 해석합니다" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <channel,list,/network> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <텍스트>, 텍스트를 대화창에 출력합니다" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <명령>, 명령을 실행합니다. 만약 -o 인자를 사용하면 현재 대화방에 결과를 출력하고, 그렇지 않다면 자신에게만 보여줍니다" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, 프로세스 SIGCONT를 보냅니다" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], 현재 실행 중인 세션을 종료시킵니다. 만약 -9가 주어진다면 프로세스는 SIGKILL을 받아 강제 종료됩니다" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, 프로세스 SIGSTOP을 보냅니다" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, 프로세스의 표준 입력으로 데이터를 보냅니다" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, 헥스채트 설정을 내보냅니다" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, 현재 서버에 보낼 목록을 제거합니다" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <호스트> [<포트>], 해당 호스트를 프록시로 사용합니다. 포트의 기본값은 23입니다." + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <대화명> [암호], 유령처럼 남은 대화명의 사용자를 죽입니다" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <대화명>, 해당 사용자에게 제한된 관리 권한을 부여합니다(관리 권한 필요)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <암호>, 자신을 NickServ에 인증합니다" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <마스크> <형식..> <추가 인자..>\n 마스크 - 무시할 호스트 마스크, 예: *!*@*.aol.com\n 형식 - 무시할 형식, 사용가능한 값:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n 추가 인자 - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <대화명> [<대화방>], 누군가를 대화방에 초대합니다. 대화방의 기본값은 현재 대화방 입니다(관리 권한 필요)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <대화방> [<암호>], 대화방에 입장합니다" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <대화명> [이유], 현재 대화방에서 대화명을 가진 사용자를 강제 퇴장시킵니다(관리 권한 필요)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <대화명> [이유], 현재 대화방에서 대화명을 가진 사용자를 입장 금지한 후 강제 퇴장시킵니다(관리 권한 필요)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, 강제로 새로운 랙을 확인합니다" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <문자열>, 버퍼의 문자열을 검색합니다\n -h: 찾은 문자열을 강조합니다\n -m: 대소문자을 일치시킵니다\n -r: 문자열이 정규표현식일 경우입니다\n --: 문자열 '-r'의 검색 옵션을 끝내려면 사용합니다" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <파일>, 추가 기능 또는 스크립트를 불러옵니다" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, 현재 대화방에서 모든 관리자의 권한을 박탈합니다(관리 권한 필요)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, 현재 대화방에서 모든 관리자의 권한을 박탈합니다(관리 권한 필요)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <동작>, 현재 대화방에서 동작을 취합니다(동작은 3자에게 사용합니다. 예: /me 후다다닭==33)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MOP, 현재 대화방의 모든 사용자에게 일부 관리 권한을 부여합니다(관리 권한 필요)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, 현재 대화방에서 모든 사람을 강제 퇴장시킵니다.(관리 권한 필요)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, 현재 대화방의 모든 사용자에게 관리 권한을 부여합니다(관리 권한 필요)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <대화명> <메시지>, 귓속말 메시지를 보냅니다. 메시지를 보내려면 대화명 마지막에 메시지 \".\"을 붙이든지, DCC 대화를 하려면 \"=\"를 메시지 앞에 붙이십시오" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [대화방], 대화방의 대화명 목록을 조회합니다" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <대화명> <메시지>, CTCP 알림 메시지를 보냅니다" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <호스트이름> [<포트>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <대화명>, 대화명을 설정하거나 변경합니다" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <대화명/대화방> <메시지>, 알림을 보냅니다" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n 네트워크1[,네트워크2,...]] [<대화명>], 알림 목록을 표시하거나 목록에 대화명을 추가합니다" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <대화명>, 해당 사용자에게 대화방 관리 권한을 부여합니다(관리 권한 필요)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<대화방>] [<이유>], 대화방을 나갑니다. 대화방의 기본값은 현재 대화방입니다" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <대화명 | 대화방>, 사용자나 대화방에 CTCP 핑을 보냅니다" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <대화명> [메시지], 새 귓속말 창을 열고 추가적으로 메시지를 보냅니다" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <마스크> [<발언권박탈형식>], 서버에서 지원하는 경우 현재 대화방에서 조건에 일치하는 모두의 발언권을 박탈합니다." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<이유>], 서버와 연결을 종료합니다" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <텍스트>, 서버에 원시 메시지를 보냅니다" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<호스트>] [<포트>] [<암호>], 그냥 /RECONNECT는 현재 서버를 다시 연결하고, /RECONNECT ALL을 사용하면 연결되어 있는 모든 서버에 다시 연결합니다" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<호스트>] [<포트>] [<암호>], 그냥 /RECONNECT는 현재 서버를 다시 연결하고, /RECONNECT ALL을 사용하면 연결되어 있는 모든 서버에 다시 연결합니다" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <텍스트>, IRC 서버의 데이터와 같은 원시 데이터를 헥스채트에 보냅니다" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <이름>, 플러그인 또는 스크립트를 다시 불러옵니다" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <텍스트>, 현재 창의 객체에 텍스트를 보냅니다" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <대화명> [<파일>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <호스트> <포트> <대화방>, 연결 후, 대화방에 자동 입장하거나 대화방을 개설합니다" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <호스트> <포트> <대화방>, 연결 후, 대화방에 자동 입장하거나 대화방을 개설합니다" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <호스트> [<포트>] [<암호>], 서버에 연결합니다. 기본 포트는 일반 연결시 6667이며, ssl 연결시 6697입니다" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <호스트> [<포트>] [<암호>], 서버에 연결합니다. 일반 연결용 포트는 6667입니다" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <변수> [<값>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<위치>, 입력 창의 커서 위치를 다시 정합니다" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <새이름>, 탭 이름을 바꿉니다. tab_trunc 제한값이 적용됩니다" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <새텍스트>, 입력 창의 텍스트 내용을 바꿉니다" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<주제>], 주제가 주어지면 주어진 주제를 설정하고, 그렇지 않다면 현재 주제를 보여줍니다" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <제한시간> <파일1> [<파일2>] 트레이에서 두 개의 아이콘을 깜빡이게 합니다.\nTRAY -f <파일 이름> 트레이에 해당 아이콘으로 설정합니다.\nTRAY -i <번호> 내장 아이콘을 깜빡입니다.\nTRAY -t <텍스트> 트레이에 도움말을 표시합니다.\nTRAY -b <제목> <텍스트> 트레이에 제목을 표시합니다." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <마스크> [<마스크>...], 지정한 마스크를 입장 금지 목록에서 해제합니다." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <마스크> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <이름>, 추가 기능 또는 스크립트의 사용을 중지합니다" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <마스크> [<마스크>...], 서버에서 지원하는 경우 지정한 마스크와 일치하는 사용자의 발언권 박탈을 해제합니다." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <URL>, URL을 브라우저에서 엽니다" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <대화명1> <대화명2> 등, 대화방의 참여자 목록에서 해당 대화명을 강조하여 표시합니다" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <대화명>, 해당 사용자에게 발언권을 부여합니다(관리 권한 필요)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <메시지>, 모든 대화방에 메시지를 보냅니다" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <메시지>, 현재 대화방의 모든 관리자에게 메시지를 보냅니다" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "다음에 대한 사용자 명령: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "사용법: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\n이 명령은 도움말이 없습니다.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "해당 명령이 없습니다.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "사용자 명령에 잘못된 인자가 있습니다.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "사용자 명령의 재귀 단계가 너무 많습니다. 중지하는 중." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "알 수 없는 %s 명령입니다. /help 명령을 사용하십시오\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "hexchat_plugin_init 심볼이 없습니다. 헥스채트 추가 기능이 맞습니까?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\t%s에서 ident 요청을 %s(으)로 제공중" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tidentd 서버 시작 오류: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <username>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "%d 타이머를 삭제했습니다.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "참조 번호를 찾을 수 없습니다.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "타이머를 설치하지 않았습니다.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "Ref# 초 반복 명령\n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "정말 SSL을 사용할 수 있는 서버와 포트입니까?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "%s 호스트 이름을 해석 할 수 없습니다.\nIP 설정을 확인하십시오!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy 순회에 실패했습니다.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s의 다음 서버로 진행합니다....\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "경고: 알 수 없는 \"%s\" 문자세트입니다. %s 네트워크에서는 문자열 변환이 적용되지 않습니다." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O님을 알림 목록에 추가했습니다." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C26$3%O이(가) %C24$4%O에서 %C18$2%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$t%C22$1%O에 입장할 수 없습니다(%C20강제 퇴장 당했습니다%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$t확인한 명세: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$t제거한 명세: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$t지원하는 명세: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$t요청한 명세: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O님의 대화명은 이제 %C18$2%O 입니다" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O에 입장 금지했습니다." + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$t%C22$1%O 대화방은 %C24$2%O에 개설했습니다" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님의 대화방 제한된 관리 권한을 박탈했습니다" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님의 대화방 운영자 권한을 박탈했습니다" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님의 발언권을 박탈했습니다" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C님이 %C18$2%O의 제외 조건을 설정했습니다" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님께 대화방 제한된 관리 권한을 부여했습니다" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C님이 %C18$2%O의 초대 제외 대상 조건을 설정했습니다" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%U대화방 사용자 주제" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O님이 %C22$4%O의 모드를 %C24$2$3%O(으)로 설정했습니다" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$t%C22$1%O 대화방의 상태: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님께 대화방 관리 권한을 부여했습니다." + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O의 발언권 박탈 대상 조건을 설정했습니다" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 대화방에서%C18$2%O을(를) 해제했습니다" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O의 초대 제외를 제거했습니다" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O님이 대화방 암호를 제거했습니다" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O님이 사용자 제한을 제거했습니다" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O님이 대화방 암호를 %C24$2%O(으)로 지정했습니다" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O님이 대화방 제한을 %C24$2%O(으)로 설정했습니다" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님의 강제 퇴장을 해제했습니다." + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O의 발언권 박탈 대상 조건을 해제했습니다" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$t%C22$1%O 대화방 URL: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O님이 %C18$2%O님께 발언권을 부여했습니다." + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$t연결했습니다. 로그인 중입니다." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$t%C29$1%C에 연결중(%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$t연결에 실패했습니다 (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$t%C18$2%C에서 %C24$1%O CTCP를 받았습니다" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$t%C18$2%C에서 (%C22$3%C 으로의) %C24$1%O CTCP를 받았습니다" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$t%C18$2%C님에게 %C24$1%O CTCP 소리를 받았습니다" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$t%C18$2%C님에게 %C24$1%C CTCP 소리를 (%C22$3%O(으)로) 받았습니다" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%O님과의 DCC CHAT을 중단했습니다." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C18$1%C에 대한 DCC CHAT 연결이 성립되었습니다. %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$t%C18$1%O에 대한 DCC CHAT을 잃었습니다(%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$t%C18$1님의 DCC CHAT 전달을 받았습니다%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$t%C18$1%O 님께 DCC CHAT 전달중" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$t이미 %C18$1%O님께 CHAT 전달중" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$t%C18$2%O님에게로의 DCC $1 연결 시도에 실패했습니다(%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$t%C18$2%O님에게 '%C23$1%C'을(를) 받았습니다" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 형식 송/수신 상태 크기 위치 파일 " + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$t%C18$1%O님에게 잘못된 DCC 요청을 받았습니다.$a010%C23*%O$t패킷 내용: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$t%C18$2%O님께 '%C24$1%O' 전달중" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$t전달한 DCC가 없습니다." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%O으로의 DCC RECV '%C23$2%O'을(를) 중단했습니다." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$t%C18$3%O님의 DCC RECV '%C23$1%O'을(를) 완료했습니다. %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$t%C18$1%O님께 DCC RECV 연결을 만들었습니다 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$t%C18$3%O님의 DCC RECV '%C23$1%O'에 실패했습니다(%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: 기록용 '%C23$1%C' 파일을 열 수 없습니다(%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$t'%C24$1%C' 파일이 있어, 대신 '%C23$2%O' 이름으로 저장합니다." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C님이 %C24$3%C(으)로부터 '%C23$2%C'을(를) 재개하도록 요청했습니다." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$t%C18$1%C님에 대한 '%C23$2%O' DCC SEND를 취소했습니다." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$t%C18$2%C님께 DCC SEND '%C23$1%C'을(를) 완료했습니다. %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$t%C18$1 %C30[%O%C24$2%C30]로 DCC SEND 연결이 만들어졌습니다 %O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$t%C18$2%C님에 대한 DCC SEND '%C23$1%C'에 실패했습니다 (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C님이 '%C23$2%C'을(를) 보냈습니다(%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$t%C18$3%O님에 대한 DCC $1 '%C23$2%C'을(를) 멈췄습니다. 중지합니다." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$t%C18$3%O님에 대한 DCC $1 '%C23$2%C' 처리 시간이 초과되었습니다. 중지합니다." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O님을 알림 목록에서 지웠습니다." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$t연결 끊어짐(%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$t발견한 IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O님을 무시 목록에 추가했습니다." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%O%C18$1%O의 무시 항목이 바뀌었습니다." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 호스트마스크 PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O을(를) 무시 목록에서 제거했습니다." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%O무시 목록이 비어 있습니다." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$t%C22$1%C에 입장할 수 없습니다(%C20초대만 가능한 대화방%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$t%C18$2%O님이 %C22$1%O 대화방으로 초대했습니다(%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23)님이 입장하였습니다" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$t%C22$1%C에 입장할 수 없습니다(%C20암호 필요%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C님께서 %C22$3%C에서 %C18$2%C님을 추방했습니다(%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C18$1%C%C19*%O$t%C19%C26$1%C님이 당신의 연결을 강제로 끊었습니다(%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD 무시함%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C은(는) 이미 사용중입니다. %C18$2%O(으)로 재시도중..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C에 문제가 있습니다. %C18$2%O(으)로 재시도중..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$t대화명에 문제가 있거나 이미 사용중입니다. /NICK을 사용하여 다른 대화명을 사용해보십시오." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tDCC가 없습니다." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$t현재 실행중인 프로세스가 없습니다" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$t알림: %C18$1%C님은 자리 비움 상태입니다(%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$t알림: %C18$1%C님이 돌아왔습니다" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$t알림 목록은 비어 있습니다." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 알림 목록" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O 참여자는 알림 목록에 있습니다." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$t알림: %C18$1%C님은 연결되어 있지 않습니다(%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$t알림: %C18$1%C님은 연결되어 있습니다(%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24)님이 나갔습니다" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24)님이 나갔습니다($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$t%C18$1%C의 핑 응답: %C24$2%O초" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$t%C24$1%O 초 동안 핑 응답이 없습니다. 연결 끊는중." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$t프로세스가 이미 실행중입니다" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1님이 끝내셨습니다($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C님이 상태를%C30[%C24$2%C30](으)로 바꿨습니다%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$t%C18$1%O의 IP 번호 찾는중..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$t%C18$1%O(으)로 SASL 인증했습니다(%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$t연결했습니다." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$t%C29$1%O 찾는중" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$t이전 연결 시도를 멈췄습니다(%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$t%C22$1%C의 주제는 $2입니다%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C님이 주제를 $2(으)로 바꿨습니다.%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$t%C26$2%C님이 %C22$1%C 대화방의 주제를 설정함(%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$t알 수 없는 호스트입니다. 잘못 입력하셨습니까?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$t%C22$1%C에 입장할 수 없습니다(%C20참여자 수 제한에 도달했습니다%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$t%C22$1%C의 참여자: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C님은 자리 비움 상태입니다 %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OWHOIS 목록의 끝입니다." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 대기 %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 대기 %C23$2%O, 접속: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 실제 호스트: %C23$2%O, 실제 IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$t현재 %C22$2%O에서 대화중입니다" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$t%C26$3%C님이 %C22$2%O에서 강제 퇴장시켰습니다(%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$t%C22$3%O 대화방에서 나왔습니다" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$t%C22$3%C 대화방에서 나왔습니다(%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$t%C18$1%O님을 %C22$2%O 대화방에 초대했습니다 (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$t이제부터 대화명은 %C18$2%O 입니다" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "로그를 불러온 일시:" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** 기록 종료: %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** 기록 시작: %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* 기록용으로 로그 파일을 열 수 없습니다.\n%s의 권한을 확인하십시오" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "왼쪽 메시지" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "오른쪽 메시지" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP 주소" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "사용자 이름" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "참여자 대화명" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "입장한 대화방" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "사용자 호스트" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "사용자 계정" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "대화명" + +#: src/common/text.c:980 +msgid "The action" +msgstr "동작" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "상태" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "정보 텍스트" + +#: src/common/text.c:987 +msgid "The text" +msgstr "텍스트" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "메시지" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "서버명" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "확인한 명세" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "제거한 명세" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "서버 명세" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "요청한 명세" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "이전 대화명" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "새 대화명" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "주제를 바꾼 사용자의 대화명" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "주제" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "입장 금지한 사람의 대화명" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "퇴장한 사람" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "대화방" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "이유" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "퇴장하는 사람의 대화명" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "시간" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "만든이" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "대화명" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "이유" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "호스트" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "사용자의 위치" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x 형식의 시간(하단 참조)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "대화방 이동" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "소리" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "사용자의 대화명" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP 이벤트" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "암호를 설정한 사용자의 대화명" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "암호" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "인원 제한을 설정한 사용자의 대화명" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "인원 제한" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "관리 권한을 주는 사용자의 대화명" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "관리 권한을 받는 사용자의 대화명" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "제한된 관리 권한을 받은 사용자의 대화명" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "제한된 관리 권한을 주는 사용자의 대화명" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "발언권을 주는 사용자의 대화명" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "발언권을 받는 사용자의 대화명" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "입장 금지 설정을 한 사용자의 대화명" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "입장 금지 마스크" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "발언권을 박탈한 사용자의 대화명" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "발언권 박탈 마스크" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "암호를 해제한 사용자의 대화명" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "인원 제한을 해제한 사용자의 대화명" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "옵을 제거한 사람의 별명" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "관리 권한을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "하프옵을 제거한 사람의 별명" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "일부 관리 권한을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "발언권을 박탈한 사람의 별명" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "발언권을 박탈당한 사용자의 대화명" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "추방 해제한 사람의 별명" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "발언권을 허용한 사람의 별명" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "제외된 사용자의 대화명" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "제외 마스크" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "제외를 제거한 사용자의 대화명" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "초대한 사용자의 대화명" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "초대할 마스크" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "초대전용 설정을 해제한 사용자의 대화명" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "대화방 상태를 설정한 사용자의 대화명" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "상태 설정 기호는 (+/-) 입니다." + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "상태 기호" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "대화방 설정 변경" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "전체 이름" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "대화방 이용자는 /\"IRC 관리자\"입니다" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "서버 정보" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "잠수 시간" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "연결 시간" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "자리 비움 이유" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "메시지" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "계정" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "실제 user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "실제 IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "대화방 이름" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "매커니즘" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "원시 숫자값 또는 ID" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "텍스트" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "초대한 사용자의 대화명" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "참여자" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "사용할 대화명" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "시도중인 대화명" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "포트" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "상태 문자" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "주소" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC 형식" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "파일 이름" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "받을 위치" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "경로" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "위치" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "크기" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC 문자" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "자리 비움 이유" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "알림 항목의 수" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "이전 파일 이름" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "새 파일 이름" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "받는 이" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "호스트 마스크" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "호스트" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "패킷" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "초" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "초대할 참여자의 대화명" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "입장 금지 마스크" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "입장 금지를 설정한 사람" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "입장 금지 시간" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "소리 파일을 읽지 못함:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "원격 호스트에서 소켓이 닫혔습니다" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "연결이 거부되었습니다" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "호스트로 갈 경로가 없습니다" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "연결 시간을 초과했습니다" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "해당 주소로 접근할 수 없습니다" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "연결이 초기화되었습니다" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "어센션 섬" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "안도라" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "아랍 국가 연합" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "비행 관련 구역" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "아프카니스탄" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "안티과와 바부다" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "앙귈라" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "알바니아" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "아르메니아" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "네덜란드" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "앙골라" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "안타티카" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "아르헨티나" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS 역추적" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "아메리칸 사모아" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "아태지역" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "오스트리아" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "북대서양 조약기구" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "오스트레일리아" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "아루바" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "올란드 제도" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "아케르바이젠" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "보스니아와 헬제고비나" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "바베이도스" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "방글라데시" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "벨기에" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "부르키나 파소" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "불가리아" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "바레인" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "브룬디" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "비지니스" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "베닌" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "버뮤다" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "브루나이 달루살람" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "볼리비아" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "브라질" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "바하마" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "부탄" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "부벳섬" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "보츠와나" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "벨라루스" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "벨리즈" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "캐나다" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "카탈루니아어" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "코코스 섬" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "콩고 민주 공화국" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "중앙 아프리카 공화국" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "콩고" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "스위스" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "코테 드이보르" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "쿡 제도" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "칠레" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "카메룬" + +#: src/common/util.c:738 +msgid "China" +msgstr "중국" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "콜롬비아" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "상업용 인터닉" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "협업체" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "코스타리카" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "세르비아와 몬테니그로" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "쿠바" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "카보베르데" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "크리스마스 섬" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "키프러스 공화국" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "체코 공화국" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "동부 독일" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "독일" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "지부티" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "덴마크" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "도미니카" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "도미니카 공확국" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "알제리" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "에콰도르" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "교육 재단" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "에스토니아" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "이집트" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "서사하라" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "에리트리아" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "스페인" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "에디오피아" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "유렵국가 연합" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "핀란드" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "피지" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "포크랜드 제도" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "미크로네시아" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "파로에 제도" + +#: src/common/util.c:770 +msgid "France" +msgstr "프랑스" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "가봉" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "영국" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "그레나다" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "조지아" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "프랑스령 가이아나" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "영국령 제도" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "가나" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "지브롤터" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "그린란드" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "잠비아" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "기니" + +#: src/common/util.c:782 +msgid "Government" +msgstr "정부" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "과들루프" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "적도 기니" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "그리스" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "세인트조지아와 세인트샌드위치 제도" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "과테말라" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "괌" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "기니비사우" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "가이아나" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "홍콩" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "허드와 맥도날드 제도" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "온두라스" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "크로아티아" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "아이티" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "헝가리" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "인도네시아" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "아일랜드" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "이스라엘" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "맨 섬" + +#: src/common/util.c:801 +msgid "India" +msgstr "인도" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "정보" + +#: src/common/util.c:803 +msgid "International" +msgstr "국제" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "영연방 인도양" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "이라크" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "이란" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "아이슬란드" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "이탈리아" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "저지 섬" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "자메이카" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "조단" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "회사 직업" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "일본" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "케냐" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "키르기스스탄" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "캄보디아" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "키리바티" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "코모로스" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "세인트키츠네비스" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "조선민주주의인민공화국" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "대한민국" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "쿠웨이트" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "케이멘 군도" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "카자흐스탄" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "라오스" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "레바논" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "세인트루치아" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "리히텐슈타인" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "스리랑카" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "리베리아" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "레소토" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "리투아니아" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "룩셈부르크" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "라트비아" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "리비아" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "모로코" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "모나코" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "몰도바" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "몬테네그로" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "미국 의료" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "마다가스카르" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "마샬 제도" + +#: src/common/util.c:843 +msgid "Military" +msgstr "국방" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "마케도니아" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "말리" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "미얀마" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "몽고" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "마카오" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "모바일 장치" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "노턴 마리아나 섬" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "마르티니크" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "모리타니아" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "몬테세라트" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "말타" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "모리셔스" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "박물관" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "몰디브" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "말라위" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "멕시코" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "말레이지아" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "모잠비크" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "나미비아" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "개인 이름" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "뉴 칼레도니아" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "니제르" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "인터닉 네트워크" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "노퍽 섬" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "나이지리아" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "니카르과" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "네덜란드" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "노르웨이" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "네팔" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "나우루" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "나우에섬" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "뉴질랜드" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "오만" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "인터닉 비영리 기관" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "파나마" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "페루" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "프랑스령 폴리네시아" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "파푸아 뉴기니" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "필리핀" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "파키스탄" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "폴란드" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "생 피에르에 미클롱" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "핏케언섬" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "푸에르토리코" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "직업" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "팔레스타인 자치구" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "포르투갈" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "팔라우" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "파라과이" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "콰타르" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "레위니옹" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "로마니아" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "전통 ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "세르비아" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "러시아 연방" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "르완다" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "사우디아라비아" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "솔로몬 제도" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "세이셸 제도" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "수단" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "스웨덴" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "싱가폴" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "세인트헬레나" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "슬로베니아" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "스발바르 제도와 얀 마이엔 군도" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "슬로바키아공화국" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "시에라리온" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "산마리노" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "세네갈" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "소말리아" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "수리남" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "남수단" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "상투메 프린시페" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "옛 소비에트 연방 공화국" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "엘살바도르" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "시리아" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "스와질란드" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "터크스카이코스 제도" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "차드" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "인터넷 통신 서비스" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "프랑스 남부 지역" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "토고 공화국" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "타이" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "타지크스탄" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "토켈라우 제도" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "동티모르" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "투르크메니스탄" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "튀니지" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "통가" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "터키" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "관광" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "트리니다드 토바고" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "투발루" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "대만" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "탄자니아" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "우크라이나" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "우간다" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "영국" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "미국" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "우루과이" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "우즈베키스탄" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "바티칸 시국" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "세인트빈센트 그레나딘 제도" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "베네수엘라" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "영국령 버진 제도" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "미국령 버진 제도" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "베트남" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "바누아투" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "윌리스와 푸투나 제도" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "사모아" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "성인 유흥" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "예멘" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "마요트" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "유고슬라비아" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "남아프리카 공화국" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "잠비아" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "짐바브웨" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "세션 버스에 연결할 수 없습니다." + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner를 마치는 데 실패했습니다" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "명령을 끝내는 데 실패했습니다" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "원격 접근" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "DBUS을 이용한 원격 추가 기능" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "세션 버스에 연결할 수 없습니다: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s 가져오기 실패: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "문자표" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "입장 금지" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "제외" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "제외" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "초대" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "초대" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "발언권 박탈" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "발언권 박탈" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "마스크 복사" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%3$s이(가) %2$s에서 %1$s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "항목 복사" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "연결되어 있지 않습니다." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "먼저 입장 금지 목록에서 선택 하십시오." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "%s의 모든 목록의 항목을 제거하시겠습니까?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "형식" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "마스크" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "보낸이" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "날짜" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "대화방 탭에서만 입장 금지 목록을 열 수 있습니다." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "영구 추방 목록(%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "제거" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "잘라내기" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "새로 고침" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "전체 대화방 %4$d개 중 %3$d개, 전체 참여자 %2$d명 중 %1$d명을 나타냅니다." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "출력할 파일 이름을 선택하십시오" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "대화방 입장(_J)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "대화방 이름 복사(_C)" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "주제 복사(_T)" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "채널 목록(%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "검색(_S)" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "목록 다운로드(_D)" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "목록 저장(_L)..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "검색 대상:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "대화방 인원 수: " + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "명 부터" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "명 까지의 참여자." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "검색 결과:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "대화방 이름" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "검색 형식:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "단순 검색" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "패턴 일치(와일드카드)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "정규 표현식" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "검색 단어:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s님께 파일 보내기" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "그 파일은 이어받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "파일에 접근할 수 없습니다: %s\n%s.\n이어받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "받을 디렉터리의 파일이 전송 받을 파일보다 큽니다. 이어 받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "두 사람에게서 같은 파일을 받을 경우 이어 받을 수 없습니다." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "업로드/다운로드 - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "상태" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "파일" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "모두" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "파일 보내기" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "파일 받기" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "자세히" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "파일:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "주소:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "중지" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "허용" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "이어받기" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "디렉터리 열기..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC 대화 목록 - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "받음" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "보냄" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "시작 시간" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "추가" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "삭제" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "취소" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "저장" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "서버에 자동으로 연결하지 않기" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "다른 설정 디렉터리 사용" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "추가 기능을 사용하지 않음" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "추가 기능/스크립트 자동 불러오기 디렉터리 표시" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "사용자 설정 디렉터리 표시" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "irc://server:port/channel?key URL 열기" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "연결시 명령:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "URL을 열거나 헥스채트의 명령을 실행합니다" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "최소화를 시작합니다. 단계 0=보통 1=아이콘화 2=알림영역" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "레벨" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "버전 정보 표시" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "글꼴 열기 실패:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "검색할 버퍼가 비어있습니다.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d 바이트" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "네트워크 전송 큐: %d 바이트" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "명령 실행 동작은 단축키를 눌렀을때 항목 상자에 입력한 데이터 1의 데이터로 실행합니다. 따라서 텍스트(대화방 참여자로 보냄), 명령 또는 사용자 명령을 넣을 수 있습니다. 실행할 때 데이터 1 \\n 에 입력한 모든 문자는 명령을 구분하는데 사용하여, 하나 이상의 명령을 실행할 수 있습니다. 실제 텍스트에 \\ 를 넣으려면, 실행후 \\\\를 입력하십시오" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "페이지 전환 명령은 노트북의 페이지 사이를 전환하는 명령입니다. 데이터 1에는 전환할 페이지를 설정합니다. 데이터 2에 어떤 값을 설정하면 설정한 현재 위치와 관련된 곳으로 전환합니다. 데이터 1에 최근 페이지 및 중요한 동작으로 자동 전환하도록 설정하십시오(먼저 요청한 다음, 채널을 강조하고, 채널을 대화창으로 띄우거나, 채널에 다른 데이터를 채우십시오)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "버퍼에 입력 명령은 데이터 1의 내용을 마치 현재 커서 위치에 키로 입력한 것처럼 입력 창에 넣습니다." + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "페이지 스크롤 명령은 한 페이지 또는 한 줄 단위로 텍스트 위젯 스크롤을 위아래로 움직입니다. 데이터 1에 Top, Bottom, Up, Down, +1, -1 중 하나를 입력하십시오." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "버퍼 설정 명령은 입력창의 내용을 데이터 1의 내용으로 설정합니다." + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "최근 명령 명령은 입력 창의 내용을 최근에 입력한 명령어로 설정합니다. 쉘에서 위 화살표 키를 누른 것과 같습니다." + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "다음 명령 명령은 입력 창의 내용을 다음 명령으로 설정합니다. 쉘에서 아래 화살표 키를 누른 것과 같습니다." + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "이 명령은 입력 창의 텍스트를 대화명 또는 명령어로 완성합니다. 데이터 1을 설정하면 문자열에 탭을 두번 누르는 경우에 다음 대화명이 아니라 최근 대화명을 선택합니다." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "이 명령은 대화명 목록의 스크롤을 올리거나 내립니다. 만약 데이터 1을 어떤 값으로든 설정하면 스크롤을 올리고, 아닐 경우 내립니다." + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "이 명령은 입력 창에서 입력한 마지막 단어를 목록의 단어와 비교해서 일치하면 다른 단어로 바꿉니다." + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "이 명령은 앞의 탭을 왼쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "이 명령은 앞의 탭을 오른쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "이 명령은 현재 탭을 왼쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "이 명령은 현재 탭을 오른쪽으로 이동 시킵니다." + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "입력된 줄은 기록은 했지만 서버로 전송하지 못했습니다." + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "단축키 설정 불러오는 중 오류가 발생 했습니다." + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "이 동작에 대한 도움말을 보시려면 항목을 선택하십시오." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "바로 가기 키 - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "해당 파일을 쓸 수 없습니다." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "해당 파일은 열 수 없습니다." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "해당 마스크가 이미 존재합니다." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "개인:" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "알림" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "무시해제" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "정말로 모든 무시 항목을 제거하시겠습니까?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "무시할 마스크 입력:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "무시 목록 - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "무시 상태:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "대화방:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "개인:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "알림:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "초대:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "추가..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "대화방 이름이 너무 짧습니다. 다시 시도하십시오." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "연결 완료 - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "%s에 연결 완료했습니다." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "서버 목록 창에서, 이 네트워크에서 자동으로 참여할 채널(대화방)에 들어가지 않았습니다." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "다음에는 무엇을 하시겠습니까?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "아무것도 안 함. 다음에 대화방에 입장하겠습니다.(_N)." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "이 대화방에 입장(_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "대화방 이름을 알고 있다면, 이곳에 입력하십시오." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "채널 목록을 엽니다(_O)." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "대화방 목록 받기에 1~2분 정도 걸립니다." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "연결 후 이 창을 항상 표시합니다(_A)." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "대화창" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "대화방 %s의 주제는 %s입니다" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "주제가 정해져 있지 않습니다." + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "이 서버에 대화방 또는 참여자 %d개(명)과 연결되어 있습니다. 모두 닫으시겠습니까?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "헥스채트를 끝낼까요?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "다음에 물어보지 마십시오." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "IRC 네트워크 %i개에 연결중입니다." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "정말로 끝내시겠습니까?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "아직 파일 전송이 진행 중입니다." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "알림 영역으로 최소화(_M)" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "색상 코드 또는 속성 삽입" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>굵게</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>밑줄</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>기울임</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "보통" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "색상 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "색상 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "설정(_S)" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "디스크에 기록(_L)" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "이전 대화 내용 다시 불러오기(_R)" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "색상 추출(_C)" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "입장/퇴장 메시지 숨기기(_H)" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "알림(_E)" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "메시지 비프음(_M)" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "알림 영역 아이콘 깜빡거림(_I)" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "작업 표시줄 깜빡거림(_B)" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "탭 분리(_D)" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "닫기(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "참여자 제한은 숫자만 입력할 수 있습니다.\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "색상 필터" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "외부 메시지 받지 않음" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "주제 잠금" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "초대만 가능" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "중재식 대화" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "입장 금지 목록" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "암호" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "참여자 제한" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "새 대화명 입력:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "결과가 없습니다." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "마지막까지 검색했으며 찾을 수 없습니다." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "모두 강조(_H)" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "일치하는 모든 부분을 강조하고 현재 일치 부분에 밑줄 표시합니다." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "대소문자 일치(_C)" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "대소문자 일치 검색을 수행합니다." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "정규표현식(_R)" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "정규표현식으로 관심있는 문자열을 검색합니다." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "알 수 없는 호스트" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "계정을 알 수 없음" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "알 수 없음" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "실제 이름:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "사용자:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "계정:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "국가:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "서버:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u분 전" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "마지막 메시지:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "자리 비움 메시지:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "대화명 %d개를 선택했습니다." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "메뉴 표시줄을 숨깁니다. 다시 보시려면 Ctrl-F9를 누르거나 메인 텍스트 구역에서 마우스 오른쪽 버튼을 누르십시오." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "브라우저로 열기" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "선택한 링크 복사" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "대화방 입장" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "대화방 나가기" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "나갔다 들어오기" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "자동 입장(_A)" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "자동 입장 대화방" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "자동 연결(_A)" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "사용자 메뉴 - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "이 메뉴 편집" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "표시 줄을 껐습니다." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "표시 줄을 설정하지 않음." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "표시 줄을 직접 다시 설정했습니다." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "스크롤 행수 제한을 넘어서 표시 줄을 다시 설정했습니다." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "CLEAR 명령으로 표시 줄을 다시 설정했습니다." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "표시 줄 상태를 알 수 없습니다." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "채널 목록 가져오기" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "플러그인 지원을 제외한 채로 빌드했습니다." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "사용자 명령 - 특수 코드:\n\n%c = 현재 채널\n%e = 현재 네트워크 이름\n%m = 머신 정보\n%n = 자신의 대화명\n%t = 날짜/시간\n%v = 헥스채트 버전\n%2 = 단어 2\n%3 = 단어 3\n&2 = 단어 2부터 줄 끌까지\n&3 = 단어 3부터 줄 끝까지\n\n예:\n/cmd john hello\n\n%2는 \"john\"\n&2는 \"john hello\"이 됩니다." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "참여자 목록 버튼 - 특수 코드:\n\n%a = 선택한 모든 대화명\n%c = 현재 대화방\n%e = 현재 네트워크 이름\n%h = 선택한 대화명의 호스트 이름\n%m = 머신 정보\n%n = 자신의 대화명\n%s = 선택한 대화명\n%t = 날짜/시간\n%u = 선택한 참여자 계정" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "대화 상자 버튼 - 특수 코드:\n\n%a = 선택한 모든 대화명\n%c = 현재 채널\n%e = 현재 네트워크 이름\n%h = 선택한 대화명의 호스트 이름\n%m = 머신 정보\n%n = 자신의 대화명\n%s = 선택한 대화명\n%t = 날짜/시간\n%u = 선택한 참여자 계정" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP 응답 - 특수 코드:\n\n%d = 데이터(전체 CTCP)\n%e = 현재 네트워크 이름\n%m = 컴퓨터 정보\n%s = CTCP를 보낸 대화명\n%t = 날짜/시각\n%2 = 단어 2\n%3 = 단어 3\n&2 = 단어 2에서 줄 끝까지\n&3 = 단어 3에서 줄 끝까지\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL 처리기 - 특수 코드:\n\n%s = URL 문자열\n\n명령 앞에 ! 문자를 놓으십시오\n헥스채트 대신 쉘로 보내야 함을\n나타냅니다" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "사용자 지정 명령 - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "사용자 목록 단축 메뉴 - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "바꾸기 - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "바꿀 텍스트" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL 핸들러 - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "사용자 목록 단추 - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "대화 상자 단추 - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP 응답 - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "헥스채트(_X)" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "네트워크 목록(_S)" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "새로 만들기(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "서버 탭" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "채널 탭" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "서버 창" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "채널 창" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "플러그인 또는 스크립트 불러오기(_L)" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "끝내기(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "보기(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "메뉴 모음(_M)" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "주제 표시줄(_T)" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "참여자 목록(_U)" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "사용자 목록 단추(_S)" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "상태 버튼(_O)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "서버/대화방 표시 형식(_C)" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "탭(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "트리(_R)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "네트워크 미터 표시(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "끔" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "그래프" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "전체 화면(_F)" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "서버(_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "연결 해제(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "다시 연결(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "채널에 참여(_J)" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "채널 목록(_L)" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "자리 비움으로 표시(_A)" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "사용자 메뉴(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "설정(_E)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "기본 설정(_P)" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "자동으로 바꾸기" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP 응답" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "대화 상자 단추" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "바로 가기 키" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "텍스트 이벤트" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL 핸들러 " + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "사용자 명령" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "사용자 목록 단추" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "사용자 목록 팝업" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "창(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "영구 추방 목록(_B)" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "직접 대화" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "파일 전송(_T)" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "친구 목록" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "무시 목록" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "추가 기능과 스크립트(_P)" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "원시 로그(_R)" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "URL 감지(_U)" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "표시선 초기화" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "표시 줄로 이동" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "선택 영역 복사(_C)" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "텍스트 지우기(_L)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "텍스트 저장" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "검색" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "텍스트 검색" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "다음 검색" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "이전 검색" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "도움말(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "내용(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "정보(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "붙이기(_A)" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "이름" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "최근 연결" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "연결 안함" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "안함" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d분 전" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "1시간 전" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d시간 전" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "연결함" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "추가할 대화명:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "다음 네트워크 알림:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "쉼표로 구분한 네트워크 목록을 허용합니다." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "친구 목록 - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "대화창 열기" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "강조 메시지: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "대화방 메시지: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "파일 제공함: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "%s님이 채널로 초대했습니다(%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "%s에서 공지를 전달했습니다(%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "개인 메시지: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "네트워크 %u 곳과 채널 %u 개에 연결했습니다 - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "창 복원(_R)" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "창 숨기기(_H)" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "깜빡임(_B)" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "대화방 메시지" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "개인 메시지" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "강조 메시지" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "상태 바꾸기(_C)" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "자리 비움(_A)" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "돌아옴(_B)" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "다음에서 강조한 메시지: %s(%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u 최근 다음에서 강조한 메시지: %s(%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "다음의 채널 메시지: %s(%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "채널 메시지 %u건 - %s." + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "개인 메시지 도착: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "개인 메시지 %u개 도착, 마지막 송신: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "파일 제공: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "파일 %u개 제공, 마지막 송신: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "버전" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "설명" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "불러올 추가 기능 또는 스크립트를 선택하십시오" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "추가 기능과 스크립트 - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "열기(_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "사용 안 함(_U)" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "다시 읽기(_R)" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "다른 이름으로 저장..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "원시 로그(%s) -%s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "원시 로그 지우기" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "새 네트워크" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "\"%s\" 네트워크와 모든 서버를 정말 제거하시겠습니까?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "사용자 이름을 비울 수 없습니다." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "빈 대화명은 사용할 수 없습니다." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "두 개의 유일한 대화명을 설정해야 합니다." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "서버에 자신을 인증하는 방법입니다. 사용자 정의 로그인 방식을 사용하려면 연결 명령을 사용하십시오." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "%s 편집 - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "서버" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "자동 입장 대화방" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "연결 명령" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=대화명\n%p=암호\n%r=실명\n%u=사용자 이름" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "키(암호)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "편집(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "선택한 서버만 연결" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "연결이 실패했을 때 모든 서버를 대상으로 연결 시도하지 않습니다." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "이 네트워크에 자동 연결" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "프록시 서버 사용" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "이 네트워크의 모든 서버에 SSL 사용" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "유효하지 않은 인증서 허용" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "기본 사용자 정보 사용" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "대화명(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "두번째 선택:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "실제 이름(_L):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "사용자 이름(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "로그인 방식:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "암호:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "로그인에 사용한 암호입니다. 의심될 경우 비워두십시오." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "문자세트:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "네트워크 목록 - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "사용자 정보" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "세번째 선택:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "네트워크" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "시작할 때 네트워크 목록 건너 뛰기" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "즐겨찾는 목록만 표시" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "편집(_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "정렬(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "네트워크 목록을 철자순으로 정렬합니다. 줄을 이동하려면 Shift+Up 키와 Shift+Down 키를 사용하십시오." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "즐겨찾기(_F)" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "이 네트워크를 즐겨찾기로 표시를 하거나 지웁니다." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "연결(_O)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "아프리칸스어" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "알바니아" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "암하라어" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "아스투리아어" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "아케르바이젠" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "바스크어" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "베라루스" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "불가리아" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "중국어(간체)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "중국어(번체)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "체코어" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "덴마크어" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "독일어" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "영어(영국)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "영어" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "에스토니아" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "핀란드어" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "프랑스어" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "갈리시아어" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "독일어" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "그리스어" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "구자라티어" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "인도" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "헝가리어" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "인도네시아어" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "이탈리아어" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "일본어" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "칸나다어" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "키냐르완다어" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "한국어" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "라트비아어" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "리투아니아어" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "마케도이아어" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "말레이지아" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "말라야람어" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "노르웨이어(보크몰)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "노르웨이어(뉘노르스크)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "폴란드어" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "포르투갈어" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "포르투갈어(브라질)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "펀자브어" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "러시아어" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "세르비아어" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "슬로바키아어" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "슬로베니아어" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "스페인어" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "스웨덴어" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "타이" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "터키어" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "우크라니아어" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "베트남" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "왈론어" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "일반" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "언어:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "주 글꼴:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "글꼴:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "텍스트 창" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "대화명에 색상 사용" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC의 각 사용자에게 다른 색상 사용" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "대화명 자동 완성" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "대화명을 오른쪽으로 정렬" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "구분선 표시" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "마지막으로 읽은 텍스트 뒤에 빨간색 줄을 삽입합니다." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "배경 이미지:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "투명도 설정" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "창 투명도:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "타임스탬프" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "타임스탬프 활성화" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "타임스탬프 형식:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "자세한 내용은 strftime MSDN 게시물을 보십시오." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "자세한 내용은 strftime 맨 페이지를 보십시오." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "제목 표시줄" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "대화방 모드 표시" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "사용자 수 표시" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "이름순" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "마지막으로 말한 사용자" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "입력 창" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "텍스트 상자에 글꼴, 색상 사용" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "표현 색상 및 속성" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "대화명 창 표시" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "대화명 상자에 참여자 상태 아이콘 표시" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "맞춤법 확인" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "활용할 사전:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "언어 코드를 사용하십시오(\"%LOCALAPPDATA%\\enchant\\myspell\\dicts\"처럼).\n여러 항목을 쉼표로 구분하십시오." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "언어 코드를 사용합니다. 여러 항목은 쉼표로 구분합니다." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "자동 구성에 추가할 문자:" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "자동 구성에 추가할 문자:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "대화명 자동 완성 정렬:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "대화명 자동 완성 갯수:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "닉을 자동으로 완성하는 대신 목록으로 보여줄 닉의 최대 갯수입니다" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "개 대화명." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "그래픽" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "이름순(관리자 먼저)" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "이름역순(관리자 나중)" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "이름역순" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "정렬 안함" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "왼쪽(위)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "왼쪽(아래)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "오른쪽(위)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "오른쪽(아래)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "위" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "아래" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "숨김" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "사용자 목록" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "사용자 목록에 호스트 이름 표시" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "입력 상자에 지정 글꼴과 색상 사용" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "사용자 모드 아이콘 표시" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "사용자 목록에서 문자 기호 대신 그래픽 아이콘을 표시합니다." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "사용자 목록 대화명에 색 입히기" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "대화할 때와 같이 대화명에 색을 넣습니다." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "대화방 사용자 수 표시" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "사용자 목록 정렬:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "사용자 목록을 표시할 위치:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "자리 비움 추적" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "자리 비움 상태인 사용자를 추적하여 다른 색상으로 표시합니다" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "대화방의 자리 비움 상태 인원 수가 다음보다 작을 때:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "두번 눌렀을 때 동작" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "추가 가젯" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "랙 측정기:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "스로틀 측정기:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "창" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "탭" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "항상" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "요청한 탭만" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "자동" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "추가 탭" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "탭 앞으로" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "트리" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "서버/대화방 표시 형식:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "서버 메시지를 탭으로 표시" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "귓속말 메시지를 받으면 새 탭 열기" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "탭을 알파벳으로 정렬" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "대화방 트리에 아이콘 표기" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "대화방 트리에 점선 표시" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "탭 전환시 마우스 휠 스크롤" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "가운데 단추를 누르면 탭 닫기" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "작은 글자 사용" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "새 탭에 포커스:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "알림 위치:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "서버/대화방을 표시할 위치:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "탭 제목 표시 제한:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "글자 이하로 표시." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "창 또는 탭" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "대화방:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "귓속말:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "도구:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, 목록, 알림 등을 탭으로 열 것인지, 창으로 열 것인지를 선택하십시오." + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "메시지" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "스크롤백" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "확인 질문" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "파일 받기 폴더 질문" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "묻지 않고 저장" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "파일과 디렉터리" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "자동으로 파일 전송을 허용할 사용자:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "다음 위치에 받은 파일 저장:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "다음 위치에 받기 완료한 파일 이동:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "파일 이름에 대화명 저장" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "자동으로 대화창 열기" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "파일 보내기 창" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "파일 받기 창" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "대화 창" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "최대 파일 전송 속도(초당 바이트)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "개별 파일의 보내는 속도:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "보내는 파일 하나당 최대 속도" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "개별 파일의 받는 속도:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "모든 보내기를 합친 속도:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "전체 속도" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "모든 파일 받기를 합친 속도:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "경고 알림" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "다음 위치에 알림 표시:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "알림 영역 아이콘 깜빡거림:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "작업 표시줄 깜빡거림:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "비프음:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "선택한 이벤트에 대해 \"인스턴트 메시지 알림\" 시스템 소리 재생" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "선택한 이벤트에 대해 freedesktop.org 소리 테마의 \"message-new-instant\"를 재생합니다." + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "선택한 이벤트에 대해 GTK 비프음 재생" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "자리 비움 상태일 경우 경고 알림 생략" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "창을 활성화 했을 경우 경고 알림 생략" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "알림 영역 동작" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "시스템 트레이 아이콘 사용" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "알림 영역으로 최소화" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "알림 영역에 위치 후 닫기" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "자동으로 자리 비움/돌아옴 표시" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "알림 영역에 숨기면 자동으로 상태를 바꿉니다." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "숨기거나 아이콘 표시했을 때만 알림 표시" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "강조 메시지" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "강조 메시지는 자기 대화명이 언급되는 메시지 및 다음 메시지입니다:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "추가로 강조할 단어:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "강조하지 않을 대화명:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "항상 강조할 대화명:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "단어 여러개를 쉼표로 구분합니다. 와일드카드도 허용합니다." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "튕김 도크 아이콘 위치:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "기본 메시지" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "종료:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "대화방 나가기:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "자리 비움:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "자리 비움" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "자리 비움 한 번만 표시" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "자리 비움 메시지를 한 번만 표시합니다." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "자동으로 자리 비움 해제" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "메시지를 보내기 전 자리 비움 상태를 해제합니다." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "기타" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "원시 양식에서 상태 표시" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "알릴 때 WHOIS 명령 실행" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "알림 목록에서 사용자가 연결 상태가 되면 /WHOIS 명령을 실행합니다." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "입장/퇴장 메시지 숨김" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "기본적으로 대화방에 입장/퇴장 메시지를 숨깁니다." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "대화명 바뀜 메시지 숨김" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "자동 복사 동작" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "선택한 텍스트를 자동으로 복사" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "왼쪽 마우스 버튼을 떼면 클립보드로 텍스트를 복사합니다. 이 방법을 사용하지 않으면, Ctrl+Shift+C키를 눌러 클립보드로 텍스트를 복사합니다." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "타임스탬프 자동으로 포함" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "복사한 텍스트 줄에 타임스탬프를 자동으로 넣습니다. 이 방식을 사용하지 않으면, Shift 키를 누르면서 선택할 때 타임스탬프를 넣습니다." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "색상 정보 자동으로 포함" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "복사한 텍스트 줄의 색상 정보를 자동으로 넣습니다. 이 방식을 사용하지 않으면, Ctrl키를 누르면서 선택할 때 색상 정보를 넣습니다." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "실명:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "대체 글꼴:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "여러 항목은 전후로 공백이 아닌 쉼표로 구분합니다." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "최소 모드로 목록 표시" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "사용자 목록과 대화방 트리 줄수간의 줄 간격을 좁힙니다." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "서버 시간을 지원하면 사용" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "타임 서버 확장을 지원할 때 서버에서 얻은 타임스탬프를 포시합니다." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "연결이 끊어질 경우 서버에 자동으로 다시 연결" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "자동 연결 지연 시간:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "자동 입장 지연 시간:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "입장 금지 형식:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "입장 금지 및 발언권 박탈 조치시 입장 금지 마스크 사용. (irc_who_join 필요)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "기록" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "이전 세션에서 저장한 대화 내용 표시" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "스크롤할 줄 개수:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "대화 내용을 디스크에 저장" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "로그 파일 이름:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=서버 %c=대화방 %n=네트워크." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "로그에 타임스탬프 삽입" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "로그에 사용할 타임스탬프 형식:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "주소" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "디스크에 URL 로깅 활성화" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "URL 잡기 도구 활성화" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "잡아둘 URL 최대 갯수:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(사용 안 함)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "윈게이트" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "자동" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "모든 연결" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "IRC 서버만" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "DCC만" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "IP 주소" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "바인딩할 주소:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "여러 개의 주소를 사용하는 컴퓨터에서만 사용합니다." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "파일 전송" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC 서버에서 내 IP 가져오기" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "IRC 서버가 실제 주소를 요청합니다. 192.168.*.* 주소를 가지고 있다면 이 주소를 사용하십시오!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP 주소:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "파일을 전송할 때 이 주소를 사용합니다." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "DCC 수신 시작 포트:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "DCC 수신 마지막 포트:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!전체 영역을 사용하려면 0으로 설정하십시오." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "프록시 서버" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "호스트:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "포트:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "형식:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "프록시 사용:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "프록시 인증" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "인증 사용(HTTP 또는 SOCKS5만)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "사용자 이름:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd 서버" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "활성화 함" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "서버는 네트워크 사용자 이름에 응답합니다" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "이 포트로 대기하려면 권한이 있어야합니다. 113 번이 아니면(0 값은 기본값) 포트 포워딩을 설정해야합니다." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "이미지 파일 선택" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "파일 받기 디렉터리 선택" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "글꼴 선택" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "찾아보기..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "데이터 디렉터리 열기" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "색상 선택" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "글자 색상" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC 색상:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "로컬 색상:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "글자:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "배경:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "선택한 텍스트" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "사용자 환경 색상" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "새 데이터:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "이후 표시:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "새 메시지:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "자리 비움 사용자:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "강조:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "철자 검사:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "색상 추출" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "상황" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "소리 파일:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "출력할 파일을 선택하세요." + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "소리 파일:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "찾아보기(_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "재생(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "사용자 환경" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "모양새" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "입력창" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "사용자 목록" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "대화방 바꾸기" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "색상" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "대화" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "소리" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "고급 기능" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "네트워크 설정" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "파일 전송" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "항목" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "상단 또는 하단에 트리를 놓을 수 없습니다!\n<b>보기</b>메뉴의 <b>탭</b> 배치를 먼저 바꾸십시오." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "실명 옵션은 비워둔 채로 둘 수 없습니다. \"realname\"으로 대신합니다." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "어떤 설정은 다시 시작해야 효과를 볼 수 있습니다." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*경고*\n홈 디렉터리로 자동 받기를 할 경우 상당히 위험합니다.\n예:\n어떤 사용자가 .bash_profile을 전송했을 때" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "기본 설정 - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(제안 없음)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "더 보기..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "\"%s\"을(를) 사전에 추가" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "모두 무시" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "철자 제안" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "언어에 이상한 오류가 있습니다: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "문자열 분석중 오류가 있습니다" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "이 신호는 오직 %d 인자에서 동작하며, $%d은(는) 올바르지 않습니다." + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "문서 파일 출력" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ 숫자" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "상황 편집" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "불러오기 위치..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "모두 시험" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "확인" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL 감지 - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "목록 지우기" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "선택한 URL을 복사" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "복사" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "목록을 파일로 저장합니다" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d명의 관리자, 총 %d명" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "irc://서버:포트/대화방 형태의 URL을 엽니다." + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: 정보 가져오기에 실패했습니다. 지원하지 않거나 오류입니다." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: 이름 정보 없음\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s을(를) %d(으)로 설정했습니다\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: 올바른 설정은 hide_os와 같이 각 정보에 대해 hide_*를 설정하는 방식입니다. 값을 두지 않으면 현재 설정값 (또는 기본값)을 보여줍니다.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: 잘못된 변수 이름\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s 플러그인 불러옴\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s 플러그인 불러오기 해제함\n" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000000000000000000000000000000000000..2b0c5ec284cee9f1bda588a189ea34f4d15e8c35 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,6260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Eldar Šabanovič <eldux777@gmail.com>, 2014 +# Gediminas Paulauskas <menesis@delfi.lt>, 2000 +# Marius Gedminas <mgedmin@b4net.lt>, 2007 +# Mindaugas Butkevicius <promind@live.com>, 2016 +# Moo, 2015-2018 +# Vaidrius Petrauskas <vaidrius@delfi.lt>, 2005 +# Žygimantas Beručka <zygis@gnome.org>, 2006 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-06-02 21:01+0000\n" +"Last-Translator: Moo\n" +"Language-Team: Lithuanian (http://www.transifex.com/hexchat/hexchat/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC klientas" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat yra paprastas naudoti IRC klientas, leidžiantis jums saugiai prisijungti prie kelių tinklų, privačiai kalbėtis su atskirais naudotojais arba kanaluose, naudojant tinkinamą sąsają. Jūs netgi galite persiųsti failus." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat palaiko tokias galimybes kaip: DCC, SASL, įgaliotuosius serverius, rašybos tikrinimą, signalizavimą, registravimą, tinkintas temas bei Phyton/Perl scenarijus." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Pagrindinis pokalbių langas" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Kalbėkite su kitais žmonėmis internete" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Pokalbiai;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Atvira saugi veiksena" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat temų tvarkytuvė" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Užsiėmęs" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Išeinu" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "Išjungtas" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "Įjungtas" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nenustatyta}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Tinklas" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<joks>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanalas" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Laukiu" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktyvus" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Nepavyko" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Baigtas" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Susijungti" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Nutrauktas" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nepavyksta pasiekti %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Klaida" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s siūlo „%s“. Ar norite priimti?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nėra aktyvių DCC sesijų\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Atverti dialogo langą" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Išsiųsti failą" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Na_udotojo informacija („WhoIs“)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Pridėti į draugų sąrašą" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignoruoti" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "V_aldytojo veiksmai" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Suteikti operatoriaus statusą" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Pašalinti operatoriaus statusą" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Suteikti balsą" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Pašalinti balsą" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Išmesti/Blokuoti" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Išmesti" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Blokuoti" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Išmesti ir blokuoti" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Palikti kanalą" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Prisijungti prie kanalo..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Įveskite kanalą prisijungti:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serverio ryšiai" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "„Ping“ serveris" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Paslėpti versiją" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Skirti operatoriu" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Pašalinti operatorių" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "viso gero" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Įveskite %s išmetimo priežastį:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Siųsti failą" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialogas" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "„WhoIs“" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Siųsti" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Kalbėti" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Išvalyti" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "„Ping“" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Jus neturite rašymo teisės į %s. Nieko iš šios sesijos negalima išsaugoti. " + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "Neprotinga vykdyti IRC „root“ teisėmis! Susikurkite naudotojo paskyrą ir jungiantis naudokitės ja.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "TAIP " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s us užpilė CTCP pranešimais, %s ignoruojamas\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "%s us užpildė MSG pranešimais, gui_autoopen_dialog OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Įtvirtinta į %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nerasta" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Įtvirtinta į:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Ieškoma %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s yra prisijungęs\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s yra atsijungęs\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Neesate prisijungę jokiame kanale. Badykite /join #<kanalas>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Esate nesusijungę. Bandykite /server <hostas> [<prievadas>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Serveris %s jau yra tinkle %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Serveris %s pridėtas prie tinko %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Jau pažymėtas kaip pasišalinęs: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Jau pažymėtas kaip sugrįžes.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Man reikia /bin/sh, kad galėčiau vykdyti!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Galimos komandos:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Vartotojo apibrėžtos komandos:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Įskiepio apibrėžtos komandos:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Surinkite /HELP <komanda> norėdami gauti daugiau informacijos arba /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nežinomas parametras '%s' ignoruojamas." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Šis serveris nepalaiko tyliojo režimo." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Toks įskiepis nerastas.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Šis įskiepis atsisako būti iškraunamas.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <vardas> <veiksmas> - prideda mygtuką po vartotojų sąrašu" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NaujasTinklas><naujasserveris/6667>, prideda naują tinklą su nauju serveriu į tinklų sąrašą" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komanda> - siunčia komandą į visus kanalus, kuriuose jus prisijungę" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHAN <komanda> - siunčia komandą į visus kanalus aktyviame serveryje" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komanda> - nusiunčia komandą visiems serveriams, prie kurių tu esi prisijungęs" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<priežastis>], pažymi jus kaip NĖRA (naudokite /BACK grįžimui)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, nustato statūsą sugrižęs (ne pasišalinęs)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <kaukė> [<bloko tipas>] - užblokuoja visus esančius aktyviame kanale, kurie atitnka užduotą kaukę. Jei jie jau yra kanale, ši komanda neišmeta jų (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <kintamasis>[<reikšmė>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET[<kodavimas>], gauti arba nustatyti kodavimą naudojamą aktyviam susijungimui" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<kiekis>], išvalo aktyvų tekstinį langą arba komandų istoriją" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Uždaro aktyvią kortelę, uždaro langą jei tai vienintelė kortelė, arba naudojant \"-m\" žymą, uždaro visus žinučių langus." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kodas|pakaita>, randa šalies kodą, pvz.: au = australija" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <slapyvardis> <žinutė> - siųsti CTCP žinutę vartotojui, dažniausios žinutės yra VERSION ir USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanalas>], padaliną aktyvų arba nurodytą kanalą ir tuojpat persijungia" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <slapyvardis> - priimti siūlomą failą\n\nDCC SEND [-maxcps=#] <slapyvardis> [failas] - nusiųsti kažkam failą\n\nDCC PSEND [-maxcps=#] <slapyvardis> [failas] - siųsti failą, naudojant pasyvią veikseną\n\nDCC LIST - parodyti „DCC“ sąrašą\n\nDCC CHAT <slapyvardis> - pasiūlyti kažkam „DCC CHAT“\n\nDCC PCHAT <slapyvardis> - pasiūlyti „DCC CHAT“, naudojant pasyvią veikseną\n\nDCC CLOSE <tipas> <slapyvardis> <failas> pavyzdys:\n\n/dcc close send jonassmitas failas.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <slapyvardis> - panaikina kanalo pusiau-operatoriaus teises vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <vardas> - ištrina mygtuką iš po vartotojo sąrašu" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <slapyvardis> - panaikina kanalo operatoriaus teises vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <slapyvardis> - panaikina balso teisę vartotojui aktyviame kanale (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON - atsijungia nuo serverio" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <slapyvardis|hostas|ip>, nustato IP ir hosto vardą" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekstas> - lokaliai atspausdina tekstą" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <komanda> - įvykdo komandą. Jei nurodoma -o žymė, komandos grąžinamas tekstas bus nusiųstas į aktyvų kanalą, kitu atveju jis atvaziduojamas aktyviame teksto lauke" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT - nusiunčia procesui SIGCONT signalą" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9] - nutraukia aktyvioje sesijoje vykdomą komandą. Jei nurodomas parametras -9, procesui bus nusiųstas SIGKILL signalas" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP - nusiunčia procesui SIGSTOP signalą" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE - nusiunčia duomenis proceso stdin įrenginiui" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, eksportuoja HexChat nustatymus" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHHQ - panaikina aktyvaus serverio siuntimo eilę" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <hostas> [<prievadas>] - jungiasi per proxy serverį. Nutylimas portas - 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <slapyvardis> [slaptažodis], pašalina sudvejintą psiaudonimą" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <slapyvardis> - suteikia vartotojui kanalo pusiau-operatoriaus teises (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <slaptažodis> - identifikuoja jus vardų serveriui" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <kaukė><tipai...><pasirinkimai...>\nkaukė - ignoruojamų hostų kaukė, pvz.: *!*@*.aol.com\ntipai - ignoruojamų duomenų tipai, vienas arba visi iš:\nPRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\npasirinkimai - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <slapyvardis> [<kanalas>] - pakviečia varotoją į kanalą, pagal nutilėjimą į aktyvųjį kanalą (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanalas> - prisijungia prie kanalo" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <slapyvardis> [priežastis], išmeta vartotoją iš aktyvaus kanalo (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <slapyvardis> [priežastis], užblokuoja ir išmeta vartotoją iš aktyvaus kanalo (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK - iššaukia naują užlaikymo patikrinimą" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n\n-h naudojamas paryškinti rastas eilute(s)\n\n-m naudojamas registro tapatinimui\n\n-r kai eilutė yra paieškos formato išraiška\n\n-- (dvygubas brukšnys) naudojamas pasirinkimų pabaigai indikuoti, kpavyzdžiui, kai ieškoma eilutės '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <byla>, pakrauna įskiepį arba skriptą" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP - atima kanalo pusiau-operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP - atima kanalo operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <veiksmas> - siunčia veiksmą į aktyvų kanalą (veiksmai rašomi 3-ju asmeniu, pvz.: /me pašoka)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK - išmeta iš aktyvaus kanalo visus išskyrus jus (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MDEOP - atima kanalo operatoriaus teises iš visų aktyviame kanale jas turinčių (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <slapyvardis> <žinutė>, siunčia privačią žinutę, išsiųskite \".\" norėdami persiųsti paskutiniam vartotojui arba pridėkite \"=\" pražioje DCC pokalbiui " + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [kanalas], parodo kanalo vartotojų sąrašą" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <slapyvardis> <žinutė> - nusiunčia vartotojui CTCP įspėjimą" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostovardas> [<prievadas>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <slapyvardis> - nustato jūsų psiaudonimą" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <slapyvardis/kanalas> <žinutė>, siunčia įspėjimą" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n tinklas1[,tinklas2,...]] [<slapyvardis>], parodo jūsų informuojamųjų sąrašą arba pridedą kažką į jį" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <slapyvardis> - suteikia vartotojui kanalo operatoriaus teises (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanalas>] [<priežastis>] - palieka kanalą, pagal nutylėjimą - aktyvųjį" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <slapyvardis | kanalas> - siunčia CTCP „ping“ vartotojui arba kanalui " + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <slapyvardis> [žinutė], atveria naują privačios žinutės langą kažkam ir pasirintktinai išsiunčia žinutę" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <kaukė> [<tilumotipas>], nutildo kiekvieną atitinkantį kaukę aktyviame kanale jei serveris palaiko." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<priežastis>] - atsijungia nuo aktyvaus serverio" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekstas> - nusiunčia neformatuotą tekstą serveriui" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<hostas>] [<prievadas>] [<slaptažodis>], gali būti naudojamas kaip /RECONNECT persijungimui prie aktyvaus serverio arba kaip /RECONNECT ALL persijungimui prie visų atvirų serverių" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<hostas>] [<prievadas>] [<slaptažodis>], gali būti naudojamas kaip /RECONNECT persijungimui prie aktyvaus serverio arba kaip /RECONNECT ALL persijungimui prie visų atvirų serverių" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <tekstas>, siunčia neformatuotus duomenis į HexChat, tarsi jie būtų gauti iš IRC serverio" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <pavadinimas>, pakrauna išnaujp įskiepį arba skriptą" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekstas> - nusiunčia tekstą objektui aktyviame lange" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <slapyvardis> [<byla>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <hostas> <prievadas> <kanalas> - susijungia ir prisijungia prie kanalo" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hostas> <prievadas> <kanalas> - susijungia ir prisijungia prie kanalo" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <hostas> [<prievadas>] [<slaptažodis>],susijungia su serveriu, pagal nutylėjimą įprastiems sujungimams naudojamas portas 6667, o ssl sujungimams 6697" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <serveris> [<prievadas>] [<slaptažodis>] - susijungia su serveriu, pagal nutylėjimą naudojamas portas 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <kintamasis> [<reikšmė>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<pozicija>, pakeičia kursoriaus pozicija įveties lauke" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <naujas pavadinimas>, keičia kortelės pavadinima, galioja kortelės pavadinimo ilgio ryba tab_trunc" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <naujas tekstas>, pakeičia tekstą įvesties lauke" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tema>], nustato kanalo temą, jei ji duota, arba parodo aktyvią temą" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <periodas> <byla1> [<byla2>] keičia užduočių juostos piktogramą tarp dviejų paveikslėlių nustatytu periodu.\n\nTRAY -f <filename> nustato fiksuotą užduočių juostos piktogramą.\n\nTRAY -i <number> keičia užduočių juostos piktogramą vidiniu paveikslėliu.\n\nTRAY -t <text> nustato užduočių juostos patarimą.\n\nTRAY -b <title> <text> nustato užduočių juostos pranešimo baliono tekstą." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <kaukė> [<kaukė>...], nuima bloką vartotojams atitinkantiems nurodytą kaukę arba kaukęs." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <kaukė> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <pavadinimas> - iškrauna įskiepį ar skriptą" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <kaukė> [<kaukė>...], nuima nutyldyma vartotojams atitinkantiems nurodytas kaukes, jei serveris palaiko." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <adresas> - atveria adresą naršyklėje" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <slapyvardis1> <slapyvardis2> ir t.t. - paryškina vartotojo(-ų) slapyvardžius kanalo vartotojų sąraše" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <slapyvardis> - suteikia vartotojui balso teisę (reikia kanalo operatoriaus teisių)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <žinutė> - nusiunčia žinutę į visus kanalus" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <žinutė> - siunčia žinutę visiems aktyvaus kanalo operatoriams" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Vartotojo komanda skirta: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Naudojimas: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nŠiai komandai nėra pagalbos įrašo.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Nėra tokios komandos.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Netinki parametrai vartotojo komandai.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Per daug rekursinių vartotojo komandų, vykdymas nutraukiamas." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Nežinoma komanda %s. Bandykite /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Nėra hexchat_plugin_init simbolio; ar tai tikrai HexChat įskiepis?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*⇥Teikiamo ident užklausa nuo %s kaip %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tKlaida, paleidžiant identd serverį: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <portas> <vartotojas>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Laikmatis %d ištrintas.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Toks įrašo numeris nerastas.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Įdiegtų laikmačių nėra.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "Ref# Sekundžių Kartojimo Komanda\n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ar jus įsitikinę, kad tai SSL šifravimą palaikantis serveris ir prievadas?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nepavyksta nustatyti hosto vardą: %s\nPatikrinkite jūsų IP nustatymus!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy jungimasis nepavyko.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Bandomas kitas serveris esantis „%s“...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Dėmesio: „%s“ koduotė nežinoma. Konvertavimas tinkle „%s“ nebus vykdomas." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O pridėtas į informuojamųjų sąrašą." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O esantis %C24$4%O per %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNegaliu prisijungti %C22$1 %O(%C20Jus esate užblokuotas%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tPripažintos galimybės: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tGalimybės pašalintos: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tPalaikomos galimybės: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tUžklaustos galimybės: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O dabar žinomos kaip %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O blokuoja %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanalas %C22$1%O sukurtas %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O atima kanalo pusiau-operatoriaus statusą iš %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O atima kanalo operatoriaus statusą iš %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O atima balsą iš %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C nustato išimtį draudimui %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O suteikia kanalo pusiau-operatoriaus statusą %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C nustato išimti kvietimo draudimui %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanalo vartotojų tema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O nustato veikseną %C24$2$3%O %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanalas %C22$1%O veiksenos: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O suteikia kanalo operatoriaus statusą %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O nustato nutildymą %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C pašalina išimti draudimui %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C pašalina išimtį pakvietimo draudimui %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O pašalina kanalo raktažodį" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O pašalina vartotojų ribą" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O nustato kanalo raktažodį į %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O nustato kanalo ribą į %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O pašalina bloką %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O pašalina nutildymą %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tKanalo %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O suteikia balsą %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tSusijungta. Dabar registruojamasi." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tSusijungiama su %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tSusijungimas nepavyko (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tGautas CTCP %C24$1%C nuo %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tCTCP Užklausa %C24$1%C nuo %C18$2%C (kam %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tGautas CTCP Garsas %C24$1%C nuo %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tCTCP Garso Siuntimas %C24$1%C nuo %C18$2%C (kam %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC POKALBIS su %C18$1%O nutrauktas." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tSėkminga DCC POKALBIO jungtis su %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC POKALBIS su %C18$1%O prarastas (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tGautas DCC POKALBIO pasiūlymas nuo %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tSiūlomas DCC POKALBIS su %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tJau siūlote POKALBĮ su %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 jungtis su %C18$2%O nepavyko (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tGauta '%C23$1%C' nuo %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tGauta netaisyklinga DCC užklausa nuo %C18$1%O.$a010%C23*%O$tPaketo turinys: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tSiūloma '%C24$1%O' į %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "C23*%O$tTokios DCC užklausos nėra." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' į %C18$1%O nutraukta." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' nuo %C18$3%O užbaigta %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tSėkminga DCC RECV jungtis su %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' nuo %C18$3%O nepavyko (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Atidaryti '%C23$1%C' rašymui nepavyko (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tFailas '%C24$1%C' jau yra, išsaugoma kaip '%C23$2%O'." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C užklausė tęsimo '%C23$2%C' nuo %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' į %C18$1%O nutraukta." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' į %C18$2%C užbaigta %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tSėkminga DCC SEND jungtis su %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' į %C18$2%C nepavyko (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C siūlo '%C23$2%C' (%C24$3%O baitai)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' į %C18$3%O užvilkinta, nutraukiama." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' į %C18$3%O užklausos laikas baigėsi, nutraukiama." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O ištrinta iš pranešimų sąrašo." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tAtsijungta (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tRadome Jūsų IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O prideta į ignoruojamųjų sąrašą." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%O%C18$1 Ignoravimas%O pakeistas." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "Pašalinote %O%C18$1%O iš ignoravimo sąrašo." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OIgnoravimo sąrašas yra tuščias." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tNegalite įeiti į %C22$1%C (%C20Kanalas tik su pakvietimais%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tJus pakvietė į %C22$1%O - %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) atėjo" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNegalite įeiti %C22$1%C (%C20Reikia raktažodžio%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C išspyrė %C18$2%C iš %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Buvote atjungti - %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Praleistas%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C jau naudojamas. Bandome %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C yra netinkamas ar klaidingas. Bandome %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tSlapyvardis yra klaidingas arba jau naudojamas. Bandykite kitą slapyvardį naudodami /NICK." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tTokio DCC nėra." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tŠiuo metu jokių procesų nevykdome" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tPranešimas: %C18$1%C yra AWAY (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tPranešimas: %C18$1%C grįžo" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tPranešimų sąrašas yra tuščias" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O vartotojų pranešimų sąraše" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tPranešimas: %C18$1%C yra atsijungę (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tPranešimas: %C18$1%C prisijungė (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) išėjo" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) išėjo ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing atsakymas nuo %C18$1%C: %C24$2%O sekundė(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tNėra PING atsakymo jau %C24$1%O sekundžių, atsijungiama." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA procesas jau veiksnus" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 atsijungė ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C nustato %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tPeržiūrime Jūsų IP - %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutorizuojama per SASL kaip %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tPrisijungėte." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tPeržiūrima %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tPirminė jungties užklausa sustabdyta (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTema %C22$1%C yra: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C pakeitė temą į: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTemą %C22$1%C nustatė %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tNežinomas tinklas. Patikrinkite ar nėra klaidos įvestyje." + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tĮeiti negalite į %C22$1%C (%C20Pasiektas lankytojų limitas%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tLankytojų kanale %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C pasišalino %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OWHOIS sąrašo pabaiga." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O neutralus %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O neutralus %C23$2%O, prisijungta: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O tikras Tinklas: %C23$2%O, Tikras IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tDabar kalba %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tBuvote išspirti iš %C22$2%C - %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tIšėjote iš kanalo %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tIšėjote iš kanalo %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tPakvietėte %C18$1%O į %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tJūs dabar esate žinomi kaip %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Įkelti įrašai iš" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** REGISTRAVIMAS UŽBAIGIAMAS %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** REGISTRAVIMAS PRADEDAMAS %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Negalime atidaryti įrašų failų. patikrinkite\nprieigą %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Kairioji žinutė" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Dešinioji žinutė" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adresas" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Vartotojo vardas" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Prisijungiančio vartotojo slapyvardis" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanalas, prie kurio jungiamasi" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Vartotojo kompiuteris" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Vartotojo paskyra" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Slapyvardis" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Veiksmas" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Veiksenos simbolis" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifikuotas tekstas" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Tekstas" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Žinutė" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Serverio vardas" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Pripažintos galimybės" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Pašalintos Galimybės" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Serverio galimybės" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Užklaustos galimybės" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Senas slapyvardis" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Naujas slapyvardis" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Vartotojo, pakeitusio temą, slapyvardis" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Išmetusio vartotojo slapyvardis" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Išmestas vartotojas" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanalas" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Priežastis" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Paliekančiojo kanalą vartotojo slapyvardis" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Laikas" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Kūrėjas" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Slapyvardis" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Priežastis" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Adresas" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Nuo ko" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Laikas x.x formatu (žr. žemiau)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanalas eina į" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Garsas" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Asmens slapyvardis" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP įvykis" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Nustačiusio raktą asmens slapyvardis" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Raktas" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Nustačiusio riba asmens slapyvardis" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Riba" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Suteikusio oeratoriaus statusą asmens slapyvardis" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Gavusiojo operatoriaus statuso asmens psiaudonimas" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Gavusiojo pusiau-operatoriaus asmens slapyvardis" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Suteikusio pusiau operatoriaus statusą asmens slapyvardis" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Suteikusio balsą asmens slapyvardis" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Gavusiojo balsą asmens slapyvardis" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Užblokavusio asmens slapyvardis" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Blokavimo kaukė" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Nutildžiusio asmens slapyvardis" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Nutildymo kaukė" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Pašalinusio raktą asmens slapyvardis" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Pašalinusio ribą asmens slapyvardis" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Asmens, kuris panaudojo DEOP, slapyvardis" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Netekusio operatoriaus statuso asmens slapyvardis" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Asmens, kuris panaudojo DEHALFOP, slapyvardis" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Netekusio pusiau-operatoriaus statuso asmens slapyvardis" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Asmens, kuris panaudojo DEVOICE, slapyvardis" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Netekusiojo balso asmens slapyvardis" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Asmens, kuris nuėmė ban'ą, slapyvardis" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Asmens, kuris nuėmė tylos režimą, slapyvardis" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Padariusiojo išimtį draudimui asmens slapyvardis" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Išimties draudimui kaukė" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Pašalinusiojo išimtį draudimui asmens slapyvardis" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Pakvietusiojo slapyvardis" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Kvietimo formatas" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Atšaukusiojo kvietimą slapyvardis" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Nustačiusiojo veikseną slapyvardis" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Veiksenos ženklas (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Veiksenos raidė" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanalas, kuriame jis nustatomas" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Tikrasis vardas" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalo narys/IRC operatorius" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serverio informacija" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Neveiklumo laikas" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Prisijungimo laikas" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Pasišalinimo priežastis" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Žinutė" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Paskyra..." + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Realus vartotojas@hostas" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Tikras IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanalo pavadinimas" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mechanizmas" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Pradinis numeris arba identifikatorius" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekstas" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Pakvietusio Jus slapyvardis" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Naudotojai" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Slapyvardis užimtas" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Bandomas slapyvardis" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Prievadas" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Veiksenų eilutė" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC tipas" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Failo vardas" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Paskirties failo pavad." + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "greitis" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Kelias" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozicija" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Dydis" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC eilutė" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Pasišalinimo priežastis" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Stebimųjų skaičius" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Ankstesnysis failo pavad." + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Naujasis failo pavad." + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Gavėjas" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Adreso formatas" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Adresas" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketas" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "sekundžių" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Pakviestojo slapyvardis" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Draudimo formatas" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Uždraudusysis" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Draudimo laikas" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nepavyko perskaityti garso failo:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Serveris nutraukė ryšį" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Jungimasis atmestas" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Maršrutas nerastas" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Susijungimo laikas išseko" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nepavyko priskirti šio adreso" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Jungimasis nutrūko" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Dangun žengimo sala" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Jungtiniai Arabų Emyratai" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Su aviacija susijusios sritys" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistanas" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigva ir Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Angilija" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanija" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armėnija" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Olandijos Antilai" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antraktida" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Atvirkštinis DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Rytų Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Azijos-Ramiojo vandenyno regionas" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Autrija" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australija" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Alando salos" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaidžanas" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnija ir Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbadosas" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladešas" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgija" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Fasas" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarija" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahreinas" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundis" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Verslo" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Beninas" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudos" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunėjus" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivija" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazilija" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamos" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butanas" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Buvė sala" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Gudija" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belizas" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalonų" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosų salos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratinė Kongo respublika" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centrinės Afrikos respublika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongas" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Šveicarija" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Dramblio Kaulo Krantas" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kuko salos" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Čilė" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerūnas" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kinija" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Komercinė įstaiga" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperatyvai" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbija ir Juodkalnija" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Žaliojo Kyšulio salos" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Kalėdų sala" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kipras" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Čekija" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Rytų Vokietija" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Vokietija" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Džibutis" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danija" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžyras" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvadoras" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Švietimo įstaiga" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estija" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egiptas" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Vakarų Sachara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrėja" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Ispanija" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Europos Sąjunga" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Suomija" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidžis" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Folklando salos" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezija" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Farerų salos" + +#: src/common/util.c:770 +msgid "France" +msgstr "Prancūzija" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabonas" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Didžioji Britanija" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzija" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Prancūzijos Gviana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Normanų salos" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltaras" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grenlandija" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gvinėja" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Vyriausybinė institucija" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gvadelupė" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Pusiaujo Gvinėja" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Graikija" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Pietų Georgijos ir Pietų Sandvičo salos" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guamas" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Bisau Gvinėja" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Gajana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Honkongas" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Herdo ir Makdonaldo salos" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hondūras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatija" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haitis" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Vengrija" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezija" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Airija" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izraelis" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Meno sala" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informacinis" + +#: src/common/util.c:803 +msgid "International" +msgstr "Tarptautinis" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britų teritorija Indijos vandenyne" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irakas" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iranas" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandija" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italija" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Džersis" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanija" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Kompanijos darbai" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonija" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizija" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribatis" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Kanarų salos" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Sent Kitsas ir Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Šiaurės Korėja" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Pietų Korėja" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuveitas" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kaimanų salos" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazachstanas" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laosas" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanas" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sent Lusija" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lichtenšteinas" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Šri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberija" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotas" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lietuva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Liuksemburgas" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libija" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Morokas" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monakas" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavija" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Juodkalnija" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "JAV medicinos įstaiga" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskaras" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Maršalo salos" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Karinė institucija" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonija" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Malis" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Birma" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobilieji prietaisai" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Šiaurinės Marianų salos" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritanija" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Monseratas" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauricijus" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Muziejai" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldyvai" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malavis" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksika" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaizija" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambikas" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibija" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individų vardai" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Naujoji Kaledonija" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigeris" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Tinklo įstaiga" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolko sala" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigerija" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Olandija" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvegija" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepalas" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niujė" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Naujoji Zelandija" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omanas" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Ne pelno įstaiga" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Prancūzijos Polinezija" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Naujoji Gvinėja" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinai" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistanas" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Lenkija" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Sent Pjeras ir Mikelonai" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitkerno salos" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rikas" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesijos" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinos teritorija" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugalija" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragvajus" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Kataras" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Rejunjonas" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumunija" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Senosios mokyklos ARPAnetas" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbija" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rusijos federacija" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudo Arabija" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Saliamono salos" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seišeliai" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudanas" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Švedija" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapūras" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Šv. Elenos kolonija" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovėnija" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbardo ir Jano Majaus salos" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakija" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Siera Leonė" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marinas" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegalas" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalis" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinamas" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Pietų Sudanas" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "San Tomė ir Prinsipė" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Buvusi SSRS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salvadoras" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sirija" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svazilandas" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turkso ir Kaikoso salos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čadas" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Interneto Komunikacijų Paslaugos" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Indijos vandenyno pietų teritorijos" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togas" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailandas" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikija" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Rytų Timoras" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmėnija" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisas" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkija" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Kelionės ir turizmas" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidadas ir Tobagas" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taivanas" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanija" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Jungtinė Karalystė" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Jungtinės Amerikos Valstijos" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Urugvajus" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistanas" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanas" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Sent Vinsentas ir Grenadinos" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venesuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Mergelės salos (D. Brit.)" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Mergelės salos (JAV)" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnamas" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Valiso ir Futunos salos" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Suaugusiųjų pramogos" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemenas" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Majota" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavija" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Pietų Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabvė" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nepavyko prisijungti prie sesijos magistralės" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Nepavyko pabaigti NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Nepavyko pabaigti Command" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "Nuotolė prieiga" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "įskiepis nuotoliniam priėjimui per DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nepavyko prisijungti prie sesijos magistralės: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Nepavyko gauti %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Simbolių lentelė" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Blokai" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Išimtys draudimams" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Išimtis draudimui" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Pakvietimai" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Pakvietimas" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Nutildymai" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Nutildymas" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopijuoti kaukę" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s ant %s per %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopijuoti įvestį" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Neprisijungęs" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Jus turite išrinkti kelis blokus" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Ar tikrai norite pašalinti išvardintus punktus esančius %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipas" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Šablonas" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Nuo" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Jus galite tik atidaryti Blokų sąrašo langą kol esate kanalo kortelėje" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Pašalinti" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Apkirpti" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Atnaujinti" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Rodoma %d/%d naudotojų, esančių %d/%d kanaluose." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Pasirinkite išvesties failą" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Prisi_jungti prie kanalo" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopijuoti kanalo pavadinimą" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopijuoti _temos tekstą" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "I_eškoti" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Atsisiųsti sąrašą" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_Išsaugoti sąrašą..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Rodyti tik:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanalus su" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "iki" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "naudotojų." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Kur ieškoti:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanalo pavadinimas" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Paieškos tipas:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Paprasta paieška" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Šablono atitikmuo (pakaitos simboliai)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Reguliarusis reiškinys" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Rasti:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Siųsti %s failą" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Failas yra netęstinas" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Failo prieiga negalima: %s\n%s.\nTęsti neįmanoma." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Failas parsisiuntimo kataloge yra didesnis nei siūlomas failas. Tęsti neįmanoma." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Negalite tęsti to paties failo iš kelių skirtingų žmonių." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Būsena" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Failas" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Abu" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Išsiuntimai" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Parsisiuntimai" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Išsamiau" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Byla:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresas:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Nutraukti" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Priimti" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Pratęsti" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Atverti aplanką..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Gauti" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Siųsti" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Pradžios laikas" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Pridėti" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Ištrinti" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Atšaukti" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Išsaugoti" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Nesijungti prie serverių automatiškai" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Naudoti kitą konfiguracijos katalogą" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Nekrauti automatiškai įskiepių" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Parodyti įskiepių automatinio pakrovimo katalogą" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Parodyti vartotojo konfiguracijos katalogą" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Atidaryti irc://serveris:prievadas/kanalas?raktas adresą" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Įvykdyti komandą:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Atidaryti adresą arba įvykdyti komandą egzistuojančiame HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Pradėti minimizuojant langą. Lygis 0=normalus 1=piktograma 2=užduočių juosta" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "lygis" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Rodyti versijos informaciją" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Nepavyko atidaryti šriftą:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Paieškos buferis yra tuščias.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d baitų" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Tinklo išsiuntimo eilė: %d baitų" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nepavyksta įrašyti į tą failą." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nepavyksta perskaityti to failo." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privatus" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Įspėjimas" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Nebeignoruoti" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Ar jus užtikrinti, kad norite pašalinti visus ignoravimus?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Įveskite ignoravimo kaukę:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoravimo statistika:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanalas:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privatus:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Įspėjimas:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Pakvietimas:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Pridėti..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "kanalo pavadinimas per trumpas, bandykite dar kartą." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Ryšys užbaigtas - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Prisijungimas prie %s užbaigtas." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Ką norėtumėte daryti toliau?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nieko, aš prisijungsiu prie kanalo vėliau." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Prisi_jungti prie šio kanalo:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jeigu žinote kanalo, prie kurio norėtumėte jungtis, pavadinimą, įrašykite jį čia." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "A_tverti kanalų sąrašą." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Kanalų sąrašo gavimas gali užimti vieną ar dvi minutes." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "V_isada po prisijungimo rodyti šį dialogą." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s tema yra: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Tema nenustatyta" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Baigti HexChat darbą?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Kitą kartą neklausti." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Esate prisijungę prie %i IRC tinklų." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Ar tikrai norite išeiti?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Yra aktyvių failų siuntimų." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Sumažinti į dėklą" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Įterpti atributą arba spalvos kodą" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Pastorintas</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Pabrauktas</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Pasvyręs</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normalus" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Spalvos 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Spalvos 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Nustatymai" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Registruoti į diską" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Pap_ildomi signalai" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Atskirti" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Užverti" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtruoti spalvas" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Blokų sąrašas" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Raktažodis" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Įveskite naują slapyvardį:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Rezultatų nerasta." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Paieška priėjo pabaigą arba nieko nerasta." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Paryškinti visus" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Paryškinti visus atitikmenis ir pabraukti dabartinį." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Ski_rti raidžių dydį" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Atlikti paiešką skiriant raidžių dydį." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Nežinoma" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Tikras vardas:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Naudotojas:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Paskyra:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Šalis:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Serveris:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "prieš %u minučių" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Dabar, meniu juosta yra paslėpta. Jūs galite parodyti ją vėl, nuspausdami Control+F9 (Vald+F9) arba spusteldami dešiniu pelės mygtuku tuščioje pagrindinio teksto srities dalyje." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Atidaryti nuorodą naršyklėje" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopijuoti pasirinktą nuorodą" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Kuo pakeisti" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nauja" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Serverio langas" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanalo langas" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Baigti" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Rodinys" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Meniu juosta" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Temos juosta" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Na_udotojų sąrašas" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Veiksen_os mygtukai" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Kanalų perjungiklis" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Kor_telės" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "M_edis" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Ti_nklo matuokliai" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Išjungta" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafikas" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Visas ekranas" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Serveris" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Atsijungti" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "P_risijungti iš naujo" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Nus_tatymai" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Nuostatos" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "Lan_gas" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopijuoti žymėjimą" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Išva_lyti tekstą" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Pagalba" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Turinys" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Apie" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Pavadinimas" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Paskutinį kartą matytas" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Niekada" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "prieš %d minučių" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Prieš valandą" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "prieš %d valandų" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Atidaryti dialogą" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Privati žinutė nuo: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "Atku_rti langą" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Slėpti langą" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanalo žinutė" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privati žinutė" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Paryškinta žinutė" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versija" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Aprašas" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Pasirinkite norimą įkelti įskiepį ar scenarijų" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Į_kelti" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Išsaugoti kaip..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Išvalyti neapdorotą žurnalą" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Naujas tinklas" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Ar tikrai pašalinti \"%s\" tinklą ir visus jo serverius?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Būdas kaip prisistatote serveriui. Tinkintiems prisijungimo metodams naudokite susijungimo komandas." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Serveriai" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Autosusijungimo kanalai" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Susijungimo komandos" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Slapyvardis\n%p=Slaptažodis\n%r=Tikras vardas\n%u=Naudotojo vardas" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Raktas (Slaptažodis)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "R_edaguoti" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Jungtis tik prie pasirinkto serverio" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Automatiškai jungtis prie šio tinklo" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Naudoti visuotinę naudotojo informaciją" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Slapyvardis:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Antras pasirinkimas:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Tikras _vardas:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Na_udotojo vardas:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Prisijungimo metodas:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Slaptažodis:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Prisijungimui naudojamas slaptažodis. Jei abejojate, palikite tuščią." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Simbolių rinkinys:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Naudotojo Informacija" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Trečias pasirinkimas:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Tinklai" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Paleidus, praleisti tinklų sąrašą" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Rodyti tik mėgstamus" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "R_edaguoti..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Rikiuoti" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Mėgstamas" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Pažymėti ar nežymėti šio tinklo kaip mėgstamo." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afriekiečių" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanų" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaidžanų" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskų" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Gudų" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarija" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kinų (Supaprastinta)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kinų (Tradicinė)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Čekų" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danų" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Olandų" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Anglų (Britų)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Anglų" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estų" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Suomių" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Prancuzų" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Vokiečių" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Graikų" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Indija" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Vengrų" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indoneziečių" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italų" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonų" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korėjiečių" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvių" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lietuvių" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonų" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajų" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvegų (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvegų (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Lenkų" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugalų" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Protugalų (Brazilų)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pudžabų" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Rusų" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbų" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakų" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovėnų" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Ispanų" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Švedų" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailandiečių" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turkų" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainiečių" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamiečių" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valonų" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Pagrindinė" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Kalba:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Pagrindinis šriftas:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Šriftas:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Teksto langas" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Spalvoti slapyvardžiai" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Suteikti kiekvienam asmeniui IRC skirtingą spalvą" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Fono paveikslas:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Permatomumo nustatymai" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Laiko žymos" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Įjungti laiko žymas" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Laiko žymų formatas:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Antraštės juosta" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Rodyti kanalo veiksenas" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Rodyti naudotojų skaičių" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Rašybos tikrinimas" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nerikiuotas" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Aukščiausia" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Žemiausia" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Paslėpta" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Spalvinti slapyvardžius naudotojų sąraše" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Langai" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Kortelės" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Visada" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Papildomoje kortelėje" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Priekinėje kortelėje" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Atidaryti papildomą kortelę serverio žinutėms" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Atidaryti naują kortelę, kai gaunate privačią žinutę" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Rikiuoti korteles abėcėlės tvarka" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Rodyti piktogramas kanalo medyje" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Mažesnis tekstas" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Kortelės ar langai" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Žinutės" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Klausti patvirtinimo" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Failai ir katalogai" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Atsiųsti failus į:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Perkelti užbaigtus failus į:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Signalai" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Dėklo elgsena" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Įjungti sistemos dėklą" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Sumažinti į dėklą" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Uždaryti į dėklą" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automatiškai keisti būseną, kai slepiama į dėklą." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Nėra" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Rodyti „nėra“ vieną kartą" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Automatiškai įtraukti spalvų informaciją" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Tikras vardas:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternatyvūs šriftai:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Atsijungus, automatiškai iš naujo prisijungti prie serverių" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Automatinio prisijungimo iš naujo delsa:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Loginimas" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Įjungti pokalbių registravimą į diską" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Serveris %c=Kanalas %n=Tinklas." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Įjungti URL registravimą į diską" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Uždraustas)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Tik DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Jūsų adresas" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Failų persiuntimai" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP adresas:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Prievadas:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipas:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Naudotojo vardas:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Įjungta" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Pasirinkti šriftą" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Naršyti..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Atidaryti duomenų aplanką" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Pasirinkti spalvą" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Teksto spalvos" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC spalvos:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Priekinis planas:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fonas:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Sąsajos spalvos" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nauja žinutė:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Įvykis" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Pasirinkti garso failą" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Garso failas:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Naršyti..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Groti" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Sąsaja" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Išvaizda" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Įvesties laukas" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Vartotojų sąrašas" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanalų perjungiklis" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Spalvos" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Kalbėjimas" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Garsai" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Pažangus" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Tinklo nustatymas" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Failų persiuntimai" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorijos" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Nuostatos - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(nėra užuominų)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Daugiau..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Įtraukti \"%s\" į žodyną" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignoruoti visus" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Rašybos užuominos" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Spausdinti tekstinę bylą" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Skaičius" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Redaguoti įvykius" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Pakrauti iš..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Patikrinti visus" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "Gerai" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Išvalyti sąrašą" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopijuoti pasirinktą adresą" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopijuoti" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Išsaugoti sąrašą į bylą" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operatorių, %d iš viso" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s įskiepis įkeltas\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s įskiepis iškeltas\n" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000000000000000000000000000000000000..b289354d58c0976f45ba0354019ee28a2e9033b9 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Artis Trops <hornet@navigators>, 2001 +# Zigmars Dzenis <zigmars@gmail.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Latvian (http://www.transifex.com/hexchat/hexchat/language/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC klients" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Tērzēt ar citiem cilvēkiem tiešsaistē" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "TZ;Tērzēšana" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Atvērt drošo režīmu" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat motīvu pārvaldnieks" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Esmu aizņemts" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Atstāj" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "IZSLĒGTS" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "IESLĒGTS" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{atiestatīt}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Tīkls" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nekas>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanāls" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Gaidu" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktīvs" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Neizdevās" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Paveikts" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Pieslēgties" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Pārtraukts" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nevar piekļūt %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Kļūda" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nav aktīvu DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Sūtīt failu" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorēt" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Izspert/izraidīt" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Izspert" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Izraidīt" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Pamest kanālu" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Pievienoties kanālam" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Servera saites" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ehotestēt serveri" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Slēpt versiju" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "atā" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Sūtīt" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Tērzēšana" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Attīrīt" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ehotestēt" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Lietot IRC kā rootam ir muļķīgi! Jums vajadzētu\n Izveidot Lietotāja Kontu un lietot to, lai pieteiktos.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JĀ" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NĒ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nav atrasts" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Atrisināts uz:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s tiešsaistē\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s nav bezsaistē\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Neesi pievienojies nevienam kanālam. Pamēģini /join #<kanāls>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Neesi pieslēdzies. Pamēģini /server <resursdators> [<ports>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Lai darbotos, man vajag /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Pieejamās komandas:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Lietotāja definētās komandas:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Spraudņa definētās komandas:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nezināmais arguments '%s' ignorēts." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Tāds iespraudnis nav atrasts.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Šis iespraudnis atsakās izlādēties.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nosaukums> <darbība>, pievieno pogu zem lietotājzvēlnes" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komada>, sūta komandu uz visiem kanāliem, kuros esat" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komanda>, sūta komandu uz visiem serveriem, kuros esat" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maska> [<bantype>], izraida visus, kuri atbilst maskai no pašreizējā kanāla. Ja viņi jau ir kanālā, tas viņus neizmet (vajag būt kanālop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <segvārds> <ziņa>, sūta CTCP ziņu segvārdam, izplatītākās ziņas ir VERSION un USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <segvāds>, noņem kanālpus-op statusu segvārdam pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nosaukums>, izdzēš pogu no lietotājsaraksta" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <segvāds>, noņem kanālop statusu segvārdam pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <segvārds>, noņem balss statusu segvārdam pašreizējā kanāla (vajag būt kanālop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Atslēdzas no servera" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <teksts>, Izvada tekstu lokāli" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <komanda>, palaiž komandu. Ja -o karodziņš tiek lietots, tad izvade tiek sūtīta uz pašreizējo kanālu, citādāk tā tiek izvadīta uz pašreizējo teksta lodziņu" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sūta procesam SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], nokauj palaisto exec pašreizējā sesijā. Ja tiek dots -9, process tiek SIGKILL'ots" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sūta procesam SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sūta datus uz procesa stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, noflašo pašreizējā servera sūtīšanas rindu" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <hostdators> [<ports>], caur resursdatoru kā starpserveri, noklusētais ports ir 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <segvārds>, piešķir kanālpus-op'a statusu segvārdam (vajag būt kanālop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <segvārds> [<kanāls>], ielūdz kādu kanālā, pēc noklusējuma uz pašreizējo kanālu (vajag kanālop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanāls>, pievienojas kanālam" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, rosina jaunu aiztures pārbaudi" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Masveidā deop'o visus kanālpus-op'us pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Masveidā deop'o visus kanālop'us pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <darbība>, sūta darbību uz pašreizējo kanālu (darbības tiek rakstītas trešajā personā, kā /me smaida)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Masveidā izmet visus, izņemot tevi, pašreizējā kanālā (vajag būt kanālop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <segvārds> <ziņa>, Sūta CTCP paziņojumu" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <segvārds>, uzstāda jums segvārdu" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <segvārds>, piešķir kanālop statusu segvārdam (vajag būt kanālop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanāls>] [<iemesls>], pamet kanālu, pēc noklusējuma pašreizējo" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <segvārds | kanāls>, CTCP pingo segvārdu vai kanālu" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<iemesls>], atslēdzas no pašreizējā servera" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <teksts>, sūta tekstu jēlā formā serverim" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<hostdators>] [<ports>] [<parole>], Var izsaukt arī vienkārši kā /RECONNECT, lai vēlreiz pārslēgtos uz pašreizējo serveri vai ar /RECONNECT ALL uz visiem atvērtajiem serveriem" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<hostdators>] [<ports>] [<parole>], Var izsaukt arī vienkārši kā /RECONNECT, lai vēlreiz pārslēgtos uz pašreizējo serveri vai ar /RECONNECT ALL uz visiem atvērtajiem serveriem" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teksts>, sūta tekstu objektam pašreizējā logā" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <segvārds> [<datne>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <hostdators> <ports> <kanāls>, pieslēdzas un pievienojas kanālam" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hostdators> <ports> <kanāls>, pieslēdzas un pievienojas kanālam" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <hostdators> [<ports>] [<parole>], pieslēdzas serverim, noklusētais ports ir 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<temats>], uzstāda tematu, ja tāds ir dots, savādāk parāda pašreizējo tematu" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], noņem izraidījumu norādītajām maskām." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nosaukums>, izlādē iespraudni vai skriptu" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <segvārds>, piešķir kādam balss statusu (vajag būt kanālop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <ziņa>, raksta ziņu visiem kanāliem" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <ziņa>, aizsūta ziņu visiem pašreizējā kanāla kanālopiem" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Lietotāja komanda priekš: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Lietošana: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nŠādai komandai palīdzība nav pieejama.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Nav tādas komandas.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Slikti argumenti lietotāja komandai.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Pārāk daudz rekursīvu pietotājkomandu, pārtraucu" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Nezināma komanda %s. Mēģiniet /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Taimeris %d dzēsts.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nevaru atšķetināt hostdatora vārdu %s\nPārbauiet savus IP Uzstādījumus!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Starpservera šķērsošana neizdevās.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanāls Lietotāji Temats" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Ielādēja žurnālu no" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** BEIDZU IEGRĀMATOŠANU IEKŠ %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** SĀKU IEGRĀMATOŠANU IEKŠ %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Kreisais ziņojumsKreisais ziņojums" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Labais ziņojums" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adrese" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Lietotājvārds" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Pievienojušās personas segvārds" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanāls, kuram pievienojas" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Personas hostdators" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Personas konts" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Segvārds" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Darbība" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Režīma burts" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identificēts teksts" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksts" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Ziņojums" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Servera nosaukums" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Apstiprinātās spējas" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Noņemtās spējas" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Servera spējas" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Pieprasītās spējas" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Vecais segvārds" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Jauns segvārds" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Personas segvārds, kura izmainīja tematu" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Temats" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Izmetēja segvārds" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Persona, kuru izmeta" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanāls" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Iemesls" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Personas segvārds, kura atstāj" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Laiks" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Veidotājs" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Segvārds" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Iemesls" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Hostdators" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "No kā tas ir" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Laiks x.x formātā (skaties zemāk)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanāls gatavojas" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Skaņa" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Personas segvārds" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP notikums" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Personas segvārds, kura uzstādīja atslēgu" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Atslēga" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Personas segvārds, kura uzstādīja limitu" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limits" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Personas segvārds, kura op'oja" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Personas segvārds, kuru op'oja" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Personas segvārds, kuru pus-op'oja" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Personas segvārds, kura pus-op'oja" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Personas segvārds, kura iedeva balsi" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Personas segvārds, kurai iedeva balsi" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Personas segvārds, kura izraidīja" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Izraidījuma maska" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Segvārds, kurš noņēma atslēgu" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Segvārds, kurš noņēma limitu" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Personas segvārds, kuru deop'oja" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Personas segvārds, kuru pus-op'oja" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Personas segvārds, kurai noņēma balsi" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Personas segvārds, kura atbrīvoja" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Atbrīvošanas maska" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Personas segvārds, kura noņēma atbrīvojumu" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Personas segvārds, kura ielūdza" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Ielūguma maska" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Personas segvārds, kura noņēma ielūgumu" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Personas segvārds, kura uzstadīja režīmu" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Režīma zīme (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Režīma burts" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanāls, kuram tas tika uzstādīts" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Pilns vārds" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanāla Piederība/\"ir IRC operātors\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serva Informācija" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Dīkstāves laiks" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Ierašanās laiks" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Prombūtnes iemesls" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Ziņojums" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konts" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Īstā IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanāla Nosaukums" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mehānisms" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Teksts" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Personas segvārds, kura jūs ielūdza" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Lietotāji" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Segvārds jau lietošanā" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Mēģināmais segvārds" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Ports" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Režīma rinda" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC Tips" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Datnes nosaukums" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Mērķa datnes nosaukums" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Ceļa nosaukums" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozīcija" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Izmērs" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC Virkne" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Prombūtnes iemesls" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Paziņojamo priekšmetu skaits" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Vecais datnes nosaukums" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Jaunais datnes nosaukums" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Saņēmējs" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hostdatora maska" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostdatora vārds" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pakete" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekundes" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Personas segvārds, kura tikusi ielūgta" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Izraidījuma maska" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kurš uzstādīja izraidījumu" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Izraidījuma laiks" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Attālinātais hostdators aizvēra ligzdu" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Savienojums atteikts" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Nav maršruta uz resursdatoru" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Savinojuma taimauts" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nevaru piešķirt to adresi" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Savienojuma pārtraukums" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Debesbraukšanas sala" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Apvienotie Arābu Emirāti" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Ar aviāciju saistītās nozares" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistāna" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigva un Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Angilja" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albānija" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armēnija" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nīderlandes Antiļas" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentīna" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverss DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikāņu Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Āzijas un Klusā okeāna reģions" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austrija" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austrālija" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ālandu Salas" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaidžāna" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnija un Hercogovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbadosa" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladeša" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Beļģija" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkinafaso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgārija" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahreina" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Darījumi" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benina" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Bruneja" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolīvija" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazīlija" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butāna" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bovetu salas" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsvāna" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Baltkrievija" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Beliza" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanāda" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalāņu" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosu salas" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Kongo Demokrātiskā Republika" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centrālāfrikas Republika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Šveice" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Kotdivuāra" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kuka salas" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Čīle" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerūna" + +#: src/common/util.c:738 +msgid "China" +msgstr "Ķīna" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Starptautiskā Komercsabiedrība" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperatīvi" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbija un Melnkalne" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kapoverde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Ziemassvētku Salas" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kipra" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Čehija" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Austrumvācija" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Vācija" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Džibutija" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dānija" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikānas Republika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžīrija" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvadora" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Mācību Iestāde" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Igaunija" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Ēģipte" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Rietumsahāra" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritreja" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spānija" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Eiropas Savienība" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Somija" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Folklenda salas" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronēzija" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Farēru salas" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francija" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabona" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Lielbritānija" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Džordžija" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Franču Gviāna" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britu Kanāla salas" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltārs" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grenlande" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gvineja" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Valdība" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gvadelupa" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatoriālā Gvineja" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grieķija" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Dienviddžordžija un Dienvidsendviču Salas" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guama" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Gvineja-Bisava" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Gajāna" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hongkonga" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Herda un Makdonalda salas" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hondurasa" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Horvātija" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungārija" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonēzija" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Īrija" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izraēla" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Menas Sala" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatīvs" + +#: src/common/util.c:803 +msgid "International" +msgstr "Starptautisks" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britu Indija okeāna teritorija" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irāka" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irāna" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islande" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itālija" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Džērsija" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordānija" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japāna" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizstāna" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoros salas" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Svētā Kita un Nevis salas" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Ziemeļkoreja" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Dienvidkoreja" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuveita" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kaimanu salas" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazahstāna" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laosa" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libāna" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sentlūsija" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lihtenšteina" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Šrilanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libērija" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lietuva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburga" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libāna" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldāvija" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Melnkalne" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Savienoto Valstu Medicīnas" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskara" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Maršalu Salas" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militārs" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Maķedonija" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mjanma" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobilās ierīces" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Ziemeļmarina" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinika" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritānija" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserata" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritānija" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Muzeji" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldīvija" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malāvija" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaizija" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambika" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namībija" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Jaunkaldonija" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigēra" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Starptautiskais Tīkls" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolkas salas" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigērija" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nīderlande" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvēģija" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepāla" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Jaunzēlande" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omāna" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Starptautiska Bezpeļņas Organizācija" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Franču Polinēzija" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Jaungvineja" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipīnas" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistāna" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polija" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Svētā Pjēra un Mikvelona salas" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitkērna" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puertoriko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesijas" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestīnas teritorija" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugāle" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragvaja" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katara" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reinjona" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumānija" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Vecās Skolas ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbija" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Krievijas Federācija" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saūda Arābija " + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Zālamana salas" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seišelas" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudāna" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Zviedrija" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapūra" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Svētās Helēnas sala" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovēnija" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svelbāna un Žana Maijena salas" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovākija" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sjerra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegāla" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somālija" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinama" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Dienvidsudāna" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Santome un Prinsipi" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Bijušā PSRS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salvadora" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sīrija" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Šveice" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Tērksas un Kaikosas salas" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čada" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Interneta sakaru pakalpojumi" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francijas Dienvidu Teritorijas" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Taizeme" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikistāna" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Austrumtimora" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistāna" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisija" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turcija" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Ceļošana un tūrisms" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidada un Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taivāna" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzānija" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Apvienotā Karaliste" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amērikas Savienotās Valstis" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Urugvaja" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistāna" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikānas Pilsētvalsts" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venecuēla" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britu Virdžīnu Salas" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ASV Virdžīnu Salas" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vjetnama" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Volisa un Futuna salas" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Pieaugušo izklaide" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemena" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Majota" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Dienvidslāvija" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Dienvidāfrija" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Rakstzīmju Tabula" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Atbrīvo" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Atbrīvot" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Ielūdz" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Ielūgt" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Klusina" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Kluss" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopēt ierakstu" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tips" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "No" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datums" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Izņemt" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Apcirpt" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Atjaunināt" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Atlasiet izvades datnes nosaukumu" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanāla nosaukums" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulārā izteiksme" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Atrast:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Sūtīt datni %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Satuss" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Datne" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Abi" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Augšupielādes" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Lejupielādes" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detaļas" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Datne:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adrese:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Pārtraukt" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Pieņemt" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Atsākt" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Atvērt mapi..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Saņ" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Aizs" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Sākuma laiks" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Pievienot" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Dzēst" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Atcelt" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Saglabāt" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Izpildīt komandu:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "līmenis" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Meklēšanas buferis ir tukšs.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d baiti" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Komanda Ievietot Buferī ievietos Dati 1 saturu ierakstā, kur taustiņi tika nospiesti secībā, konkrētajā kursora pozīcijā" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Komanda Iestatīt Buferi iestata ierakstu, kur taustiņu secība tika ievadīta atbiltoši Dati 1 saturam" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Komanda Iepriekšējā Komanda iestata rindiņu, lai tā satur iepriekšējo ievadīto komandu - tas pats, kas nospiežot augšup čaulā" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Komanda Nākamā Komanda iestata rindiņu, lai tā satur nākamo ievadīto komandu - tas pats, kas nospiežot lejup čaulā" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Šī komanda maina ieraksta tekstu, lai pabeigtu nepilnu segvārdu vai komandu. Ja Dati 1 ir iestatīti, tad dubult-tabulācija rindiņā izvēlēsies pēdējo segvārdu, nevis nākamo" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Šī komanda ritina augšup un lejup pa segvārdu sarakstu. Ja Dati 1 ir iestatīti uz kaut ko, tā ritināsies augšup, citādi tā ritināsies lejup" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Ievietot ievades līniju vēsturē, bet nesūtīt serverim" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Atgadījās kļūda, lādējot taustiņu atbilstību konfigurāciju" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nevar ierakstīt tajā datnē." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nevar nolasīt to datni." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privāts" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Paziņot" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Neignorēt" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignorēšānas Statistika:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanāls:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privāts:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Paziņojums:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Ielūgt:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Pievienot..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Temats %s ir: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Temats nav uzstādīts" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Lietotāju limitam ir jābūt skaitlim!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Bez ārējām ziņām" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Temata Aizsardzība" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Tikai ar ielūgumu" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Apvaldīts" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Izraidīto Saraksts" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Atslēgvārds" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Lietotāju Limits" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Ievadiet jaunu segvārdu:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nav atrastu rezultātu." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Izgaismot visu" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regulārā izteiksme" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Nezināms hostdators" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Konts nezināms" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Nezināms" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Īstais vārds:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Lietotājs:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konts:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Valsts:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Serveris:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Atvērt saiti pārlūkā" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopēt atlasīto saiti" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Pievienoties Kanālam" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Atstāt Kanālu" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ciklēt Kanālā" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Automātiski pievienoties" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Automātiski pievienoties kanālam" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Automātiski pieslēgties" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Marķiera līnija izslēgta." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Aizstāt ar" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "Jau_ns" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Iziet" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Skats" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Izvēlnes josla" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Temata josla" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Lietotāju saraksts" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Izslēgt" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafika" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Pilnekrāna" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Serveris" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "U_zstādījumi" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Logs" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Atstatīt marķiera līniju" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Pārvietot uz marķiera līniju" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopēt atlasi" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Attīrīt tekstu" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Meklēt" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Meklēt nākošo" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Meklēt iepriekšējo" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Palīdzība" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "P_ar" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nosaukums" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Pēdējoreiz redzēts" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Bezsaistē" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nekad" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "pirms %d minūtēm" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Pirms stundas" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "pirms %d stundām" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Tiešsaistē" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Ievadiet pievienojamo segvārdu:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Atvērt dialogu" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versija" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Apraksts" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Izvēlieties Iespraudni vai Skriptu, ko ielādēt" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Ielādēt..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Jauns Tīkls" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Patiesi izņemt tīklu \"%s\" un visus tā serverus?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Tīkli" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Pieslēgties" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikandu" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albāņu" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharu" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Astūriešu" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaidžāņu" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basku" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Baltkrievu" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgāru" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Ķīniešu vienkāršotā" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Ķīniešu tradicionālā" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Čehu" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dāņu" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandiešu" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Britu angļu" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Angļu" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Igauņu" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Somu" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Franču" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galisiešu" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Vācu" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grieķu" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gudžaratu" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungāru" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonēziešu" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Itāļu" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japāņu" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannadu" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kiņaruanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korejiešu" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latviešu" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lietuviešu" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Maķedoniešu" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajiešu" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malajalu" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvēģu būkmols" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvēģu jaunnorvēģu" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Poļu" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugāļu" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugāļu (Brazīlija)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pandžabu" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Krievu" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbu" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovāku" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovēņu" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spāņu" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Zviedru" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Taju" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turku" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukraiņu" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vjetnamiešu" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Vispārīgi" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fonts:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Fona attēls:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Segvārdu pabeigšanas priedēklis:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nesakārtoti" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Augšā" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Lejā" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Paslēpts" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lietotāju Saraksts" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Logi" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Sadaļas" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Atvērt kanālus iekš:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Atvērt dialogus iekš:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Atvērt utilītas iekš:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Atvērt DCC, Ignorēšanu, Paziņošanas utt. sadaļās vai logos?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Lejupielādēt datnes uz:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Pārvietot pabeigtās datnes uz:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Parādīt prombūtni vienreiz" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automāiski atstatīt prombūtni" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Parādīt MODEs jēlā formā" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Auto pārpieslēgšanās aizture:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Iegrāmatošana" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Atritināmas rindiņas:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Pretējas laikatzīmes žurnālos" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Žurnāla laikatzīmes formāts:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Vietrāži URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Atslēgts)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automātiski" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP adrese:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Apgalvot, ka jūs atrodaties pēc šīs adreses, kad piedāvājat datnes." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Izvēlieties fontu" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Lūkoties.." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Izvēlies krāsu" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC krāsas:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Priekšplāns:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fons:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Izgaismot:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Notikums" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Skaņas datne" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Atlasiet skaņas datni" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Skaņas datne:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Pārlūkot..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Atskaņot" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Saskarne" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Izskats" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Ievades lodziņš" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lietotāja saraksts" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanālu pārslēdzējs" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Krāsas" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Tērzēju" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Skaņas" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Paplašināti" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Tīkla uzstādīšana" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Datņu pārsūtīšanas" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorijas" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*BRĪDINĀJUMS*\nAutomātiski akceptēt DCC uz savu mājas direktoriju\nvar būt bīstami un viegli exploitējams. Piem.:\nKāds var atsūtīt tev .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Vairāk..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorēt visus" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Atgadījās kļūda parsējot virkni" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Šis signāls izdeva tikai %d argumentus, $%d ir nepareizs" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Drukāt tekstu datni" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Numurs" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Rediģēt Notikumus" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testēt Visus" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..f292c4d76fb1766fad089fe3b0be3fb40ec2027c --- /dev/null +++ b/po/meson.build @@ -0,0 +1,9 @@ +i18n.gettext('hexchat', preset: 'glib') + +validate_translations = find_program('validate-textevent-translations') +test('Validate translations', validate_translations, + args: [ + join_paths(meson.current_source_dir(), 'LINGUAS'), + meson.current_source_dir(), + ] +) diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 0000000000000000000000000000000000000000..db0cffc398e4ee368124d08218c2612aef1096d2 --- /dev/null +++ b/po/mk.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Jovan Naumovski <jovan@lugola.net>, 2007 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:13+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Macedonian (http://www.transifex.com/hexchat/hexchat/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Зафатен сум" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Си одам" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Мрежа" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Канал" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Чекам" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Активно" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Неуспешно" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Завршив" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Врзи се" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Откажано" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Не можам да пристапам на %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Грешка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ви нуди „%s“. Дали сакате да прифатите?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Нема активни DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Дај op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Одземи op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Дај глас" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Одземи глас" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Исфрли/Банирај" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Исфрли" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Банирај" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Исфрли и банирај" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Напушти канал" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Приклучи се на канал..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Внеси канал за да се приклучиш:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Врски до серверот" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Пингувај го серверот" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Сокриј верзија" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Оp" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Земи оp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "чао" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Внеси причина за исфрлувањето %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Дијалог" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "КојЕ" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Испрати" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Разговор" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Исчисти" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Пинг" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Користењето на IRC како root е глупаво! Подобро е\n да си создадете корисничка сметка и да ја користите неа.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "НЕ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вие сте CTCP поплавени од %s, игнорирам %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s присутни\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлајн\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не сте присутни на некој канал. Пробајте со /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не сте поврзани. Пробајте со /server <host> [<порта>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Веќе сте означени како отсутни: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Веќе сте означени како присутни.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Ми треба /bin/sh за да извршам!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Достапни команди:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Команди дефинирани од корисникот:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Команди дефинирани од приклучокот:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Напишете /HELP <команда> за повеќе информации, или /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознатиот аргумент „%s“ е игнориран." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Не најдов таков додаток.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Тој додаток одбива да се исклучи. \n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <акција>, додава копче под корисничката листа" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <командата>, испраќа команда до сите канали на кои што сте" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <командата>, испраќа команда на сите сервери на кои што сте" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ве обележува како присутен (не отсутен)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <маска> [<тип>], ги банира сите кои што одговарат на маската на сегашниот канал. Ако се веќе на каналот ова не ги исфрла (треба оператор)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ја наоѓа кратенката на земјата, пр: au = австралија" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <прекар> <порака>, испрати ја CTCP пораката до прекарот, вообичаени пораки се VERSION и USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], го напушта тековниот канал и се приклучува повторно" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <прекар> - прифатете понудена датотека\nDCC SEND [-maxcps=#] <прекар> [датотека] - испратете датотека некому\nDCC PSEND [-maxcps=#] <прекар> [датотека] - испратете датотека во пасивен режим\nDCC LIST - покажи DCC листа\nDCC CHAT <прекар> - понуди DCC CHAT некому\nDCC PCHAT <nick> - понуди DCC CHAT со користење на пасивен режим\nDCC CLOSE <тип> <прекар> <датотека> пример:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <прекар>, отстранува операторски статус од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, брише копче под корисничката листа" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <прекар>, отстранува операторски статус од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <прекар>, отстранува глас од прекарот на тековниот канал (потребно е да имате операторски статус)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Ја прекинува врската со серверот" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Печати текст локално" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>, ја извршува командата. Ако користите -o тогаш испраќате на тековниот канал" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, го испраќа процесот SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], убива извршена програма во тековната сесија. Ако -9 е даден тогаш процесот е SIGKILL'ed" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, го испраќа процесот SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, испраќа податоци до stdin процесите" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, го испушта тековното чекање на серверот" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>],proxy-јата преку host, стандардна порта 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <прекар> дава chanhalf-op статус на прекарот (потребен е операторски статус)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ве идентификува кај nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n маска - host маска за игнорирање, пр: *!*@*.mt.net.mk\n типови - типови на податоци за игнорирање, еден или сите од:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n опции - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <прекар> [<канал>], кани некого на каналот, стандардно тоа е тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, се приклучува на каналот" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, форсира проверка за лаг" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <датотека>, вчитува додаток или скрипта" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, одзема опер. статус на сите оператори во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, одзема опер. статус на сите оператори во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <акција>, ја испраќа акцијата на тековниот канал (акциите се испишани во трето лице, на пр. /me скокна)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, ги исфрла сите од каналот (потребен е операторски статус)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, дава опер. статус на сите корисници во тековниот канал (потребен е операторски статус)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <прекар> <порака>, испраќа CTCP забелешка" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <прекар>, го поставува прекарот" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], ја покажува вашата листа за известување или додава некој на неа" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <прекар>, дава опер. статус на прекарот (потребен е операторски статус)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<причина>], го напушта тековниот канал" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <прекар | канал>, CTCP го пингува прекарот или каналот" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>], се одврзува од тековниот сервер" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, праќа текст до серверот во суров формат" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>], може да се стартува само со /RECONNECT за повторно врзување на истиот сервер или /RECONNECT ALL за врзување на сите отворени сервери" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], може да се стартува само со /RECONNECT за повторно врзување на истиот сервер или /RECONNECT ALL за врзување на сите отворени сервери" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, го испраќа текстот до објектот во тековниот прозорец" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <прекар> [<датотека>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, се врзува и се приклучува на канал" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, се врзува и се приклучува на канал" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], се врзува на сервер, стандардната порта е 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<наслов>], поставува наслов на каналот" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Во фиоката трепка помеѓу двете икони.\nTRAY -f <filename> Постави ја иконата во фоката на некоја фиксна икона.\nTRAY -i <number> Иконата светка со внатрешна икона.\nTRAY -t <text> Постави го балончето со совет на фиоката.\nTRAY -b <title> <text> Постави го балончето со совет на фиоката." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], одбанира дадена маска." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <маска> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име> исклучува додаток или скрипта" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отвора URL во вашиот прелистувач" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> итн, означува прекар(и) во листата на присутни на каналот" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <прекар>, дава глас некому (потребен е операторски статус)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <порака>, ја пишува пораката на сите канали" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <порака>, ја испраќа пораката на сите оператори на тековниот канал" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Користење: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nНе постои помош за таа команда.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Не постои таква команда.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Лош аргумент за корисничката команда.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Премногу рекурзивни кориснички команди, прекинувам." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Дали сте сигурни дека ова е SSL способена порта и сервер?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Не можам да го резолвирам hostname %s\nПроверете ги вашите IP подесувања!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal откажа.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Ќе пробам на следниот сервер за %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Предупредување: \"%s\" дадениот карактер е непознат. Нема да биде применет разговор за мрежата %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UКанал Корисници Наслов" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tЛистата за известување е празна." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Вчитав лог од" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАВРШУВАМ СНИМАЊЕ НА %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ЗАПОЧНУВАМ СНИМАЊЕ НА %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Лева порака" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Десна порака" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Корисничко име" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Прекарот на личноста што се приклучува" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Каналот на кој што се приклучува" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Host на личноста" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Прекар" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Акцијата" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Режим за знак" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Идентификуван текст" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Текстот" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Пораката" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Име на серверот" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Стар прекар" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Нов прекар" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Прекар на личноста која го променила насловот" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Наслов" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Прекарот на исфрлувачот" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Личноста што е исфрлена" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Каналот" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Причината" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Прекарот на личноста што си оди" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Времето" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Создавачот" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Прекар" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Причината" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Од кого е" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Времето во x.x формат (види подолу)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Каналот до кој што оди" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Звукот" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Прекарот на личноста" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP настанот" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Прекарот на личноста кој го поставила клучот" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Клучот" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Името на личноста која што го поставила ограничувањето" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Ограничувањето" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Името на личноста која дала op" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Прекарот на личноста која што добила op" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Прекарот на личноста која добила halfop" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Прекарот на личноста која направила halfop" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Прекарот на личноста која што дала глас" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Прекарот на личноста која што добила глас" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Прекарот на личноста која што банирала" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Бан маската" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Прекарот кој што го отстранил клучот" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Прекарот кој што го отстранил ограничувањето" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Прекарот на личноста на која што и е земен op" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Прекарот на личноста на која и е одземен halfop" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Прекарот на личноста на која и е одземен гласот" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Прекарот на личноста која направила exempt" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Exempt маска" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Прекарот на личноста која отстранила exempt" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Прекарот на личноста која поканила" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Маската за покана" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Прекарот на личноста која ја отстранила поканата" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Прекарот на личноста која што го поставува режимот" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знаците за режим (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Буквата за режим" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Каналот се подесува" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Целосно име" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Членство на каналот/\"е IRC оператор\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Информации за серверот" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Неактивност" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Време на вклучување" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Причина за отсуство" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Порака" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Сметка" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Вистински корисник@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Вистинска IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Име на каналот" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Прекар на личноста која те поканила" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Корисници" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Прекарот е употребен" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Се обидувам со прекарот" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порта" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Стринг на режими" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC тип" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Име на датотеката" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Дестинација на датотеката" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Име на патеката" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Позиција" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Големина" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC стринг" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Број на предмети за известување" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Старо име на датотеката" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Ново име на датотеката" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Примач" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Маска на Host-от" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Име на host" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакетот" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Прекарот на личноста што е поканета" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Бан маска" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Кој го ставил банот" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Време на банот" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Неможам да ја прочитам звучната датотека:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Затворен socket на мрежниот host" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Врската е одбиена" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Нема рута до host-от" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Конекцијата истече" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Не можам да ја назначам таа адреса" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Конекцијата е ресетирана од peer" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Островот Асенсион" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Обединети Арапски Емирати" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Авганистан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Антигvа и Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ангуила" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албанија" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Ерменија" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Холандски Антили" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антартик" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Обратен DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Американски Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Австрија" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Австралија" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Фолкландски Острови" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербејџан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Белгија" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Бугарија" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахреин" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Бизниси" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Брунеи Дарусалам" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Боливија" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразил" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Бахами" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Бувет Острови" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Боцвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Белорусија" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Кокосови Острови" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Демократска Репубика Конго" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Централно Африканска Република" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швајцарија" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Брегот на Слоновата Коска" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Кук острови" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чиле" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Кина" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Колумбија" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Костарика" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Србија и Црна Гора" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Кејп Верде" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Божиќни острови" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кипар" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Чешка" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Германија" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Џибути" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Данска" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Доминиканска република" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Образовна институција" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Естонија" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Западна Сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Еритреја" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Шпанија" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Етиопија" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Европска Унија" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Финска" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фиџи" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фолкландски острови" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Микронезија" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Фарски острови" + +#: src/common/util.c:770 +msgid "France" +msgstr "Франција" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Велика Британија" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузија" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Француска Гвинеја" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Британски каналски острови" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Гренланд" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбија" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвинеја" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Влада" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гвадалупе" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Екваторијална Гвинеја" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Грција" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "С. Џорџија и С. Сендвич Острови" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гвам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвинеја-Бисао" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гвајана" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Хард и МекДоналд острови" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Хрватска" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Унгарија" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Индонезија" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ирска" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Островот Ман" + +#: src/common/util.c:801 +msgid "India" +msgstr "Индија" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Информативен" + +#: src/common/util.c:803 +msgid "International" +msgstr "Интернационално" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Територија на Британскиот Индискиот океан" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Исланд" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Италија" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Џерзи" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Јамајка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Јордан" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Јапонија" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кенија" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоџа" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Св. Кит и Невис" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Северна Кореја" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Јужна Кореја" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувајт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Кајмански острови" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казакстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Либан" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Света Луција" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Линхенштајн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Либерија" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Литванија" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Луксембург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвија" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Либија" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Молдавија" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршалски острови" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Воена" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македонија" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Мјанмар" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Монголија" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Острови Северна Маријана" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартиник" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Мавританија" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маурициус" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Малдиви" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малезија" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намибија" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Нова Каледонија" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Интерна мрежа" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфолски острови" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нигерија" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Никарагва" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Холандија" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Норвешка" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Нов Зеланд" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "уИнтерна непрофитна организација" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Француска Полинезија" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинеја" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Филипини" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Полска" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пјер и Микелон" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Питкаим" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Порторико" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестинска територија" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Португалија" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвај" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Романија" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Руска Федерација" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саудиска Арабија" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Соломонски острови" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сејшели" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Шведска" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Св. Елена" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Словенија" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Свалбалд и Јан Маен острови" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Словачка" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сиера Леоне" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Сомалија" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принципе" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Бивш СССР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Салвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сирија" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Француски јужни територии" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Тајланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таџикистан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Источен Тимор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Турција" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тајван" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Танзанија" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Украина" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Обединето Кралство" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Соединетите Американски Држави" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвај" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и Гренадин" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Британски девствени острови" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Американски девствени острови" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Виетнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Волис и Футуна острови" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Јемен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Мајота" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Југославија" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Јужна Африка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Замбија" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Не можев да се порвзам со магистралата на сесијата" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Не успеав да го довршам NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Не успеав да ја довршам командата" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "оддалечен пристап" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "приклучок за оддалечен пристап со користење на DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не можев да се порвзам со магистралата на сесијата: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не успеав да го добијам %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Табела со карактери" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Банирај" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Покана" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Не сум поврзан." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Мораш да избереш неколку банови." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Од" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Можете да го отворите прозорецот на листата со банирани додека сте во јазичето на каналот." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Отстрани" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Скрати" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Освежи" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Прикажувам %d/%d корисници на %d/%d канали." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Избери излезно име на датотека" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Приклучи се на канал" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Копирај го името на каналот" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Копирај го текстот од _насловот" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Барај" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Симни листа" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Зачувај ја _листата..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Прикажи само:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "канали со" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "до" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "корисници" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Барај во:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Име на каналот" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Барај тип:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Едноставно пребарување" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Совпаѓање на шаблони (Wildcards)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Регуларни изрази" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Најди:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Испрати датотека на %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Дадотеката не може да доиспрати" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Не можам да пристапам до датотеката: %s\n%s.\nДоиспраќањето е невозможно." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Датотеката во директориумот за преземање е поголема од понудената. Доиспраќањето не е возможно." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Не можам да ја примам истата датотека од двајца." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Датотека" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ЕТА" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "И двете" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Качувања" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Преземања" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Детали" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Датотека:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Адреса:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Прекини" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Прифати" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Продолжи" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Отвори папка..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Примени" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Испратени" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Почетно време" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Избриши" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Откажи" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Сними" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Не се поврзувај автоматски на серверот" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Користи друг конфигурациски директориум" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Не вчитувај додатоци автоматски" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Покажи го директориумот за конфигурациите на корисникот" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Изврши команда:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Започни минимизирано. Ниво 0=нормално 1=иконизирано 2=место за известување" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "ниво" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Покажи информации за верзијата" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Не можам да го отворам фонтот:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Баферот за пребарување е празен.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d бајти" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Редица за испраќање на мрежата: %d бајти" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Командата за внесување во бафер ќе ја внесе содржината на податок 1 во записот каде што главната секвенца била притисната, односно на тековната позиција на стрелката." + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Командата за поставување на бафер го поставува записот каде што била внесена содржината за главната секвенца на податокот 1." + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Команда" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Команда" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Оваа команда го менува текстот во полето со цел да доврши некомплетен прекар или команда." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Оваа команда овозможува лизгање, горе и долу по листата со прекари." + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Командата ги проверува последните внесени зборови и ги заменува ако најде совпаѓање" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Оваа команда го преместува предното јазиче лево за едно место" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Оваа команда го преместува предното јазиче десно за едно место" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Оваа команда ја преместува тековната фамилија на јазичиња налево" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Оваа команда ја преместува тековната фамилија на јазичиња надесно" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Ја става линијата за внесување во историја но не ја испраќа на серверот" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Се појави грешка при вчитувањето на конфигурацијата за копчињата" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Не можам да запишам во таа датотека" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Не можам да ја прочитам датотеката" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Таа маска веќе постои" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Приватно" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Забелешка" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Не игнорирај" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Внеси маска за игнорирање:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Статистики за игнорирани:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Приватно:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Забелешка:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Покани:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Додај..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Името на каналот е прекратно, обидете се повторно." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Врската со %s е целосна." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Што сакате да правите следно?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ништо, ќе се приклучам на некој канал подоцна." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Приклучи се на овој канал:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ако го знаете името на каналот на кој што сакате да се приклучите, внесете го тука." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Секогаш прикажувај го овој дијалог прозорец после поврзување." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Дијалог со" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Насловот на %s е: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Нема поставено наслов" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Овој сервер има %d канали и дијалози поврзани со него. Да ги затворам сите?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Не прашувај наредниот пат." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Вие сте поврзани на %i IRC мрежи." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Дали сигурно сакате да напуштите?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Некои податоци сеуште се пренесуваат." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Минимизирај се во местото за известување" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Внеси атрибут или код за боја" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Задебелено</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Потцртано</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Нормално" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Бои 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Бои 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Затвори" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Корисничкото ограничување мора да биде број!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Без надворешни пораки" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Заштита на наслов" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Само со покани" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Модерирано" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Бан листа" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Збор" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Корисничко ограничување" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Внеси нов прекар" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Непознат host" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Непознато" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Вистинско име:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Корисник:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Земја:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "пред %u минути" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Последна порака:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Порака за отсуство:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Отвори ја врската во прелистувач" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Копирај ја избраната врска" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Приклучи се на канал" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Напушти канал" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Промени канал" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP одговори - специјални кодови:\n\n%d = дата (целиот ctcp)\n%e = име на тековната мрежа\n%m = инфо за машината\n%s = прекар кој испрати ctcp\n%t = време/дата\n%2 = збор 2\n%3 = збор 3\n&2 = збор 2 на крај на линијата\n&3 = збор 3 на крај на линијата\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Замени со" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Нов" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Излез" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Поглед" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Мени лента" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Насловна лента" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Корисничка листа" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Копчиња за р_ежим" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Менувач на _канали" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Јазичиња" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Д_рво" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Мерења на _мрежата" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Исклучено" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Графа" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Исклучи се" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Поврзи се пак" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Корисничко мени" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "П_оставувања" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Преференции" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Прозорец" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Ресетирај ја линијата за означување" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "И_счисти текст" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Помош" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Содржина" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_За" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Последен пат виден" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Никогаш" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "пред %d минути" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Присутен" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Внеси прекар за додавање:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Извести на овие мрежи:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Се прифаќа листа на мрежи разделена со запирки." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Отвори дијалог" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Трепни на" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Порака на каналот" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Приватна порака" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Осветлена порака" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Верзија" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Избери додаток или скрипта за вчитување" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Вчитај..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Сними како..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Сигурно сакаш да ја отстраниш мрежата \"%s\" и сите нејзини сервери?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Уреди" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Поврзи се само на избраниот сервер" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не кружи низ сите сервери ако врската се прекине." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Користи SSL за сите сервери на оваа мрежа" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Корисни глобални кориснички информации" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Прекар:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Втор избор:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Вистинск_о име:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Корисничко име:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Лозинка:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Множество на знаци:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Информации за корисникот" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Трет избор:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Мрежи" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Прескокни ја листата на мрежи при подигнување на програмот" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Уреди..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Подреди" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "В_рзи се" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албанија" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербејџан" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Белорусија" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Бугарија" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Естонија" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Индија" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малезија" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Тајланд" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Виетнам" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Општо" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Фонт:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Обоени прекари" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Давај му на секоја личност на IRC различна боја" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Порамнети прекари" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Направи ги прекарите подредени кон десно" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Покажи линија за означување" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Вметни црвена линија после последниот прочитан текст." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Позадинска слика:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Поставување за провидноста" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Ш" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Ред по последно зборување" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Проверка на правопис" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Довршување на прекарите" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Суфикс на комплетирање на прекарот:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Суфикс на комплетирање на прекарот:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Ш-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Неподредени" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Врв" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Дно" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Скриен" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Корисничка листа" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Покажи ги имињата на хостовите во корисничката листа" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Користи ги фонтовите и боите од кутијата за текст" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Корисничката листа подредена по:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Покажи корисничка листа за:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "На канали помали од:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Дејство после двојното кликнување" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Прозорци" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Јазичиња" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Секогаш" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Само бараните јазичиња" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Отвори додатно јазиче за серверските пораки" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Отвори ново јазиче кога примам приватна порака" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Подреди ги јазичињата по азбучен редослед" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Фокус на новите јазичиња:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Покажи менувач на канали за:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Скрати ги ознаките на јазичето на:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "букви." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Јазичиња или прозорци" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Отворај ги канали во:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Отворај ги дијалозите во:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Отворај ги алатките во:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Да отворам DCC, игнорирани, известувања итн, во јазичиња или прозорци?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Датотеки и директориуми" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Автоматско прифаќање на датотеки:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Преземај датотеки во:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Поместувај ги завршените датотеки во:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Зачувај го прекарот во имиња на датотеки" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Автоматско отворање на DCC прозорците" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Прозорец за испраќање" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Прозорец за примање" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Прозорец на разговорот" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Едно качување:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Макс. брзина за еден трансфер" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Едно преземање:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Сите качувања заедно:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Макс. брзина за целиот сообраќај" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Сите преземања заедно:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Известувања" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Трепкај ја иконата при:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Трепкај на лентата со задачи на:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Бипкај на:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Овозможи икона во местото за известување" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Осветлени пораки" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Осветлените пораки се оние каде вашето име е спомнато, но исто така:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Додатни зборови за осветлување:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Прекари кои нема да се осветлуваат:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Прекарите кои секогаш ќе се осветлуваат:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Стандардни пораки" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Излез:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Напушти канал:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Отсутен:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Отсуство" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Покажи отсуство еднаш" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Автоматски одбележи отсуство" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Режим за прикажување во сурова форма" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Сокриј ги пораките за приклучување и напуштање" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Доцнење на автоматското поврзување:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Снимање" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Лизгачки линии:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Име на датотеката со лог:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Мрежа." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Внесувај временски формат во записите" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Временски формат за запис:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Оневозможено)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Вашата адреса" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Поврзи се со:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисно само за компјутери со повеќе адреси." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Земи ја мојата адреса од IRC серверот" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Го прашува IRC серверот за вашата вистинска адреса. Користете го ова ако имате 192.168.*.* адреса!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP адреса:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Тврди дека си на оваа адреса кога нудиш датотеки." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Оставете ги портите на нула за целосен опсег." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Прокси сервер" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Име на host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порта:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Користи прокси за:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Автентикација на прокси" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Корисничко име:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Избери слика датотека" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Одберете папка за преземања" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Избери фонт" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Прелистувај..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Отвори папка со податоци" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Избери боја" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Бои на текст" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC боја:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Локални бои:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Напред:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Бои на интерфејсот" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Нови податоци:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Линија за означување:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Нова порака:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Отсутен корисник:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Подвлечени:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Настан" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Звучна датотека" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Одберете датотека со звук" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Звучна датотека:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Прелистај..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Пушти" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Интерфејс" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Поле за внесување" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Корисничка листа" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Менувач на канали" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Бои" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Разговор" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Напредно" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Подесувања на мрежата" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Трансфер на датотеки" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Не можете да го поставите дрвото на дното или најгоре!\nВе молам, прво направете промена во распоредот на <b>Јазичињата</b> во менито <b>Поглед</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Поради направените промени мораш да го рестартираш xchat." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ПРЕДУПРЕДУВАЊЕ*\nАвтоматско прифаќање на DCC во твојот домашен директориум\nможе да биде опасно. Пр:\nНекој може да ти испрати „.bash_profile“" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Грешка" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Овој сигнал помина само %d аргументи, $%d е невалиден" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Печати текстуална датотека" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Број" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Уреди настани" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Вчитај од..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Тестирај се" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Исчисти листа" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Копирај го избраното URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Копирај" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Сними ја листата во датотека" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оператори, %d вкупно" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Отвори URL како irc://server:port/channel" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 0000000000000000000000000000000000000000..4912f5ab21502d6a069415b898492db88a38c15f --- /dev/null +++ b/po/ml.po @@ -0,0 +1,6258 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# bviktor, 2012 +# bviktor, 2012 +# Thorne Heathenspring <thorne@null.net>, 2012-2013 +# Thorne Heathenspring <thorne@null.net>, 2012 +# Thorne Heathenspring <thorne@null.net>, 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Malayalam (http://www.transifex.com/hexchat/hexchat/language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "ഞാൻ തിരക്കിലാണ് " + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "പോകുന്നു " + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "കാത്തിരിക്കുന്നു" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "സജീവം " + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "പരാജയപ്പെട്ടു " + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "കഴിഞ്ഞു " + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "ബന്ധം സ്ഥാപിക്കുക " + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "റദ്ദാക്കി " + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "പ്രവേശിക്കാനാവുന്നില്ല %s⏎\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "പിശക് " + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s \"%s\" നല്‍കുന്നു. സ്വീകരിക്കണോ?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "റൂട്ട് ആയി IRC ഉപയോഗിക്കുന്നത് മണ്ടത്തരമാണ് . പുതിയ ഒരു അക്കൗണ്ട്‌ ഉണ്ടാക്കി അതുപയോഗിക്കുക.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "അതെ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "അല്ല " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "" + +#: src/common/text.c:980 +msgid "The action" +msgstr "" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "" + +#: src/common/util.c:738 +msgid "China" +msgstr "" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:770 +msgid "France" +msgstr "" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "" + +#: src/common/util.c:782 +msgid "Government" +msgstr "" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:843 +msgid "Military" +msgstr "" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 0000000000000000000000000000000000000000..a314fe2a849547864575cdaee5945117e69105cc --- /dev/null +++ b/po/ms.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Hasbullah Bin Pit <sebol@ikhlas.com>, 2003 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Malay (http://www.transifex.com/hexchat/hexchat/language/ms/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ms\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Saya sibuk" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rangkaian" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<tiada>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Saluran" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Menunggu" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktif" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Gagal" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Selesai" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Sambung" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Dibatalkan" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Tak dapat mengakses %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Ralat" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Tiada DCC aktif\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Beri Ops" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ambil Ops" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Tendang/Ban" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Tendang" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Sertai Saluran..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Pautan Pelayan" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping Pelayan" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Sorok Versi" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Masukkan alasan untuk tendang %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Kosongkan" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Melaksanakan IRC sebagai root adalah bodoh! Anda sepatutnya\n mencipta satu akaun pengguna dan menggunakannya untuk logmasuk\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "YA" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "TIDAK" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s dalamtalian\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s luartalian\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Tiada saluran disertai. Cuba /join #<saluran>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Tidak disambung. Cuba /server <hos [<liang>]>\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Saya perlukan /bin/sh untuk dilaksanakan!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Hujah tidak diketahui '%s' diabaikan." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Tiada plugin dijumpai.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin ini enggan dinyahmuatkan.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nama> <aksi>, tambah butang dibawah senarai-pengguna" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <arahan>, hantar arahan ke semua saluran yang anda sertai" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <arahan>, hantar arahan ke semua pelkayan yang anda masuk" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Putus daripada pelayan" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <teks>, hantar teks ke objek pada tetingkap semasa" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Penggunaan: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nTiada bantuan yang ada bagi larahan itu.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Tiada arahan sebegitu.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Hujah teruk ke arahan pengguna\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Terlalu banyak arahanpengguna rekursif, dibatalkan." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AKHIR LOG PADA %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGIN LOGGING AT %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Alamat IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Namapengguna" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Gelaran bagi orang yang masuk" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Saluran yang disertai" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Hos orang itu" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Gelaran" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Aksi" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Aksara mod" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teks" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Mesej" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nama Pelayan" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Gelaran lama" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Gelaran baru" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Gelaran orang yang menukar topik" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Topik" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Namagelaran penendang" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Orang yang ditendang" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Saluran" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Alasan" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Gelaran orang yang keluar" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Masa" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Pencipta" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Gelaran" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Alasan" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Hos" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Masa dalam format x.x (lihat bawah)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Saluran ini akan" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Bunyi" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Gelaran orang itu" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Acara CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Gelaran orang yang menetapkan kekunci" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Kekunci" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Gelaran orang yang menetapkan had" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Had" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Gelaran orang yang memberi op" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Gelaran orang yang di'semi-op'kan" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Gelaran orang yang melakukan semi-op" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Gelaran orang yang melakukan voice" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Gelaran orang yang telah di'voice'kan" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Gelaran orang yang membuang kekunci" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nama penuh" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Maklumat Pelayan" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Masa leka" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Alasan away" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mesej" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nama Saluran" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Teks" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Gelaran orang yang anda ingin jemput" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Pengguna" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Gelaran sudah digunakan" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Gelaran sedang dicuba" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Liang" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Rentetan mod" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Jenis DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Namafail" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Fail destinasi" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Nama path" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posisi" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Saiz" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Rentetan DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Bilangan item makluman" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Namafail Lama" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Namafail Baru" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Penerima" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hosmask" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Namahos" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Saat" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "TGelaran bagi siapa yang telah dijemput" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Banmask" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Siapa yang menetapkan ban" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Masa ban" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Sambungan ditolak" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Tiada route ke hos" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Sambungan melebihi hadmasa " + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Tak dapat mengumpukkan alamat" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emiriah Arab Bersatu" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Netherlands Antilles" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS Songsang" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Amerika" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgium" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kepulauan Coco" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Republik Afrika Tengah" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Switzerland" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kepulauan Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Cameroon" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Komersil" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Kepulauan Krismas" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Republik Czech" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Jerman" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Denmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Republik Dominica" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Istitusi Pendidikan" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Mesir" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Barat" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Sepanyol" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ethiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Kepulauan Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Kepulauan Faroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Perancis" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Britain" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "French Guiana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Greenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Kerajaan" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Equitorial Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Greek" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungary" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ireland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "Antarabangsa" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraq" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Iceland" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itali" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Jepun" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts dan Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Korea Utara" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Korea Selatan" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kepulauan Cayman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Lebanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Perubatan Amerika Syarikat" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Kepulauan Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Tentera" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "New Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rangkaian Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Kepulauan Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Belanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norway" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Oraganisasi bukan-komersil Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "French Polynesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua New Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipina" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poland" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Perre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet Sekolah Lama" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Persekutuan Rusia" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arab Saudi" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Kepulauan Solomon" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Sweden" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Republik Slovak" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Bekas Soviet" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Kepulauan Caicos dan Turks" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Larose" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turki" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad dan Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraine" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "United Kingdom" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerika Syarikat" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "British Virgin Islands" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Pulau Virgin Amerika Syarikat" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Kepulauan Futuna dan Wallis" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yaman" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afrika Selatan" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Carta Aksara" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Jemput" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Topengan" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Daripada" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Tarikh" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Buang" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Crop" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Segarkan" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Pilih fail output" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nama saluran" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Cari:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Kirim fail kepada %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fail" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Abai" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Sambung" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Terima" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Hantar" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Padam" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Batal" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Simpan" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Gagal membuka font:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Penimbal carian kosong.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Arahan ini memindah tab hadapan ke kiri satu langkah" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Arahan ini memindah tab hadapan ke kanan satu langkah" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Arahan ini memindah keluarga tab semasa ke kiri" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Arahan ini memindah keluarga tab semasa ke kanan" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Tolak baris input ke sejarah tapi tidak hantar ke pelayan" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Terdapat ralat memuatkan konfigurasi ikatan kekunci" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Tidak dapat menulis ke fail itu." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Tidak dapat membaca fail itu." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notis" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Nyah-abai" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Abaikan Stat:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Saluran:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notis:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Jemput:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Topik bagi %s ialah: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Tiada topik ditetapkan" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Tutup" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Perlindungan Topik" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Jemputan Sahaja" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "katakunci" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Had Pengguna" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Hos tak diketahui" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Entah" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nama Sebenar:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Sertai Saluran" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "LuarTalian" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Pelayan" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Tetapan" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Tetingkap" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Teks Je_rnih" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Bantuan" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Kandungan" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Perihal" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nama" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Terakhir Dilihat" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "LuarTalian" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Tidak sekali" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "DalamTalian" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Masukkan nama gelaran untuk ditambah:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versi" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Huraian" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Pilih Plugin atau skrip untuk dimuatkan" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Muat ..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Rangkaian Baru" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Rangkaian" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "S_ambung" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albania" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarus" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaria" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonia" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaysia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thailand" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Umum" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Font:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imej latarbelakang:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffik penyempurnaan gelaran" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Tidak Diisih" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Atas" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bawah" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Tersembunyi" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Senarai Pengguna" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Tetingkap" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Tab" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Buka saluran pada:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Muatturun fail ke:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Papar away sekali" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Selang masa Auto ulang sambung:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Menglog" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Baris skrol belakang:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Dimatikan)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Alamat IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Pilih font" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Lungsur..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Pilih warna" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Warna mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "LatarDepan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Latar _Belakang" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Acara" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Antaramuka" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "kotak input" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Senarai pengguna" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Warna" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Berchat" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Tetapan rangkaian" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Pemindahan fail" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategori" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Terdapat ralat menghantar rentetan" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Cetak Fail Teks" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Nombor" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Edit Acara" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Uji Semua" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Kosongkan senarai" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Salin" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Simpan senarai ke satu fail" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000000000000000000000000000000000000..963eb652cabd796f981e1ce14b1351174870cc2a --- /dev/null +++ b/po/nb.po @@ -0,0 +1,6263 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Allan Nordhøy <epost@anotheragency.no>, 2016-2017 +# Johnny A. Solbu <johnny@solbu.net>, 2015,2017 +# Johnny A. Solbu <transifex@solbu.net>, 2015 +# Johnny A. Solbu <transifex@solbu.net>, 2015 +# Xtreme Power <neethan98@hotmail.ca>, 2013 +# pere <pere-transifex@hungry.com>, 2016 +# pere <pere-transifex@hungry.com>, 2016 +# Thor K. H. <nitrolinken@gmail.com>, 2012-2013,2015 +# Thor K. H. <nitrolinken@gmail.com>, 2012-2013 +# Xtreme Power <neethan98@hotmail.ca>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:12+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/hexchat/hexchat/language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC-klient" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat er en enkel og fleksibel IRC-klient. Den gir deg muligheten til å sikkert koble deg til nettverk, ha samtaler i kanaler eller privat med brukere, og dette med et tilpassbart grensesnitt. Du kan også utføre filoverføringer." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat støtter funksjoner som: DCC, SASL, mellomtjenere, stavekontroll, varslinger, logging, tilpassbare temaer, samt Python-/Perl-skript." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Hovedsludrevinduet " + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Prat med andre folk på nettet" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Åpne i sikker modus" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Temabehandler for HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jeg er opptatt" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Forlater kanalen" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "AV" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "PÅ" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{fravelg}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Nettverk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ingen>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Venter" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiv" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Feilet" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Ferdig" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Koble til" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Avbrutt" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan ikke aksessere %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Feil" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s tilbyr \"%s\". Ønsker du å godta?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ingen aktive DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Åpne dial_ogvindu" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Send en fil" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Br_ukerinfo (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Legg til i vennelisten" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorer" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_peratorhandlinger" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Gi operatørstatus" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ta operatørstatus" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Gi stemme" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Ta stemme" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Spark ut/utesteng" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Spark ut" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Utesteng" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Spark og steng ute" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Forlat kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Bli med i kanal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Skriv inn kanal:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Lenker til tjenere" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping tjener" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Skjul versjon" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "adjø" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Skriv inn årsaken til å sparke ut %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Send fil" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Send" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Tøm" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Du har ikke skrivetilgang til %s. Ingenting fra denne sesjonen kan lagres." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Det er ikke lurt å kjøre IRC som root! Du bør\n opprette en vanlig brukerkonto og bruke denne.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEI " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Du mottar en flom av CTCP-forespørsler fra %s, ignorerer %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Du blir oversvømt av MSG-meldinger fra %s, Slår av gui_autoopen_dialog.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Peker til %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Ikke funnet" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Peker til:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Slår opp %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "%-20s tilkoblet\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "%-20s frakoblet\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Ikke med i noe kanal. Prøv /join #<kanalnavn>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Ikke tilkoblet. Prøv /server <tjener> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Serveren %s eksisterer allerede på netverket %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "La serveren %s til i nettverket %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Allerede markert som borte: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Allerede markert som tilbake.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "/bin/sh trengs for at dette skal kjøres!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Tilgjengelige kommandoer:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Brukerdefinerte kommandoer:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Kommandoer definert av tillegg:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Prøv /HELP <kommando> for mer informasjon, eller /HELP -I" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Ukjent argument «%s» ble ignorert." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Demping er ikke støttet av denne verten." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Tillegg ikke funnet.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Tillegget vil ikke lastes ut.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <navn> <hendelse>, legger til en knapp under brukerlisten" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NyttNettverk> <NyVert/6667>, legger til et nytt nettverk med en ny vert i nettverkslisten" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <kommando>, sender en kommando til alle kanaler du er med i" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <kommando>, sender en kommando til alle kanalene på den nåværende tjeneren" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <kommando>, sender en kommando til alle tilkoblede tjenere" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<årsak>], markerer at du er borte (bruk /BACK for å nullstille)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, markerer deg som tilbake (ikke borte)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maske> [<type>], utestenger alle som passer masken i den nåværende kanalen. Om de allerede er i kanalen vil de ikke bli kastet ut samtidig. (Krever chanop.)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabel> [<verdi>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<tegnsett>], hent ut eller sett tegnsettet som brukes for den nåværende tilkoblingen" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<mengde>], Fjerner gjeldende tekstvindu eller kommandohistorie" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Lukker gjeldende fane, lukker vinduet hvis det er den eneste åpne fanen, eller med \"-m\"-flagget, lukker alle forespørsler." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kode|maske>, finner en landskode, f.eks.: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <kallenavn> <melding>, sender CTCP-meldingen til kallenavnet. Ofte brukte meldinger er VERSION og USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], forlater aktiv eller spesifisert kanal og blir øyeblikkelig med igjen" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <kallenavn> - godta tilbudt fil\nDCC SEND [-maxcps=#] <kallenavn> [<file>] - send en fil til noen\nDCC PSEND [-maxcps=#] <kallenavn> [<file>] - send en fil i passiv modus\nDCC LIST - vis DCC-liste\nDCC CHAT <kallenavn> - tilby DCC-sludring med noen\nDCC PCHAT <kallenavn> - tilby DCC-sludring i passiv modus\nDCC CLOSE <type> <kallenavn> <file> eksempel:\n /dcc close send olanormann fil.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <kallenavn>, fjerner chanhalf-op status fra kallenavnet i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <navn>, fjerner en knapp under brukerlisten" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <kallenavn>, fjerner chanop status fra kallenavnet i den aktive kanalen. (Krever chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <kallenavn>, fjerner stemme-status fra kallenavnet i den aktive kanalen. (krever chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, kobler fra tjener" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <kallenavn|host|ip>, Løser en IP eller vertsnavn" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <kanal,liste,/nettverk> <kommando>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, viser tekst lokalt" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <kommando>, kjører kommandoen. Hvis -o flagget brukes, så vil utdata bli sendt til den aktive kanalen, hvis ikke vises det lokalt" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sender SIGCONT til prosessen" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9] , dreper en kommando som kjører i den aktive sesjonen. Hvis -9 brukes, så vil prosessen bli SIGKILL-drept." + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sender SIGSTOP til prosessen" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, sender data til prosessens stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, eksporterer innstillingene til HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tømmer den aktive vertens sende-kø" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <vert> [<port>], bruker en vert som mellommann, standard port er 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <kallenavn> [<passord>], dreper et GHOST-et kallenavn" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <kallenavn>, gir chanhalf-op status til kallenavnet i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <passord>, identifiserer deg til NickServ " + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maske> <typer..> <alternativer..>\n maske - vertsmaske som skal ignoreres, f.eks.: *!*@*.aol.com\n typer - datatyper som skal ignoreres, en eller alle av:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n alternativer - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITER <kallenavn> [<kanal>], inviterer noen til en kanal, hvor aktiv kanal er standarden (krever chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, blir med i kanalen" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <kallenavn> [reason], sparker kallenavn fra den aktuelle kanalen (Krever chanop)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <kallenavn> [reason], utestenger og deretter sparker kallenavn fra den aktuelle kanalen (Krever chanop)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, tvinger frem en ny sjekk av lag" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <tekst>, søker etter en tekst i mellomlageret\n Bruk -h for å framheve funnet tekst\n Bruk -m for sensitivitet til store og små bokstaver\n Bruk -r når tekst er et regulært uttrykk\n Bruk -- (dobbel bindestrek) for å avslutte alternativer når du f.eks. søker etter teksten '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fil>, laster et tillegg eller skript" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, fjerner samtlige chanhalf-op statuser i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, fjerner samtlige chanops i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <handling>, sender handlingen til den aktive kanalen (handlinger skrives i tredjeperson, som f.eks. /me hoppet)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP <kallenavn>, gir chanhalf-op status til alle brukere i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, kaster ut samtlige personer i den aktive kanalen, bortsett fra deg (krever chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, gir samtlige personer chanop i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <kallenavn> <message>, sender en privat melding, melding «.» for å sende til siste kallenavn eller prefiks med «=» for DCC-sludring" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [channel], Lister kallenavnene i kanalen" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <kallenavn> <melding>, sender et CTCP-varsel" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <vertsnavn> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <kallenavn>, endrer kallenavnet ditt" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <kallenavn/kanal> <melding>, sender ett varsel" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n nettverk1[,nettverk2,...]] [<kallenavn>], viser varslingslisten din eller legger noen til den" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <kallenavn>, gir chanop status til kallenavnet i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<grunn>], forlater kanalen, som standard den aktive" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <kallenavn | kanal>, CTCP-pinger et kallenavn eller en kanal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <kallenavn> [message], åpner opp et nytt privmsg vindu til noen og eventuelt send en melding" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <treffmaske> [<stillhetstype>], demper alle som samsvarer med treffmasken i den nåværende kanal, hvis det støttes av tjeneren." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<grunn>], kobler deg fra den nåværende verten" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, sender teksten i rå form til verten" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<vert>] [<port>] [<passord>], kan bli brukt som /RECONNECT for å koble til nåværende vert på ny eller med /RECONNECT ALL for å koble til alle" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<vert>] [<port>] [<passord>], kan bli brukt som /RECONNECT for å koble til nåværende vert på ny eller med /RECONNECT ALL for å koble til alle" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <tekst>, send rå data til HexChat, som om det var mottatt fra IRC-verten" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <name>, laster et tillegg eller skript på nytt" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, sender teksten til objektet i det aktive vinduet" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <kallenavn> [<fil>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <vert> <port> <kanal>, kobler til og blir med i en kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <vert> <port> <kanal>, kobler til og blir med i en kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <vert> [<port>] [<passord>], kobler til en vert med standard port som 6667 for vanlige tilkoblinger, og 6697 for SSL-tilkoblinger" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <vert> [<port>] [<passord>], kobler til en vert med standard port som 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variabel> [<verdi>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posisjon>, endre posisjonen til markøren i inndataboksen" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nytt navn>, endre navnet til en fane, tab_trunc-grensen gjelder fortsatt" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <ny tekst>, erstatter teksten i inndataboksen" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], endrer kanalens emne om gitt, hvis ikke vises det nåværende emnet" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <tidsavbrud> <fil1> [<fil2>] Blink systemkurvikonet mellom to ikoner.\nTRAY -f <filnavn> Sett systemkurvikonet til et ikon.\nTRAY -i <nummer> Blink systemkurvikonet med et internt ikon.\nTRAY -t <tekst> Sett systemkurvens infoboble.\nTRAY -b <tittel> <tekst> Sett systemkurves varslingsboble." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maske> [<maske>...], fjerner utestengingen av de spesifiserte maskene." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maske> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <navn>, laster ut et tillegg eller skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <treffmaske> [<treffmaske>...], fjerner dempingen av de spesifiserte maskene, hvis støttet av tjeneren." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, åpner en URL i din nettleser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <kallenavn1> <kallenavn2> osv, framhever kallenavn(er) i kanalens brukerliste" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOIE <kallenavn>, gir stemme-status til kallenavnet i den aktive kanalen (krever chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <melding>, sender en melding til alle åpne kanaler" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <melding>, sender meldingen til alle chanops i den aktive kanalen" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Brukerkommandoer for: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Bruk: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nIngen hjelp tilgjengelig for kommandoen.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Kommandoen finnes ikke.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Ugyldige argumenter for brukerkommandoen.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "For mange rekursive brukerkommandoer, avbryter." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Ukjent kommando %s. Forsøk /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Ingen startpunkt for hexchat_plugin_init; er dette egentlig et HexChat-tillegg?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tBetjener ident-forespørsel fra %s som %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tFeil ved oppstart av identd-tjener: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <brukernavn>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Tidtaker %d slettet.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Fant intet slikt referansenummer.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Ingen tidtaker installert.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Sekunder Repeter Kommando \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Sikker på at denne verten støtter SSL og porten valgt?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Kunne ikke løse vertsnavnet %s\nSjekk din Internett-konfigurasjon!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy-traversering feilet.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Går videre til neste vert i %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Advarsel: tegnsettet «%s» er ukjent. Ingen konvertering vil bli brukt for nettverket %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O er nå lagt til i varslingslisten." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O på %C24$4%O av %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tKan ikke bli med i %C22$1 %O(%C20Du er utestengt%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tErkjente funksjoner: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tFjernede funksjoner: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tStøttede funksjoner: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tForespurte funksjoner: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O er nå kjent som %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O utestenger %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanal %C22$1%O opprettet den %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner halv-operatørprivilegiet fra %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner operatørprivilegiet fra %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner stemmeprivilegiet fra %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C setter unntak på %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gir halv-operatørprivilegiet til %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C setter invitasjonsunntak på %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Brukere Emne" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O setter flagg %C24$2$3%O på %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanalflagg for %C22$1%O: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gir operatørprivilegiet til %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O Setter demping på %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner unntak for %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O Fjernet invitasjonsunntak på %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O fjerner kanalpassord" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O fjerner grense på antall brukere" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O Setter kanalnøkkelordet til %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O setter kanalens brukergrense til %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner utestengelse på %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O fjerner demping på %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O gir stemmeprivilegiet til %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tTilkoblet... logger nå inn." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tKobler til %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tTilkoblingen var ikke vellykket (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tMottok én CTCP-melding %C24$1%C fra %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tMottok en CTCP-melding %C24$1%C fra %C18$2%C (til %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tMottok én CTCP-lyd %C24$1%C fra %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tMottok én CTCP-lyd %C24$1%C fra %C18$2%C (til %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT til %C18$1%O ble avbrutt." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tTilkobling for DCC CHAT ble etablert mot %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT til %C18$1%O ble frakoblet (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tMottok ett DCC CHAT tilbud fra %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tTilbyr DCC CHAT til %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tTilbyr allerede DCC CHAT til %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 tilkoblingsforsøk %C18$2%O feilet (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tMottok '%C23$1%C' fra %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Type Til/fra Status Størrelse Pos Fil" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tMottok en ugyldig DCC-forespørsel fra %C18$1%O.$a010%C23*%O$tPakkeinnholdet: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tTilbyr '%C24$1%O' til %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tInget slikt DCC-tilbud." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' til %C18$1%O ble avbrutt." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' fra %C18$3%O fullført %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV-tilkobling etablert til %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' fra %C18$3%O mislyktes (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Kan ikke åpne '%C23$1%C' for skriving (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tThe file '%C24$1%C' finnes allerede, lagrer som '%C23$2%O' i stedet." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C har bedt om å gjenoppta '%C23$2%C' fra %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' til %C18$1%O avbrutt." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' til %C18$2%C fullført %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND-tilkobling etablert til %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' til %C18$2%C mislyktes (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C har tilbudt '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stanset opp, avbryter." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O ble tidsavbrutt, avbryter." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O slettet fra varslingslisten." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tFrakoblet (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tFant din IP-adresse: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O lagt til i ignoreringslisten." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorering av %C18$1%O ble forandret." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Vertsmaske PRIV NOTI CHAN CTCP DCC INVI UNIG " + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O ble fjernet fra ignoreringslisten." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OIgnoreringslisten er tom." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tKan ikke bli med i %C22$1%C (%C20Kanalen er i invitasjonsmodus%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tDu er invitert til %C22$1%O av %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) har blitt med" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tKan ikke bli med i %C22$1%C (%C20Krever nøkkelord/passord%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C har kastet ut %C18$2%C fra %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Du ble drept av %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD hoppet over%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C er allerede i bruk. Forsøker igjen med %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C er feilaktige. Forsøker igjen med %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tKallenavnet er ikke støttet, eller allerede i bruk. Bruk /NICK for å velge ett annet kallenavn." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tIngen slik DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tIngen prosess kjører for øyeblikket" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tVarsle: %C18$1%C er fraværende (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tVarsle: %C18$1%C er tilbake" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tVarslingsliste er tom." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Varsle liste" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O brukere i varslingslisten." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tVarsle: %C18$1%C er frakoblet (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tVarsle: %C18$1%C er tilkoblet (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) har forlatt" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) forlot ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing-svar fra %C18$1%C: %C24$2%O sekund(er)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tIngen ping-svar etter %C24$1%O sekunder, frakobler." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tEn prosess kjører allerede" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 har avsluttet ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C setter modus %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tSlår opp IP-nummer for %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutentisering via SASL som %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tTilkoblet." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tSlår opp %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tStoppet forrige tilkoblingsforsøk (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tEmne for %C22$1%C er: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C endret emnet til: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tEnmet for %C22$1%C satt av %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tUkjent vert. Kanskje du feilstavet den?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tKan ikke bli med i %C22$1%C (%C20Brukergrensen er nådd%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tBrukere i %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C er borte %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OSlutt på WHOIS-liste." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inaktiv %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inaktiv %C23$2%O, logget på: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Ekte vert: %C23$2%O, Ekte IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tSnakker nå i %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tDu har blitt kastet ut fra %C22$2%C av %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tDu har forlatt kanalen %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tDu har forlatt kanalen %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tInviterte %C18$1%O til %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tDu er nå kjent som %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Lastet logg fra" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AVSLUTTER LOGGING PÅ %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BEGYNNER LOGGING PÅ %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Kan ikke åpne loggfilen(e) for skriving. Sjekk\ntilgangene til %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Venstre melding" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Høyre melding" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-adresse" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Brukernavn" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Kallenavnet til brukeren som blir med" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanalen man går inn i" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Personens vert" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Kontoen til personen" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Kallenavn" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Handlingen" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Modus-tegn" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifisert tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksten" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Meldingen" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Navn på tjener" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Erkjente funksjoner" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Fjernede funksjoner" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Vert-funksjonalitet" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Forespurte funksjoner" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Gammelt kallenavn" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nytt kallenavn" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Kallenavn for personen som endret emnet" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Emne" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Kallenavn på den som sparker" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Personen som sparkes ut" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Årsaken" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Kallenavn for personen som forlater kanalen" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Skaperen" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Kallenavn" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Årsak" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Vert" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Hvem er det fra" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Tiden i x.x-format (se nedenfor)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanalen det går til" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Lyden" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Personens kallenavn" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP-hendelse" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Kallenavnet til brukeren som satt nøkkelen" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Nøkkelen" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Kallenavnet til personen som satt grensen" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Grensen" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Kallenavnet til brukeren som ga operatørstatus" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Kallenavnet til brukeren som fikk operatørstatus" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Kallenavnet til brukeren som fikk halv-operatørstatus" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Kallenavnet til brukeren som ga halv-operatørstatus" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Kallenavnet til brukeren som ga stemmestatus" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Kallenavnet til brukeren som fikk stemmestatus" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Kallenavnet til brukeren som opprettet en utestengelse" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Utestengelsesmasken" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Kallenavnet til brukeren som dempet" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Dempningsmasken" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Kallenavnet som fjernet nøkkelen" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Kallenavnet som fjernet brukergrensen" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Kallenavnet til personen som gjorde deop" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Kallenavnet til brukeren som mistet operatørstatus" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Kallenavnet til personen som gjorde dehalfop" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Kallenavnet til brukeren som mistet halv-operatørstatus" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Kallenavnet til personen som gjorde devoice" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Kallenavnet til brukeren som mistet stemmestatus" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Kallenavnet til personen som gjorde unban" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Kallenavnet til personen som gjorde unquiet" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Kallenavnet til brukeren som opprettet unntaket" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Unntaksmasken" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Kallenavnet til brukeren som fjernet unntaket" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Kallenavnet til brukeren som sendte en invitasjon" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Inviteringsmasken" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Kallenavnet til brukeren som trakk tilbake invitasjonen" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Kallenavnet til brukeren som satt modi" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Modi-tegnet (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Modi-bokstaven" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanalen modi blir satt i" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Fullt navn" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalmedlemskap/«er en IRC-operatør»" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informasjon om tjener" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Inaktiv for" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Påloggingstid" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Borteårsak" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Melding" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Ekte bruker@vert" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Ekte IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Navn på kanal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanisme" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Rå-tall eller identifikator" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Kallenavn for personen som inviterte deg" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Brukere" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Kallenavn i bruk" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Kallenavn prøves" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Modusstreng" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Type DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Filnavn" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Filnavn for mål" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Stinavn" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posisjon" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Størrelse" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC-streng" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Bortemelding" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Antall varslinger" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Gammelt filnavn" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nytt filnavn" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Mottaker" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Vertsmaske" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Vertsnavn" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pakken" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Kallenavnet til brukeren som har blitt invitert" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Utestengelsesmaske" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Hvem satte bannlysningen" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Utestengelsesvarighet" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Kan ikke lese lydfil:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Ekstern vert lukket pluggen" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Tilkobling nektet" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ingen rute til verten" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Tidsavbrudd for tilkobling" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Kan ikke tildele den adressen" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Tilkobling nullstillt av vert" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Forente arabiske emirater" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviasjonsrelaterte felter" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua og Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "De nederlandske antiller" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Revers DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikansk Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asia-Pacific" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Østerrike" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "NATO-felt" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ålandøyene" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Aserbajdsjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia og Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Bedrifter" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvetøya" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Hviterussland" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalansk" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocosøyene" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Den demokratiske republikken Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Den sentralafrikanske republikk" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Sveits" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elfenbenskysten" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook-øyene" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic kommersiell" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperatives" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia og Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kapp Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Juleøya" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kypros" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Den tsjekkiske republikk" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Øst-Tyskland" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Tyskland" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanske republikk" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algerie" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Utdanningsinstitusjon" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Vest-Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spania" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Den Europeiske union" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandsøyene" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Færøyene" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Storbritannia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Fransk Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Kanaløyene" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grønland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Regjering" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatorial-Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Hellas" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Sør-Georgia og Sør-Sandwichøyene" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard- og McDonaldøyene" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungarn" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internasjonal" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Det britiske territoriet i Indiahavet" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italia" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Bedriftsjobber" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodsja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komorene" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts og Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Nord-Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Sør-Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Caymanøyene" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States medisinske" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall-øyene" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militær" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobile enheter" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Nord-Marianene" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museum" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivene" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mosambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individuelle navn" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Ny-Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic nettverk" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolkøya" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nederland" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norge" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "New Zealand" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic ideell organisasjon" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Fransk polynesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Ny-Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippinene" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre og Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesjon" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinsk territoria" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romania" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Gammeldags ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russiske føderasjon" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomonøyene" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellene" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Sverige" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard og Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Den slovakiske republikk" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sør-Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome og Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Tidligere USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks- og Caicosøyene" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tsjad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internet Communication Services" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "De franske sørterritorier" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Øst-Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Tyrkia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Reiseliv og turisme" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad og Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Storbritannia" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "De Forente stater" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Usbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanstaten" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent og Grenadinene" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Jomfruøyene (UK)" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Jomfruøyene (USA)" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- og Futuna-øyene" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Voksenunderholdning" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sør-Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Kunne ikke koble til sesjons-bussen" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner kunne ikke fullføres" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Command kunne ikke fullføres" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "ekstern tilgang" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "tillegg for fjerntilgang via DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Kunne ikke koble til sesjons-busen: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Innhenting av %s feilet: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tegnkart" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bannlys" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Unntak" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Unnta" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Invitasjoner" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Dempninger" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Dempet" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopiér maske" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s på %s av %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopiér oppføring" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Ikke koblet til" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Du må velge en bannlysing." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Er du sikker på at du ønsker å fjerne alle elementene fra %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Type" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Fra" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Dato" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Listen for utestengelser kan kun åpnes opp mens du er i en kanal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Utestengelsesliste (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Fjern" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Beskjær" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Oppdater" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Viser %d/%d brukere på %d/%d kanaler." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Velg et filnavn for utdata" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Bli med i kanal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopier navn på kanal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopier emne_tekst" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Kanalliste (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Søk" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Last ne_d liste" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Lagre _liste..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Vis kun:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanaler med" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "til" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "brukere." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Se i:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Navn på kanal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Type søk:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Enkelt søk" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Mønster-treff (wildcards)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regulært uttrykk" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Finn:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Send fil til %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Filen kan ikke gjenopptas." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Kan ikke åpne filen: %s\n%s.\n Gjenopptaking ikke mulig." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Filen i nedlastningsmappen er større enn filen tilbudt. Gjenopptaking er ikke mulig." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Kan ikke gjenoppta samme fil fra to personer." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Opplastinger og nedlastinger - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fil" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Begge" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Opplastninger" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Nedlastninger" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detaljer" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fil:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresse:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Avbryt" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Godta" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Gjenoppta" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Åpne mappe..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC-kanalliste - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Mottatt" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Sendt" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Starttid" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Legg til" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Slett" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Lagre" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Ikke koble til tjenere automatisk" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Bruk en annen konfigurasjonsmappe" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Ikke last inn tillegg automatisk" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Vis mappe for automatisk lasting av tillegg/skript" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Vis mappe for brukerens konfigurasjon" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Åpne irc://-nettadresser" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Utfør kommando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Åpne en URL eller kjør en kommando i en eksisterende HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Start minimert. Nivå 0 er normalt, nivå 1 er ikonifisert og nivå 2 er i systemkurven" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivå" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Vis versjonsinformasjon" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Mislyktes med å åpne skrift:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Søk i buffer er tomt.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Nettverkskø for sending: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Run Command-handlinga kjører dataene i data 1 som om det hadde blitt skrevet inn i boksen der du trykket tastesekvensen. Dermed kan den inneholde tekst (som vil bli sendt til kanalen/personen), kommandoer eller brukerkommandoer. Ved kjøring vil alle \\n tegnene i Data 1 brukes til å dele opp separate kommandoer slik at det er mulig å kjøre mer enn en kommando. Hvis du ønsker en\\ i selve teksten kjøre deretter inn\\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Change Page-kommandoen veksler mellom sidene i notatboken. Sett Data 1 til den siden du ønsker å bytte til. Hvis data 2 er satt til noe vil byttingen være i forhold til den aktuelle posisjonen. Sett Data 1 til auto for å bytte til siden med den nyeste og viktig aktiviteten (private vinduer først, deretter kanaler med Utheving, kanaler med dialog og kanaler med andre data)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Insert in Buffer-kommandoen vil sette innholdet i data 1 i posten der tastesekvensen ble trykket ved markørposisjonen" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Scroll Page-kommandoen ruller tekstfeltet (text-widget opp eller ned en side eller en linje. Sett Data 1 til enten Top, Bottom, Up, Down, +1 eller -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Set Buffer-kommandoen setter oppføringen der tastesekvensen ble oppgitt til innholdet i data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Last Command-kommandoen setter oppføringen til å inneholde den forige angitte kommandoen - det samme som å trykke opp i et skall" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Next Command-kommandoen setter oppføringen til å inneholde den neste angitte kommandoen - det samme som å trykke ned i et skall" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Denne kommandoen endrer teksten i oppføringen for å fullføre et ufullstendig kallenavn eller kommando. Hvis Data 1 er satt vil dobbelt-tabbing i en streng velge det siste kallenavnet, ikke det neste" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Denne kommandoen ruller opp og ned gjennom listen over kallenavn. Hvis Data 1 er satt til noe vil det bla opp, ellers blar det ned" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Denne kommandoen sjekker det siste ordet oppgitt i oppføringen mot erstatningslisten og erstatter den hvis den finner et treff" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Kommandoen flytter front-tab ett steg til venstre" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Kommandoen flytter front-tab ett steg til høyre" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Kommandoen flytter nåværende tab-familie til venstre" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Kommandoen flytter nåværende tab-familie til høyre" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Send inndatalinjen til historikken, men sender ikke til verten" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "En feil oppstod under lasting av tastatursnarveiene" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Velg en rad for å få hjelpeinformasjon om dens handling." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Tastatursnarveier - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kan ikke skrive til den filen." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Kan ikke lese den filen." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Masken eksisterer allerede." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Varsel" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Stopp ignorering" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Er du sikker på at du har lyst å tømme ignoreringslisten?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Skriv ignoreringsmaske:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Ignoreringsliste - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoreringsstatistikk:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Varsel:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Inviter:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Legg til..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanalnavn for kort, prøv igjen." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Tilkobling fullført - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Tilkobling til %s fullført." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "I nettverksvinduet har ingen kanal (sludrerom) blitt satt for å automatisk bli med i for dette nettverket." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Hva vil du gjøre nå?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "I_ngenting, jeg blir med i en kanal senere." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Bli med i denne kanalen:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Hvis du vet hvilken kanal du ønsker å bli med i, så kan du skrive inn navnet her." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Å_pne kanalliste." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Å hente kanallisten kan ta et minutt eller to." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Alltid vis dette vinduet etter tilkobling." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog med" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Emne for %s er: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Emne er ikke satt" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Denne verten har fortsatt %d kanaler eller dialoger assosiert med den. Vil du lukke alle?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Avslutt HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ikke spør neste gang." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Du er tilkoblet %i IRC-nettverk." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Er du sikker på at du vil avslutte?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Noen filoverføringer er fremdeles aktive." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimer til systemkurven" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Sett inn egenskap eller fargekode" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Fet</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Understrek</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Kursiv</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Farge 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Farge 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "Inn_stillinger" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Loggfør til harddisk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Last inn tidligere _historikk" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Fjern _farger" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "S_kjul ankomst- og forlatelses-meldinger" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Ekstra varsler" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Bip ved _meldinger" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Blink _i systemkurven" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "_Blink oppgavelinjen" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Løsne" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "L_ukk" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Brukergrense må være et nummer!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filterfarger" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Ingen eksterne meldinger" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Emne-beskyttelse" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Kun ved invitasjon" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderert" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Utestengelsesliste" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Nøkkelord" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Brukergrense" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Oppgi nytt kallenavn:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Ingen resultater funnet." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Søket nådde slutten, eller fant ingen treff." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Framhev alt" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Framhev alle treff, og understrek nåværende treff." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Match små og store bokstaver" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Utfør et størrelsessensitivt søk." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Behandle søkestrengen som et regulært uttrykk." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Ukjent vert" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Ukjent konto" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Ukjent" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Fullt navn:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Bruker:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konto:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Tjener:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutter siden" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Siste melding:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Bortemelding:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d kallenavn valgt." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Menylinjen er nå skjult. For å vise den igjen kan du trykke Control+F9, eller ved å høyre-klikke i en blank del av hovedområdet for tekst." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Åpne lenke i nettleser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopier valgt lenke" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Bli med i kanal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Forlat kanal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Hopp kanal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Automatisk bli med i kanal" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Bli automatisk med i kanal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Automatisk koble til" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Brukermeny - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Rediger denne menyen" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Markeringslinje slått av." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Markeringslinje ikke brukt ennå." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Markeringslinje ble manuelt tilbakestilt." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Markeringslinje nullstilt fordi den overskred rulleminnegrensen." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Markeringslinje nullstilt av CLEAR-kommando." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Markeringslinjetilstand ukjent." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Hent kanalliste" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " har blitt bygget uten støtte for tillegg." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Brukerkommandoer - spesialkoder:\n\n%c = gjeldende kanal\n%e = gjeldende nettverksnavn\n%m = maskininformasjon\n%n = kallenavnet ditt\n%t = tid/dato\n%v = HexChat-versjon\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 til enden av linjen\n&3 = ord 3 til enden av linjen\n\nf.eks.:\n/cmd john hallo\n\n%2 vil bli «john»\n&2 vil bli «john hallo»." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Brukerknapper - spesialkoder:\n\n%a = Alle valgte kallenavn\n%c = gjeldende kanal\n%e = gjeldende nettverksnavn\n%h = valgte kallenavns vertsnavn\n%m = maskininformasjon\n%n = kallenavnet ditt\n%s = valgte kallenavn\n%t = tid/dato\n%u = valgte kallenavns konto" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Dialogknapper - spesialkoder:\n\n%a = Alle valgte kallenavn\n%c = gjeldende kanal\n%e = gjeldende nettverksnavn\n%h = valgte kallenavns vertsnavn\n%m = maskininformasjon\n%n = kallenavnet ditt\n%s = valgte kallenavn\n%t = tid/dato\n%u = valgte kallenavns konto" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP-svar - spesialkoder:\n\n%d = data (hele ctcp)\n%e = gjeldende nettverksnavn\n%m = maskininformasjon\n%s = kallenavnet som sendte ctcp-en\n%t = tid/dato\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 til enden av linjen\n&3 = ord 3 til enden av linjen\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL-behandlere - spesialkoder:\n\n%s = URL-strengen\n\nPlassering av ! foran kommandoen\nindikerer at den skal sendes til et\nshell i steden for HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Brukerdefinerte kommandoer - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Oppsprettsmeny for brukerliste - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Erstatt - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Erstatt med" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL-håndterere - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Brukerlisteknapper - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialogknapper - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP-svar - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Nettverksli_ste" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Ny" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Tjenerfane" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Kanalfane" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Tjenervindu" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanalvindu" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Last tillegg eller skript" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "A_vslutt" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Vis" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menylinje" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Emnelinje" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Br_ukerliste" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "B_rukerlisteknapper" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "M_odus-knapper" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Kanalbytter" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Faner" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "T_re" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Nettverksindikatorer" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Av" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Fullskjerm" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Tjener" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Koble _fra" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Ko_ble til igjen" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Bli med i en kanal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Kanal_liste" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "M_arkert som borte" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Br_ukermeny" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Innstillinger" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Brukervalg" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Automatisk erstatning" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP-svar" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialogknapper" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Tastatursnarveier" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Teksthendelser" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL-håndterere" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Brukerkommandoer" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Brukerlisteknapper" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Oppsprettsbrukerliste" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Vindu" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Utestengelsesliste" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Direktesludring" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "Fil_overføringer" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Venneliste" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Ignoreringsliste" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Tillegg og skript" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Rå logg" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL-henter" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Tilbakestill markeringslinje" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Flytt til markeringslinje" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "K_opier utvalget" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Tøm tekst" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Lagre tekst" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Søk" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Søk tekst" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Søk etter neste" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Søk etter forrige" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hjelp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Innhold" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Om" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Legg ved" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Navn" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Sist sett" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Frakoblet" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Aldri" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutter siden" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Én time siden" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d timer siden" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Tilkoblet" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Skriv inn kallenavnet du vil legge til:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Varsle meg på følgende nettverk:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Komma-separert liste av nettverk aksepteres." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Venneliste - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Åpne dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Framhevet melding fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Kanalmelding fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Filtilbud fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Invitert til kanal av: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Merknad fra: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Privat melding fra: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Tilkoblet %u nettverk og %u kanaler - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "Gjenopp_rett vindu" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "Sk_jul vindu" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Blink på" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanalmelding" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privat melding" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Framhevet melding" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Endre status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Borte" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Tilbake" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Framhevet medling fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u framhevet melding, senest fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Kanalmelding fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u kanalmeldinger. -%s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Privat melding fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u private meldinger, senest fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Filtilbud fra: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u filtilbud, senest fra: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versjon" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivelse" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Last et tillegg eller skript" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Tillegg og skript - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Last..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "Last _ut" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "Last på _nytt" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Lagre som..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Rå logg (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Tøm rå-loggen" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nytt nettverk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Virkelig fjerne nettverket «%s» og alle dens verter?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Brukernavn kan ikke være tomt." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Du kan ikke ha et tomt kallenavn." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Du må ha to unike kallenavn." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Fremgangsmåte for identifikasjon mot tjener. For egendefinerte innloggingsmetoder kan du bruke tilkoblingskommandoer." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Rediger %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Tjenere" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Kanaler man automatisk blir med" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Tilkoblingskommandoer" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n = kallenavn\n%p = passord\n%r = ekte navn\n%u = brukernavn" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Nøkkel (passord)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "R_ediger" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Koble kun til valgt vert" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ikke prøv neste vert i listen når tilkoblingen feiler." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Koble automatisk til dette nettverket" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Omgå proxy-tjener" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Bruk SSL for alle vertene på nettverket" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Akseptér ugyldige SSL-sertifikater" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Bruk global brukerinformasjon" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Kalle_navn:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Andrevalg:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Virke_lig navn:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Br_ukernavn:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Innloggingsmetode:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Passord:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Passord som brukes for innlogging. Ved tvil, la være blank." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Tegnsett:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Nettverksliste - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informasjon om bruker" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tredjevalg:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Nettverk" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Hopp over nettverkslisten ved oppstart" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Vis kun favoritter" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "R_ediger..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sorter" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Sorterer nettverkslisten i alfabetisk rekkefølge. Bruk Shift+↑ og Shift+↓ -tastene for å flytte en rad." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favoritt" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Marker som, eller fjern markeringen som favoritt fra nettverket." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "K_oble til" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "albansk" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "amharisk" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "asturisk" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "aserbajdsjansk" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "baskisk" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "hviterussisk" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "bulgarsk" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kinesisk (forenklet)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kinesisk (tradisjonell)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tsjekkisk" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dansk" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Nederlandsk" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Engelsk (Britisk)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Engelsk" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estisk" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finsk" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Fransk" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Gallisk" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Tysk" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Gresk" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungarsk" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesisk" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiensk" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japansk" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kanaresisk" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreansk" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvisk" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litauisk" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonsk" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malayisk" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norsk (bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norsk (nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polsk" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugisisk" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugisisk (brasiliansk)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Panjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russisk" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbisk" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakisk" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovensk" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spansk" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Svensk" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Tyrkisk" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainsk" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamesisk" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Vallonsk" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Generelt" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Språk:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Tekstboks" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Fargede kallenavn" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Fargelegg hvert enkelt kallenavn forskjellig" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Rykk inn kallenavn" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Høyrejuster kallenavn" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Vis markeringslinje" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Sett inn en rød linje etter den sist leste teksten." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Bakgrunnsbilde:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Gjennomsiktighet" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Vindus-dekkevne:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Tidsstempel" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Aktiver tidsstempler" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Tidsstempelformat:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "See MSDN-artikkelen på strftime for detaljer." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Se manpage for strftime for detaljer." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Tittellinje" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Vis kanal-modi" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Vis antall brukere" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Å" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Sist-snakket rekkefølge" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Bruk skrifttypen og fargene fra tekstboksen" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Gjengi farger og attributter" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Vis boks for kallenavn" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Vis ikon for brukermodus ved kallenavnet" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Stavekontroll" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Ordbøker i bruk:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Bruk språkkoder (som i «%LOCALAPPDATA%\\enchant\\myspell\\dicts»).\nSkill flere oppføringer med komma." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Bruk språkkoder. Separer flere valg med komma." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Fullføring av kallenavn" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffiks for fullførte kallenavn:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Prioriteringsrekkefølge til fullføring:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Kallenavnfullføringsmengde:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Terskel for å liste kallenavn i stedet for å fullføre" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "kallenavn." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafisk" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Å, operatører først" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Å-A, operatører sist" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Å-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Usortert" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Venstre (øvre)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Venstre (nedre)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Høyre (øvre)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Høyre (nedre)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Topp" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bunn" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skjult" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Vis vertsnavn i brukerlisten" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Bruk skrifttypen og fargene fra tekstboksen" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Vis ikoner for brukerprivilegier" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Vis grafiske ikoner i stedet for tekstsymboler i listen over brukere." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Fargelegg kallenavn i brukerlisten" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Gir kallenavnene samme farge som i kanalen." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Vis opptelling av antall brukere i kanaler" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Brukerliste sortert etter:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Vis brukerlisten ved:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Borte-sporing" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Sporer brukere med borte-status og markerer dem i en annen farge" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "På kanaler mindre enn:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Handling på dobbelklikk" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ekstrafunksjoner" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Forsinkelsesindikator:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Begrensningsmeter:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Vinduer" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Faner" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Alltid" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Kun forespurte faner" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatisk" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "I en egen fane" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "I fanen med fokus" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Tre" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Bytte-type:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Åpne en ekstra fane for vertsmeldinger" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Åpne en ny fane når du motar en privat melding" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sorter faner etter alfabetisk rekkefølge" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Vis ikoner i kanaltreet" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Vis prikket linje i kanaltreet" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Rull musehjulet for å endre faner" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Midtklikk for å lukke fane" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Mindre tekst" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokuser på nye faner:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Plasser notiser:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Vis kanal-bytter ved:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Forkort fane-etiketter til:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "bokstaver." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Faner eller vinduer" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Åpne kanaler i:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Åpne dialoger i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Åpne verktøy i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Åpne DCC, ignorering, varsling osv., i faner eller vinduer?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Meldinger" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Samtalehistorikk" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Spør om bekreftelse" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Spør om nedlastingsmappe" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Lagre uten bekreftelse" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Filer og mapper" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Autoaksepter fil overføringer:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Last ned filer til:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Flytt fullførte filer til:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Lagre kallenavn i filnavn" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Automatisk åpne DCC-vinduer" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Sendevindu" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Mottakelsesvindu" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Samtalevindu" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Maksimum filoverføringshastighet (bytes per sekund)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "En nedlastning:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maksimum overførelseshastighet for en overføring" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "En nedlastning:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Alle opplastingene satt sammen:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maksimum overføringshastighet totalt:" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Alle nedlastingene satt sammen:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Varslinger" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Vis merknader på:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Sett systemkurvikonet til å blinke ved:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Blink oppgavelinjen på:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Lag et beep ved:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Spill systemlyden «lynmeldingsvarsling» på de utvalgte hendelser" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Spill «message-new-instant» fra freedesktop.org lydtema på de utvalgte hendelser" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Spill et GTK-pip på de utvalgte hendelser" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Hopp over varsler når merket som borte" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Ignorér varsling mens vinduet er i fokus" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Oppførsel for systemkurvikon" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Aktiver systemkurvikon" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimer til systemkurv" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Lukk ned til systemkurv" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Merk borte/tilbake automatisk" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automatisk bytt status ved skjuling til systemkurv." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Vis kun merknader når skjult eller ikonifisert" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Framhevede meldinger" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Framhevede meldinger er de hvor kallenavnet ditt er nevnt, men også:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Ekstra fremhevningsord:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Kallenavn som ikke skal fremheves:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Kallenavn som alltid skal fremheves:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separer flere ord med komma.\nJokertegn kan brukes." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "systemkurvikonet til å hoppe ved:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Standardmeldinger" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Quit:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Forlat kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Borte:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Borte" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Kun vis identiske borte-meldinger én gang." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatisk fjern markering som borte" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Sett deg selv som tilgjengelig før meldinger sendes." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Annet" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Vis MODEs i rå-form" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS ved mottakelse av varslingsmelding" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Sender en /WHOIS når en bruker som ligger i varslingslisten din kobler seg på." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Skjul meldinger om brukere som blir med og forlater kanalen" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Skjul join/part-meldinger som standard." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Skjul kallenavnendringsmeldinger" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.vert" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domene" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*bruker@*.vert" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*bruker@domene" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Autokopier oppførsel" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Kopier valgt tekst automatisk" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Kopier valgt tekst til utklippstavlen når venstre museknappen slippes. Ellers vil Ctrl+Shift+C kopiere den markerte teksten til utklippstavlen." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Inkluder tidsstempel automatisk" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Inkluder tidsstempler automatisk i tekst som blir kopiert. Ellers, inkluder tidsstempler hvis Shift-tasten er nede." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Inkluder farge informasjon automatisk" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Inkluder farge informasjon automatisk i tekst som blir kopiert. Ellers, inkluder farge informasjon hvis Ctrl-tasten er nede." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Ekte navn:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternative fonter:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Skill flere oppføringer med komma uten mellomrom før eller etter." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Viser listene i kompakt modus" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Bruk mindre mellomrom mellom brukerlisten og radene for kanaltreet." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Bruk servertid hvis det støttes" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Vis tidsstempler hentet fra serveren hvis den støtter «time-server»-utvidelsen." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Automatisk gjenopprett tilkoblinger til tjenere ved frakobling" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Forsinkelse for auto-tilkobling:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Auto-deltagelsesforsinkelse" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Utestengelsestype:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Forsøk å bruke denne banmasken ved utestengelse eller demping. (krever irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Vis samtalehistorikk fra forrige sesjon" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Samtalehistorikk:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Slå på loggføring av samtaler til disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Filnavn for logg:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanal %n=Nettverk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Bruk tidsstempling i logger" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format for tidsstempling i logger:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL-er" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Slå på loggføring av URL-er til disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Aktiver URL-logger" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maksimalt antall URL-er for logging:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Slått av)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automatisk" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Alle tilkoblinger" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Kun IRC-tjener" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Kun DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Din adresse" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Binde til:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Nyttig kun for datamaskiner med flere nettverksadresser." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Filoverføringer" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Hent adressen min fra IRC-verten" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Spør IRC-tjeneren for din ekte adresse. Bruk dette hvis du har en 192.168.*.* adresse!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "IP-adresse for DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Send påstått lokasjon ved tilbyding av filer." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Første DCC-lytteport:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Siste DCC-lytteport:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!La det stå null for portene for å bruke hele spekteret." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy-tjener" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Vertsnavn:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Type:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Bruk proxy for:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy-autentisering" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Bruk autentisering (Kun HTTP eller SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Brukernavn:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd-tjener" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Aktiv" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Tjener vil svare med nettverkets brukernavn" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Du må ha rettigheter til å lytte på denne porten. Hvis det ikke er 113 (0 er forhåndsvalgt til dette) så må du sette opp port-videresending." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Velg ett bilde" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Velg nedlastningsmappe" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Velg skrift" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Bla gjennom..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Åpne datamappe" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Velg farge" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Tekstfarger" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-farger:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokale farger:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Forgrunn:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Bakgrunn:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Markert tekst" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Farger for grensesnitt" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nye data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Markeringslinje:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Ny melding:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Fraværende bruker:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Framhev:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Stavekontroll:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Fargefjerning" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Hendelse" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Lydfil" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Velg en lydfil" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Lydfil:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Bla gjennom..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "S_pill av" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Grensesnitt" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Utseende" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanalbytter" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Farger" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Sludring" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Lyder" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avansert" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Nettverksoppsett" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Filoverføringer" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Du kan ikke plassere tre-navigasjonen på toppen eller bunnen!\nBytt til <b>Faner</B>-oppsettet fra <b>Vis</b>-menyen først." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Alternativet for ekte navn kan ikke være tomt. Faller derfor tilbake til «realname»." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Noen innstillinger som krever en omstart for å få full effekt, ble endret." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ADVARSEL*\nAuto akseptere DCC til hjemmekatalogen\nkan være farlig og kan utnyttes. Eks:\nNoen kunne sende deg en .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Brukervalg - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(ingen forslag)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mer..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Legg «%s» til i ordboken" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorer alle" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Staveforslag" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant-feil for språk: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Det oppsto en feil ved tolking av strengen" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Dette signalet sendes bare %d argumenter, $%d er ugyldig" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Skriv ut tekstfil" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ tall" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Rediger hendelser" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Last fra..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Test alle" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL-henter - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Tøm listen" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopier valgt URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopier" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Lagre listen til en fil" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operatører, %d totalt" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Åpne en URL med irc://vert:port/kanal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Klarte ikke få informasjon. Enten ikke støtter eller feil." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Ingen informasjon ved ved navnet\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s satt til: %d\n\n\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Gyldige verdier er: announce og hide_* for hver bit informasjon, f.eks. hide_os. Uten en verdi vil den vise gjeldende (eller forhåndsvalgt) oppsett.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Ugyldig variabelnavn\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Tillegg %s lastet\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Tillegg %s tatt vekk\n" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000000000000000000000000000000000000..31b73fb6b742205d5311b38bc7ba23113d8cec46 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,6259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Arjan Scherpenise <acscherp@wins.uva.nl>, 2000 +# Bart Coppens <coppensbart@pi.be>, 2002 +# ooze <evankorlaar@gmail.com>, 2012 +# Luk Claes <luk.claes@ugent.be>, 2005 +# ooze <evankorlaar@gmail.com>, 2012 +# Taco Witte <T.C.Witte@phys.uu.nl>, 2003 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Dutch (http://www.transifex.com/hexchat/hexchat/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Ik ben bezig" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Ik ga weg" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Netwerk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<geen>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanaal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Bezig met wachten" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Actief" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Mislukt" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Klaar" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Verbinden" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Afgebroken" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan %s niet benaderen\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Fout" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s bied je \"%s\" aan. Wil je dit accepteren?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Geen DCC's actief\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Ops geven" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ops nemen" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Stem geven" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Stem nemen" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Wegschoppen/Verbannen" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Wegschoppen" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Verbannen" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Wegschoppen/Verbannen" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Kanaal verlaten" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Kanaal openen..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Geef het te openen kanaal:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Server koppelingen" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Server pingen" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Versie verbergen" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "doei" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Geef reden voor wegschoppen %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialoog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Whois" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Verzenden" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chatten" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Wissen" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC uitvoeren als root is dom! U moet een\n gebruikersaccount aanmaken en daarmee inloggen.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "U wordt overspoeld met CTCP-verkeer van %s, nu wordt %s genegeerd\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Niet in een kanaal. Probeer /join #<kanaal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Niet verbonden. Probeer /server <host> [<poort>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s bestaat al op het netwerk %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Server %s toegevoegd bij netwerk %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Al reeds weg gemarkeerd: %s.\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Al reeds terug gemarkeerd.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Ik heb /bin/sh nodig om te werken!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Beschikbare opdrachten: " + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Door de gebruiker gedefinieerde opdrachten: " + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Plugin gedefinieerde opdrachten: " + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Tik /HELP <opdracht> voor meer informatie of /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Onbekend argument '%s' genegeerd." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Plugin niet gevonden.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Deze plugin weigert te ontladen.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <naam> <actie>, voegt een knop toe onder de gebruikerslijst" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <opdr>, stuurt een opdracht naar alle kanalen waar in zit" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <opdr>, stuurt een opdracht naar alle servers waar je op zit" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <masker> [<verbansoort>], verbant iedereen die voldoet aan het masker uit het huidige kanaal. Als ze al in het huidige kanaal zitten worden ze niet weggeschopt (kanaal-operator vereist)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, zoek een landcode, bijvoorbeeld be = België en nl = Nederland" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <persoon> <bericht>, een CTCP bericht naar de persoon sturen. Veel voorkomende berichten zijn VERSION en USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <persoon> - een aangeboden bestand accepteren\nDCC SEND [-maxcps=#] <persoon> [bestand] - een bestand naar iemand sturen\nDCC PSEND [-maxcps=#] <persoon> [bestand] - een bestand sturen gebruik makend van de passieve modus\nDCC LIST - DCC lijst weergeven\nDCC CHAT <persoon> - iemand DCC CHAT aanbieden\nDCC PCHAT <persoon> - DCC CHAT aanbieden gebruikmakend van de passieve modus\nDCC CLOSE <soort> <persoon> <bestand> voorbeeld:\n /dcc close send janjanssen bestand.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <persoon>, de kanaal-halfoperator status van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <naam>, een knop van de gebruikerslijst wissen" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <persoon>, kanaal-operatorstatus van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <persoon>, de stemstatus van de persoon in het huidige kanaal verwijderen (kanaal-operator vereist)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, de verbinding met de server verbreken" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, lokaal een tekst afdrukken" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <opdracht>, een opdracht uitvoeren. Als de -o vlag meegegeven is, wordt de uitvoer naar het huidige kanaal gestuurd, anders naar het huidige tekstvenster" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, het proces SIGCONT sturen" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], een lopende exec in de huidige sessie stoppen. Als -9 is meegegeven wordt het proces geSIGKILLd" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, het proces SIGSTOP sturen" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, gegevens naar stdin sturen van het proces" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, de verzendrij van de huidige server doerspoelen" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<poort>], verbinding maken door een proxy, de poort is standaard 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <persoon>, geeft kanaal-halfoperator status aan de persoon (kanaal-operator vereist)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <wachtwoord>, identificeert u bij nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <masker> <soorten..> <opties..>\n masker - host masker om te negeren, bijv.: *!*@*.aol.com\n soorten - soorten gegevens om te negeren, een of meer van:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opties - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <persoon> [<kanaal>], iemand uitnodigen een kanaal te openen, standaard het huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanaal>, het kanaal binnengaan" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, een nieuwe controle op achterstand forceren" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <bestand>, laadt een plugin of script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, massaal van alle kanaal-halfops op-status verwijderen in huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, massaal van alle kanaal-ops op-status verwijderen in huidige kanaal (kanaal-operator vereist)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <actie>, stuurt de actie naar het huidige kanaal (acties worden geschreven in de 3e persoon, bijv: /me springt)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, massaal iedereen behalve jezelf uit huidige kanaal schoppen (kanaal-operator vereist)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, massaal alle gebruikers in huidige kanaal op-status geven (kanaal-operator vereist)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <persoon> <bericht>, een CTCP-melding sturen" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostnaam> [<poort>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <bijnaam>, je bijnaam instellen" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <persoon>, de kanaal-operator status aan de persoon geven (kanaal-operator vereist)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanaal>] [<reden>], het kanaal verlaten, standaard het huidige kanaal." + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <persoon | kanaal>, een persoon of kanaal CTCP pingen" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reden>], verbinding met de huidige server verbreken" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, tekst in ruw formaat naar de server sturen" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<poort>] [<wachtwoord>], kan net als /RECONNECT gebruikt worden om opnieuw te verbinden met de huidige server, of met /RECONNECT ALL om met alle open servers een nieuwe verbinding te maken" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<poort>] [<wachtwoord>], kan net als /RECONNECT gebruikt worden om opnieuw te verbinden met de huidige server, of met /RECONNECT ALL om met alle open servers een nieuwe verbinding te maken" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, de tekst naar het object in het huidige venster sturen" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <bijnaam> [<bestand>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <poort> <kanaal>, verbinding maken en een kanaal openen" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <poort> <kanaal>, verbinding maken en een kanaal openen" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<poort>] [<paswoord>], verbinding maken met een server, de standaard poort is 6667 voor gewone verbindingen" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], het onderwerp opeven als topic gespecifiëerd is, anders het huidige onderwerp laten zien" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <masker> [<masker>...], de opgegeven maskers weer toelaten" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <naam>, een plugin of script laden" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url> opent een URL in uw browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <bijnaam1> <bijnaam2> enz, laat bijnamen oplichten in gebruikerslijst van het kanaal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <persoon>, geef de stemstatus aan iemand (kanaal operator vereist)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <bericht>, het bericht naar alle kanalen sturen" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <bericht>, een bericht naar alle kanaaloperatoren op het huidige kanaal" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Gebruik: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nGeen help beschikbaar over die opdracht.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Nietbestaande opdracht.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Foute argumenten voor gebruikersgedefiniëerde opdracht.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Teveel recursieve gebruikersgedefiniëerde opdrachten, afbrekende." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Weet u zeker dat deze server en poort SSL ondersteunen?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Kan hostnaam %s niet oplossen\nControleer uw IP instellingen!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy doorkruising mislukt.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Overschakelen naar volgende server in %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Waarschuwing: tekenset \"%s\" is onbekend. Er zal geen conversie worden toegepast voor netwerk %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanaal Gebruikers Onderwerp" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tWaarschuwingslijst is leeg." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Geladen log van" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** LOGGEN GESTOPT OM %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** LOGGEN GESTART OP %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Kan log bestand(en) niet schrijven. Controleer de\npermissies op %s." + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Linkerbericht" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Rechterbericht" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-Adres" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Gebruikersnaam" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "De bijnaam van de persoon die binnenkomt" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Het kanaal dat geopend wordt" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "De host van de persoon" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Bijnaam" + +#: src/common/text.c:980 +msgid "The action" +msgstr "De actie" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Moduskarakter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Geïdentificeerde tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "De tekst" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Het bericht" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Servernaam" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Oude bijnaam" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nieuwe bijnaam" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Bijnaam van de persoon die het onderwerp veranderde" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Onderwerp" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Bijnaam van de kicker" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "De persoon die gekickt wordt" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Het kanaal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "De reden" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "De bijnaam van de persoon die weggaat" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "De tijd" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "De maker" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Bijnaam" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Reden" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Van wie het is" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "De tijd in x.x-formaat" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Het kanaal waar het heen gaat" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Het geluid" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "De bijnaam van de persoon" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "De CTCP-gebeurtenis" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "De bijnaam van de persoon die de sleutel instelde" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "De sleutel" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "De bijnaam van de persoon die de limiet instelde" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "De limiet" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "De bijnaam van de persoon die de op heeft uitgevoerd" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "De bijnaam van de persoon die is ge'opt" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "De bijnaam van de persoon die is ge'halfopt" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "De bijnaam van de persoon die de halfop heeft uitgevoerd" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "De bijnaam van de persoon die de voice heeft uitgevoerd" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "De bijnaam van de persoon die is ge'voicet" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "De bijnaam van de persoon die de ban heeft uitgevoerd" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Het ban-masker" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "De bijnaam die de sleutel heeft verwijderd" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "De bijnaam die de limiet heeft verwijderd" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "De bijnaam van de persoon die is ge'deopt" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "De bijnaam van de persoon die is ge'dehalfopt" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "De bijnaam van de persoon die is ge'devoicet" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "De bijnaam van de persoon die de exempt heeft uitgevoerd" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Het exempt-masker" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "De bijnaam van de persoon die de exempt heeft verwijderd" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "De bijnaam van de persoon die de uitnodiging heeft gedaan" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Het uitnodigingsmasker" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "De bijnaam van de persoon die de uitnodiging heeft verwijderd" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "De bijnaam van de persoon die de modus heeft ingesteld" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Het teken van de modus (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "De letter van de modus" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Het kanaal waarop het wordt ingesteld" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Volledige naam" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanaal deelnemerschap/\"is een IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serverinformatie" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Inactieve tijd" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Aanmeldtijd" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Reden van afwezigheid:" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Bericht" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Account" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Echte gebruiker@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Echte IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanaalsnaam" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Bijnaam van de persoon die je uitnodigde" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Gebruikers" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Gebruikte bijnaam" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Bijnaam die geprobeerd wordt" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Poort" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Modistring" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC-type" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Bestandsnaam" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Doelbestandsnaam" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Padnaam" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Positie" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Grootte" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC Tekst" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Aantal meldingen" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Oude bestandsnaam" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nieuwe bestandsnaam" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Ontvanger" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Hostmasker" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostnaam" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Het pakket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Seconden" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Bijnaam van de persoon die uitgenodigd is" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Banmasker" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Degene die de ban heeft ingesteld" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Bantijd" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Kan geluidsbestand niet lezen:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Host op afstand heeft socket gesloten" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Verbinding geweigerd" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Geen route naar host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Verbinding kreeg een timeout" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Kan dat adres niet toewijzen" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Verbinding verbroken door peer" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Verenigde Arabische Emiraten" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua en Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanië" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenië" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nederlandse Antillen" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentinië" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Omgekeerde DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikaans Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Oostenrijk" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australië" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Alandseilanden" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbeidjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnië en Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "België" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarije" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Bedrijven" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivië" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazilië" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahama's" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet-eiland" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Wit-Rusland" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalaans" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocoseilanden" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Democratische Republiek Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centraal-Afrikaanse Republiek" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Zwitserland" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Ivoorkust" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cookeilanden" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kameroen" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercieel" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Servië en Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kaapverdische Eilanden" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Kerstmis-eiland" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tsjechië" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Oost-Duitsland" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Duitsland" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Denemarken" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominicaanse Republiek" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algerije" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Educatieve instelling" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypte" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Westelijke Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanje" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ethiopië" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Europese Unie" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland eilanden" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesië" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroër Eilanden" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankrijk" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "England" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgië" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Frans Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Briste kanaaleilanden" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Overheid" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Equatoriaal Guinee" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Griekenland" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Z.-Georgië en de Z. Sandwich-eilanden" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinee-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard en McDonald eilanden" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatië" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haïti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongarije" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesië" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ierland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Eiland Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informatie" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internationaal" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Brits-Indische Oceaan Territorium" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "IJsland" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italië" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanië" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizië" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komoren" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St.-Kitts en Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Noord-Korea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Zuid-Korea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Koeweit" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kaaimaneilanden" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litouwen" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letland" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libië" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marokko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavië" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Verenigde Staten Medisch" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall-eilanden" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militair" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonië" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolië" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macaõ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobiele apparaten" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Noordelijke Mariana-eilanden" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritanië" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Musea" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Malediven" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexico" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Maleisië" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibië" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nieuw Caledonië" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Netwerk" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk-eiland" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nederland" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noorwegen" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nieuw-Zeeland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-profit organisatie" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Frans-Polinesië" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papoea Nieuw-Guinee" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipijnen" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St.-Pierre en Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Beroepen" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Bezette Palestijnse Gebieden" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Roemenië" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Oude school ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Servië" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rusland" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saoedi-Arabië" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomon-eilanden" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellen" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Soedan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Zweden" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St.-Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenië" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard en Jan Mayen eilanden" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slowakije" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalië" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Zuid-Soedan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome en Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Vroegere USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syrië" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turkse en Caicos-eilanden" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tsjaad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Franse Zuidelijke Territoriën" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Oost-Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunesië" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkije" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Reizen en Toerisme" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad en Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanië" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Oekraïne" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Oeganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Verenigd Koninkrijk" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Verenigde Staten van Amerika" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Oezbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vaticaanstad" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Sint-Vincent en de Grenadines" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britse Maagdeneilanden" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "VS Maagdeneilanden" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna-eilanden" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Joegoslavië" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Zuid-Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Kon niet connecteren op sessie-bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Mislukt om Opdracht te voltooien" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin voor toegang op afstand gebruikmakend van DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Faalde bij het ophalen van %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Overzicht tekens" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Verbannen" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Uitnodigen" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Niet verbonden." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Het is nodig om enkele verbanningen selecteren." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Masker" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Van" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "U kunt het Ban List venster enkel openen wanneer u zich in een kanaaltab bevindt." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "verbanlijst (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Verwijderen" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Knippen" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Verversen" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Kies een bestandsnaam" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Kanaallijst (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanaalnaam" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Zoeken:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Bestand versturen naar %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Dat bestand is niet pauzeerbaar." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Kan geen toegang krijgen tot bestand: %s\n%s.\nPauzeren is niet mogelijk." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Bestand in downloadmap is groter dan aangeboden bestand. Pauzeren is niet mogelijk." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Kan hetzelfde bestand van twee personen niet pauzeren." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Bestand" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Beide" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Details" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Bestand:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adres:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Afbreken" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accepteren" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Doorgaan" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Open Map..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC Chat lijst - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recv" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Verzonden" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Starttijd" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Verwijder" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Annuleren" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Bewaar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Niet automatisch herverbinden met servers" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Gebruik een andere configmap" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Geen plugins auto-laden" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Toon gebruikersconfiguratiemap" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Opdracht uitvoeren:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Versie-informatie weergeven" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Openen lettertype mislukt:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "De zoekbuffer is leeg.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Netwerk zendwachtrij: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "De Invoegen in buffer opdracht zal de inhoud van Data 1 invoegen in de ingang waar de toetsencombinatie was ingedrukt op de huidige aanwijzerpositie" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "De Buffer instellen opdracht stelt de ingang waar de toetsencombinatie is ingedrukt in op de inhoud van Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "De Laatste opdracht opdracht stelt de ingang in op de laatst ingevoerde opdracht - hetzelfde als pijltje omhoog in een shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "De Volgende opdracht opdracht stelt de ingang in op de volgend ingevoerde opdracht - hetzelfde als pijltje omlaag in een shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Deze opdracht wijzigt de tekst in de ingang zodat een incomplete bijnaam of opdracht wordt voltooid. Als Data 1 is ingesteld, dan selecteert tweemaal tab indrukken de laatste bijnaam, niet de volgende" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Deze opdracht schuift omhoog en omlaag in de lijst met bijnamen. Als Data 1 ergens op is ingesteld, wordt er omhoog geschoven, anders omlaag." + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Deze opdracht vergelijkt het laatst ingevoerde woord ingevoerd in de ingang, met de vervangingslijst, en vervangt als er een overeenkomst is" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Deze opdracht verplaatst het voorste tabblad een stap naar links" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Deze opdracht verplaatst het voorste tabblad een stap naar rechts" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Deze opdracht verplaatst de huidige tabblad-familie naar links" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Deze opdracht verplaatst de huidige tabblad-familie naar rechts" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Invoerregel naar geschiedenis duwen maar niet naar server verzenden" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Er is een fout opgetreden bij het laden van de configuratie van de toetsenbordkoppelingen" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Sneltoetsen - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kan niet schrijven naar dat bestand." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Kan dat bestand niet lezen." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Dat masker bestaat al." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Prive" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Melding" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Niet langer negeren" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Geef het te negeren masker:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Negeerlijst - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Negeer stats:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanaal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privé:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Melding:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Uitnodigen:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Voeg toe..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Naam van kanaal is te kort, probeer opnieuw." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "verbinding vervolledigd - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Verbinding naar %s vervolledigd." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Wat wilt u vervolgens doen?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Niets, ik zal later een kanaal vervoegen." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Kanaal vervoegen (_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Als u de naam van het kanaal dat u wilt vervoegen kent, geef het dan hier op." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Altijd deze dialoog tonen na het verbinden." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialoog met" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Onderwerp van %s is: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Er is geen onderwerp ingesteld" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Er zijn nog steeds %d kanalen of dialogen met deze server geassocieerd. Wilt u ze allemaal sluiten?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "HexChat afsluiten ?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Niet meer vragen volgende keer." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Weet u zeker dat u wil afsluiten ?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Sommige bestands overdrachten zijn nog actief." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Attribuut- of kleurcode invoegen" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Vet</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Onderstreept</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normaal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Kleuren 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Kleuren 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "Sluiten (_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Gebruikersgrens moet een getal zijn!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Geen berichten van buiten" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Onderwerp bescherming" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Alleen-uitnodigen" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Gemodereerd" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Banlijst" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Sleutelwoord" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Gebruikerslimiet" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Nieuwe bijnaam invullen" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host onbekend" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Onbekend" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Echte naam:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Gebruiker:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuten geleden" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Laatste bericht:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Afwezigheidsboodschap:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d namen geselecteerd." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Open Link in Browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Geselecteerde URL kopiëren" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Kanaal binnengaan" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Kanaal verlaten" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Kanaal ronddraaien" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Gebruikersmenu - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Door gebruiker gedefinieerde opdrachten - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Vervangen - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Vervang met" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL Programma's - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Gebruikerslijst Knoppen - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialoogknoppen - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP Antwoorden - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nieuw" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "Afsluiten (_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "Beeld (_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "M_odus knoppen" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Tabs" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Boom (_r)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Netwerkinstellingen" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Offline" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafiek" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Verbin_ding verbreken" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Opnieuw ve_rbinden" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Gebr_uikersmenu" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Inst_ellingen" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Voorkeuren (_P)" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "Venster (_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Markeringslijn opnieuw instellen" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Tekst wissen (_l)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Zoeken" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Volgende zoeken" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Vorige zoeken" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hulp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Inhoud (_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "Info (_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Naam" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Laatst gezien" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nooit" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Geef bijnaam om toe te voegen:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Vrienden Lijst - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Dialoogvenster openen" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanaal Bericht" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versie" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Omschrijving" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Kies een Plugin of Script om te laden" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Plugins en scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Laden..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Opslaan Als..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nieuw Netwerk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Zeker het netwerk \"%s\" en al zijn servers verwijderen?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "%s bewerken - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "B_ewerken" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Verbind enkel met geselecteerde server" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Niet alle servers afgaan wanneer verbinden mislukt." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "SSL gebruiken voor alle servers op dit netwerk" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Algemene gebruikersinfo gebruiken" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Bij_naam:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Tweede keuze:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Echte naam (_l):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Gebr_uikersnaam:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Wachtwoord:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Tekenset:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Netwerklijst - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Gebruikersinformatie" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Derde keuze:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Netwerken" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Netwerklijst overslaan bij opstarten" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "B_ewerken..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sorteren" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Verbinden (_o)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanees" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amhaars" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbeidjan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskisch" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Wit-Russisch" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaars" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinees (vereenvoudigd)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinees (traditioneel)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tsjechisch" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Deens" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Nederlands" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Engels" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estisch" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Fins" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Frans" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicisch" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Duits" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grieks" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hongaars" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesisch" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiaans" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japans" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreaans" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lets" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litouws" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonisch" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Maleis" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Pools" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugees" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugees (Braziliaans)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russisch" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Servisch" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slowaaks" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Sloveens" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spaans" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Zweeds" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thais" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Oekraïens" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamees" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Waals" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Algemeen" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Taal:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Lettertype:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Gekleurde bijnamen" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Elke persoon op IRC een andere kleur geven" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Bijnamen inspringen" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Bijnamen rechts uitlijnen" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Markeringslijn weergeven" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Rode lijn invoegen na laatste gelezen tekst." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Achtergrond Afbeelding:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Instellingen transparantheid" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titelbalk" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Toon kanaal modes" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Toon aantal gebruikers" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "spelling checken" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Woordenboeken te gebruiken:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Bijnaam-afmaken" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Nicknaam-aanvullen achtervoegsel:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafisch" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Ongesorteerd" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Bovenkant" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Onderkant" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Verborgen" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Gebruikers Lijst" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Hostnamen in gebruikerslijst weergeven" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Tekstvak lettertype en kleuren gebruiken" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Gebruik grafische pictogrammen in plaats van tekstsymbolen in de gebruikerslijst." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Toon aantal gebruikers in kanalen" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Gebruikerslijst gesorteerd op:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Bij kanalen kleiner dan:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Activeren met dubbel-klikken" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Vensters" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Tabs" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Altijd" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Alleen gevraagde tabbladen" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Extra tabblad openen voor serverberichten" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Tabbladen alfabetisch ordenen" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Kleinere tekst" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Nieuwe tabbladen focusseren:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Tabbladlabels verkorten tot:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letters." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Tabbladen of Vensters" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Open kanalen in:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Open dialoog vensters in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Gereedschappen openen in:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Negeren, berichten openen in tabbladen of vensters?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Berichten" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Vraag om bevestiging" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Vragen om de download map" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Opslaan zonder interactie" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Bestanden en mappen" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Auto accepteren bestandsaanbiedingen:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Gedownloade bestanden opslaan in:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Volledig gedownloade bestanden verplaatsen naar:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Bijnaam opslaan in bestandsnamen" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "DCC-vensters auto-openen" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Verzendvenster" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Ontvangstvenster" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Chatvenster" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Eén upload:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maximumsnelheid voor één overdracht" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Eén download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Alle uploads samen:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maximumsnelheid voor alle bestanden" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Alle downloads samen:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Waarschuwingen" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Standaardberichten" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Afsluiten:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Kanaal verlaten:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Weg:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Weg" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Laat 'away' slechts een keer" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatisch afwezig de-markeren" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "MODEs weergeven in ruwe vorm" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Binnengaan/verlaten berichten verbergen" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Automatisch geselecteerde tekst kopiëren" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternatieve lettertypen:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Vertraging bij auto-herverbinden:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Loggen" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Terugschuif regels:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Logbestandsnaam:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanaal %n=Netwerk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Tijdsstempels in logs invoegen" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Log tijdsstempel formaat:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL 's" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Uitgezet)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Uw adres" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Verbinden met:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Alleen bruikbaar voor computers met meerdere adressen." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Mijn adres van de IRC server halen" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "De IRC-server om uw echte adres vragen. Gebruik dit als u een 192.168.*.* adres heeft!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP Adres:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Doe alsof u op dit adres bent bij het aanbieden van bestanden." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Poorten op nul laten voor volledig bereik." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy-server" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Hostnaam:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Poort:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Soort" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Een Proxy Server gebruiken voor:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxy-authenticatie" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Gebruikersnaam:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Selecteer een afbeeldingsbestand" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Kies downloadmap" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Kies een Lettertype" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Bladeren..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Kies een kleur" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Tekstkleuren" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC kleuren:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokale kleuren:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Voorgrond:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Achtergrond:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Geselecteerde tekst" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Interfacekleuren" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nieuwe gegevens:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Markeringslijn:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nieuw bericht:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Gebruiker weg:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Oplichting:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Spellingcontrole:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Gebeurtenis" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Geluidsbestand" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Kies een geluidsnaam" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Geluidsbestand:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Bladeren..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Afs_pelen" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Uiterlijk" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Invoervak" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Gebruikerslijst" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Kleuren" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chatten" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Uitgebreid" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Netwerkinstellingen" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Bestandsoverdrachten" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorieën" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Sommige instellingen die zijn veranderd worden pas actief na het opnieuw starten." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*WAARSCHUWING*\nAuto accepteren van DCC naar uw persoonlijke\nmap is gevaarlijk en er kan misbruik van worden\ngemaakt.\nIemand kan u bijvoorbeeld een .bash_profile\nbestand opsturen." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Voorkeuren - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Meer..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Spellingsuggesties" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Er is een fout opgetreden bij het parsen van de string" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Dit signaal is slechts %d argumenten gegeven, $%d is onjuist" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Tekstbestand afdrukken" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Getal" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Gebeurtenissen bewerken" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Laden vanaf..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Allemaal Testen" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL Grijper - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Lijst wissen" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Geselecteerde URL kopiëren" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiëren" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Lijst opslaan naar een bestand" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d totaal" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Open een irc://server:poort/kanaal URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/no.po b/po/no.po new file mode 100644 index 0000000000000000000000000000000000000000..79b0d8150607a5d0d7f025d2948cac4e6b5b49df --- /dev/null +++ b/po/no.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Kjartan Maraas <kmaraas@online.no>, 1999 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Norwegian (http://www.transifex.com/hexchat/hexchat/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jeg er opptatt" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Nettverk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Venter" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiv" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Feilet" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Ferdig" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Koble til" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Avbrutt" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan ikke aksessere %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Feil" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ingen aktive DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Spark" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Bli med i kanal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Lenker til tjenere" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping tjener" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Skjul versjon" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "hadet" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Tøm" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEI " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-adresse" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Vert" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Kallenavn" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Handlingen" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksten" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Meldingen" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Navn på tjener" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Gammelt kallenavn" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nytt kallenavn" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Emne" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Årsaken" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Kallenavn" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Årsak" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Vert" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Hvem er det fra" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Lyden" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Borteårsak" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Melding" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Navn på kanal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Brukere" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Filnavn" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Stinavn" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posisjon" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Størrelse" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Gammelt filnavn" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nytt filnavn" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Mottaker" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Vertsmaske" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Vertsnavn" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pakken" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Tidsavbrudd for tilkobling" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "" + +#: src/common/util.c:738 +msgid "China" +msgstr "" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grønland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Hellas" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "" + +#: src/common/util.c:843 +msgid "Military" +msgstr "" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tegnkart" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Inviter" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Fjern" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Navn på kanal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Finn:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Begge" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Søk i buffer er tomt.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Inviter:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Brukergrense" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Oppgi nytt kallenavn:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Ukjent vert" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Virkelig navn:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Frakoblet" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Tjener" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Innstillinger" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Vindu" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hjelp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Sist sett" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Frakoblet" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Aldri" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Tilkoblet" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versjon" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivelse" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Last..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nytt nettverk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Generelt" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Skrifttype:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Bakgrunnsbilde:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Å" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Å-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Usortert" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Topp" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Bunn" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skjult" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Vinduer" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Faner" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "bokstaver." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Åpne dialoger i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Vis borte én gang" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logging" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Slått av)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Velg skrift" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Bla gjennom..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Velg farge" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-farger:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Forgrunn:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Bakgrunn:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Uthev:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Grensesnitt" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Inndataboks" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Brukerliste" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Farger" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Prating" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Nettverksoppsett" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Filoverføringer" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Rediger hendelser" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Test alle" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000000000000000000000000000000000000..1feedd6c837821e926fdb3fd3b6b6b21287eb445 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Amanpreet Singh Alam <amanpreetalam@yahoo.com>, 2005 +# A S Alam <aalam@users.sf.net>, 2009 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/hexchat/hexchat/language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "ਮੈਂ ਰੁੱਝਿਆ ਹਾਂ" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "ਹਟ ਪਿੱਛੇ ਫੇਰ ਮਿਲਾਗੇਂ" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "ਚੈਨਲ" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "ਉਡੀਕ ਜਾਰੀ ਹੈ" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "ਐਕਟਿਵ" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "ਅਸਫਲ" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "ਸਮਾਪਤ" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "ਕੁਨੈਕਟ" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "ਛੱਡਿਆ" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "ਗਲਤੀ" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s \"%s\" ਭੇਜ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "ਕੋਈ ਸਰਗਰਮ DCCs ਨਹੀਂ\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "ਡਾਈਲਾਗ ਵਿੰਡੋ ਖੋਲ੍ਹੋ(_O)" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "ਫਾਇਲ ਭੇਜੋ(_S)" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ(_U)(WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "ਦੋਸਤ ਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ(_A)" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "ਓਪਰੇਟਰ ਐਕਸ਼ਨ(_p)" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Ops ਦਿਓ" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ops ਹਟਾਓ" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "ਆਵਾਜ਼ ਦਿਓ" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "ਆਵਾਜ਼ ਲਵੋ" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "ਕਿੱਕ/ਪਾਬੰਦੀ" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "ਕਿੱਕ" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "ਪਾਬੰਦੀ" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "ਕਿੱਕ-ਪਾਬੰਦੀ" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "ਚੈਨਲ ਛੱਡੋ" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਚੈਨਲ ਦਿਓ:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "ਸਰਵਰ ਲਿੰਕ" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "ਸਰਵਰ ਪਿੰਗ" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "ਵਰਜਨ ਓਹਲੇ" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "ਅਲਵਿਦਾ" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s ਸੁੱਟਣ ਲਈ ਕਾਰਨ:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "ਡਾਈਲਾਗ" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "ਕੌਣ ਹੈ" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "ਭੇਜੋ" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "ਗੱਲਬਾਤ" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "ਸਾਫ਼" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "ਪਿੰਗ" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC ਨੂੰ ਰੂਟ ਦੇ ਤੌਰ ਤੇ ਚਲਾਉਣਾ ਮੂਰਖਤਾ ਹੈ! ਤੁਹਾਨੂੰ ਇੱਕ\n ਯੂਜ਼ਰ ਅਕਾਊਂਟ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਮੁੜ ਕੋਸ਼ਿਸ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ਹਾਂ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "ਨਹੀਂ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "ਤੁਹਾਨੂੰ %s ਤੋਂ CTCP ਹੜ੍ਹ ਨਾਲ ਭਰਨ ਦੀ ਕੋਸ਼ਿਸ, %s ਅਣਡਿੱਠਾ\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ਮੌਕੇ ਤੇ ਹੈ\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ਮੌਕੇ ਤੇ ਨਹੀਂ ਹੈ\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ਕੋਈ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਿਲ ਨਹੀਂ, ਕੋਸ਼ਿਸ ਕਰੋ /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ, ਕੋਸ਼ਿਸ ਕਰੋ /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ਹਮੇਸ਼ਾ ਦੂਰ ਨਿਸ਼ਾਨਬੱਧ ਕਰੋ: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "ਮੈਨੂੰ ਚੱਲਣ ਲਈ /bin/sh ਚਾਹੀਦੀ ਹੈ!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "ਉਪਲੱਬਧ ਕਮਾਂਡਾਂ:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "ਯੂਜ਼ਰ ਰਾਹੀਂ ਪ੍ਰਭਾਸ਼ਿਤ ਕਮਾਂਡਾਂ:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "ਪਲੱਗਇਨ ਰਾਹੀਂ ਪ੍ਰਭਾਸ਼ਿਤ ਕਮਾਂਡਾਂ:\n\n " + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਲਿਖੋ /HELP <command> , ਜਾਂ /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "ਅਣਜਾਣ ਆਰਗੂਮੈਂਟ '%s' ਅਣਡਿੱਠਾ ਕੀਤਾ।" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਕੋਈ ਪਲੱਗਇਨ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "ਇਹ ਪਲੱਗਇਨ ਅਨਲੋਡ ਨਹੀਂ ਹੋ ਸਕਦੀ।\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>, ਯੂਜ਼ਰ ਲਿਸਟ ਹੇਠ ਬਟਨ ਸ਼ਾਮਿਲ ਕਰੋ" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, ਉਹਨਾਂ ਸਭ ਚੈਨਲਾਂ ਨੂੰ ਕਮਾਂਡ ਭੇਜੋ, ਜਿੱਥੇ ਤੁਸੀਂ ਹੋ" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, ਉਹਨਾਂ ਸਭ ਸਰਵਰਾਂ ਨੂੰ ਕਮਾਂਡ ਭੇਜੋ, ਜਿੱਥੇ ਤੁਸੀਂ ਹੋ" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variable> [<value>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, ਦੇਸ਼ ਕੋਡ ਲੱਭੋ, ਜਿਵੇਂ ਕਿ au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>, ਯੂਜ਼ਰ ਲਿਸਟ ਹੇਠ ਬਟਨ ਹਟਾਓ" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ਸਰਵਰ ਨਾਲ ਸੰਬੰਧ ਖਤਮ" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, ਲੋਕਲ ਟੈਕਸਟ ਛਾਪਿਆ ਜਾਵੇਗਾ" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ਨੈਕਸਰਵਰ ਨਾਲ ਆਪਣੀ ਪਛਾਣ ਕਰਵਾਓ" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>], ਕਿਸੇ ਨੂੰ ਇੱਕ ਚੈਨਲ ਵਿੱਚ ਆਉਣ ਲਈ ਸੱਦਾ ਦਿਓ, ਮੂਲ ਰੂਪ ਵਿੱਚ ਮੌਜੂਦਾ ਚੈਨਲ ਲਈ (ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>, ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹੋਣ ਲਈ" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>, ਪਲੱਗਇਨ ਜਾਂ ਸਕ੍ਰਿਪਟ ਲੋਡ ਕਰੋ" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, ਚੈਨਲ ਵਿੱਚ ਕਾਰਵਾਈ ਕਰੋ (ਕਾਰਵਾਈ ਤੀਜੇ ਵਿਅਕਤੀ ਦੇ ਤੌਰ ਤੇ ਕੀਤੀ ਜਾਵੇਗੀ, ਜਿਵੇਂ /me ਚੱਲਿਆ)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, ਮਾਸ ਕਿੱਕ, ਮੌਜੂਦਾ ਚੈਨਲ ਵਿੱਚ ਆਪਣੇ ਆਪ ਨੂੰ ਛੱਡ ਕੇ ਸਭ ਨੂੰ ਬਾਹਰ ਸੁੱਟੋ (ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>, ਇੱਕ CTCP ਸੂਚਨਾ ਭੇਜੋ" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, ਆਪਣਾ ਨਾਂ ਦਿਓ" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, ਚੈਨਲ ਮੁੱਖੀ ਸਥਿਤੀ ਨਾਂ ਨੂੰ ਦਿਓ (ਚੈਨਲ ਮੁੱਖੀ ਹੋਣਾ ਲਾਜ਼ਮੀ)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>], ਚੈਨਲ ਛੱਡੋ, ਮੂਲ ਰੂਪ ਵਿੱਚ ਮੌਜੂਦਾ" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, CTCP ਨਾਂ ਜਾਂ ਚੈਨਲ ਨੂੰ ਪਿੰਗ ਕਰੇਗਾ" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], ਮੌਜੂਦਾ ਸਰਵਰ ਨਾਲੋਂ ਵੱਖ" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, ਮੌਜੂਦਾ ਝਰੋਖੇ ਵਿੱਚ ਇਕਾਈ ਨੂੰ ਲਿਖੋ" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>, ਕੁਨੈਕਟ ਅਤੇ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>, ਕੁਨੈਕਟ ਅਤੇ ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਲ" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>], ਸਰਵਰ ਨਾਲ ਜੁੜੋ, ਮੂਲ ਪੋਰਟ 6667 ਹੈ।" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], ਜੇਕਰ ਕੋਈ ਦਿੱਤਾ ਹੋਵੇ ਤਾਂ ਲਗਾਉ, ਨਹੀਂ ਤਾਂ ਮੌਜੂਦਾ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ਖਾਸ ਮਾਸਕ ਤੇ ਪਾਬੰਦੀ ਹਟਾਓ।" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>, ਪਲੱਗਇਨ ਜਾਂ ਸਕ੍ਰਿਪਟ ਹਟਾਓ" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, ਆਪਣੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ URL ਖੋਲ੍ਹੋ" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, ਕਿਸੇ ਨੂੰ ਆਵਾਜ਼ ਦਿਓ (chanop ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>, ਸਭ ਚੈਨਲ ਵਿੱਚ ਸੁਨੇਹਾ ਲਿਖੋ" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, ਮੌਜੂਦਾ ਚੈਨਲ ਵਿੱਚ ਸਭ ਚੈਨਲ ਮੁੱਖੀਆਂ ਨੂੰ ਸੁਨੇਹਾ ਭੇਜੋ" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "ਵਰਤੋਂ: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nਇਸ ਕਮਾਂਡ ਲਈ ਕੋਈ ਮੱਦਦ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "ਇਸਤਰਾਂ ਦੀ ਕੋਈ ਕਮਾਂਡ ਨਹੀਂ ਹੈ।\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "ਯੂਜ਼ਰ ਕਮਾਂਡ ਲਈ ਗਲਤ ਆਰਗੂਮੈਂਟ।\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "ਲਗਾਤਾਰ ਕਈ ਯੂਜ਼ਰ ਕਮਾਡਾਂ, ਅਧੂਰਾ ਛੱਡਿਆ।" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "ਕੀ ਤੁਸੀਂ SSL ਅਨੁਕੂਲ ਸਰਵਰ ਤੇ ਪੋਰਟ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋ?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "ਹੋਸਟ %s ਨਹੀਂ ਲੱਭਿਆ ਜਾ ਸਕਿਆ\nਆਪਣੀ IP ਸੈਟਿੰਗ ਵੇਖੋ!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "ਪਰਾਕਸੀ ਸੰਚਾਰ ਅਸਫਲ।\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s ਵਿੱਚ ਅਗਲੇ ਸਰਵਰ ਨਾਲ ਕੋਸ਼ਿਸ ਜਾਰੀ...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "ਚੇਤਾਵਨੀ: \"%s\" ਅੱਖਰ ਸਮੂਹ ਅਣਜਾਣ ਹੈ। ਨੈੱਟਵਰਕ %s ਲਈ ਅਨੁਵਾਦ ਲਾਗੂ ਨਹੀਂ ਹੈ।" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%Uਚੈਨਲ ਯੂਜ਼ਰ ਵਿਸ਼ਾ" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tਸੂਚਨਾ ਲਿਸਟ ਖਾਲੀ ਹੈ।" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s ਉੱਤੇ ਲਾਗ ਸਮਾਪਤ\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s ਉਤੇ ਲਾਗ ਸ਼ੁਰੂ \n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "ਖੱਬਾ ਸੁਨੇਹਾ" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "ਸੱਜਾ ਸੁਨੇਹਾ" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP ਐਡਰੈੱਸ" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "ਯੂਜ਼ਰ ਨਾਂ" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "ਜੁਆਇੰਨ ਹੋਏ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "ਚੈਲਨ ਵਿੱਚ ਜੁਆਇੰਨ ਕੀਤਾ" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "ਵਿਅਕਤੀ ਦਾ ਹੋਸਟ" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "ਆਮ ਨਾਂ" + +#: src/common/text.c:980 +msgid "The action" +msgstr "ਕਾਰਵਾਈ" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "ਮੋਡ ਅੱਖਰ" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "ਪਛਾਣ ਟੈਕਸਟ" + +#: src/common/text.c:987 +msgid "The text" +msgstr "ਟੈਕਸਟ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "ਸੁਨੇਹਾ" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "ਸਰਵਰ ਨਾਂ" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "ਪੁਰਾਣਾ ਨਾਂ" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "ਨਵਾਂ ਨਾਂ" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "ਜਿਸ ਨੇ ਵਿਸ਼ਾ ਤਬਦੀਲ ਕੀਤਾ ਹੈ, ਉਸ ਦਾ ਨਾਂ" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "ਵਿਸ਼ਾ" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "ਸੁੱਟਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "ਸੁੱਟਿਆ ਗਿਆ ਵਿਅਕਤੀ" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "ਚੈਨਲ" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "ਕਾਰਨ" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "ਜਾ ਰਹੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "ਸਮਾਂ" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "ਨਿਰਮਾਤਾ" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "ਨਾਂ" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "ਕਾਰਨ" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "ਹੋਸਟ" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "ਕਿਸ ਵੱਲੋਂ ਹੈ" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "ਸਮਾਂ x.x ਫਾਰਮੈਟ ਵਿੱਚ (ਹੇਠਾਂ ਵੇਖੋ)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "ਚੈਨਲ ਇਹ ਜਾ ਰਿਹਾ ਹੈ" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "ਸਾਊਂਡ" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP ਘਟਨਾ" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "ਕੁੰਜੀ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "ਕੁੰਜੀ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "ਲਿਮਟ ਲਗਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "ਲਿਮਟ" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "ਆਵਾਜ਼ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "ਆਵਾਜ਼ ਪ੍ਰਾਪਤ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "ਪਾਬੰਦੀ ਲਗਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "ਪਾਬੰਦੀ ਮਾਸਕ" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "ਕੁੰਜੀ ਹਟਾਉਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "ਲਿਮਟ ਹਟਾਉਣ ਵਾਲੇ ਦਾ ਨਾਂ" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "ਨਾ-ਆਵਾਜ਼ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "ਸੱਦਾ ਭੇਜਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "ਸੱਦਾ ਮਾਸਕ" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "ਸੱਦੇ ਨੂੰ ਹਟਾਉਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "ਢੰਗ ਦੇਣ ਵਾਲੇ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "ਢੰਗ ਨਿਸ਼ਾਨ (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "ਢੰਗ ਅੱਖਰ" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "ਚੈਨਲ ਦਿੱਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "ਪੂਰਾ ਨਾਂ" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ਚੈਨਲ ਮੈਂਬਰੀ /\"ਇੱਕ IRC ਓਪਰੇਟਰ ਹੈ\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "ਸਰਵਰ ਜਾਣਕਾਰੀ" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "ਵਿਹਲਾ ਸਮਾਂ" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "ਦਾਖਲਾ ਸਮਾਂ" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "ਜਾਣ ਦਾ ਕਾਰਨ " + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "ਸੁਨੇਹਾ" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "ਅਕਾਊਂਟ" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "ਅਸਲੀ user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "ਅਸਲੀ IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "ਚੈਨਲ ਨਾਂ" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "ਟੈਕਸਟ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "ਸੱਦਣ ਲਈ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "ਯੂਜ਼ਰ" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "ਵਰਤੋਂ ਵਿੱਚ ਆਮ ਨਾਂ" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "ਕੋਸ਼ਿਸ ਕੀਤਾ ਨਾਂ" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "ਪੋਰਟ" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "ਢੰਗ ਸਤਰ" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC ਕਿਸਮ" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "ਨਿਯਤ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "ਰਸਤਾ ਨਾਂ" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "ਸਥਿਤੀ" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "ਸਾਈਜ਼" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC ਸਤਰ" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "ਸੂਚਨਾ ਇਕਾਈਆਂ ਦੀ ਗਿਣਤੀ" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "ਪੁਰਾਣਾ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "ਨਵਾਂ ਫਾਇਲ ਨਾਂ" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "ਪ੍ਰਾਪਤ ਕਰਤਾ" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "ਹੋਸਟ-ਮਾਸਕ" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "ਹੋਸਟ-ਨਾਂ" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "ਪੈਕਟ" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "ਸਕਿੰਟ" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "ਸੱਦਣ ਲਈ ਵਿਅਕਤੀ ਦਾ ਨਾਂ" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "ਪਾਬੰਦੀ-ਮਾਸਕ" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "ਕਿਸ ਨੇ ਪਾਬੰਦੀ ਲਗਾਈ" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "ਪਾਬੰਦੀ ਸਮਾਂ" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "ਸਾਊਂਡ ਫਾਇਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "ਰਿਮੋਟ ਹੋਸਟ ਬੰਦ ਸਾਕਟ" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "ਕੁਨੈਕਸ਼ਨ ਤੋਂ ਇਨਕਾਰ" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "ਹੋਸਟ ਲਈ ਮਾਰਗ ਨਹੀਂ" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "ਕੁਨੈਕਸ਼ਨ ਲਈ ਸਮਾਂ ਸਮਾਪਤ" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "ਇਹ ਸਿਰਨਾਵਾਂ ਦਿੱਤਾ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "ਪੀਅਰ ਨੇ ਕੁਨੈਕਸ਼ਨ ਮੁੜ ਬਣਾਇਆ" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "ਅਡੂਰਾ" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "ਮਿਸਰ" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "ਅਫਗਾਨਿਸਤਾਨ" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "ਐਟੀਗੋਆ ਤੇ ਬਾਰਬੂਡਾ" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "ਐਗੂਲਾ" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "ਅਲਬਾਨੀਆ" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "ਅਰਮੀਨੀਆ" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "ਨੀਂਦਰਲੈਂਡ ਐਟੀਲਾਇਸ" + +#: src/common/util.c:695 +msgid "Angola" +msgstr " ਅੰਗੋਲਾ" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "ਐਟਾਰਟਿਕਾ" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "ਅਰਜਨਟੀਨਾ" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "ਉਲਟ DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "ਅਮਰੀਕਨ ਸਾਮੋਕਾ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "ਆਸਟਾਰੀਆ" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "ਨੈਟੋ ਫਿਲ" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "ਅਸਟਰੇਲੀਆ" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "ਅਰੂਬਾ" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "ਅਲੈਂਡ ਟਾਪੂ" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "ਅਜਰਬਾਈਜਾਨ" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "ਬੋਸਨੀਆ ਤੇ ਹਰਜੀਗੋਵੀਨਾ" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "ਬਾਰਬਾਰਡੋਸ" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "ਬੰਗਲਾਦੇਸ਼" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "ਬੈਲਜੀਅਮ" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr " " + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "ਬੁਲਗਾਰੀਆ" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "ਬਹਰੀਨ" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "ਬੂਰੂਮਾਡੀ" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "ਵਪਾਰਿਕ" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "ਬੀਨਾਨ" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "ਬਾਰਮੂਡਾ" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "ਬਰੂਨਈ ਡਾਰੂਸ਼ਲਾਮ" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "ਬੋਲੋਵੀਆ" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "ਬਰਾਜ਼ੀਲ" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "ਬਾਹਾਮਾਸ" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ਭੁਟਾਨ" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "ਬੂਟਵਟ ਟਾਪੂ" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "ਬੂਟਸਵਾਨਾ" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "ਬੇਲਾਰੂਸ" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "ਬੀਲੀਜ਼ੀ" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "ਕੈਨੇਡਾ" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "ਕੋਕਸ ਟਾਪੂ" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "ਕਾਗੋਂ ਗਣਰਾਜ" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "ਕੇਂਦਰੀ ਅਫਰੀਕੀ ਗਣਰਾਜ" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "ਕਾਂਗੋ" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "ਸਵਿਟਰਜ਼ਰਲੈਂਡ" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "ਕੋਟੀ ਡੀਵੋਰਆ" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "ਕੂਕ ਟਾਪੂ" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "ਚਿੱਲੀ" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "ਕੈਮਰੂਨ" + +#: src/common/util.c:738 +msgid "China" +msgstr "ਚੀਨ" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "ਕੋਲੰਬੀਆ" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "ਅੰਦਰੂਨੀ ਵਣਜ" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "ਕਾਸਟ ਰੀਕਾ" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "ਸਰਬੀਆ ਅਤੇ ਮੋਨਟੇਨੇਗਰੋ" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "ਕਿਊਬਾ" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "ਕੇਪ ਵਾਰਡੀ" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "ਕ੍ਰਿਸਮਸ ਟਾਪੂ" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "ਕਿਊਰੂਸ" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "ਚੈੱਕ ਗਣਰਾਜ" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "ਜਰਮਨੀ" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "ਡਜੀਬੂਟੀ" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "ਡੈਨਮਾਰਕ" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "ਡੋਮੀਨੀਆ" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "ਡੋਮੀਨੀਆਨ ਗਣਰਾਜ਼" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "ਅਲਜੀਰੀਆ" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "ਏਕਵੇਡਰ" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "ਵਿਦਿਅਕ ਸੰਗਠਨ" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "ਈਸਟੋਨੀਆ" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "ਮਿਸਰ" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "ਦੱਖਣੀ ਸਹਾਰਾ" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "ਈਰਟੀਰਆ" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "ਸਪੇਨ " + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "ਈਥੋਪਈਆ" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "ਯੂਰਪੀ ਯੂਨੀਅਨ" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "ਫਿਨਲੈਂਡ" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "ਫਿਜੀ" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "ਫਾਕਲੈਡ ਟਾਪੂ" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "ਮਾਕਰੋਨੀਸ਼ੀਆ" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "ਫਾਰੀਓ ਟਾਪੂ" + +#: src/common/util.c:770 +msgid "France" +msgstr "ਫਰਾਂਸ" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "ਗਾਬੋਨ" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "ਬਰਤਾਨੀਆ" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "ਗਰੀਨਾਡਾਆ" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "ਜਾਰਜੀਆ" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "ਫਰੈਂਚ ਗੁਆਨਾ" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "ਘਾਨਾ" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "ਗੀਬਰਾਲਟਰ" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "ਗਰੀਨਲੈਂਡ" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "ਗਾਬੀਆ" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "ਗੂਈਨੀਆ" + +#: src/common/util.c:782 +msgid "Government" +msgstr "ਸਰਕਾਰੀ" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "ਗੁਆਡੀਲੂਪੀ" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "ਭੂ-ਖੰਡੀ ਗੁਆਨਾ" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "ਗਰੀਸ" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "ਦੱਖਣ ਜਾਰਜੀਆ ਦੱਖਣ" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "ਗੂਆਟੇਮਾਲਾ" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "ਗੁਆਮ" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "ਗੁਨੇਆ-ਬਿਸਾਉ" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "ਗੁਆਨਾ" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "ਹਾਂਗਕਾਂਗ" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "ਹੀਅਰਡ ਅਤੇ ਮੈਕਡੋਨਾਲਡ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "ਹਾਨਡੂਰਸ" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "ਕਰੋਟੀਆ" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "ਹਾਈਟੀ" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "ਹੰਗਰੀ" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "ਇੰਡੋਨੇਸ਼ੀਆ" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "ਆਇਰਲੈਂਡ" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "ਇਜ਼ਰਾਈਲ" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "ਭਾਰਤ" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "ਜਾਣਕਾਰੀ" + +#: src/common/util.c:803 +msgid "International" +msgstr "ਅੰਤਰਰਾਸ਼ਟਰੀ" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "ਬਰਤਾਨੀਆ ਭਾਰਤੀ ਸਮੁੰਦਰੀ ਖੇਤਰ" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "ਇਰਾਕ" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "ਈਰਾਨ" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "ਆਈਸਲੈਂਡ" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "ਇਟਲੀ" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "ਜਰਸੀ" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "ਜੈਮਾਈਕਾ" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "ਜਾਰਡਨ" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "ਜਾਪਾਨ" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "ਕੀਨੀਆ" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "ਕਿਰਗਸਤਾਨ" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "ਕੋਲੰਬੀਆ" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "ਕੀਰੀਬਾਟੀ" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "ਕੋਮੋਰਸ" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "ਸੇਂਟ ਕਿੱਟ ਅਤੇ ਨੀਵਿਸ" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "ਉੱਤਰੀ ਕੋਰੀਆ" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "ਦੱਖਣੀ ਕੋਰੀਆ" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "ਕੁਵੈਤ" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "ਕਾਯਮਨ ਟਾਪੂ" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "ਕਜ਼ਾਕਸਤਾਨ" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "ਲਿਉਸ" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "ਲੀਬਨਾਨ" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "ਸੇਂਟ ਲੂਸੀਆ" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "ਲੀਚਟੀਨੀਆ" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "ਸ੍ਰੀਲੰਕਾ" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "ਲੀਬੀਰੀਆ" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "ਲੀਸੋਥੋ" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "ਲੀਥੂਨੀਆ" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "ਲ਼ਕਸ਼ਮਬਰਗ" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "ਲਾਟੀਵਾਆ" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "ਲੀਬੀਆ" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "ਮੋਰੋਸ਼ਸ" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "ਮੋਨਸ਼ੀਆ" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "ਮੋਲਡੋਵਾ" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "ਅਮਰੀਕੀ ਮੈਂਡੀਕਲ" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "ਮੈਡਾਗਾਸਕਰ" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "ਮਾਰਸ਼ਲ ਟਾਪੂ" + +#: src/common/util.c:843 +msgid "Military" +msgstr "ਮਿਲਟਰੀ" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "ਮੈਕਡੋਨੀਆ" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "ਮਾਲੀ" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "ਮਿਆਂਮਾਰ" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "ਮੰਗੋਲੀਆ" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "ਮਕਾਉ" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "ਉੱਤਰੀ ਮਰੀਵੀਆਨਾ ਟਾਪੂ" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "ਮਾਰਟੀਨੀਕਿਊ" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "ਮਾਓਰੀਟਆਨਾ" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "ਮੋਨਟਸ਼ਟੀਟ" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "ਮਾਲਟਾ" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "ਮਾਓਟੀਸ" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "ਮਾਲਦੀਪ" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "ਮਾਲਾਵੀਆ" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "ਮੈਕਸੀਕੋ" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "ਮਲੇਸ਼ੀਆ" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "ਮੋਜ਼ਾਮਬੀਕਿਉ" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "ਨੀਮੀਬੀਆ" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "ਨੀਜ਼ਰ" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "ਨੋਰਫੋਕ ਟਾਪੂ" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "ਨੀਜ਼ੀਰਆ" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "ਨਿਕਾਰਗੁਆ" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "ਨੀਂਦਰਲੈਂਡ" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "ਨਾਰਵੇ" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "ਨੇਪਾਲ" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "ਨੀਓਰੂ" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "ਨੀਊਈ" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "ਨਿਊਜ਼ੀਲੈਂਡ" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "ਓਮਾਨ" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "ਅੰਦਰੂਨੀ ਨਾ-ਲਾਭ ਸੰਗਠਨ" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "ਪੈਨਾਮਾ" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "ਪੇਰੂ" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "ਫਰੈਚ ਪੋਲੀਸੇਲੇਵੀਆ" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "ਪਾਪੂਆ ਨਵਾਂ ਗੂਈਨਿਆ" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "ਫਿਲਿਪੀਨੀਜ਼" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "ਪਾਕਿਸਤਾਨ" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "ਪੋਲੈਂਡ" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "ਸੇਂਟ ਪਰੇਰਾ ਅਤੇ ਮਿਕਿਊਲੋਨ" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "ਪਿਟਸਾਰਨ" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "ਪੁਈਰਟੋ ਰੀਸੋ" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "ਫਿਲੀਸਤੀਨ ਭਾਗ" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "ਪੁਰਤਗਾਲ" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "ਪਾਲਾਊ" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "ਪੇਰੂਗਵੇ" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "ਕਤਰ" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "ਰੀਯੁਨੀਅਨ" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "ਰੋਮਾਨੀਆ" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ਪੁਰਾਣਾ ਸਕੂਲ ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "ਸੰਘੀ ਰੂਸ " + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "ਰਵਾਂਡਾਂ" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "ਸਾਊਦੀ ਅਰਬ" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "ਸੋਲੋਮੋਨ ਟਾਪੂ" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "ਸੀਆਚਿਲਸ" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "ਸੂਡਾਨ" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "ਸਵੀਡਨ" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "ਸਿੰਘਾਪੁਰ" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "ਸੇਂਟ ਹੀਲੀਨਆ" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "ਸਲੋਵੀਨੀਆ" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "ਸਵਾਲਬੋਰਡ ਅਤੇ ਜਾਨ ਮਾਈਨ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "ਸਲੋਵਾਕ ਲੋਕਤੰਤਰ" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "ਸੀਈਰਆ ਲਿਏਨ" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "ਸਾਨ ਮਾਰੀਨੂ" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "ਸੈਨੇਗਾਲ" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "ਸੋਮਾਲੀਆ" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "ਸੂਰੀਨਾਂ" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "ਸਾਓ ਟੋਮ ਅਤੇ ਪ੍ਰਿਨਸਾਈਪ" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "ਪੁਰਾਣਾ ਸੋਵੀਅਤ ਯੂਨੀਅਨ" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "ਈਲ ਸਾਲੇਵਡੋਰ" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "ਸੀਰੀਆ" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "ਸਵਰਜ਼ਲੈਂਡ" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "ਤੁਰਕਸ ਅਤੇ ਕੇਈਕੋਸ ਟਾਪੂ" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "ਚੰਦ" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "ਫਰੈਂਚ ਦੱਖਣੀ ਖੇਤਰ" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "ਟੂਗੂ" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "ਥਾਈਲੈਂਡ" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "ਤਜ਼ਾਕਸਤਾਨ" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "ਟੂਕੀਲਾਊ" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "ਪੂਰਬੀ ਟੀਮੋਰ" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "ਤੁਰਕਸਤਾਨ" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "ਟੁਨੀਸ਼ੀਆ" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "ਟੂਨਗਾ" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "ਤੁਰਕੀ" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "ਟਰਿਨੀਦਾਦ ਅਤੇ ਟੋਬੇਗੋ" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "ਟੂਵਾਲੂ" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "ਤਾਈਵਾਨ" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "ਤਾਨਜ਼ੀਆ" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "ਯੂਕਰੇਨ" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "ਯੂਗਾਂਡਾ" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "ਬਰਤਾਨੀਆ" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "ਉਰੂਗਵੇ" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "ਉਜ਼ੇਬਕਸਤਾਨ" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "ਵਾਟਕੈਨ ਸ਼ਹਿਰ ਪ੍ਰਾਂਤ" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "ਸੇਂਟ ਵੀਨਸੈਂਟ ਅਤੇ ਗਰੀਨਾਡੀਨਸ" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "ਵੈਨੂਜੇਏਲਾ" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "ਬ੍ਰਿਟਿਸ਼ ਵੀਰਗਿਨ ਟਾਪੂ" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ਅਮਰੀਕੀ ਵਰਜਿਨ ਟਾਪੂ" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "ਵੀਅਤਨਾਮ" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "ਵਾਨੂਟੂ" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "ਵੈਲਿਸ ਅਤੇ ਫੂਟੂਨਾ ਆਈਸਲੈਂਡ" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "ਸਾਮੀਆ" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "ਯਮਨ" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "ਮਾਈਟੀ" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "ਯੂਗੋਸਲਾਵੀਆ" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "ਦੱਖਣੀ ਅਫਰੀਕਾ" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "ਜ਼ੈਬੀਆ" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "ਜਿੰਬਾਬਾਵੇੰ" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "ਸ਼ੈਸ਼ਨ ਬਸ ਨਾਲ ਜੁੜ ਨਹੀਂ ਸਕਿਆ" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "ਕਮਾਂਡ ਪੂਰੀ ਕਰਨ ਲਈ ਫੇਲ੍ਹ" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "ਰਿਮੋਟ ਅਸੈੱਸ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ਸ਼ੈਸ਼ਨ ਬਸ ਨਾਲ ਜੁੜਨ ਲਈ ਅਸਫ਼ਲ: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "ਅੱਖਰ ਚਾਰਟ" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "ਪਾਬੰਦੀ" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "ਸੱਦਾ" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ।" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "ਤੁਹਾਨੂੰ ਕੁਝ ਪਾਬੰਦੀਆਂ ਦੀ ਚੋਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "ਮਾਸਕ" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "ਵੱਲੋਂ" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "ਮਿਤੀ" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "ਤੁਸੀਂ ਇੱਕ ਪਾਬੰਦੀ ਮੇਨੂ ਵਿੰਡੋ ਤਾਂ ਹੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ, ਜੇਕਰ ਤੁਸੀਂ ਚੈਨਲ ਟੈਬ ਵਿੱਚ ਹੋ।" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "ਹਟਾਓ" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "ਉਭਾਰੋ" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "ਤਾਜ਼ਾ" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "ਆਉਟਪੁੱਟ ਫਾਇਲ ਨਾਂ ਚੁਣੋ" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ(_J)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "ਚੈਨਲ ਨਾਂ ਕਾਪੀ ਕਰੋ(_C)" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "ਵਿਸ਼ਾ ਟੈਕਸਟ ਕਾਪੀ ਕਰੋ(_T)" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "ਖੋਜ(_S)" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "ਡਾਊਨਲੋਡ ਲਿਸਟ(_D)" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "ਲਿਸਟ ਸੰਭਾਲੋ(_L)..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "ਕੇਵਲ ਵੇਖੋ:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "ਇਸ ਨਾਲ ਚੈਨਲ" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "ਤੋਂ" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "ਯੂਜ਼ਰ" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "ਖੋਜ:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "ਚੈਨਲ ਨਾਂ" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "ਖੋਜ ਟਾਈਪ:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "ਸਧਾਰਨ ਖੋਜ" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "ਰੈਗੂਲਰ ਸਮੀਕਰਨ" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "ਖੋਜ:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s ਨੂੰ ਫਾਇਲ ਭੇਜੋ" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "ਇਹ ਫਾਇਲ ਮੁੜ-ਪ੍ਰਾਪਤੀ ਯੋਗ ਨਹੀਂ।" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "ਫਾਇਲ ਲਈ ਅਧਿਕਾਰ ਨਹੀਂ: %s\n%s.\nਮੁੜ-ਪ੍ਰਾਪਤੀ ਸੰਭਵ ਨਹੀਂ।" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ਡਾਊਨਲੋਡ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਫਾਇਲ ਦਿੱਤੇ ਅਕਾਰ ਤੋਂ ਵੱਡੀ ਹੈ। ਮੁੜ-ਪ੍ਰਾਪਤੀ ਸੰਭਵ ਨਹੀਂ ਹੈ।" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "ਦੋ ਲੋਕਾਂ ਤੋਂ ਇੱਕੋ ਫਾਇਲ ਮੁੜ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "ਹਾਲਤ" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ਫਾਇਲ" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "ਦੋਵੇਂ" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "ਅੱਪਲੋਡ" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "ਡਾਊਨਲੋਡ" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "ਵੇਰਵਾ" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "ਫਾਇਲ:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "ਐਡਰੈੱਸ:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "ਅਧੂਰਾ ਛੱਡੋ" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "ਮਨਜ਼ੂਰ" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "ਮੁੜ-ਪ੍ਰਾਪਤ" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "...ਫੋਲਡਰ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "ਪ੍ਰਾਪਤ" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "ਭੇਜੀ" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "ਸ਼ੁਰੂ ਸਮਾਂ" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "ਹਟਾਓ" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "ਸੰਭਾਲੋ" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "ਸਰਵਰ ਨਾਲ ਆਟੋਮੈਟਿਕ ਕੁਨੈਕਟ ਨਾ ਕਰੋ" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "ਇੱਕ ਵੱਖਰੀ ਸੰਰਚਨਾ ਡਾਇਰੈਕਟਰੀ ਵਰਤੋਂ" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "ਕੋਈ ਪਲੱਗਇਨ ਆਟੋਮੈਟਿਕ ਲੋਡ ਨਾ ਕਰੋ" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "ਯੂਜ਼ਰ ਸੰਰਚਨਾ ਡਾਇਰੈਕਟਰੀ ਵੇਖਾਓ" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "ਕਮਾਂਡ ਚਲਾਓ:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "ਲੈਵਲ" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "ਵਰਜਨ ਜਾਣਕਾਰੀ ਵੇਖਾਓ" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "ਫੋਂਟ ਖੋਲ੍ਹਣ ਲਈ ਅਸਫ਼ਲ:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "ਖੋਜ ਬਫ਼ਰ ਖਾਲੀ ਹੈ।\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d ਬਾਇਟ" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ਨੈੱਟਵਰਕ ਨੇ ਕਤਾਰ ਭੇਜੀ: %d ਬਾਈਟ" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਨੂੰ ਇੱਕ ਖੱਬੇ ਅੱਗੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਨੂੰ ਇੱਕ ਸੱਜੇ ਅੱਗੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਵਰਗ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "ਇਹ ਕਮਾਂਡ ਮੌਜੂਦਾ ਟੈਬ ਵਰਗ ਨੂੰ ਸੱਜੇ ਪਾਸੇ ਖਿਸਕਾਏਗੀ" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "ਇੰਪੁੱਟ ਸਤਰ ਨੂੰ ਅਤੀਤ ਵਿੱਚ ਰੱਖੋ, ਪਰ ਸਰਵਰ `ਤੇ ਨਾ ਭੇਜੋ" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "ਸਵਿੱਚ ਬੰਧਨ ਸੰਰਚਨਾ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ ਹੈ" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "ਉਹ ਫਾਇਲ ਲਿਖੀ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "ਉਹ ਫਾਇਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "ਇਹ ਮਾਸਕ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "ਪ੍ਰਾਈਵੇਟ" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "ਨੋਟਿਸ" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "ਨਾ-ਅਣਡਿੱਠਾ" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "ਅਣਡਿੱਠਾ ਕਰਨ ਲਈ ਮਾਸਕ ਦਿਓ:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "ਅਣਡਿੱਠੀ ਸਥਿਤੀ:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "ਚੈਨਲ:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "ਪ੍ਰਾਈਵੇਟ:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "ਸੂਚਨਾ:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "ਸੱਦਾ:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "ਸ਼ਾਮਲ..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "ਚੈਨਲ ਨਾਂ ਬਹੁਤ ਛੋਟਾ ਹੈ, ਫੇਰ ਟਰਾਈ ਕਰੋ ਜੀ।" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "%s ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਪੂਰਾ ਹੋਇਆ।" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "ਤੁਸੀਂ ਅੱਗੇ ਕੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "ਕੁਝ ਨਹੀਂ, ਮੈਂ ਚੈਨਲ ਬਾਅਦ 'ਚ ਜੁਆਇੰਨ ਕਰਾਂਗਾ(_N)" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "ਇਹ ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ(_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "ਕੁਨੈਕਟ ਕਰਨ ਸਮੇਂ ਇਹ ਡਾਈਲਾਗ ਹਮੇਸ਼ਾ ਵੇਖਾਓ(_A)" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "ਡਾਈਲਾਗ" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s ਲਈ ਵਿਸ਼ਾ ਹੈ: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "ਕੋਈ ਵਿਸ਼ਾ ਦਿੱਤਾ ਨਹੀਂ ਗਿਆ" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "ਇਹ ਸਰਵਰ ਨਾਲ ਪਹਿਲਾਂ ਹੀ %d ਚੈਨਲ ਜਾਂ ਡਾਈਲਾਗ ਜੁੜੇ ਹੋਏ ਹਨ। ਕੀ ਸਭ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "ਅਗਲੀ ਵਾਰ ਨਾ ਪੁੱਛੋ।" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "ਤੁਸੀਂ %i IRC ਨੈੱਟਵਰਕਾਂ ਨਾਲ ਕੁਨੈਕਟ ਹੋ।" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "ਕੁਝ ਫਾਇਲ ਟਰਾਂਸਫਰ ਹਾਲੇ ਚਾਲੂ ਹਨ।" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "ਟਰੇ ਵਿੱਚ ਭੇਜੋ(_M)" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "ਗੁਣ ਜਾਂ ਰੰਗ ਕੋਡ ਸ਼ਾਮਿਲ" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>ਗੂੜਾ</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>ਹੇਠਾਂ ਰੇਖਾ</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "ਸਧਾਰਨ" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "ਰੰਗ ੦-੭" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "ਰੰਗ ੮-੧੫" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "ਸੈਟਿੰਗ(_S)" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "ਡਿਸਕ ਉੱਤੇ ਲਾਗ(_L)" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "ਸਕਰੋਲ ਰੀ-ਲੋਡ ਕਰੋ(_R)" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "ਜੁਆਇੰਨ/ਛੱਡਣ ਸੁਨੇਹੇ ਓਹਲੇ(_H)" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "ਹੋਰ ਚੇਤਾਵਨੀਆਂ(_E)" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "ਸੁਨੇਹੇ ਉੱਤੇ ਆਵਾਜ਼(_M)" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "ਟਰੇ ਆਈਕਾਨ ਝਪਕਾਓ(_I)" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "ਟਾਸਕ ਬਾਰ ਝਪਕਾਓ(_B)" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "ਵੱਖ ਕਰੋ(_D)" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "ਬੰਦ ਕਰੋ(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "ਯੂਜ਼ਰ ਲਿਮਟ ਅੰਕ ਹੀ ਹੋ ਸਕਦਾ ਹੈ!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "ਕੋਈ ਬਾਹਰੀ ਸੁਨੇਹਾ ਨਹੀਂ" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "ਵਿਸ਼ਾ ਸੁਰੱਖਿਆ" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "ਸਿਰਫ਼ ਸੱਦਾ" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "ਵਿਚੋਲਾ" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "ਪਾਬੰਦੀ ਲਿਸਟ" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "ਕੀ-ਵਰਡ" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "ਯੂਜ਼ਰ ਲਿਮਟ" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "ਨਵਾਂ ਨਾਂ ਦਿਓ:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "ਅਣਜਾਣ ਹੋਸਟ" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "ਅਸਲੀ ਨਾਂ:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "ਯੂਜ਼ਰ:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "ਦੇਸ਼:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "ਸਰਵਰ:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u ਮਿੰਟ ਪਹਿਲਾਂ" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "ਆਖਰੀ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "ਦੂਰ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "ਲਿੰਕ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "ਚੁਣਿਆ ਲਿੰਕ ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "ਚੈਨਲ ਛੱਡੋ" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "ਚੱਕਰੀ ਚੈਨਲ" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "ਇਸ ਨਾਲ ਤਬਦੀਲ" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "ਨਵਾਂ(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "ਬਾਹਰ(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "ਵੇਖੋ(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "ਮੇਨੂ ਬਾਰ(_M)" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "ਵਿਸ਼ਾ ਬਾਰ(_T)" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "ਯੂਜ਼ਰ ਬਾਰ(_U)" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "ਮੋਡ ਬਟਨ(_O)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ(_C)" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "ਟੈਬਾਂ(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "ਲੜੀ(_r)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "ਨੈੱਟਵਰਕ ਮੀਟਰ(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "ਬੰਦ" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "ਗਰਾਫ਼" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "ਸਰਵਰ(_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "ਕੁਨੈਕਸ਼ਨ ਬੰਦ(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "ਫੇਰ ਕੁਨੈਕਟ ਕਰੋ(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "ਯੂਜ਼ਰ ਮੇਨੂ(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "ਸੈਟਿੰਗ(_e)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "ਵਿੰਡੋ(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "ਮਾਰਕਰ ਲਾਈਨ ਮੁੜ-ਸੈੱਟ" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "ਟੈਕਸਟ ਸਾਫ਼(_l)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "ਮੱਦਦ(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "ਸਮੱਗਰੀ(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "ਇਸ ਬਾਰੇ(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "ਅਟੈਚ ਕਰੋ(_A)" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "ਨਾਂ" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "ਆਖਰੀ ਵਾਰ ਵੇਖਿਆ" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "ਆਫਲਾਇਨ" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "ਕਦੇ ਨਹੀਂ" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d ਮਿੰਟ ਪਹਿਲਾਂ" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ਆਨਲਾਇਨ" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਨਾਂ ਦਿਓ:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "ਇਹ ਨੈੱਟਵਰਕਾਂ ਉੱਤੇ ਸੂਚਨਾ ਦਿਓ:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "ਡਾਈਲਾਗ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "ਝਪਕੋ(_B)" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "ਚੈਨਲ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "ਹਾਈਲਾਈਟ ਕੀਤਾ ਸੁਨੇਹਾ" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "ਹਾਲਤ ਬਦਲੋ(_C)" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "ਦੂਰ(_A)" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "ਵਾਪਸ(_B)" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "ਵਰਜਨ" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "ਵੇਰਵਾ" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "ਲੋਡ ਕਰਨ ਲਈ ਪਲੱਗਇਨ ਤੇ ਸਕ੍ਰਿਪਟ ਚੁਣੋ" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "ਲੋਡ(_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "ਇੰਞ ਸੰਭਾਲੋ..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "ਨਵਾਂ ਨੈੱਟਵਰਕ" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "ਕੀ ਅਸਲ ਵਿੱਚ \"%s\" ਨੈਟਵਰਕ ਅਤੇ ਇਸ ਦੇ ਸਰਵਰ ਹਟਾਉਣੇ ਹਨ?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "ਕੁੰਜੀ (ਪਾਸਵਰਡ)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "ਸੋਧ(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "ਚੁਣੇ ਸਰਵਰਾਂ ਨਾਲ ਹੀ ਜੁੜੋ" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ਕੁਨੈਕਸ਼ਨ ਅਸਫਲ ਹੋਣ ਤੇ ਸਰਵਰਾਂ ਵਿੱਚ ਚੱਕਰ ਨਾ ਲਗਾਉ।" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "ਪਰਾਕਸੀ ਸਰਵਰ ਬਾਏਪਾਸ ਕਰੋ" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "ਇਸ ਨੈਟਵਰਕ ਤੇ ਸਭ ਸਰਵਰਾਂ ਲਈ SSL ਵਰਤੋਂ" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "ਗਲੋਬਲ ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ ਵਰਤੋਂ" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "ਨਾਂ(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "ਦੂਜੀ ਚੋਣ:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "ਅਸਲੀ ਨਾਂ(_l):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "ਯੂਜ਼ਰ ਨਾਂ(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "ਪਾਸਵਰਡ:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "ਕਰੈਕਟਰ ਸੈੱਟ:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "ਤੀਜੀ ਚੋਣ:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "ਨੈੱਟਵਰਕ" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "ਸ਼ੁਰੂ ਵੇਲੇ ਨੈੱਟਵਰਕ ਲਿਸਟ ਨਾ ਵੇਖਾਓ" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "ਸੋਧ(_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "ਲੜੀਬੱਧ(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "ਕੁਨੈਕਟ ਕਰੋ(_C)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "ਅਲਬਾਨੀਆ" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "ਅਜਰਬਾਈਜਾਨ" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "ਬੇਲਾਰੂਸ" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "ਬੁਲਗਾਰੀਆ" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "ਈਸਟੋਨੀਆ" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "ਭਾਰਤ" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "ਮਲੇਸ਼ੀਆ" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "ਥਾਈਲੈਂਡ" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "ਵੀਅਤਨਾਮ" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "ਸਧਾਰਨ" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "ਫੋਂਟ:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "ਰੰਗਦਾਰ ਨਾਂ" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC ਤੇ ਹਰ ਵਿਅਕਤੀ ਨੂੰ ਵੱਖਰਾ ਰੰਗ ਦਿਓ" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "ਨਾਂਵਾਂ ਨੂੰ ਸੱਜੇ ਪਾਸੇ ਰੱਖੋ" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "ਮਾਰਕਰ ਲਾਈਨ ਵੇਖੋ" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "ਆਖਰੀ ਪੜ੍ਹੇ ਪਾਠ ਬਾਅਦ ਲਾਲ ਰੰਗ ਦੀ ਰੇਖਾ ਖਿੱਚੋ।" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "ਬੈਕਗਰਾਊਂਡ ਚਿੱਤਰ:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "ਪਾਰਦਰਸ਼ਤਾ ਸੈਟਿੰਗ" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "ਸਪੈਲ ਚੈਕਿੰਗ" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "ਨਾਂ ਪੂਰਤੀ" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "ਨਾਂ ਪੂਰਤੀ ਅਗੇਤਰ:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "ਨਾਂ ਪੂਰਨ ਲੜੀਬੱਧ:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "ਨਾ-ਕ੍ਰਮਬੱਧ" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "ਉੱਤੇ" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "ਹੇਠਾਂ" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "ਓਹਲੇ" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਵਿੱਚ ਹੋਸਟ ਨਾਂ" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "ਟੈਕਸਟ ਬਕਸਾ ਫੋਂਟ ਤੇ ਰੰਗ ਵਰਤੋਂ" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਕ੍ਰਮਬੱਧ:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਵੇਖੋ:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "ਇਸ ਤੋਂ ਛੋਟੇ ਚੈਨਲ ਲਈ:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "ਦੋ ਵਾਰ ਦਬਾਉਣ ਤੇ ਕਾਰਵਾਈ" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "ਟੈਬਾਂ" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "ਹਮੇਸ਼ਾ" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "ਸਿਰਫ਼ ਮੰਗੀਆਂ ਟੈਬਾਂ" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "ਲੜੀ" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "ਸਵਿੱਚਰ ਟਾਈਪ:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "ਸਰਵਰ ਸੁਨੇਹਿਆਂ ਲਈ ਵੱਖਰੀ ਟੈਬ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "ਜਦੋਂ ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ ਆਵੇ ਤਾਂ ਨਵੀਂ ਟੈਬ ਵਿੱਚ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "ਟੈਬਾਂ ਨੂੰ ਅੱਖਰ-ਕ੍ਰਮ ਅਨੁਸਾਰ ਰੱਖੋ " + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "ਛੋਟਾ ਟੈਕਸਟ" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "ਨਵੀਂ ਟੈਬਾਂ ਲਈ ਫੋਕਸ:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ ਵੇਖੋ:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "ਛੋਟਾ ਟੈਬ ਨਾਂ:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "ਅੱਖਰ" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "ਟੈਬਾਂ ਜਾਂ ਵਿੰਡੋਜ਼" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "ਚੈਨਲ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "ਡਾਈਲਾਗ ਵਿੱਚ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "ਸਹੂਲਤਾਂ ਨੂੰ ਖੋਲ੍ਹੋ:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "ਫਾਇਲਾਂ ਅਤੇ ਡਾਇਰੈਕਟਰੀਆਂ" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "ਫਾਇਲਾਂ ਡਾਊਨਲੋਡ ਕਰੋ:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "ਮੁਕੰਮਲ ਫਾਇਲਾਂ ਨੂੰ ਭੇਜੋ:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "ਫਾਇਲ ਨਾਂ ਵਿੱਚ ਨਾਂ ਸੰਭਾਲੋ" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "ਖੁਦ ਹੀ DCC ਵਿੰਡੋਜ਼ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "ਭੇਜਣ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "ਪ੍ਰਾਪਤੀ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "ਗੱਲਬਾਤ ਵਿੰਡੋ" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "ਇੱਕ ਅੱਪਲੋਡ:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "ਇੱਕ ਸੰਚਾਰ ਲਈ ਵੱਧੋ-ਵੱਧ ਗਤੀ" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "ਇੱਕ ਡਾਊਨਲੋਡ:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "ਸਭ ਅੱਪਲੋਡ ਜੋੜ:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "ਸਭ ਫਾਇਲਾਂ ਲਈ ਵੱਧੋ-ਵੱਧ ਗਤੀ" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "ਸਭ ਡਾਊਨਲੋਡ ਜੋੜ:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "ਚੇਤਾਵਨੀ" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "ਟਰੇ ਆਈਕਾਨ ਝਪਕਾਓ:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "ਟਾਸਕ ਬਾਰ ਝਪਕਾਓ:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "ਬੀਪ ਸਾਊਂਡ ਦਿਓ:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "ਸਿਸਟਮ ਟਰੇ ਆਈਕਾਨ ਚਾਲੂ" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "ਹਾਈਲਾਈਟ ਕੀਤੇ ਸੁਨੇਹੇ" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "ਹਾਈਲਾਈਟ ਕਰਨ ਲਈ ਹੋਰ ਸ਼ਬਦ:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "ਨਾ ਹਾਈਲਾਈਟ ਕਰਨ ਵਾਲੇ ਨਾਂ:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "ਹਮੇਸ਼ਾ ਹਾਈਲਾਈਟ ਕਰਨ ਵਾਲੇ ਨਾਂ:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "ਡਿਫਾਲਟ ਸੁਨੇਹੇ" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "ਬਾਹਰ:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "ਚੈਨਲ ਛੱਡਣਾ:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "ਦੂਰ:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "ਦੂਰ" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "ਦੂਰ ਇੱਕ ਵਾਰ ਹੀ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "ਖੁਦ ਹੀ ਦੂਰ ਨੂੰ ਨਾ-ਮਾਸਕ ਕਰੋ" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "MODE ਨੂੰ ਕੱਚੇ ਰੂਪ ਵਿੱਚ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "ਦਾਖਲਾ ਤੇ ਛੱਡਣਾ ਸੁਨੇਹੇ ਓਹਲੇ" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "ਅੰਤਰਾਲ ਬਾਅਦ ਮੁੜ-ਕੁਨੈਕਟ:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "ਲਾਗ ਰੱਖਣਾ" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "ਪਿਛਲੇ ਸ਼ੈਸ਼ਨ ਤੋਂ ਸਕਰੋਲਬੈਕ ਵੇਖਾਓ" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "ਸਕਰੋਲਬੈਕ ਲਾਈਨਾਂ:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "ਗੱਲਾਂਬਾਤਾਂ ਲਈ ਡਿਸਕ ਉੱਤੇ ਲਾਗ ਰੱਖਣਾ ਚਾਲੂ" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "ਲਾਗ ਫਾਇਲ ਨਾਂ:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Channel %n=Network" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "ਲਾਗ ਵਿੱਚ ਸਮਾਂ ਮੋਹਰ ਸ਼ਾਮਿਲ ਕਰੋ" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "ਲਾਗ ਸਮਾਂ ਮੋਹਰ ਫਾਰਮੈਟ:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(ਆਯੋਗ)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "ਤੁਹਾਡਾ ਐਡਰੈਸ" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "ਸਬੰਧਿਤ:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "ਕਈ ਐਡਰੈਸਾਂ ਵਾਲਿਆਂ ਲਈ ਹੀ ਫਾਇਦੇਮੰਦ।" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC ਸਰਵਰ ਤੋਂ ਮੇਰਾ ਐਡਰੈੱਸ ਪ੍ਰਾਪਤ ਕਰੋ" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP ਐਡਰੈੱਸ:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "ਸਰਵਰ ਸਰਵਰ" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "ਹੋਸਟ ਨਾਂ:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "ਪੋਰਟ:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "ਕਿਸਮ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "ਯੂਜ਼ਰ ਨਾਂ:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "ਇੱਕ ਤਸਵੀਰ ਫਾਇਲ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "ਡਾਊਨਲੋਡ ਫੋਲਡਰ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "ਫੋਂਟ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "ਝਲਕ..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "ਡਾਟਾ ਫੋਲਡਰ ਖੋਲ੍ਹੋ" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "ਚੋਣ ਰੰਗ" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "ਪਾਠ ਰੰਗ" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC ਰੰਗ:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "ਲੋਕਲ ਰੰਗ:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "ਫਾਰਗਰਾਊਂਡ:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "ਬੈਕਗਰਾਊਂਡ:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "ਇੰਟਰਫੇਸ ਰੰਗ" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "ਨਵਾਂ ਡਾਟਾ:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "ਮਾਰਕਰ ਲਾਈਨ:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "ਨਵਾਂ ਸੁਨੇਹਾ:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "ਦੂਰ ਯੂਜ਼ਰ:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "ਹਾਈਲਾਈਟ:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "ਈਵੈਂਟ" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "ਸਾਊਂਡ ਫਾਇਲ" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "ਸਾਊਂਡ ਫਾਇਲ ਚੁਣੋ" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "ਸਾਊਂਡ ਫਾਇਲ:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "ਝਲਕ(_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "ਚਲਾਓ(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "ਇੰਟਰਫੇਸ" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "ਇੰਪੁੱਟ ਬਕਸਾ" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "ਯੂਜ਼ਰ ਲਿਸਟ" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "ਚੈਨਲ ਸਵਿੱਚਰ" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "ਰੰਗ" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "ਗੱਲਬਾਤ ਜਾਰੀ ਹੈ" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "ਤਕਨੀਕੀ" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "ਨੈੱਟਵਰਕ ਸੈੱਟਅੱਪ" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "ਫਾਇਲ ਟਰਾਂਸਫਰ" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "ਕੈਟਾਗਰੀਆਂ" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "ਕੁਝ ਅਜਿਹੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਜੋ ਕਿ ਮੁੜ ਚਾਲੂ ਕਰਨ ਉਪਰੰਤ ਹੀ ਲਾਗੂ ਹੋ ਸਕਣਗੀਆਂ।" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "ਸਤਰ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "ਇਹ ਸੰਕੇਤ ਨੂੰ ਕੇਵਲ %d ਮੁੱਲ ਦਿੱਤੇ ਜਾ ਸਕਦੇ ਹਨ, $%d ਗਲਤ ਹੈ" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "ਟੈਕਸਟ ਫਾਇਲ ਛਾਪੋ" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ ਅੰਕ" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "ਘਟਨਾ ਸੋਧ" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "ਇਥੋਂ ਲੋਡ..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "ਸਭ ਦੀ ਜਾਂਚ" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "ਲਿਸਟ ਸਾਫ਼" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "ਚੁਣੇ URL ਦੀ ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "ਕਾਪੀ ਕਰੋ" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "ਲਿਸਟ ਫਾਇਲ `ਚ ਸੰਭਾਲੋ" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ਕੁੱਲ" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "ਇੱਕ irc://server:port/channel URL ਖੋਲ੍ਹੋ" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000000000000000000000000000000000000..5fde04e1e5b096b6fa780167268d6210a35f1d3f --- /dev/null +++ b/po/pl.po @@ -0,0 +1,6269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Marcin Szymański <cysioland@gmail.com>, 2014 +# Marcin Szymański <cysioland@gmail.com>, 2014 +# Eustachy_Kapusta <eustachy.kapusta@gmail.com>, 2012 +# Eustachy_Kapusta <eustachy.kapusta@gmail.com>, 2013-2014 +# Hubert Ślósarski <inactive+hsslosars@transifex.com>, 2018 +# Jakub Wasielewski <jakub@wasielewski.info>, 2005 +# Krzysztof Blachnicki <necrokris@gmail.com>, 2013 +# Krzysztof Blachnicki <necrokris@gmail.com>, 2013 +# lipvig <p@ryciuk.com>, 2014 +# Marcin Mikołajczak <me@mkljczk.pl>, 2016 +# Marcin Mikołajczak <me@mkljczk.pl>, 2016 +# Marcin Szymański <cysioland@gmail.com>, 2014 +# Michał Sidor <michcioperz@gmail.com>, 2017 +# Michał Sidor <michcioperz@gmail.com>, 2017 +# lipvig <p@ryciuk.com>, 2014 +# Eustachy_Kapusta <eustachy.kapusta@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-05-13 14:45+0000\n" +"Last-Translator: Hubert Ślósarski <inactive+hsslosars@transifex.com>\n" +"Language-Team: Polish (http://www.transifex.com/hexchat/hexchat/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Klient IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat jest prostym, lecz dowolnie poszerzalnym klientem IRC. Pozwala na bezpieczne dołączenie do wielu sieci i rozmawianie z użytkownikami prywatnie bądź na kanałach. Można nawet przesyłać pliki." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat wspiera takie funkcje, jak: DCC, SASL, serwery proxy, sprawdzanie pisowni, alerty, logi, własne motywy i skrypty w Pythonie/Perlu." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Główne okno czatu" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Rozmawiaj z innymi ludźmi przez internet" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Otwórz tryb bezpieczny" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Menedżer motywów HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jestem zajęty" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Wychodzi" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nieustawione}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Sieć" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<brak>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanał" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Czekam" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktywne" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Nieudane" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Ukończone" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Połącz" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Przerwane" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nie mogę odczytać %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Błąd" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s proponuje \"%s\". Czy zgadzasz się?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Brak aktywnych DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Otwórz okno rozmowy" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Wyślij plik" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Informacje o _użytkowniku (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Dodaj do listy znajomych" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignoruj" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Akcje o_peratora" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Nadaj status operatora" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Zabierz status operatora" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Pozwól mówić podczas moderacji" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Zabroń mówić podczas moderacji" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Wypraszanie/banowanie" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Wyproś" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Zbanuj" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Wyproś i zbanuj" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Wyjdź z kanału" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Dołącz do kanału..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Podaj kanał do dołączenia:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Połączenia szkieletowe" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Serwer pingu" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ukryj wersję" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "<papa>" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Podaj powód wyproszenia %s z kanału:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Rozmowa" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Wyślij" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Czat bezpośredni" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Wyczyść" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Nie możesz zapisywać %s. Nic z tej sesji nie może być zapisanego." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Używanie IRC-a jako root to głupota! Utwórz \nkonto użytkownika, aby logować się z niego.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "TAK" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NIE" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s zasypuje Cię pakietami CTCP! Ignoruję %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Zostałeś/aś zasypany/a wiadomościami przez %s, ustawiam gui_autoopen_dialog OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nie znaleziono" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s podłączony\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s niepodłączony\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nie jesteś na żadnym kanale. Użyj polecenia /join #<nazwa_kanalu>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Brak połączenia z serwerem. Użyj polecenia /server <nazwa_hosta> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Serwer %s już jest dodany do sieci %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Dodano serwer %s do sieci %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Już zaznaczony jako nieobecny: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Już zaznaczony jako obecny.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Do uruchomienia tego potrzebna jest powłoka /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Dostępne polecenia:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Polecenia użytkownika:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Polecenia wtyczek:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Wpisz /HELP <polecenie> aby uzyskać więcej informacji lub /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nierozpoznany argument '%s' zignorowany." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Wyciszanie nie jest wpierane przez serwer." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Nie znaleziono danej wtyczki.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ta wtyczka odmawia wyładowania.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nazwa> <akcja>, dodaje przycisk pod listą użytkowników" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NowaSiec> <nowyserver/6667>, dodaje nową siec z nowym serwerem do listy sieci" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <polecenie>, wysyła polecenie do wszystkich kanałów, w których się znajdujesz" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <polecenie>, wysyła polecenie do wszystkich kanałów na aktualnym serwerze" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <polecenia>, wysyła polecenie do wszystkich serwerów, z którymi jesteś połączony/a" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ustawia status obecności (nie nieobecności)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maska> [<rodzaj>], banuje wszystkich pasujących do maski na danym kanale. Jeśli są oni obecni w tym kanale te polecenie nie spowoduje ich wyproszenia (musisz być operatorem kanału)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <zmienna> [<wartość>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kodowanie>], wyświetl albo ustaw kodowanie dla bieżącegopołączenia" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY]|[-]<ilosc>, czyści aktualną zawartość okna lub historię poleceń" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|maska>, odszukuje kod kraju, np.: pl = Polska" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <wiadomość>, wysyła wiadomość CTCP do użytkownika o podanym nicku. Typowe wiadomości to VERSION (wersja) oraz USERINFO (informacje o użytkowniku)" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanał>], wyjście i natychmiastowy powrót do kanału" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - przyjmuje zaoferowany plik\nDCC SEND [-makszns=#] <nick> [plik] - wysyła plik do kogoś o podanym nicku\nDCC PSEND [-makszns=#] <nick> [plik] - wysyła plik w trybie pasywnym\nDCC LIST - wyświetla listę połączeń bezpośrednich\nDCC CHAT <nick> - oferuje użytkownikowi o podanym nicku czat bezpośredni\nDCC PCHAT <nick> - oferuje użytkownikowi o podanym nicku\n czat bezpośredni w trybie pasywnym\nDCC CLOSE <rodzaj> <nick> <plik> - zamyka określone połączenie bezpośrednie\n przykład:\n/dcc close send jasio plik.zip" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, zabiera uprawnienia półoperatora użytkownikowi o podanym nicku w aktualnym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nazwa>, usuwa przycisk spod listy użytkowników" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, zabiera uprawnienia operatora użytkownikowi o podanym nicku na aktualnym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, zabiera prawo głosu użytkownikowi o podanym nicku na aktualnym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, zamknięcie połączenia z serwerem" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, odszukuje adres IP użytkownika" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, wypisuje lokalnie zadany tekst" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <polecenie>, uruchamia polecenie. Jeśli podana jest opcja -o wówczas wynik jest wysyłany do aktualnego kanału, w innym wypadku jest wyświetlany lokalnie" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, wysyła procesowi sygnał SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], zabija uruchomiony proces w aktualnej sesji. Jeśli podana jest opcja -9, proces otrzymuje sygnał SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, wysyła procesowi sygnał SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, wysyła dane na standardowe wejście procesu" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, eksportuje ustawienia HexChata" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHHQ, opróżnia aktualną kolejkę wysyłkową serwera" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], włączenie pośredniczenia przez host, domyślny portto 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nick> [hasło], Pozbywa się martwego nicka" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, nadaje status półoperatora kanału (musisz być operatorem kanału)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <hasło>, identyfikuje Cię wobec serwera" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maska> <rodzaje..> <opcje..>\n maska - maska ignorowanego hosta, przykład: *!*@*.tpnet.pl\n rodzaje - zakres ignorowania, jeden rodzaj lub ALL:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opcje - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<kanal>], wysyła zaproszenie do kanału, domyślnie jest to aktualny kanał (musisz być operatorem kanału)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanał>, dołączenie do kanału" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick> [powód], wyprasza użytkownika z aktualnego kanału (musisz być operatorem kanału)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nick> [powód], banuje a następnie wyprasza użytkownika z aktualnego kanału (musisz być operatorem kanału)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, wymuszenie sprawdzenia opóźnienia w komunikacji z serwerem" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <ciąg>, szuka danego ciągu w buforze\n Użyj -h aby podświetlić znaleziony/ne ciąg/i\n Użyj -m aby wielkość znaków miała znaczenie\n Użyj -r gdy ciąg jest Wyrażeniem Regularnym\tUżyj -- (podwójna kreska) aby zakończyć opcje gdy szukasz, na przykład, ciąg '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <plik>, załadowanie wtyczki lub skryptu" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, masowe odebranie statusu półoperatora wszystkim na aktualnym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, masowe odebranie statusu operatora wszystkim na aktualnym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <akcja>, wysyła akcję do aktualnego kanału (akcje pisane są 3. osobie, tak jak /me skacze)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, wyrzuca wszystkich oprócz ciebie w bieżącym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, daje wszystkim użytkownikom status operatora na bieżącym kanale (musisz być operatorem kanału)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nick> <wiadomośc>, wysyła prywatną wiadomość, użyj \".\" aby wysąć wiadomośc do ostatnio uzytego nicka albo użyj \"=\" aby rozpocząć dcc chat" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES, [kanał] wyświetla listę nicków na bieżącym kanale" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <wiadomość>, wysyła ogłoszenie CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <nazwa hostu> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nick>, zmiana nicka" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <nick/kanał> <wiadomość>, wysyła ogłoszenie" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nick>], wyświetla listę powiadomień lub dodaje kogoś do niej" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, daje nicku status operatora kanału (musisz być operatorem kanału)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<powód>], opuszcza kanał, domyślnie obecny" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | kanal>, wysyła ping do nicka lub kanału za pomocą CTCP" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <nick> [wiadomość], otwiera nowe okno rozmowy" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUITE <maska> [<rodzaj>], wycisza wszystkich pasujących do maski w danym pokoju - jeśli jest to wspierane przez serwer." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<powód>], odłącza się od obecnego serwera" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, wysyła surowy tekst do serwera" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<hasło>], można użyć jako /RECONNECT aby ponownie połączyć się do bieżącego serwera lub /RECONNECT ALL aby ponownie połączyć się do wszystkich otwartych serwerów" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<hasło>], można użyć jako /RECONNECT aby ponownie połączyć się do bieżącego serwera lub /RECONNECT ALL aby ponownie połączyć się do wszystkich otwartych serwerów" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <tekst>, wyślij surowe dane do HexChata, tak jakby zostały odebrane od serwera IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nazwa>, przeładowuje plugin lub skrypt" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, wysyła tekst do obiektu w bieżącym oknie" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<plik>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <kanal>, łączy i dołącza do kanału" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <kanal>, łączy i dołącza do kanału" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<hasło>], łączy Cię z serwerem, domyślny port to 6667 dla zwykłych połączeń, 6697 dla połączeń ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<hasło>], łączy się z serwerem, domyślny port to 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <zmienna> [<wartość>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<pozycja>, przestawia kursor w polu wprowadzania" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nowa nazwa>, zmienia nazwę zakładki, nadal obowiązuje limit z tab_trunc" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <nowy tekst>, zmienia tekst w polu wprowadzania" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<temat>], określa temat jeśli jest podany, inaczej pokazuje bieżący temat" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <limit czasu> <plik1> [<plik2>] Miga w zasobniku pomiędzy dwoma ikonami.\nTRAY -f <nazwa pliku> Ustawia zasobnik do ustalonej ikony.\nTRAY -i <numer> Miga w zasobniku wewnętrzną ikoną.\nTRAY -t <tekst> Ustawia tooltip zasobnika.\nTRAY -b <tytuł> <tekst> Ustawia balon zasobnika." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], odbanuje podane maski." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nazwa>, usuwa wtyczkę lub skrypt" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <maska> [<maska>...], usuwa wyciszenie - jeśli jest to wspierane przez serwer." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, otwiera URL w twojej przeglądarce" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> itp, podświetla nick(i) w liście użytkowników kanału" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, przyznaje komuś prawo głosu (musisz być operatorem kanału)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <wiadomość>, pisze wiadomość do wszystkich kanałów" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <wiadomość>, wysyła wiadomość do wszystkich operatorów w bieżącym kanale" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Polecenie Użytkownika dla: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Wykorzystanie: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNie ma pomocy do tego polecenia.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Polecenie nieznane.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Złe argumenty przekazane temu poleceniu.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Zbyt wiele rekursywnych poleceń użytkownika, przerywam." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Brak symbolu hexchat_plugin_init; czy to na pewno plugin HexChata" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Czy jesteś pewien/pewna, że ten serwer i/lub port obsługuje SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nie można rozwiązać nazwy hosta %s\nSprawdź twoje ustawienia IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Nieudane połączenie z serwerem pośredniczącym.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Skocz do następnego serwera w %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Uwaga: nieznane kodowanie \"%s\". Nie będzie stosowanej konwersji dla sieci %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O dodany do listy powiadomień." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O na %C24$4%O przez %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNie można dołączyć %C22$1 %O(%C20Jesteś zbanowany%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tPotwierdzone funkcje: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tWspierane funkcje: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tŻądane funkcje: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O jest znany teraz jako %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ustawia bana na %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanał %C22$1%O został założony %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa status półoperatora kanału %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa status operatora kanału %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa głos %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C ustawił/a wyjątek w %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O daje status półoperatora kanału dla %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C ustawia wyjątek na %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UPokój Użyt. Temat" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O ustawia status %C24$2$3%O na %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanał %C22$1%O tryby: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O daje status operatora kanału dla %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ustawia wyciszenie na %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa wyjątek %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa wyjątek dla %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O usuwa hasło kanału" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O usuwa limit użytkowników" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O ustawia hasło kanału na %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O ustawia limit na kanale do %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa bana na %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O usuwa wyciszenie dla %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tURL %C22$1%O kanału: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O daje głos dla %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tPołączono. Logowanie." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tŁączenie z %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tPołączenie nieudane (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tOtrzymano CTCP %C24$1%C od %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tOtrzymano CTCP %C24$1%C od %C18$2%C (do %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tOtrzymano CTCP Sound %C24$1%C od %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tOtrzymano CTCP Sound %C24$1%C od %C18$2%O (do %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tPrzerwano czat bezpośredni z %C18$1%O." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tPołączenie czatu bezpośredniego z %C18$1%C %C30[%C24$2%C30]%O ustanowione" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tUtracono (%C20$4%O) połączenie czatu bezpośredniego z %C18$1%O" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tOtrzymano ofertę czatu bezpośredniego od %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tOferowanie czatu bezpośredniego dla %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tJuż oferujesz czat dla %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tPróba czatu bezpośredniego $1 do %C18$2%O zawiodła (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tOtrzymano '%C23$1%C' od %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tOtrzymano uszkodzone żądanie czatu bezpośredniego od %C18$1%O.$a010%C23*%O$tZawartość pakietu: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tOferowanie '%C24$1%O' dla %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNie ma takiego żądania czatu bezpośredniego." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tPrzerwano DCC RECV '%C23$2%O' do %C18$1%O" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tUkończono DCC RECV '%C23$1%O' od %C18$3%O %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tUstanowiono DCC RECV do %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' od %C18$3%O nie powiodło się (%C20$4%O) " + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Nie można otworzyć '%C23$1%C' do zapisu (%C20$2%O) " + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tPlik '%C24$1%C' już istnieje, zostanie zapisywany jako '%C23$2%O'" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C zażądał wznowienia '%C23$2%C' od %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tPrzerwano DCC SEND '%C23$2%C' do %C18$1%O" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tUkończono DCC SEND '%C23$1%C' do %C18$2%C %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tUstanowiono połączenie DCC SEND do %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCCSEND '%C23$1%C' do %C18$2%C nie powiodło się (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C oferuje '%C23$2%C' (%C24$3%O bajtów)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' do %C18$3%O wstrzymane, przerywanie." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' do %C18$3%O przekroczyło limit czasu żadania, przerywanie." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O usunięto z listy powiadomień." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tRozłączono (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tWykryto Twoje IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O dodano do listy ignorowanych." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OZmieniono %C18$1%O w liście ignorowanych." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O usunięto z listy ignorowanych." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLista ignorowanych jest pusta." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tNie można dołączyć do %C22$1%C (%C20Kanał jest tylko dla zaproszonych%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tZostałeś/aś zaproszony/na do %C22$1%O przez %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) dołączył/a" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNie można dołączyć do %C22$1%C (%C20Hasło jest wymagane%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C wyrzucił/ła %C18$2%C z %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Zostałes usunięty przez %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Pominiete%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C jest obecnie używany. Próbuję ponownie z %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C jest błędny. PRóbuje ponownie z %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tNick jest błędny albo w uzyciu. Użyj /NICK aby wybrać inny." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNie ma takiego DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tŻaden taki proces nie jest aktualnie uruchomiony" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tPowiadomienie: %C18$1%C jest nieobecny (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tPowiadomienie: %C18$1%C wrócił/a" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLista powiadomień jest pusta." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O użytkowników w liscie powiadomień." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tPowiadomienie: %C18$1%C jest offline (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tPowiadomienie: %C18$1%C jest online (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) wyszedł/a" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) wyszedł/a ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tOdpowiedź ping od %C18$1%C: %C24$2%O sekund" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tBrak odpowiedzi PING przez %C24$1%O sekund, rozłączanie." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tProces jest aktualnie uruchomiony" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 rozłączył/a się ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C ustawia tryb %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tSprawdzanie adresu IP dla %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tUwierzytelnianie przez SASL jako %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tPołączono." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tSprawdzanie %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tPrzerwano poprzednią próbe połączenia (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTemat dla %C22$1%C to: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C zmienił temat na: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTemat %C22$1%C ustawiony przez %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tNieznany host. Może źle go napisałeś/aś?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tNie można dołączyć do %C22$1%C (%C20Osiągnięto limit użytkowników%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUżytkowników na %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C jest nieobecny %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OKoniec listy WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, połaczono: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Prawdziwy Host: %C23$2%O, Prawdziwe IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tRozmawiasz na %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tZostałeś/aś wyrzucony/na z %C22$2%C przez %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tOpuściłeś/aś kanał %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tOpuściłeś/aś kanał %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tZostałeś/aś zaproszona %C18$1%O do %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tJesteś teraz znany/na jako %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Załadowany dziennik z" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ZAKOŃCZ LOGOWANIE O %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZACZNIJ LOGOWANIE O %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Nie można otworzyć pliku z logiem do zapisu. Sprawdź\nuprawnienia dla %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Wiadomość z lewej" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Wiadomość z prawej" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Adres IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Użytkownik" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Nick wchodzącej osoby" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Zostaje połączony kanał" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Host" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Konto osoby" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nick" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Akcja" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Znak trybu" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Rozpoznany tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Tekst" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Wiadomość" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nazwa Serwera" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Potwierdzono funkcje" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Funkcje serwera" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Żądane funkcje" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Stary nick" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nowy nick" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nick osoby, która zmieniła temat" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Temat rozmowy" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Nick wypraszającego" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Wypraszana osoba" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanał" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Powód" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Nick osoby wychodzącej" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Czas" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Twórca" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Powód" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kto jest z" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Czas w postaci x.x (zobacz poniżej)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanał o który chodzi" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Dzwięk" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Nick osoby" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Żądanie CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Nick osoby, która ustawiła hasło dostępu" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Hasło" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Nick osoby, która ustawiła limit" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Nick osoby, która dała prawa operatora" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Nick osoby, która otrzymała prawa operatora" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Nick osoby, która otrzymała prawa półoperatora" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Nick osoby, która dała prawa półoperatora" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Nick osoby, która miała prawo głosu" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Nick osoby, której dano prawo głosu" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Nick banującej osoby" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Maska bana" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Nick osoby, która użyła wyciszenia" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Maska wyciszenia" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Nick, który ustawił hasło" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Nick, który ustawił limit" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Nick osoby, której zabrano prawa operatora" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Nick osoby, której zabrano prawa półoperatora" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Nick osoby, której zabrano prawo głosu" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Nick osoby, która ustawiła wyjątek" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Maska wyjątku" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Nick osoby, która usunęła wyjątek" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Nick osoby, która wysłała zaproszenie" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Maska zaproszenia" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Nick osoby, która usunęła zaproszenie" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Nick osoby, która ustawiła tryb" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Znak trybu (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Litera trybu" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanał który będzie ustawiony" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Personalia" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Członkostwo kanału/\"jest operatorem IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informacje o serwerze" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Czas nieaktywności" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Data wejścia" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Powód nieobecności" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Wiadomość" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Prawdziwy user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Prawdziwy adres IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nazwa kanału" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Metoda" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Czyste numeryczne albo identyfikator" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nick osoby wysyłającej zaproszenie" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Użytkownicy" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Używany nick" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Próbowany nick" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Opcje" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "Adres URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Rodzaj DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nazwa pliku" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Docelowa nazwa pliku" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Ścieżka" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Wysłane" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Rozmiar" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "String DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Powód nieobecności" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Liczba pozycji powiadamiających" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Stara nazwa pliku" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nowa nazwa pliku" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Odbiorca" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Maska hosta" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Nazwa hosta" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pakiet" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekundy" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nick zaproszonej osoby" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maska bana" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kto ustawił bana" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Czas bana" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nie można odczytać pliku dźwiękowego:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Zdalny host zamknął połączenie" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Odmowa połączenia" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Brak drogi do hosta" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Połączenie wygasło" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nie można przypisać tego adresu" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Połączenie zerwane przez drugą stronę" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Wyspa Wniebowstąpienia" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Zjednoczone Emiraty Arabskie" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Obszary związane z lotnictwem" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua i Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albania" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antyle Holenderskie" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktyka" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentyna" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Odwrotny DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Amerykańskie" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Region Azjii i Pacyfiku" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australia" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Wyspy Alandzkie" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbejdżan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bośnia i Hercegowina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesz" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgia" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bułgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Przedsiębiorstwa" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Boliwia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazylia" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Wyspa Bouveta" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Białoruś" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalonia" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Wyspy Kokosowe" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratyczna Republika Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Republika Środkowoafrykańska" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Szwajcaria" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Wybrzeże Kości Słoniowej" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Wyspy Kuka" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Czile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Chiny" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Domena komercyjna" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Spółdzielnie" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kostaryka" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia i Czarnogóra" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Republika Zielonego Przylądka" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Wyspa Wielkanocna" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cypr" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Czechy" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Niemcy Zachodnie" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Niemcy" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Dżibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dania" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Republika Dominikany" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algieria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekwador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Instytucja Naukowa" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Zachodnia Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Erytrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Hiszpania" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Unia Europejska" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidżi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandy" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezja" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Wyspy Owcze" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francja" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Wielka Brytania" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzja" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Gujana Francuska" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Brytyjskie Wyspy Kanału" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grenlandia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gwinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Domena Rządowa" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gwadelupa" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Gwinea Równikowa" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grecja" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Georgia Południowa i Sandwich Południowy" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gwatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Gwinea Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Gujana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Wyspy Heard i McDonalda" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Chorwacja" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Węgry" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlandia" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Wyspa Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indie" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informacyjne" + +#: src/common/util.c:803 +msgid "International" +msgstr "Międzynarodowe" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Brytyjskie Terytorium Oceanu Indyjskiego" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Włochy" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordania" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Korporacje" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonia" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodża" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komory" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts i Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Korea Północna" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Korea Południowa" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwejt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kajmany (wyspy)" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litwa" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Łotwa" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Mołdawia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Czarnogóra" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Medycyna Stanów Zjednoczonych" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Wyspy Marshalla" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Domena wojskowa" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Urządzenia Mobilne" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Mariany Północne" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martynika" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauretania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat (wyspa)" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Muzea" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Malediwy" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksyk" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malezia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Nazwy jednostek" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nowa Kaledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Sieć Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holandia" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norwegia" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nowa Zelandia" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organizacja Internic non-profit" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinezja Francuska" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua-Nowa Gwinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipiny" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polska" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Saint-Pierre i Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Portoryko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Branża" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Terytorium Palestyńskie" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugalia" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragwaj" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumunia" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet starej szkoły" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rosja" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabia Saudyjska" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Wyspy Salomona" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seszele" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Szwecja" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Święta Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Słowenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Wyspy Svalbard i Jana Mayena" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Słowacja" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Południowy Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Wyspy Świętego Tomasza i Książęca" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Były ZSRR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salwador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Suazi" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Wyspy Turks i Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Czad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Usługi Telekomunikacyjne" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francuskie Terytoria Południowe" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tajlandia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadżykistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Wschodni" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunezia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turcja" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Podróże i Turystyka" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trynidad i Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Wielka Brytania" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Chameryka" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Urugwaj" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Watykan" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Saint Vincent i Grenadyny" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Wenezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Brytyjskie Wyspy Dziewicze" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Wyspy Dziewicze Stanów Zjednoczonych" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Wietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wyspy Wallis i Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Branża dla dorosłych" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Majotta" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugosławia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afryka Południowa" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nie można połączyć się z magistralą sesji" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Nie można zakończyć NazwęMaWłaściciel" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Nie można zakończyć polecenia" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "zdalny dostęp" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "wtyczka do zdalnego dostępu za pomocą DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Nie można połączyć się z busem sesji: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Nie można nabyć %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tablica znaków" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bany" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Wyjątki" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Wyjątek" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Zaproszenia" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Zaproś" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Wyciszeni" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Wyciszenia" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Maska kopiowania" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s na %s przez %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Wpis kopiowania" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Połącz ponownie" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Musisz zaznaczyć jakieś bany." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Czy jesteś pewnien, że chcesz usunać wszystkie rzeczy z listy w %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Typy" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Możesz otworzyć okno listy banów tylko wtedy gdy znajdujesz się na karcie kanału." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Usuń" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Skróć" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Odśwież" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Wyświetlanych %d/%d użytkowników na %d/%d kanałach." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Wybierz nazwę pliku wyjściowego" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Dołącz do kanału" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopiuj nazwę kanału" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopiuj tekst _tematu" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Szukaj" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Lista pobierania" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Zapisz _listę..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Pokaż tylko:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanały z" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "do" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "użytkownicy." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Zobacz w:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nazwa kanału" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Typ wyszukiwania:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Proste wyszukiwanie" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Dopasowanie do wzorca (maski)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Wyrażenie regularne" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Szukaj:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Wyślij plik do %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Ten plik nie może być wznawiany." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Nie można uzyskać dostępu do pliku: %s\n%s.\nWznawianie nie jest możliwe." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Plik w katalogu pobierania jest większy niż zaoferowany. Wznawianie nie jest możliwe." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nie można wznowić tego samego pliku od dwóch osób." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Plik" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Pozostało" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Obydwa" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Wysyłania" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Pobieraj pliki do:" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Informacje o tobie" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Plik:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adres IP:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Przerwij" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Przyjmij" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Wznów" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Otwórz folder..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Odebrane" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Wysłane" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Początek" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Dodaj" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Usuń" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Anuluj" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Zapisz" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Nie łącz automatycznie z serwerem" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Użyj innego katalogu konfiguracyjnego" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Nie ładuj automatycznie żadnych wtyczek" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Wyswietl folder z automatycznie ładowanymi pluginami/skryptami" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Pokaż katalog ustawień użytkownika" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Otwórz adres irc://server:port/kanał?klucz URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Uruchom polecenie:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Otwórz link albo uruchom komendę w otwartym HexChatcie" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Rozpocznij zminimalizowanie. Poziom 0=normalny 1=minimalizowany 2=w zasobniku" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "poziom" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Pokaż informacje o wersji" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Nie można otworzyć czcionki:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Bufor szukania jest pusty.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bajtów" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Kolejka sieci wysłania: %d bajtów" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Polecenie Run Command uruchamia dane w Dane 1 tak jakby były wpisane w linii poleceń, w kolejności wciśniętych klawiszy. Tak więc mogą zawierać one tekst (który zostanie wysłany do kanału/osoby), polecenia lub polecenia użytkownika\\n\n oddziela polecenia, tak że można uruchomić kilka poleceń. Jeśli potrzebujesz \\ w tekście, wpisz \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Polecenie Change Page przełącza pomiędzy stronami w notatniku. Ustaw w Dane 1 stronę do której chcesz przełączyć. Jeśli podane jest coś w Dane 2 przełącza to w stosunku do aktualnej pozycji. Ustaw Data 1 na auto aby przełączyć się do strony z aktywnością i ważnymi wydarzeniami (pierwsze są okienka rozmowy, później kanały z podświetleniami, kanały z rozmowami, kanały z innymi danymi)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Polecenie Insert in Buffer wstawia zawartość \"Dane 1\" do miejsca wciśnięta kolejności klawiszy przy pozycji kursora" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Polecenie Scroll Page przewija tekst widżetu o jedną stronę w górę lub w dół. Możliwe wartości dla \"Dane 1\": Top, Bottom, Up, Down, +1 lub -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Polecenie Set Buffer ustawia wpis gdzie została podana kolejność klawiszy do zawartości \"Dane 1\"" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Polecenie Last Command ustawia wpis zawierający ostatnie polecenie - tak samo jak naciśnięcie w górę w shellu" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Polecenie Next Command ustawia wpis zawierający następne polecenie - tak samo jak naciśnięcie w dół w shellu" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "To polecenie zmienia tekst w wpisie aby uzupełnić niekompletny nicku lub polecenie. Jeśli podane są \"Dane 1\" dwukrotny tab wybiera ostatni nick, a nie następny" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "To polecenie przewija w górę i w dół, poprzez listę nicków. Jeśli podane są \"Dane 1\" wszystko przewija w górę, inaczej w dół" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "To polecenie sprawdza ostatnie wpisane słowo w liście zastąpień a następnie wymienia je, jeżeli znajdzie zgodę" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "To polecenie przenosi bieżącą kartę o jedną pozycję w lewo" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "To polecenie przenosi bieżącą kartę o jedną pozycję w prawo" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "To polecenie przenosi bieżącą grupę kart o jedną pozycję w lewo" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "To polecenie przenosi bieżącą grupę kart o jedną pozycję w prawo" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Wstaw linię wejściową do historii, ale nie wysyłaj do serwera" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Wystąpił błąd podczas ładowania konfiguracji klawiszy" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Wybierz wiersz by uzyskać informacje o akcji" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nie można zapisać do tego pliku." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nie może odczytać tego pliku." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ta maska już istnieje." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Prywatne" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Ogłoszenia" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Nie ignoruj" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Czy jesteś pewien, że chcesz wyczyścić listę ignorowanych?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Podaj maskę którą zignorować:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statystyki zignorowanych:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanał:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Prywatne:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Ogłoszenia:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Zaproszenia:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Dodaj..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nazwa kanału jest za krótka, spróbuj ponownie." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Połączenie z %s zakończone." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Co chcesz następnie zrobić?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nic, dołączę do kanału później." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "We_jdź do Kanału:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Jeśli znasz nazwę kanału, do którego chcesz dołączyć, wpisz ją tutaj." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Zawsze pokazuj to okno rozmowy po podłączeniu." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Rozmowa z" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Temat rozmowy kanału %s to: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Brak tematu rozmowy" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Ten serwer ma wciąż %d otwartych kanałów lub rozmów. Zamknąć je wszystkie?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Wyłączyć HexChata?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Nie pytaj następnym razem." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Jesteś połączony z %i sieciami IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Czy na pewno chcesz wyjść?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Niektóre transfery plików są nadal aktywne." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimalizuj do zasobnika" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Wstaw atrybut lub kod koloru" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Pogrubione</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Podkreślone</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<>Kursywa</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normalny" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Kolory 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Kolory 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Ustawienia" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Loguj na dysku" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Wczytaj ponowne przewijanie w tył" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Usuń _kolory" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Ukryj wiadomości dołączania/opuszczania" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Dodatkowe powiadomienia" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Pojedynczy dzwonek gdy przyjdzie _wiadomość" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Migaj _ikoną w zasobniku" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Migaj _paskiem zadań" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "O_dczep" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zamknij" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Limit użytkowników podaj w formie liczby!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtruj kolory" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Blokada wiadomości z zewnątrz" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Blokada zmiany tematu" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Wymagane zaproszenie" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderowany" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Lista banów" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Hasło" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limit użytkowników" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Podaj nowy nick:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nic nie znaleziono." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Szukanie zakończone lub niczego nie znaleziono." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Podświetl wszystkie" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Podświetl wszystkie wystąpienia oraz podkreśl aktualne wystąpenie." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Rozróżniaj wielkość liter" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Szukanie z uwzgędnieniem wielkości znaków." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "Wy_rażenie regularne" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Używaj wyrażeń regularnych." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Nieznany host" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Nieznane konto" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Nieznany" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Personalia:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Użytkownik:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konto:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Kraj:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Serwer:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minut temu" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Ost. Wiad.:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Usprawiedliwienie:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d wybranych nicków." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Pasek menu jest teraz ukryty. Możesz przywrócić go ponownie, naciskając klawisz Control+F9 lub klikając prawym przyciskiem myszy w pustej części obszaru tekstu głównego." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Otwórz link w przeglądarce" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopiuj zaznaczony link" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Wejdź na kanał" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Wyjdź z kanału" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Wyjdź i wejdź spowrotem do kanału" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Autodołączanie" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Kanały do automatycznego dołączenia" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Autopołączenie" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Linia odkreślająca jest wyłączona." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Linia odkreślająca nie została ustawiona." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Linia odkreślająca została ręcznie zresetowana." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Linia odkreślająca została zresetowana, ponieważ przekroczono rozmiar " + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Linia odkreślająca została zresetowana za pomocą komendy CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Stan linii odkreślającej jest nieznany." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "został skompilowany bez wsparcia dla wtyczek." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Komendy użytkownika - Kody specjalne:\n\n%c = bieżący kanał\n%e = nazwa bieżącej sieci\n%m = informacje o maszynie\n%n = Twój nick\n%t = godzina/data\n%v = wersja HexChata\n%2 = 2 słowo\n%3 = 3 słowo\n&2 = 2 słowo do końca linii\n&3 = 3 słowo do końca linii\n\nnp.:\n/cmd jan czesc\n\n&2 było by \"jan\"\n&3 było by \"jan czesc\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Przyciski użytkownika - Specjalne kody:\n\n%a = wszystkie wybrane nicki\n%c = bieżący kanał\n%e = bieżąca nazwa sieci\n%h = wybrana nazwa hosta nicku\n%m = informacje komputera\n%n = twój nick\n%s = wybrany nick\n%t = czas/data\n%u = wybrane konto użytkownika" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Przyciski rozmowy - Specjalne kody:\n\n%a = wszystkie wybrane nicki\n%c = bieżący kanał\n%e = bieżąca nazwa sieci\n%h = wybrana nazwa hosta nicku\n%m = informacje komputera\n%n = twój nick\n%s = wybrany nick\n%t = czas/data\n%u = wybrane konto użytkownika" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Odpowiedzi CTCP - Specjalne kody:\n\n%d = dane (w całym CTCP)\n%e = bieżąca nazwa sieci\n%m = informacje komputera\n%s = nick, który wysłał CTCP\n%t = time/date\n%2 = słowo 2\n%3 = słowo 3\n&2 = słowo 2 do końca linii\n&3 = słowo 3 do końca linii\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Zarządanie Linkami - Kody specjalne:\n\n%s = ciąg z linkiem\n\nDodanie ! na początku komendy\noznacza, że zostanie ona wysłana\ndo terminala zamiast do HexChata" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Zamień na" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nowe" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Wyjście" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Widok" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Pasek _menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Pasek _tematu kanału" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Lista _użytkowników na kanale" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Przyciski _opcji kanału" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Rodzaj przełącznika kanałów" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Zakładki" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Drzewo" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Mier_niki sieciowe" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Wyłączone" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graficzny" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Pełny ekran" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Serwer" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Rozłącz" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Połącz _ponownie" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Ozn_acz się jako nieobecny" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Użytkownik" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Ustawi_enia" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferencje" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Zresetuj linię odkreślającą" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Przejdź do linii odkreślającej" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Skopiuj zaznaczenie" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Wy_czyść tekst" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Szukaj" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Znajdź następny" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Znajdź poprzedni" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Pomoc" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Zawartość pomocy" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_O programie" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Przyczep" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nazwa" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Ostatnio widziany" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Rozłączony" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nigdy" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minut temu" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Godzinę temu" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d godzin temu" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Dostępny" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Wpisz nicki do dodania:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Zawiadamiaj na tych sieciach:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Akceptowana jest lista sieci, dzielonych przecinkami." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Otwórz rozmowę" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Podświetl wiadomość od: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Wiadomość kanału od: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Oferta pliku od: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Prywatna wiadomość od: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Przywróć okno" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Ukryj okno" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Migaj przy" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Wiadomość na kanale" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Prywatna wiadomość" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Podświetlona wiadomość" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Zmień status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Nieobecność" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Wstecz" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Wersja" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Opis" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Wybierz wtyczkę lub skrypt do załadowania" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Za_ładuj..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Wyładuj" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Przeładuj" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Zapisz jako..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Wyczyść surowy log" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nowa sieć" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Czy naprawdę usunąć sieć \"%s\" i wszystkie jej serwery?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Nazwa użytkownika nie może być pusta." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Musisz mieć dwa różne nicki." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Metody identyfikacji z serwerem. Dla własnej metody użyj komend po podłączeniu." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Serwery" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Kanały do automatycznego dołączenia" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Komendy po podłączeniu" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Nick⏎\n%p=Hasło⏎\n%r=Prawdziwe imię⏎\n%u=Nazwa użytkownika" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Klucz (hasło)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Edycja" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Połącz się wyłącznie z zaznaczonym serwerem" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Nie skacz po wszystkich serwerach, gdy połączenie się nie uda." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Połącz się z tą siecią przy starcie" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Nie używaj serwera proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Używaj SSL dla wszystkich serwerów w tej sieci" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Akceptuj nieprawidłowe certyfikaty SSL" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Użyj globalnych informacji o użytkowniku" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nick:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Drugi wybór:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Persona_lia:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Użytkownik:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Metoda logowania:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Hasło:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Hasło używane do logowania, jeśli nie wiesz o co chodzi, zostaw puste." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Zestaw znaków:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informacje o Użytkowniku" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Trzeci wybór:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Sieci" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Pomiń listę sieci przy starcie" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Wyświetlaj tylko ulubione" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Edycja..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sortowanie" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Polub" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Oznacz lub odznacz tę sieć jako ulubioną" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "P_ołącz" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrykanerski" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albański" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharski" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturyjski" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerski" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskijski" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Białoruski" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bułgarski" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chiński (Uproszczony)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chiński (Tradycyjny)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Czeski" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Duński" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Niderlandzki" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Angielski (Brytyjski)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Angielski" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estoński" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Fiński" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francuzki" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicyjski" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Niemiecki" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grecki" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gudźarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Węgierski" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonezyjski" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Włoski" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japoński" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Ruanda-rundi" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreański" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Łotewski" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litewski" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedoński" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajski" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norweski (Bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norweski (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polski" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugalski" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugalski (Brazylijski)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pendżabski" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Rosyjski" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbski" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Słowacki" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Słoweński" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Hiszpański" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Szwedzki" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tajski" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turecki" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukraiński" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Wietnamski" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Waloński" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Podstawy" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Język" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Główna czcionka:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Czcionka:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Pole tekstowe" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Kolorowe nicki" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Nadaje każdej osobie na czacie inny kolor" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Dodawaj wcięcia przed nickami" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Dodawaj wcięcia przed nickami aby wszystkie były wyrównane do prawej" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Pokazuj linię odkreślającą" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Dodaj czerwoną linię oddzielającą ostatnio przeczytany tekst." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Obrazek w tle:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Ustawienia przezroczystości" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Aby uzyskać więcej informacji zobacz artykuł MSDN na temat strftime." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Aby uzyskać więcej informacji zobacz stronę pomocy na temat strftime." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Pasek tytułu" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Wyświetlaj tryby kanału" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Wyświetlaj liczbę użytkowników" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Ostatni porządek wypowiedzi" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Pole wprowadzania" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Wyświetlaj kolory i atrybuty" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Wyświetlaj pole z nickiem" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Wyświetlaj ikonkę trybu użytkownika w polu nicka" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Włącz sprawdzanie pisowni" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Słowniki do użycia:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Używaj kodów języka (jak tutaj \"share\\myspell\\dicts\").\nOddzielaj różne wpisy przecinkami." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Używaj kodów języków. Oddzielaj wiele wpisów przecinkami." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Uzupełnianie nicków" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufiks uzupełnionego nicku:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Sortowanie uzupełnionego nicku:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Uzupełniaj gdy znaleziono co najwyżej" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Ilość nicków to wyświetlania zamiast uzupełniania" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "nicków." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Graficzny" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nieposortowane" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Na górze" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Na dole" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Ukryty" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lista użytkowników" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Pokaż nazwy hostów na liście użytkowników" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Użyj czcionki i koloru tekstu ramki" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Wyświetlaj ikonki dla trybów użytkownika" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Używaj graficznych ikonek zamiast symboli tekstowych w liście użytkowników." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Koloruj nicki w liście użytkowników" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Nicki będą kolorowane tak samo jak na czacie." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Wyświetlaj liczbę użytkowniów kanału" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Sposób sortowania listy użytkowników:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Położenie listy użytkowników:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Śledzenie nieobecności" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Na kanałach mniejszych niż:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Akcja w przypadku podwójnego kliknięcia" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Dodatkowe gadżety" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Miernik opóźnienia:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Miernik obciążenia" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Zakładki" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Zawsze" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Tylko żądane karty" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatycznie" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "W nowej zakładce" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "W aktualnie widocznej zakładce" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Drzewo" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Rodzaj przełącznika:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Otwórz osobną zakładkę na wiadomości serwera" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Otwórz osobną zakładkę, po otrzymaniu prywatnej wiadomości" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Układaj zakładki alfabetycznie" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Wyświetlaj ikonki w drzewku kanałów" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Wyświetlaj kropkowane linie w drzewku kanałów" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Używaj rolki myszki do zmiany zakładek" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Mały tekst" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Nowe karty na wierzchu:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Położenie powiadomień:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Położenie przełącznika kanałów:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Skracaj etykiety zakładek do:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "liter." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Zakładki lub okna" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Otwórz kanały w:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Otwórz okna rozmów w:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Otwórz narzędzia w:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otwórz czat bezpośredni, ignoruj, powiadom itp, w kartach czy w oknach?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Wiadomość" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Przewijanie w tył" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pytaj o potwierdzenie" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Pytaj o folder do ściągania" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Zapisuj bez pytania" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Pliki i katalogi" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Automatycznie przyjmuj oferowane pliki:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Pobieraj pliki do:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Przenieś ukończone pliki do:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Umieść nick w nazwach plików" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Automatycznie otwieraj okna DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Okno wysyłania" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Okno odbiorcze" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Okno czatu" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Jedno wysyłanie pliku:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maksymalna prędkość dla pojedynczego połączenia" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Jedno pobieranie pliku:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Wszystkie wysyłania plików jednocześnie:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maksymalna prędkość dla wszystkich plików" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Wszystkie pobierania plików jednocześnie:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Powiadomienia" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Migaj ikoną w zasobniku przy:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Migaj paskiem zadań przy:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Wykonaj sygnał dźwiękowy na:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Odtwarzaj \"Instant Message Notification\" przy wybranych wydarzeniach" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Odtwarzaj \"message-new-instant\" z freedesktop.org przy wybranych wydarzeniach" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Odtważaj dzwięk GTK przy wybranych wydarzeniach" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Ignoruj powiadomienia gdy jesteś oznaczony jako nieobecny" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Ignoruj powiadomienia gdy okno jest aktywne" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Ustawienia związane z obszarem powiadomień" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Włącz ikonę w obszarze powiadomień" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimalizuj do obszaru powiadomień" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Zamykaj do obszaru powiadomień" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Automatycznie oznacz jako nieobecny/obecny" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Automatycznie zmień status w trakcie ukrywania do zasobnika." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Podświetlone wiadomości" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Podświetlone wiadomości to te, w których ktoś używa twojego nicku, ale także:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Dodatkowe słowa które podświetlić:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nie podświetlaj tych nicków:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Zawsze podświetlaj te nicki:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Oddziel kilka słów przecinkami.\nAkceptowane są symbole wieloznaczne." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Podskakiwanie ikony gdy:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Domyślne wiadomości" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Opuszczenie sieci:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Opuszczenie kanału:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Nieobecność:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Nieobecność" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Pokaż nieobecności raz" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Wyświetlaj identyczne powody nieobecności tylko raz" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automatycznie wyłącz nieobecność" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Odznacz siebie jako nieobecnego przed wysłaniem wiadomości" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Różne" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Wyświetlaj opcje kanału w surowej formie" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "Polecenie /WHOIS w reakcji na ogłoszenie" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Wyślij /WHOIS gdy użytkownik z twojej listy powiadomień pojawi się online" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Nie informuj o wchodzących/wychodzących" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Domyślnie ukrywaj wiadomości wejścia/wyjścia" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Ukryj powiadomienia o zmianie nicka" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domena" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*uzytkownik*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*użytkownik@domena" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Zachowanie autokopiowanie" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Automatycznie kopiuj zaznaczony tekst" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Automatycznie dodawaj informacje o kolorach" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Prawdziwe imię:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternatywne czcionki:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Oddziel wiele wpisów używając przecinków bez spacji na początku lub końcu" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Wyświetlaj listy w trybie kompaktowym" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Używaj mniejszego rozstawu w drzewku między listą użytkowników/kanałów" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Używaj czasu z serwera jeśli jest to wspierane" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Wyświetlaj znaczkiki czasu otrzymane od serweraja jesli serwer wspiera rozszerzenie time-server" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Automatycznie połącz ponownie z serwerem po rozłączeniu" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Opóźnienie ponowienia automatycznego połączenia:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Opóźnienie automatycznego dołączania:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Rodzaj bana:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Spróbuj użyć tej maski podzas banowania lub wyciszania. (wymaga irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logowanie" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Wyświetl przewijanie w tył poprzedniej sesji" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Przewijanie linii w tył:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Włącz zapisywanie rozmów na dysk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Plik loga:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Serwer %c=Kanał %n=Sieć." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Dodawaj znacznik czasu w logach" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format znacznika czasu w logu:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Linki" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Włącz logowanie linków na dysku" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Włącz zbieracz linków" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maksymalna liczba linków do zebrania:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Wyłączone)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Twój adres" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Przypnij do:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Tylko użyteczne komputerom z wieloma adresami IP." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transfery plików" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Pobierz mój adres IP z serwera IRCa" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Prosi serwer IRC o Twój prawdziwy (publiczny/zewnętrzny) adres IP. Użyj tej opcji jeśli Twoja sieć znajduje się za firewallem a Twój lokalny adres to 192.168.*.* lub 10.*.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Adres IP dla DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Zatwierdź że jesteś pod tym adresem, gdy oferujesz plików." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Pozostaw porty na zero dla pełnego zakresu." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Serwer proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Rodzaj:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Używaj serwera pośredniczącego (proxy) dla:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Uwierzytelnienie proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Użytkownik:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Wybierz plik obrazka" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Wybierz folder pobierania" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Wybierz czcionkę" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Przeglądaj..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Otwórz folder danych" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Wybierz kolor" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Kolory tekstu" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Kolory mIRCa:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Kolory lokalne:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Pierwszy plan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Tło:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Zaznaczony tekst" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Kolory interfejsu" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nowe dane:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Linia odkreślająca:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nowa wiadomość:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Nieobecny użytkownik:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Podświetl:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Sprawdzanie pisowni" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Usuwanie kolorów" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Zdarzenie" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Plik dźwiękowy" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Wybierz plik dźwiękowy" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Plik dźwiękowy:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Przeglądaj..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Odtwórz" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interfejs" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Wygląd" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Pole wpisywania tekstu" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lista użytkowników" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Przełącznik kanałów" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Kolory" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Pogawędki" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Dzwięki" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Zaawansowane" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Ustawienia sieci" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transfery plików" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorie" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Nie można umieścić drzewa na górze lub na dole!\nProszę zmień najpierw styl <b>kart</b> w punkcie menu <b>widok</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Pole z Prawdziwym imieniem nie może być puste. Ustawiam je na \"realname\"" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Niektóre zmienione ustawienia wymagają ponownego uruchomienia." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*OSTRZEŻENIE*\nAutomatyczne przyjmowanie Czatu Bezpośredniego do twojego\nkatalogu domowego może być niebezpieczne i jest wykorzystywane.\nNp.: Ktoś mógłby ci wysłać profil .bash" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(brak sugestii)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Więcej..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Dodaj \"%s\" do słownika" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignoruj Wszystkie" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Sugestie Sprawdzania" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "błąd enchant dla języka: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Wystąpił błąd podczas interpretacji ciągu znaków" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Sygnał otrzymuje tylko %d argumentów, $%d jest nieprawidłowa" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Drukuj plik z tekstami" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Liczba" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Edycja zdarzeń" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Załaduj z..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Przetestuj wszystkie" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Wyczyść listę" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopiuj zaznaczony URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiuj" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Zapisz adresy do pliku" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op(ów), %d razem" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Otwórz adres URL irc://serwer:port/kanal " + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000000000000000000000000000000000000..acec8799388e5150eff9c7952233d6ac42785885 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,6259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# artur simões <artursimoes.pt@gmail.com>, 2013 +# artur simões <artursimoes.pt@gmail.com>, 2012-2013 +# Sandro Amaral <sandro123iv@gmail.com>, 2013-2014 +# Vitor Antunes <vhda@mega.ist.utl.pt>, 2004 +# Vitor Luis <droider.pc@gmail.com>, 2018 +# Vitor Luis <droider.pc@gmail.com>, 2018 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-05-09 13:02+0000\n" +"Last-Translator: Vitor Luis <droider.pc@gmail.com>\n" +"Language-Team: Portuguese (http://www.transifex.com/hexchat/hexchat/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Cliente de IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "O HexChat é um Cliente de IRC fácil de usar, mas também fácil de expandir. Ele permite que te juntes de forma segura a várias redes e que fales com outros utilizadores em privado ou em canais através de uma interface personalizável. Se quiseres, podes até transferir ficheiros!" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "O HexChat suporta funcionalidades como: DCC, SASL, proxies, verificação de erros ortográficos, alertas, registos, temas personalizados, e scripts em Python/Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Janela de Chat Principal" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Conversa com outras pessoas online" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Abrir Modo Seguro" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Gestor de Temas do HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Saindo" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "DESLIGADO" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "LIGADO" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nao colocado}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rede" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nenhum>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "À espera" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Activo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Falhou" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Terminado" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Ligar" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Cancelado" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Não é possível aceder a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Erro" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s está a oferecer \"%s\". Aceitar?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Sem DCCs ativos\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Abrir Janela de Diálogo" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Enviar Ficheiro" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Info. do Utilizador (WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Adicionar à Lista de Amigos" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorar" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Ações de O_perador" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dar Ops" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Retirar Ops" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dar Voice" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Retirar Voice" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Expulsar/Banir" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Expulsar" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Banir" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Expulsar&Banir" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Sair do Canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Entrar num Canal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Introduz o Canal a Entrar:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Endereços de Servidor" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping ao Servidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ocultar Versão" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "adeus" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Introduz a razão da expulsão de %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Enviar Ficheiro" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Diálogo" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WHOIS" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Enviar" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Conversa" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Limpar" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Não tens permissões de escrita para %s. Nada desta sessão poderá ser guardado." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Correr o IRC como root é estúpido! Deve\n criar outro utilizador e usá-lo.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SIM " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NÃO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Está a sofrer uma grande afluência de CTCP de %s, ignorando %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Estás a receber demasiadas mensagens de %s, a desligar as definições gui_autoopen_dialog.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Resolvido para %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Nao encontrado" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Resolvido para:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Resolvendo %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s está ligado\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s não está ligado\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Não estás em nenhum canal. Usa /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nao estas ligado. Tenta /servidor <endereço> [porta]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Servidor %s já existe na rede %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Adicionado servidor %s na rede %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Já estás como ausente: %s⏎\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Já estás como de volta.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Preciso de /bin/sh para operar!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Comandos Disponíveis:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Comandos definidos pelo utilizador:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Comandos definidos pelos plugins:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Escreve /HELP <comando> para mais informações, ou /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconhecido '%s' ignorado." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Silêncio não é suportado por este servidor." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "O plugin não foi encontrado.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "O plugin recusa-se a desligar.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <ação>, adiciona um botão à lista de utilizadores" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NovaRede> <novoservidor/6667>, adiciona uma nova rede com um novo servidor à lista de redes" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>, envia um comando para todos os canais onde está" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, envia comando a todos os canais no servidor corrente" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, envia um comando para todos os servidores onde está" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [razao], marca-o como ausente (utilize /BACK para reverter)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, marca-o como de volta (não ausente)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <máscara> [<tipo de ban>], bane do canal todos os utilizadores correspondentes à máscara. Se o utilizador estiver no canal este comando não o expulsa (necessita do estatuto operador)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variável> [<valor>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<codificação>], obtêm ou ativa a codificação usada na corrente ligação" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<quantidade>], Limpa a janela de texto atual ou histórico de comandos" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Fecha a aba actual, fechando a janela se essa é a única aba aberta, ou com a opçao \"-m\", fecha todas as janelas." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <código|universal>, procura o código de pais, ex: au = austrália" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <mensagem>, envia uma mensagem CTCP para o nick. Mensagens comuns são VERSION e USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], sair e imediatamente entrar no canal" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - aceita um ficheiro oferecido\nDCC SEND [-maxcps=#] <nick> [file] - envia um ficheiro a nick\nDCC PSEND [-maxcps=#] <nick> [file] - envia um ficheiro usando o modo passivo\nDCC LIST - mostra a lista de DCCs\nDCC CHAT <nick> - oferece uma conversa DCC a nick\nDCC PCHAT <nick> - oferece uma conversa DCC usando o modo passivo\nDCC CLOSE <type> <nick> <file> exemplo:\n /dcc close send artur_pt ficheiro.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>, retira o modo semi-operador ao nick no canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome>, apaga um botão da lista de utilizador" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, retira o estatuto de operador ao nick dado no canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, retira o estatuto voz do nick dado no canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desliga-se do servidor atual" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nick|host|ip>, Resolve um IP ou hostname" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <canal, lista, /rede> <comando>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Escreve na janela local o texto inserido" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <comando>, executa o comando de shell. Se a opção -o for usada o resultado é enviado para o canal atual, caso contrário é escrito na janela de texto atual" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envia a um processo em execução o sinal CONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], pára a execução de um processo da sessão atual. Se a opção -9 for usada é enviado o sinal KILL em vez do sinal TERM" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envia a um processo em execução o sinal STOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envia dados para o canal stdin do processo em execução" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporta preferências do HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, despeja a fila de dados a enviar do servidor atual" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <endereço> [<porta>], utiliza o proxy dado para a comunicação, a porta é por omissão 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nick> [palavrapasse], exclui um nick fantasma" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>, dá o estatuto semi-operador ao nick(necessita do estatuto operador)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <palavrapasse>, identifica-te perante o nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <máscara> <tipos..> <opções..>\n máscara - máscara a ser ignorada, ex: *!*@*.iol.pt\n tipos - tipos de dados a ignorar, um ou todos de:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n opções - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<canal>], convida alguém para o canal, por defeito o canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra no canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nick> [motivo], expulsa o nick do canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nick> [motivo], bane e expulsa o nick do canal atual (necessita do estatuto operador)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, força uma nova verificação de latência" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <string>, procura pela string na buffer⏎ Use -h para marcar o resultado da(s) procura⏎ Use -m para igual a⏎ Use -r quando a string for uma Expressão Regular⏎ Use -- (duplo hífen) para acabar com opções para procurar, por exemplo, a sequência de '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ficheiro>, carrega o plugin ou script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Retira o estatuto semi-operador a todos os utilizadores no canal actual (necessita do modo operador)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Retira o estatuto operador a todos os utilizadores no canal actual (necessita do modo operador)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <ação>, envia a ação para o canal atual (as ações devem ser escritas na 3ª pessoa, como '/eu salta')" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, Da halfop a todos os utilizadores do canal actual (necessita ser operador de canal)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Expulsa todo os utilizadores, excepto tu, do canal actual (necessita do modo operador)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Coloca o estatuto operador a todos os utilizadores do canal (necessita do modo operador)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nick> <mensagem>, envia uma mensagem privada, mensagem \".\" para enviar para o último nick ou prefixo com \"=\" para o dcc chat" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [namal], Gera uma lista dos nicks no canal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <mensagem>, Envia a CTCP notificação" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <endereço> [<porta>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nick>, muda o nick atual" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <nick/canal> <mensagem>, envia uma notificação" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n rede1[,rede2,...]] [<nick>], mostra a lista de notificações ou adiciona alguém." + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, adiciona o estatuto operador a nick (necessita do modo operador)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<razão>], sai do canal, por omissão o canal atual" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | canal>, envia um CTCP a nick ou canal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <nick> [message], abre um novo chat privado com alguém e, opcionalmente, enviar uma mensagem" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <máscara> [<tipo_de_silêncio>], silência todos os que correspondem à máscara no canal atual se suportado pelo servidor." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razão>], desliga-se do servidor atual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envia o texto diretamente ao servidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<endereço>] [<porta>] [<palavrapasse>], Usado para reiniciar a ligação ao servidor dado, servidor atual por omissão, ou na forma /RECONNECT ALL para reiniciar a ligação a todos os servidores" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<endereço>] [<porta>] [<palavrapasse>], Usado para reiniciar a ligação ao servidor dado, servidor atual por omissão, ou na forma /RECONNECT ALL para reiniciar a ligação a todos os servidores" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <texto>, envio raw data para HexChat,como se fosse recebido do servidor de IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nome>, recarrega um plugin ou script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envia o texto para o objecto da janela actual" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<ficheiro>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <endereço> <porta> <canal>, liga-se ao servidor entrando de seguida no canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <endereço> <porta> <canal>, liga-se ao servidor entrando de seguida no canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <endereço> [<porta>] [<palavrapasse>], ligação a servidor, por omissão porta 6667 usada em ligações normais, ligações por ssl 6697" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <endereço> [<porta>] [<palavrapasse>], ligação ao servidor por omissão porta 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variável> [<valor>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posição>, reposiciona o cursor na caixa de entrada" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <novo nome>, troca o nome do separador, tab_trunc limite ainda se aplica " + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <novo texto>, troca o texto na caixa de entrada" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tópico>], muda o tópico do canal atual, ou mostra o tópico atual" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\n⏎ TRAY -f <limitetempo> <ficheiro1> [<ficheiro2>] Pisca tabuleiro entre dois ícones.⏎ TRAY -f <nomeficheiro> Definir tabuleiro para um ícone fixo.⏎ TRAY -i <número> Pisca tabuleiro com icóne interno.⏎ TRAY -t <texto> Define tabuleiro com dica.⏎ TRAY -b <titulo> <texto> Define tabuleiro balão." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <máscara> [<máscara>...]>, reautoriza o acesso ao canal aos utilizadores que correspondem a/as máscara/s necessita estatuto operador " + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <máscara> [QUIET], deixa de ignorar a máscara dada" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, desliga o plugin ou script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <máscara> [<mascara>...], de-silência as máscaras especificas se suportado pelo servidor." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre o URL no teu browser" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2> etc, sublinha o(s) nick(s) na lista de utilizadores do canal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, coloca o modo voz a nick (necessita do estatuto operador)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensagem>, escreve uma mensagem em todos os canais em que entraste" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensagem>, envia uma mensagem a todos os utilizadores com estatuto operador no canal atual" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Comandos de utilizador para: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Utilização: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNão existe ajuda para esse comando.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Comando inexistente.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Opções incorrectas para comando de utilizador.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Excessiva recursividade de comandos de utilizador, cancelando." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Comando desconhecido %s. Tenta /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "inexistent hexchat_plugin_init symbol; isto é realmente um plugin HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tRespondendo ao pedido de ident de %s como %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tErro ao iniciar o servidor de identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <porta> <nome de utilizador>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Temporizador %d removido.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Nenhum numero de referencia encontrado.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Sem temporizadores instalados.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Segundos Repeticao Comando \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Tens a certeza que este servidor e/ou porta suportam SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Não foi possível resolver o endereço %s\nVerifique as configurações de IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "A transferência através da proxy falhou.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "A mudar para o servidor seguinte em %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Aviso: o carácter \"%s\" é desconhecido. Não vai ser aplicada conversão à rede %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O foi adicionado à lista de notificações." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O em %C24$4%O por %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tConexão negada %C22$1 %O(%C20Estás banido%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tCapacidades reconhecidas: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tRecursos removidos: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tCapacidades suportadas: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tCapacidades solicitadas: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O agora é %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O banido em %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tCanal %C22$1%O criado em %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu o modo de semi-operator a %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu o modo de operator a %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O remover voice de %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C exenção em %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O canal estatuto half-operator a %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C define isentos de convite em %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanal Utilizadores Tópico" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O definiu o modo %C24$2$3%O em %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tModos do canal %C22$1%O: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O estatuto operador canal a %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O define o silêncio em %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O remover isenção a %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O remove a isenção de convite em %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O remover channel keyword" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O remover limite utilizadores" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O definiu a keyword do canal a %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O definiu o limite do canal para %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu o banimento em %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O remove o silêncio em %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O deu voz a %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tLigado. A iniciar sessão." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tLigando a %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tLigação falhada (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRecebido CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tRecebido CTCP %C24$1%C de %C18$2%C (to %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tRecebido som CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tRecebido som CTCP %C24$1%C de %C18$2%C (to %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT para %C18$1%O abortado." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT ligação estabalecida com %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT com %C18$1%O perdida (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tConvite DCC CHAT recebido de %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tConvite DCC CHAT enviado a %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tCHAT enviado a %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 tentativa de ligação a %C18$2%O falhada (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tRecebida '%C23$1%C' de %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Tipo Para/De Estado Tamanho Posiçao Ficheiro" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tRecebido pedido mal-formado DCC de %C18$1%O.$a010%C23*%O$tConteúdo do pacote: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tOferta '%C24$1%O' a %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tOferta inexistente DCC." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' para %C18$1%O abortado." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' de %C18$3%O completo %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV ligação estabelecida a %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' de %C18$3%O falhado (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Impossível abrir '%C23$1%C' para escrita (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tFicheiro '%C24$1%C' já existe, a guardar como '%C23$2%O' em vez." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C pedido para resumir '%C23$2%C' de %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' para %C18$1%O abortado." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' a %C18$2%C completo %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND ligação estabelecida a %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' para %C18$2%C falhado (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C ofereceu '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' a %C18$3%O parado, abortado." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' a %C18$3%O limite, abortado." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O foi removido da lista de notificações." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDesligado (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tEncontrado IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O foi adicionado à lista de ignorados." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OA Lista de Ignorados foi alterada em %C18$1%O." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Mascara PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O remover da lista ignorados." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLista ignorados vazia." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tEntrada interdita %C22$1%C (%C20Canal só por convite%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tFoi convidado para %C22$1%O por %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) entrou" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tEntrada interdita %C22$1%C (%C20Precisa de keyword%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C expulsou %C18$2%C de %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Eliminado por %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Ignorado%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C já está em uso. Tentando com %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C está errado. Tentando com %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tO Nickname está errado ou já está em uso. Usa /NICK para tentar outro." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tDCC inexistente." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tSem processos a correr" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C está ausente (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotificação: %C18$1%C voltou" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLista de notificações vazia." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Lista de notificaçoes" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O utilizadores na lista de notificações." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C saiu (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C entrou (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) saiu" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) saiu ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing devolvido de %C18$1%C: %C24$2%O segundo(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tResposta ping inexistente para %C24$1%O segundos, disconetar." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tProcess já a correr" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 saiu ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C definiu os modos %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tPesquisando número IP para %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutenticando via SASL como %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tLigado." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tA procurar %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tParada tentativa de ligação anterior (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tO tópico de %C22$1%C é: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C alterou o tópico para: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTópico %C22$1%C por %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tHost desconhecido. Talvez esteja mal escrito?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tEntrada interdita %C22$1%C (%C20Limite máximo de utilizadores%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUtilizadores %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C ausente %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFim da lista WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inativo à %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inativo à %C23$2%O, identificado em %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tA conversar em %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tTu foste expulso de %C22$2%C por %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tSaiu do canal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tSaiu do canal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tFoi convidado %C18$1%O para %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tAgora és conhecido como %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Registo aberto de" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** REGISTO TERMINADO EM %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** REGISTO INICIADO EM %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Impossivel abrir ficheiro(s) registo para escrita. Verifique as ⏎ permissões em %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Mensagem da esquerda" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Mensagem da direita" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Endereço IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Nome de utilizador" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "O nick do utilizador que entra" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "O canal em que vai entrar" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "O endereço do utilizador" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "A conta da pessoa" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nick" + +#: src/common/text.c:980 +msgid "The action" +msgstr "A ação" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Modo carácter" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Texto identificado" + +#: src/common/text.c:987 +msgid "The text" +msgstr "O texto" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "A mensagem" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Nome do Servidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Capacidades reconhecidas" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Recursos removidos" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Recursos do Servidor" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Recursos Solicitados" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Nick antigo" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Novo nick" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nick do utilizador que mudou o tópico" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tópico" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "O nick de quem expulsou" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "O utilizador a ser expulso" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "O canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "A razão" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "O nick do utilizador a sair" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "A hora" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "O criador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nick" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razão" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Endereço" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De quem é" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "A hora no formato x.x (ver em baixo)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "O canal para onde vai" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "O som" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "O nick do utilizador" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "O evento CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "O nick do utilizador que colocou a chave" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "A chave" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "O nick do utilizador que colocou o limite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "O limite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "O nick do utilizador que deu o estatuto operador" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "O nick do utilizador que recebeu o estatuto operador" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "O nick do utilizador que recebeu o estatuto semi-operador" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "O nick do utilizador que deu o estatuto semi-operador" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "O nick do utilizador que deu o estatuto voz" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "O nick do utilizador que recebeu o estatuto voz" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "O nick do utilizador que baniu" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "A máscara de banimento" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "The nick of the person who did the quieting" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "A máscara de silêncio" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "O nick do utilizador que retirou a chave" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "O nick do utilizador que retirou o limite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "O nick da pessoa que tirou o op" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "O nick do utilizador a quem foi retirado o estatuto operador" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "O nick da pessoa que tirou o halfop" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "O nick do utilizador a quem foi retirado o estatuto semi-operador" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "O nick da pessoa que tirou o voice" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "O nick do utilizador a quem foi retirado o estatuto voz" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "O nick da pessoa que tirou o ban" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "O nick da pessoa que removeu o silencio" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "O nick do utilizador que criou a isenção" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "A máscara da isenção" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "O nick do utilizador que retirou a isenção" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "O nick do utilizador que efetuou o convite" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "A máscara do convite" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "O nick do utilizador que retirou o convite" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "O nick do utilizador que colocou o estatuto" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "O sinal do modo (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "A letra do estatuto" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "O canal em que está a ser colocado" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Nível no Canal/\"é um operador de IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informação do servidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tempo inativo" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Hora de ligação" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razão da ausência" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mensagem" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Conta" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "utilizador real@endereço" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP real" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nome do canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mecanismo" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Numérico primo ou Identificador" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nick do utilizador que o convidou" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Utilizadores" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nick em uso" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Nick a ser tentado" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Porta" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Frase de modos" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipo de DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nome do ficheiro" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nome do ficheiro de destino" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Nome de diretoria" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posição" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamanho" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Frase de DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Razão da Ausência" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Número de notificações" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Antigo nome do ficheiro" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Novo nome do ficheiro" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Receptor" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Máscara de Endereço" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Endereço" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "O pacote" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nick do utilizador que foi convidado" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Máscara de Banimento" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Quem baniu" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Hora do Banimento" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Não foi possível ler ficheiro de som:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Cliente remoto desligou" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Ligação recusada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Não existe caminho para o endereço" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Ligação excedeu o tempo limite" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Não é possível atribuir o endereço" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Ligação terminada no destino" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ilha da Ascenção" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emirados Árabes Unidos" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviation-Related Fields" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afeganistão" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antígua e Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albânia" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Arménia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilhas Neerlandesas" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antartica" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS Inverso" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asia-Região Pacifico " + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Áustria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austrália" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland Islands" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijão" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bósnia e Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladeche" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bélgica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burquina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgária" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Barém" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negócios" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benim" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudas" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Baamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butão" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Ilha Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsuana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorrússia" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalão" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Ilhas Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democrática do Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centro-Africana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suiça" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa do Marfim" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Ilhas Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camarões" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colômbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperativas" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Sérvia e Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Ilha do Natal" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Checa" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "East Germany" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemanha" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Jibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Domínica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algéria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Equador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Instituição Educacional" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estónia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipto" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Oeste" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritreia" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espanha" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "União Europeia" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Filândia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Ilhas Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronésia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroé" + +#: src/common/util.c:770 +msgid "France" +msgstr "França" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabão" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Grã Bretanha" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Geórgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guiana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Ilhas do Canal Inglês" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Gronelândia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gâmbia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guiné" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Governo" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guiné Equatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grécia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Ilhas Geórgia do Sul e Sandwich do Sul" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guiné-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guiana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Ilhas Heard e McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croácia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonésia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Ilha de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Índia" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Território Britânico do Oceano Índico" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraque" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irão" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islândia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itália" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordânia" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Emprego Empresa" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japão" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Quénia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Quirguizistão" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Camboja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Quiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "São Cristóvão e Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Coreia do Norte" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Coreia do Sul" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Koweit" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Ilhas Caimão" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Cazaquistão" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lúcia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Listenstaine" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanca" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituânia" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letónia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marrocos" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mónaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldávia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagáscar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Ilhas Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Antiga República Jugoslava da Macedónia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongólia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Equipamentos Moveis" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Marianas do Norte" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritânia" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Monserrate" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurícia" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museus" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malásia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Nomes Individuais" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Caledónia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Network" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Ilha Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigéira" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicarágua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Países Baixos" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nova Zelândia" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omã" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organization" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perú" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinésia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papuásia-Nova Guiné" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Paquistão" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polónia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "São Pedro e Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profissões" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Território Palestiano" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Catar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunião" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Roménia" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Sérvia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rússia" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arábia Saudita" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Ilhas Salomão" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seicheles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudão" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suécia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovénia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard e Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Eslováquia" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Serra Leoa" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "São Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Sumália" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "South Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé e Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Antiga USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Síria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Suazilândia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Ilhas Turcas e Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chade" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internet Communication Services" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territórios Austrais Franceses" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailândia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajiquistão" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Leste" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turquemenistão" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunísia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Travel and Tourism" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trindade e Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzânia" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucrânia" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estados Unidos da América" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Usbequistão" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Santa Sé" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "São Vicente e Granadinas" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Ilhas Virgens Britânicas" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Ilhas Virgens Americanas" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietname" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis e Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Adult Entertainment" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Iémen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslávia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "África do Sul" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zâmbia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabué" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Impossível ligar à sessão de bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Não conseguiu concluir NomeComoDono" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Não conseguiu concluir Comando" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "acesso remoto" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "extensão para acesso remoto utilizando DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Impossível ligação a sessão de bus:%s ⏎\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Falha ao adquirir %s: %s⏎\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tabela de Caracteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Ban" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Isentos" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Isento" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Convite" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Convite" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Calmo" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Silencioso" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copiar máscara" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s em %s por %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copiar entrada" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Não está ligado." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Tem de selecionar alguns banimentos." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Tens a certeza que queres remover todos os banimentos de %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipo:" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Só podes ver a Lista de banimentos enquanto estás num canal." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Lista de Bans (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Remover" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Marcar" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Atualizar" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Mostrando %d/%d utilizadores nos canais %d/%d." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Seleccionar o nome ficheiro de saída" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Entrar em Canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copiar Nome Canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copiar Texto do _Tópico " + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Lista de Canais (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Procurar" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Lista de Transferências" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Guardar _Lista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Mostrar apenas:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canais com" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "para" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "utilizadores." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Procurar em:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nome canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipo de Procura:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Procura Simples" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Corresponde ao padrão (caracteres universais)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expressão Regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Procurar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Enviar ficheiro para %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Não é possível continuar este ficheiro." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Impossível aceder ao ficheiro: %s\n%s.\nNão é possível continuar." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Ficheiro da pasta de transferências é maior que o ficheiro oferecido. Impossível continuar." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Impossível continuar o mesmo ficheiro de dois utilizadores." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Uploads e Downloads - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estado" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Ficheiro" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Envios" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Transferências" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalhes" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Ficheiro:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Endereço:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Cancelar" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Aceitar" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Continuar" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Abrir Pasta..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Lista de DCC Chat - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Recebido" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Hora de Ínicio" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Adicionar" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Apagar" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Salvar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Não ligar aos servidores automaticamente" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Usa outra pasta de configuração" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Não carregar nenhum plugin automaticamente" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Ver plugin/script na pasta de auto-carregamento" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mostrar pasta de configuração do utilizador" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Abre um URL irc://servidor:porta/canal?chave" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Executar comando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Abra URL ou execute o comando em um HexChat existente" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "iniciar minimizado. Nível 0=Normal 1=Minimizado 2=Barra de notificações" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivel" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Mostrar informação de versão" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Não foi possível abrir a fonte:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Pesquisa de buffer vazia .⏎\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Fila de envio da rede: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "A ação do Comando Executar executa a informação em Data 1 como se tivesse sido escrita na caixa de entrada em que tenhas pressionado a sequência de teclas. Pode conter texto (que será enviado para o canal/pessoa), comandos ou comandos de utilizador. Os caracteres \\n em Data 1 são usados para delimitar comandos separados, de forma a ser possível executar mais de um comando. Se quiseres adicionar um caracter \\ literal ao texto, escreve \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "O comando Change Page alterna entre as páginas do notebook. Conjunto de data 1 para a página que desejas alterar. Se Data 2 estiver definido para qualquer coisa, então a opção será relativa à posição atual. Conjunto de dados de 1 para mudar automaticamente para a página com a atividade mais recente e importante (consultas primeiro, depois os canais com realçes, canais de diálogo ativos, canais com outros dados)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "O comando Inserir no Buffer introduz o conteúdo de Dados 1 na posição atual do cursor da entrada onde a sequência de teclas foi pressionada" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "O comando Scroll Page desloca o widget de texto para cima ou para baixo uma página ou uma linha. Define Data 1 para Top (Topo), Bottom (Fundo), Up (Cima), Down (Baixo), +1 ou -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Set Buffer comando define a entrada, com a sequência de teclas introduzida para o conteúdo Dados 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Last Command comando define a entrada para conter o último comando inserido - o mesmo que pressionar Cima num shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Next Command comando define a entrada para conter o próximo comando a inserir - o mesmo que pressionar Baixo num shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Este comando altera o texto na entrada para completar um nick ou comando incompleto. Se Dados 1 está definido então ao carregar duas vezes na tecla TAB numa palavra irá seleccionar o último nick e não o próximo" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Este comando percorre a lista de nicks. Se Dados 1 está definido então a lista é percorrido para cima, caso contrário é percorrida para baixo" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Este comando verifica a última palavra introduzida na entrada contra a lista de substituições e substitui-a se encontrar uma" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Este comando move o separador actual uma posição para a esquerda" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Este comando move o separador actual uma posição para a direita" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Este comando move a família de separadores actual uma posição para a esquerda" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Este comando move a família de separadores actual uma posição para a direita" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Coloca a linha de entrada para o historial mas não a envia para o servidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Erro durante o carregamento da configuração de atalhos de teclas" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Seleciona uma linha para obter ajuda sobre a sua Ação." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Atalhos de teclado - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Não foi possível gravar ficheiro." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Não foi possível ler ficheiro." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "A máscara já existe." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Noticia" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Não ignorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Tens a certeza que pretendes remover todos os ignorados?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Introduzir máscara a ignorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Lista de ignorados - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estado:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Noticia:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Convite:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Adicionar..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nome do canal é demasiado pequeno, tenta outra vez." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Ligaçao completada - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Ligação a %s concluída." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Na janela da lista de servidores, nenhum canal (sala de chat) foi adicionado para entrada automatica nesta rede." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Que queres fazer a seguir?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, entro num canal mais tarde." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Entrar neste canal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se sabes o nome do canal onde queres entrar, escreve-o aqui." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "_Abrir a lista de canais." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "A recuperação da lista de canais pode demorar um ou dois minutos." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Sempre mostrar este diálogo depois de conetar." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Diálogo com" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tópico para %s é: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nenhum tópico introduzido" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Este servidor ainda tem %d canais ou diálogos associados. Fechar todos?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Sair HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Não pergunte próxima vez." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Está ligado a %i redes de IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Tens a certeza que pretendes sair?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Algumas transferências ainda estão ativas." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizar para Tabuleiro" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Inserir Código de Atributo ou Côr" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Negrito</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Sublinhado</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Itálico</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Cores 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Preferências" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Guardar no Disco" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Atualizar Scrollback" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Excluir _Cores" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Ocultar mensagens de entrada e saída" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Alertas Extras" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Som em _Mensagem" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Piscar na barra de not_ificações" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Piscar na _barra de _tarefas" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Separar" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Fechar" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Limite de utilizadores deve ser um número!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrar Cores" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Não recebe mensagens exteriores" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Protecção do Tópico" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Convite Apenas" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Lista de Banimentos" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Palavra Chave" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limite de Utilizadores" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Introduzir novo nick:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nenhum resultado encontrado." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "A pesquisa chegou ao fim ou nada foi encontrado." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Destacar tudo" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Marca todas as ocorrências, e sublinha a ocorrência atual." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Correspondência" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Realizar uma pesquisa sensível a maiúsculas." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "Expressão _regular" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Respeitar texto a procurar como uma expressão regular." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host desconhecido" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Conta desconhecida" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Desconhecido" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nome Real:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Utilizador" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Conta:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutos atrás" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Última Msg:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Msg Ausência:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nicks selecionados." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "A Barra de Menu está agora oculta. Podes mostra-la de novo pressionando Control+F9 ou clicando com o botão direito numa zona em branco da área de texto principal." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Abrir Link no Browser" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copiar Link Selecionado" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Entrar no Canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Sair do Canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Alternar entre Canais" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "Entrar _Automaticamente" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Entrar Automaticamente no Canal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "Ligar _Automaticamente" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menu de utilizador - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Editar este Menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "A linha de marcador foi desativada." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "A linha de marcador nunca foi definida." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "A linha de marcador foi redefinida manualmente." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "A linha de marcador foi redefinida porque excedia o limite de retrocesso." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "A linha de marcador foi redefinida pelo comando CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Estado da linha de marcador é desconhecido." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Mostrar a lista de canais" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " foi construído sem suporte para plugins." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Comandos Utilizador - Códigos especiais:\n\n%c = canal em uso\n%e = rede em uso\n%m = info máquina\n%n = meu nick\n%t = hora/data\n%v = Versão HexChat\n%2 = palavra 2\n%3 = palavra 3\n&2 = palavra 2 no final da linha\n&3 = palavra 3 no final da linha\n\nex:\n/cmd artur olá\n\n%2 será \"artur\"\n&2 será \"artur olá\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botões da lista de utilizador - Códigos especiais:\n\n%a = todos os nicks selecionados\n%c = nome do canal atual\n%e = nome da rede atual\n%h = hostname do nick selecionado\n%m = informação da máquina\n%n = teu nick\n%s = nick selecionado\n%t = tempo/data\n%u = conta dos utilizadores selecionados" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botões de diálogo - Códigos especiais:\n\n%a = todos os nicks selecionados\n%c = nome do canal atual\n%e = nome da rede atual\n%h = hostname do nick selecionado\n%m = informação da máquina\n%n = teu nick\n%s = nick selecionado\n%t = tempo/data\n%u = conta dos utilizadores selecionados" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Respostas CTCP - Códigos especiais:⏎ ⏎ %d = data (todo ctcp)⏎ %e = nome rede em uso⏎ %m = info máquina⏎ %s = nick do envio ctcp⏎ %t = hora/data⏎ %2 = palavra 2⏎ %3 = palavra 3⏎ &2 = palavra 2 no final da linha⏎ &3 = palavra 3 no final da linha⏎ ⏎\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL Manipuladores- Códigos especiais:\n\n%s = string URL \nInserir um! na frente do comando\nindica que deve ser enviado para uma\nshell em vez HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Comandos definidos pelo utilizador - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu pop-up da lista de utilizadores - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Substituir - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Substituir por" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Manipuladores de URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Botoes da lista de utilizadores - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Botoes de dialogo - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Respostas CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "_Lista de redes" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Novo" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Aba de servidor" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Aba de canal" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Janela de servidor" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Janela de canal" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Carregar Plugin ou Script" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Sair" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Barra Menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra de _Tópico" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Lista Utilizador" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "_Lista de botoes de utilizador" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Botões de M_odo" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Alternador Canal" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Separadores" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Á_rvore" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Medidores de _Rede" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Desligado" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Imagem" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Ecrã inteiro" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desligar" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconetar" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Entrar num canal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Lista de canais" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Marcado _Ausente" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menu de _Utilizador" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Configurações" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Auto substituiçao" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Respostas CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Botoes de dialogo" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Atalhos de teclado" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Eventos de texto" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Manipuladores de URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Comandos de utilizador" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Lista de botoes de utilizador" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Lista de popup de utilizador" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Janela" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Lista de bans" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Chat directo" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Transferencias de ficheiros" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Lista de amigos" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Lista de ignorados" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Plugins e Scripts" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Registo RAW" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_Colector de URLs" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Limpar Linha de Marcador" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Mover para Linha de Marcador" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copiar Selecionado" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Limpar Texto" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Salvar Texto" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Procurar" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Procurar Texto" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Procurar Próximo" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Procurar Anterior" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Ajuda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Conteúdos" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Sobre" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Anexar" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Última vez visto" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Offline" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutos atrás" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "À uma hora atrás" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d horas atrás" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Online" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Introduz o nick a adicionar:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificar-me nestas redes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Lista separada por vírgula de redes permitida." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Lista de amigos - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Abrir Diálogo" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Mensagem marcada de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Mensagem de canal de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Oferta de ficheiro de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Convidado para o canal por: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notice de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Mensagem privada de: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Ligado a %u redes e %u canais - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restaurar Janela" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Ocultar Janela" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Piscar" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Mensagem de Canal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mensagem Privada" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Mensagem marcada" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Trocar estado" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Ausente" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_de Volta" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Mensagens com menções de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%umensagens com menções, ultima de %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Mensagem de canal de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u mensagens de canal. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Mensagem privada de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u mensagens privadas, ultima de %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Oferta de ficheiro de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u ofertas de ficheiros, ultima de: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versão" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descrição" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Seleccionar um Plugin ou Script para carregar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Plugins e Scripts - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Carregar..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Terminar" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Recarregar" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Guardar como..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Registo bruto (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Limpar registo Raw" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nova Rede" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Quer mesmo remover a rede \"%s\" e todos os seus servidores?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "O nome de utilizador não pode ficar em branco." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Você não pode ter uma alcunha vazia." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Tens de ter dois nomes de utilizador únicos." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "A forma como te identificas ao servidor. Para métodos de login personalizados usa os comandos de conexão." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Editar %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servidores" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Entrar automaticamente nos canais" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Comandos de ligação" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Nick\n%p=Senha\n%r=Nome real\n%u=Nome de utilizador" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Palavra Passe" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Ligar apenas ao servidor seleccionado" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Não testar todos os servidores quando a ligação falha." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Conectar a esta rede automaticamente" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Ignorar servidor proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Utilizar SSL para todos os servidores desta rede" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Aceitar certificados SSL inválidos" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Usar informação global do utilizador" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nick:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segunda escolha:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nome _Verdadeiro:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nome de _Utilizador:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Método de login:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Palavra passe:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Senha usada para o login. Se na dúvida, deixa em branco." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Conjunto de caracteres:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Lista de redes - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informação do Utilizador" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Terceira escolha:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Não mostrar lista de redes no arranque" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Mostrar apenas favoritos" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editar..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Ordenar" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Classifica a lista de redes em ordem alfabética. Use as teclas Shift+Cima e Shift+Baixo para mover uma fila." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Favorecer" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Marcar ou desmarcar esta rede como favorita" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Ligar" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanês" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharic" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturian" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijani" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basco" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Biela Russia" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgaro" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinês (Simplificado)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinês (Tradicional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Checo" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danish" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandês" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Inglês (UK)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "English" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estónio" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finnish" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francês" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galego" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemão" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grego" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindu" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hungaro" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonésio" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiano" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonês" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreano" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvian" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituano" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonio" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaio" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norueguês (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norueguês (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polaco" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Português" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Português (Brasil) " + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russo" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Sérvio" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovak" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovenian" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espanhol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Sueco" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thai" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turco" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietenamita" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walloon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Geral" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Linguagem:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Fonte principal:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Caixa Texto" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Nicks coloridos" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dar a cada utilizador no IRC uma cor diferente" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indentar nicks" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Justificar nicks à direita." + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostrar linha de marcação" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Inserir linha vermelha após último texto lido." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imagem de fundo:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Configurações de Transparência" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacidade da janela:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Horas" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Activar horas" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Formato das horas:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Veja o artigo do MSDN strftime para mais detalhes." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Veja a página de manual strftime para mais detalhes." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barra de título" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Ver modos do canal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Mostrar número de utilizadores" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Último utilizado" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Caixa Entrada" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Use a fonte e as cores da caixa de texto" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Mostrar cores e atributos" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Mostar caixa nick" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Ver ícone do modo de utilizador na caixa de nick" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Corretor ortográfico" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Dicionários a utilizar:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Usa códigos de idioma (como em \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSepara múltiplas entradas com vírgulas." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Usa códigos de idioma. Separa múltiplas entradas com vírgulas." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Completar Nick" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufixo para completar nick:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Nick classificados por:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Quant. da conclusão de Nick:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Limite de nicks em que começa a listar em vez de completar" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "nicks." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Gráfico" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, ops primeiro" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, ops em ultimo" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Desordenado" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Esquerda (superior)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Esquerda (inferior)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Direito (superior)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Direita (inferior)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Cima" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Baixo" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Escondido" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lista de Utilizadores" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Mostrar endereço na lista de utilizadores" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Utilizar as fontes e cores da caixa de texto" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Ver ícones para os modos de utilizador" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Usar ícones gráficos em vez de símbolos de texto na lista de utilizadores." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Nick em uso" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Deseja nicks da mesma cor como no chat." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Mostrar contagem de utilizadores nos canais" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Lista de utilizadores ordenada por:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Mostrar lista de utilizadores em:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Controlar Ausência" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Acompanha o estado de ausência dos utilizadores e marca-os em uma cor diferente" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Em canais menores que:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Ação de Duplo Clique" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Gadgets Extra" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Medidor atraso:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Medidor aceleração:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Janelas" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Separadores" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Apenas separadores pedidos" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automático" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Num separador extra" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "No separador inicial" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Árvore" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Alternador tipo:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Abrir separador para mensagens do servidor" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir nova guia quando receber mensagem privada" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar separadores por ordem alfabética" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Ver ícones na árvore do canal" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Mostrar linhas pontilhadas na árvore de canal" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Usa a roda do rato para mudar entre separadores" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Clique no meio para fechar a guia" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Texto pequeno" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Focar separadores novos:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Colocação de noticias:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Mostrar alternador de canal em:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Diminuir nome dos separadores para:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Separadores ou Janelas" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Abrir canais em:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Abrir diálogos em:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Abrir utilitários em:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Abrir DCC, Ignorados, Notificações, etc, em separadores ou janelas?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mensagens" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Scrollback" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pedir confirmação" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Pedir pasta de transferências" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Salvar sem interação" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Ficheiros e Directorias" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Aceitar automaticamente ficheiros:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Receber ficheiros para:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mover ficheiros concluídos para:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Gravar nick no nome do ficheiro" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Abrir Automaticamente Janelas de DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Janela de Envio" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Janela de Recepção" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Janela de conversa" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Velocidades Máximas de Transferência de Arquivos (Byte por Segundo)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Um envio:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocidade máx. numa transferência" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Uma transferência:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Todas os envios combinados:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocidade máx. para todo o tráfego" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Todas as transfrências combinadas:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Mostrar notificações em:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Piscar o ícone de tarefas em:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Piscar na barra de tarefas em:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Som de beep em:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Tocar o som do sistema \"Notificação de Mensagem Instantânea\" mediante os eventos selecionados" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Tocar \"message-new-instant\" do tema de sons de freedesktop.org mediante os eventos selecionados" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Tocar um beep do GTK nos eventos selecionados" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Omitir alertas quando ausente" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Omitir alertas enquanto a janela está em foco" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportamento da barra de notificações" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Ativar ícone na barra de notificações" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimiza para barra de notificações" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Fecha para barra de notificações" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Marcar como ausente/de volta automaticamente" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Mudar automaticamente de status quando na bandeja." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Mostrar apenas notificações quando ocultas ou iconificadas" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mensagens marcadas" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Mensagens Marcadas onde seu nick é mencionado, mas também:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Palavras extra para marcar:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nick para nunca marcar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nick para marcar sempre:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separe múltiplas palavras com vírgulas. caracteres universais ⏎ são aceites." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Piscar na barra de notificações em:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mensagens Padrão" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Desligar:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Sair do canal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Ausente:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Ausente" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Mostrar ausências uma única vez" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Mostrar mensagens de ausência idênticas apenas uma vez." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Retirar ausência automaticamente" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Desmarcar-se como ausente antes de enviar mensagens." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Variados" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Mostrar os MODOs na forma natural" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS após notificação" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Envia um /WHOIS quando um utilizador da tua lista de notificação ficar online." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Ocultar mensagens de entrada e saída de canal" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Ocultar mensagens de entrada/saída do canal por padrão." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Ocultar mensagens de alteração de nome de utilizador" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportamento de cópia automática" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copiar texto selecionado automaticamente" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copie o texto selecionado para a área de transferência quando o botão esquerdo do rato é libertado. Caso contrário, Ctrl+Shift+C copiará o texto selecionado para a área de transferência." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Incluir horas automaticamente" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Incluir automaticamente data e hora em linhas de texto copiadas. Caso contrário, inclui data e hora apenas se a tecla Shift estiver pressionada durante a seleção." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Incluir informações de cor" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Incluir automaticamente informações de cor em linhas copiadas de texto. Caso contrário, inclui informações sobre cores apenas se a tecla Ctrl estiver pressionada durante a seleção." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nome _Verdadeiro:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Fontes Alternativas:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Separa múltiplas entradas com vírgulas e sem espaços antes ou depois." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Ver listas compactadas" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Use menos espaçamento entre as linhas de lista utilizadores / árvores de canal." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Usar tempo do servidor se suportado" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Mostrar data e hora obtidos do servidor se ele suportar a extensão time-server." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Reconectar automaticamente aos servidores após desconexão" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Período para re-ligar:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Período para ligar:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Tipo de Banimento:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Tenta usar esta máscara de banimento para banir ou silenciar. (requer irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Registos" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Ver scrollback da sessão anterior" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Scrollback linhas:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Ativar registro de conversas para o disco" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nome do ficheiro de registos" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canal %n=rede." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Inserir hora das mensagens nos registos" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formato hora das mensagens do registo:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLs" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Ativar registro de URLs para o disco" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Ativar apanha URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Número máximo de URLs para apanhar:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Desligado)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automático" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Todas as conexões" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Apenas servidor de IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Somente DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Seu Endereço IP" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Ligar a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Útil apenas para computadores com vários endereços." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transferência de Ficheiros" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obter endereço através do servidor de IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Pergunta ao servidor de IRC o teu endereço real. Utiliza se tiveres um endereço 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Endereço IP de DCC" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Utilizar este endereço quando oferta ficheiros." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Primeira porta de escuta do DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Última porta de escuta do DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Deixar portas a zero para alcance máximo." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Servidor Proxy:" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Host:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Porta:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Utilizar proxy para:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticação Proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Use autenticação (somente HTTP ou SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Utilizador:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Servidor de Identidade" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Activado" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "O servidor responderá com o nome de utilizador da rede" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Você deve ter permissões para escutar nesta porta. Se não for 113 (o padrão é 0), você deverá configurar o reencaminhamento de porta." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Selecionar um Ficheiro de Imagem" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Selecionar Pasta de Transferências" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Selecionar fonte" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Selecionar..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Abrir Pasta Data" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Seleccionar cor" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Cores de Texto" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Cores do mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Cores locais:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Frente:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Fundo:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Texto Selecionado" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Cores da Interface" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Novos dados:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Linha de marcador:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nova mensagem:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Utilizador ausente:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Marcar:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Corretor ortográfico:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Exclusão Cor " + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Ficheiro de som:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Seleccionar um ficheiro de som" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Ficheiro de som:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Percorrer..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Tocar" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Aparência" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Caixa de entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lista de utilizadores" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Mudar de canal" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Cores" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Conversar" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sons" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avançadas" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configuração de Rede" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferência de ficheiros" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identidade" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorias" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Você não pode colocar a árvore na parte superior ou inferior! ⏎ por favor mude para as <b>Guias</ b> disposição no <b>Ver</ b> primeiro menu." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "A opção Nome real não pode ser deixada em branco. Voltando a \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Algumas alterações necessitam que reinicie o programa." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*AVISO*\nAceitar automaticamente DCC no diretório do utilizador pode ser perigoso. Por exemplo, uma pessoal mal intencionada pode enviar-te um .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferências - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(sem sugestões)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mais..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Juntar \"%s\" a Dicionário" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorar tudo" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Sugestões Ortografia" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "encantar erro para a linguagem: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Houve um erro ao processar a frase" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Este sinal apenas passa %d argumentos, $%d é inválido" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Escrever Ficheiro de Textos" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editar Eventos" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Carregar De..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testar todos" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Coletor de URLs - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Limpar lista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copiar URL seleccionado" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Gravar lista para ficheiro" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Abrir um URL irc://servidor:porta/canal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Falha ao obter informações. Não suportado ou erro." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Nenhuma informação com esse nome\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s definido como: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: As configurações válidas são: announce e hide_ * para cada informação. por exemplo: hide_os. Sem um valor, ele mostrará a configuração atual (ou padrão).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: nome da variável inválido\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s plugin carregado\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s plugin descarregado\n" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000000000000000000000000000000000000..71a1bb05c5832605464a6e45e4a8d9a2ef22655b --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,6265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Aníbal Deboni Neto <adneto@outlook.com>, 2014-2016,2018 +# Flamarion Jorge <flamarilinux@yahoo.com.br>, 2009 +# Flamarion Jorge <jorge.flamarion@gmail.com>, 2012 +# Flamarion Jorge <jorge.flamarion@gmail.com>, 2012 +# Frédéric L. W. Meunier <fredlwm@olympiquedemarseille.org>, 20, 2009 +# Leonardo Pires Felix <leonardo@piresfelix.com>, 2013 +# Matheus Felipe Braga, 2014,2016 +# Matheus Felipe Braga, 2014,2016 +# Matheus Macabu <mkbu95@gmail.com>, 2012 +# Matheus Macabu <mkbu95@gmail.com>, 2012 +# Rodrigo de Araujo <araujorodrigo1984@gmail.com>, 2016 +# Rodrigo de Araujo <araujorodrigo1984@gmail.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-05-13 01:10+0000\n" +"Last-Translator: Aníbal Deboni Neto <adneto@outlook.com>\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/hexchat/hexchat/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Cliente IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat é um cliente IRC extensível e fácil de usar. Ele permite que, de forma segura, você acesse múltiplas redes e tenha conversas privadas com outros usuários ou ainda em canais públicos, tudo isso através de uma interface personalizável. Você poderá até mesmo transferir arquivos." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat suporta recursos como: DCC, SASL, proxies, corretor ortográfico, alertas, registros, temas personalizados, e scripts em Python/Perl" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Janela principal de bate-papo" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Converse com outras pessoas na rede" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chat;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Abrir modo seguro" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Gerenciador de temas" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Estou ocupado" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Saindo..." + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "Desligar" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "Ligar" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{nãodefinido}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rede" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nenhum>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Aguardando" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Ativo" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Sem sucesso" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Pronto" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Conectar" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Cancelado" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Impossível acessar %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Erro" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s te oferece \"%s\". Quer aceitar?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nenhum DCC ativo\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Iniciar c_onversa" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Enviar arquivo" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Informações (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_+ Amigos" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorar" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_perador" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "+ op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "- op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "+v" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "-v" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Chutar/Banir" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Chutar" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Banir" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Chutar & banir" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Sair do canal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Entrar num canal" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Informe o canal a entrar:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Links de servidores" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Pingar servidor" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Esconder a versão" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "tchau" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Qual o motivo para chuta--lo(a) %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Enviar arquivo" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Conversa" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Quem É" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Enviar" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Conversar" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Limpar" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Pingar" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Você não tem permissão de escrita a %s. Nada desta sessão poderá ser salvo." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Executar um IRC como root é estupidez. Você deve\n criar uma conta de usuário e usá-la para fazer o login.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "SIM " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NÃO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Você está recebendo um CTCP flood de %s, ignorando %s\n\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Você está recebendo muitas mensagens consecutivas de %s, o parâmetro gui_autoopen_dialog será DESATIVADO.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Resolvido para %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Não encontrado" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Resolvido para:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Procurando %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s conectou-se\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s desconectou-se\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Você não entrou em canal algum. Tente /join #<canal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Não conectado. Tente /server <host> [porta]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Servidor %s já existe na rede %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Servidor %s adicionado a rede %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Já está ausente: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Já está de volta\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Eu preciso do /bin/sh para executar!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Comandos disponíveis:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Comandos definidos pelo usuário:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Comandos definidos por plugins:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Digite /HELP <comando> para mais informações, ou /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Argumento desconhecido ignorado '%s'." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Silêncio não é suportado por este servidor." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Plugin não encontrado\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Este plugin se recusa a descarregar\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <nome> <ação>, adiciona um botão abaixo da lista de usuários" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NovaRede> <novoservidor/6667>, adiciona uma nova rede com um novo servidor a lista de redes" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <comando>, envia um comando para todos os canais em que você estiver" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <comando>, envia um comando para todos os canais no servidor atual" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <comando>, envia um comando para todos os servidores em que você estiver" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<razão>], torna você ausenta (use /BACK para voltar)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, trás você de volta (não ausente)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAM <mask> [<bantype>], bane todos os usuários com a máscara correspondente no canal atual. Esse comando não os expulsará caso eles ainda estejam no canal (necessário ChanOp)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variável> [<valor>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<codificação>], obtém ou altera a codificação usada na conexão atual" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<quantidade>], Limpa o texto da janela atual ou histórico de comandos" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Fecha a janela/aba atual, fechando a janela se esta for a única aba aberta, ou com \"-m\", fecha todas as conversas privadas. " + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <código|valor coringa>, procura pelo código de um país, ex: br = brasil" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <usuário> <mensagem>, envia uma mensagem CTCP ao usuário, mensagens comuns são VERSION e USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<canal>], Sai do canal atual, ou de um escolhido, e entra novamente" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <apelido> - aceita uma oferta de arquivo\nDCC SEND [-maxcps=#] <apelido> [arquivo] - envia um arquivo a um usuário\nDCC PSEND [-maxcps=#] <apelido> [arquivo] - envia um arquivo em modo passivo a um usuário\nDCC LIST - exibe a lista de DCCs\nDCC CHAT <apelido> - oferece um DCC CHAT\nDCC PCHAT <apelido> - oferece um DCC CHAT em modo passivo\nDCC CLOSE <tipo> <apelido> <arquivo> exemplo:\n /dcc close send josesilva arquivo.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <usuário>, remove o estado de meio-operador do usuário no canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <nome> apaga um botão da parte inferior da lista de usuários" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <usuário>, remove o estado de operador de um usuário no canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <usuário>, remove o estado de voz de um usuário no canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Desconecta do servidor" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <usuário|host|ip>, Resolve um IP ou hostname" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <channel,list,/network> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <texto>, Exibe um texto localmente" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <comando>, executa um comando na shell. Se o modo -o for usado, então o resultado do comando será enviado ao canal ativo, ou então exibido na caixa de texto ativa" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, envia SIGCONT ao processo" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], elimina um comando exec ativo na sessão atual. Se o modo -9 for utilizado, o processo designado é terminado com SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, envia SIGSTOP ao processo" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, envia dados ao stdin do processo" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporta as configurações do HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, esvazia a lista de envios do servidor ativo" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<porta>], cria uma conexão proxy através de um host, a porta padrão é 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <usuário) [senha], Encerra a conexão de um usuário fantasma" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <usuário>, concede estado de meio-operador a um usuário (necessita ChanOp)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <senha>, faz identificação do apelido junto ao NickServ" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <máscara> <tipos> <opções>\nmáscara - máscara do host a ignorar, ex: *!*@*.telesp.net.br\ntipos - tipo de dado a ignorar, dentre as opções:\nPRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\nopções - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <usuário> [<canal>], convida alguém para entrar no canal, por padrão o canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <canal>, entra no canal" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <usuário> [motivo], chuta o usuário do canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <usuário> [motivo], bane e então chuta o usuário do canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, força uma nova verificação do lag" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <fragmento>, pesquisa por um dado fragmento nos registros\nUse -h para dar destaque ao fragmento encontrado\nUse -m para somente palavras inteiras\nUse -r quando o fragmento for um Expressão Regular\nUse -- (duplo hífen) para encerrar as opções quando pesquisando, use, a opção '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <arquivo>, carrega um plug-in ou script" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Remove, em massa, o estado dos meio-operadores no canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Remove, em massa, o estado de todos os operadores do canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <ação>, envia a ação para o canal ativo (ações são geralmente escritas em 3ª pessoa, ex: /me pula)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, Concede estado de meio-operador em massa no canal ativo (é necessário ser operador)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Chuta todos os usuário do canal ativo com exceção de você (necessita ChanOp)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Concede modo de operador a todos os usuários do canal ativo (necessita ChanOp)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <usuário> <mensagem>, envia uma mensagem privada. Ao utilizar \".\", no lugar de um apelido de usuário, a mensagem é encaminhado ao último usuário, ou prefixe com \"=\" para enviar a um dcc chat" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [canal], Lista os usuários presentes em um canal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <usuário> <mensagem>, Envia uma notificação CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<porta>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>, altera seu apelido" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <usuário/canal> <mensagem>, envia uma aviso" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n rede1[,rede2,...]] [<usuário>], exibe sua lista de amigos ou adiciona alguém a ela" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>, concede estado de operador ao usuário (necessita ChanOp)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<canal>] [<motivo>], sai do canal, por padrão o canal ativo" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <usuário | canal>, envia um CTCP ping a um usuário ou canal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <usuário> [mensagem], abre uma nova janela de conversa privada e, opcionalmente, também envia uma mensagem" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <máscara> [<tipodesilencio>], silencia todos os usuários que possuam uma dada máscara no canal ativo, contanto que esta ação seja suportada pelo servidor" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<motivo>], desconecta do servidor atual" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <texto>, envia um texto em formato puro para o servidor" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<porta>] [<senha>], Pode ser usado apenas digitando /RECONNECT para reconectar ao servidor atual ou com /RECONNECT ALL para reconectar a todos os servidores ativos" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<porta>] [<senha>], Pode ser usado apenas digitando /RECONNECT para reconectar ao servidor atual ou com /RECONNECT ALL para reconectar a todos os servidores ativos" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <texto>, envia dados puros ao HexChat, como se estes fossem recebidos diretamente do servidor IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <nome>, recarrega um plugin ou script" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <texto>, envia texto para a janela ativa" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<arquivo>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <porta> <canal>, conecta e entra em um canal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <porta> <canal>, conecta e entra em um canal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<porta>] [<senha>], conecta a um servidor. Por padrão, a porta 6667 é para conexões normais e a 6697 para conexões com SSL" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<porta>] [<senha>], conecta a um servidor, a portão padrão é 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variável> [<valor>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<posição>, reposiciona o cursos na caixa de entrada " + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <novo nome>, altera o nome da aba, no entando o valor ajustado para tab_trunc ainda será respeitado" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <novo texto>, muda o texto da caixa de entrada" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>], ajusta um novo tópico, caso nenhum seja informado, exibe o tópico atual" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <timeout> <file1> [<file2>] Alterna a bandeja piscando entre dois ícones.\nTRAY -f <arquivo> Ajusta a bandeja para um ícone.\nTRAY -i <número> Pisca a bandeja com o ícone interno.\nTRAY -t <texto> Ajusta as dicas da bandeja.\nTRAY -b <titulo> <texto> Ajusta o balão da bandeja" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mascara> [<mascara>...], tira o banimento das mascaras escolhidas." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mascara> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <nome>, descarrega um plug-in ou script" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mascara> [<mascara>...], tira o silêncio das máscaras escolhidas quando suportado pelo servidor." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, abre a URL no seu navegador" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <apelido1> <apelido2> etc, destaca o usuário(s) na lista do canal" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>, concede voz a alguém (necessita ChanOp)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mensagem>, envia uma mensagem a todos os canais" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mensagem>, envia uma mensagem a todos os operadores do canal ativo" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Comando personalizado para: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNenhuma ajuda disponível para este comando.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Comando inexistente.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumento inválido para o comando.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Excesso de comandos recursivos, cancelando." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Comando desconhecido %s. Tente /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "O símbolo para hexchat_plugin_init não foi encontrando. Este arquivo é realmente um plugin do HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tServiço de ident requisitado de %s como %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tErro ao iniciar servidor identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <porta> <usuário>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d apagado.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Número de referência não encontrado.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Nenhum timer em funcionamento.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Segundos Repetições Comando \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Tem certeza que esse é um servidor e porta que suportam SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Impossível resolver hostname %s\nVerifique suas configurações de IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Travessia de proxy mal sucedida.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Rodando para o próximo servidor em %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Aviso: o conjunto de caracteres \"%s\" é desconhecido. Não será utilizada nenhuma conversão para rede %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O adicionado(a) ao amigos" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O por %C24$4%O em %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNão foi possível entrar no canal %C22$1 %O(%C20Você está banido%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tCapacidade aprendidas: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tCapacidades removidas: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tCapacidades suportadas: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tCapacidades requeridas: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O mudou de apelido para %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O baniu %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tCanal %C22$1%O criado em %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O retirou o estado de meio-operador de %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O retirou o estado de operador de %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O retirou a voz de %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C isentou %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O concedeu estado de meio-operador a %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C ajustou isenção de convites em %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UCanal Usuários Tópico" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O ajustou os modos %C24$2$3%O em %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O modos: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O concedeu estado de operador a %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O definiu silêncio em %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu a isenção em %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu a isenção de convites em %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O removeu a palavra-chave do canal" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O removeu o limite de usuários" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O mudou a palavra-chave do canal para %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O limitou o canal a %C24$2%O usuários" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tirou banimento de %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O removeu silêncio de %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tCanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O concedeu voz a %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tConectado. Agora, identificando-se." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tConectando a %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tFalha na conexão (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tVocê recebeu um CTCP %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tVocê recebeu um CTCP %C24$1%C de %C18$2%C (para %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tVocê recebeu um CTCP Sound %C24$1%C de %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tVocê recebeu um CTCP Sound %C24$1%C de %C18$2%C (para %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT com %C18$1%O cancelado." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT conexão estabelecida com %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT com %C18$1%O foi perdido (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tVocê recebeu uma proposta de DCC CHAT de %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tPropondo DCC CHAT para %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tVocê já propôs um CHAT com %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 a tentativa de se conectar a %C18$2%O foi mal sucedida (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tRecebido '%C23$1%C' de %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Tipo De/Para Estado Tamanho Pos Arquivo" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tVocê recebeu um pedido de DCC mal formado vindo de %C18$1%O.$a010%C23*%O$tConteúdo dos pacotes: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tPropondo '%C24$1%O' para %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNão existe a proposta de DCC." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' para %C18$1%O cancelado." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' de %C18$3%O concluído %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV conexão estabelecida com %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' de %C18$3%O mal sucedido (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Não foi possível abrir '%C23$1%C' para gravação (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tO arquivo '%C24$1%C' já existe, no entanto, salvaremos como '%C23$2%O'." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C solicitou continuar '%C23$2%C' de %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' para %C18$1%O cancelado." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' para %C18$2%C concluído %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND conexão estabelecida com %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' para %C18$2%C mal sucedido (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C ofereceu '%C23$2%C' (%C24$3%O bytes)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' para %C18$3%O estagnou-se e será cancelado." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' para %C18$3%O esgotou o tempo e será cancelado." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O removido dos amigos" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tDesconectado (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tSeu IP foi encontrado: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O será ignorado." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OAlterada forma de ignorar %C18$1%O." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O não será mais ignorado." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%ONinguém sendo ignorado." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tNão foi possível entrar no canal %C22$1%C (%C20Entrada somente por convite%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tVocê foi convidado a entrar no canal %C22$1%O por %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) entrou" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNão foi possível entrar no canal %C22$1%C (%C20Necessita palavra-chave%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C chutou %C18$2%C do %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Sua conexão foi encerrado por %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29O MOTD não será exibido%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C já está em uso. Tentando novamente com %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C está incorreto. Tentando novamente com %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tO apelido está incorreto ou já esta em uso. Use /NICK para tentar outro." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tO DCC não existe." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tNão há processo em execução" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C está ausente (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotificação: %C18$1%C voltou" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLista de amigos vazia." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Lista de notificações" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O amigos." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C desconectou-se (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotificação: %C18$1%C conectou-se (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) saiu" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) saiu ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tResposta do ping de %C18$1%C: %C24$2%O segundo(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tSem resposta de ping por %C24$1%O segundos, desconectando." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tUm processo já está em execução" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 desconectou-se ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C definiu os modos %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tProcurando IP de %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutenticando via SASL como %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tConectado." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tLocalizando %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tA tentativa prévia de conexão interrompida (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTópico para %C22$1%C é: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C alterou o tópico para: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTópico do %C22$1%C definido por %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tEndereço desconhecido. Será que você não errou na digitação?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tNão foi possível entrar em %C22$1%C (%C20O limite de usuários foi atingido%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tUsuários em %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C está ausente %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFim do WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inativo %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inativo %C23$2%O, entrada: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Endereço verdadeiro: %C23$2%O, IP verdadeiro: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tAgora falando em %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tVocê foi chutado de %C22$2%C por %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tVocê saiu do canal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tVocê saiu do canal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tVocê convidou %C18$1%O para %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tVocê mudou de apelido para %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Registro carregado de" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** REGISTRO FINALIZANDO EM %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** REGISTRO COMEÇANDO EM %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Não foi possível abrir os registros para escrita. Verifique\nsuas permissões em %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Mensagem da esquerda" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Mensagem da direita" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Endereço de IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Usuário" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "O apelido da pessoa que está entrando" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "O canal que se está entrando" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Host da pessoa" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Conta da pessoa" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Apelido" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Ação" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Modo char" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Texto identificado" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Texto" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Mensagem" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Servidor" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Habilidades aprendidas" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Habilidades removidas" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Habilidades do servidor" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Habilidades requeridas" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Apelido antigo" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Novo apelido" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Apelido da pessoa que alterou o tópico" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tópico" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Apelido de quem chutou" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Apelido de quem foi chutado" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Canal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Motivo" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Apelido da pessoa que está saindo" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Tempo" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Criador" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Apelido" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Motivo" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Host" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "De quem é isso" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Hora no formato x.x (veja abaixo)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "O canal para onde isso vai" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Som" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Apelido da pessoa" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Evento CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Apelido da pessoa que definiu a chave" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Chave" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Apelido da pessoa que definiu o limite" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limite" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Apelido da pessoa que definiu o estado de operador" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Apelido da pessoa que recebeu o estado de operador" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Apelido da pessoa que recebeu estado de meio-operador" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Apelido da pessoa de concedeu modo de meio-operador" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Apelido da pessoa que concedeu voz" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Apelido da pessoa que recebeu voz" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Apelido da pessoa que baniu" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Máscara do banimento" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Apelido da pessoa que silenciou" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Máscara silenciada" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Apelido de quem removeu a chave" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Apelido de quem removeu o limite" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Apelido da pessoa que fez o deop" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Apelido da pessoa que teve o estado de operador removido" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Apelido da pessoa que fez o dehalfop" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Apelido da pessoa que teve o modo de meio-operador removido" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Apelido da pessoa que fez o devoice" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Apelido da pessoa que teve a voz removida" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Apelido da pessoa que desbaniu" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Apelido da pessoa que remove o silenciamento" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Apelido da pessoa que fez a isenção" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Máscara de isenção" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Apelido da pessoa que removeu a isenção" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Apelido da pessoa que fez o convite" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Máscara de convite" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Apelido da pessoa que removeu o convite" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Apelido da pessoa de definiu o modo" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Sinal do modo (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Letra do modo" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "O canal foi configurado em" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Nome completo" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Afiliação de Canal/\"É um operador IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informações do servidor" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Tempo inativo" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Tempo conectado" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Motivo da ausência" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mensagem" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Conta" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Endereço usuario@host verdadeiro" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP verdadeiro" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Nome do canal" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mecanismo" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Número ou identificador" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Texto" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Apelido da pessoa que te convidou" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Usuários" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Apelido em uso" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Apelido em tentativa" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Porta" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Linha dos modos" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Tipo de DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Nome do arquivo" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Nome do arquivo destino" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Caminho" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Posição" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Tamanho" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "String de DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Motivo da ausência" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Número de itens notificados" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Antigo nome do arquivo" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Novo nome do arquivo" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Recebidos" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Máscara do host" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostname" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Pacote" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Segundos" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Apelido da pessoa que foi convidada" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Máscara banida" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Quem baniu" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Hora do banimento" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Não foi possível reproduzir o som:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "O computador remoto encerrou a conexão" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Conexão recusada" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Sem rota para o host" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Tempo esgotado para conexão" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Não foi possível associar o endereço" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Conexão terminada pela outra ponta" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ilha de Ascensão" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emirados Árabes Unidos" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviação-Áreas relacionadas" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afeganistão" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua e Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albânia" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armênia" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilhas Holandesas" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS reverso" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Americana" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Região da Ásia-Pacífico" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austria" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Fiel OTAN" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austrália" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ilhas Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaijão" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia e Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bélgica" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaria" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Negócios" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butão" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Ilha Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canadá" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalão" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Ilhas Côco" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "República Democrática do Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "República Centro-Africana" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Suíça" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Costa do Marfim" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Ilhas Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camarões" + +#: src/common/util.c:738 +msgid "China" +msgstr "China" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Comercial InterNIC" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperativas" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Sérvia e Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cabo Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Ilhas Natal" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipre" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "República Tcheca" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Alemanha oriental" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Alemanha" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dinamarca" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "República Dominicana" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Argélia" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Equador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Instituição Educacional" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estônia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egito" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Saara Ocidental" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritreia" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espanha" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "União Europeia" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlândia" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Ilhas Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronésia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Ilhas Faroé" + +#: src/common/util.c:770 +msgid "France" +msgstr "França" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabão" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Grã-Bretanha" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Granada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgia" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guiana Francesa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Ilhas do Canal Inglês" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlândia" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gâmbia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guiné" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Governamental" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guiné Equatorial" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grécia" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Ilhas Geórgia do Sul e Sandwich do Sul" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guiné-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guiana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Ilha Heard e Ilhas McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croácia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungria" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonésia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Ilha de Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Índia" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativo" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internacional" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territórios Britânicos no Oceano Indico" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Iraque" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irã" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islândia" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itália" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordânia" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Empregos em companhias" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japão" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Quênia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Quirguistão" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Camboja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Quiribáti" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "São Cristóvão e Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Coreia do Norte" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Coreia do Sul" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Ilhas Cayman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Cazaquistão" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Líbano" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituânia" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgo" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letônia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Líbia" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marrocos" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mônaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldávia" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Medicina dos Estados Unidos" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Ilhas Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militar" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedônia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongólia" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Dispositivos móveis" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Ilhas Marianas do Norte" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinica" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritânia" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurício" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museus" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivas" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malaui" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "México" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malásia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Nomes de indivíduos" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Caledônia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Níger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rede InterNIC" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Ilha Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Países Baixos" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruega" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niuê" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nova Zelândia" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omã" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organização sem fins lucrativos InterNIC" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panamá" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinésia Francesa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nova Guiné" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinas" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Paquistão" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polônia" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "São Pedro e Miquelão" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Ilhas Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profissões" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Território Palestino" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Catar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunião" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romênia" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Estilo antigo da ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Sérvia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federação Russa" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arábia Saudita" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Ilhas Salomão" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seicheles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudão" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suécia" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapura" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Santa Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Eslovênia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Ilhas Svalbard e Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "República Eslovaca" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Serra Leoa" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somália" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudão do Sul" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé e Príncipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Extinta União Soviética" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Síria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Suazilândia" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Ilhas Turks e Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chade" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Serviços de Comunicação da Internet" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territórios Franceses do Sul" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tailândia" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajiquistão" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Toquelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor-Leste" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turcomenistão" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunísia" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turquia" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Viagem e Turismo" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad e Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzânia" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ucrânia" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estados Unidos da América" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbequistão" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Cidade Estado do Vaticano" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "São Vicente e Granadinas" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Ilhas Virgens Britânicas" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Ilhas Virgens dos EUA" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnã" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Ilhas Wallis e Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Entretenimento Adulto" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Iêmen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Iugoslávia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "África do Sul" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zâmbia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbábue" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Não foi possível conectar a sessão" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Falha ao completar NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Falha ao completar comando" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "acesso remoto" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "plugin para acesso remoto via DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Não foi possível conectar a sessão: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Falha ao adquirir %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Mapa de caracteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Banimentos" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Isenções" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Isento" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Convites" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Convidar" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Silenciados" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Silenciar" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Copiar máscara" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s em %s por %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Copiar entrada" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Não conectado." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Você precisa selecionar alguns banimentos" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Tem certeza que deseja remover todo conteúdo listado em %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tipo" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Máscara" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "De" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Data" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Só é possível abrir a lista de banimentos enquanto a janela do canal estiver ativa." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Lista de banimentos (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Remover" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Cortar" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Atualizar" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Exibindo %d/%d usuários em %d/%d canais." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Selecione um arquivo de saída" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Entrar no canal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Copiar nome do canal" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Copiar _tópico" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Lista de canais (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Localizar" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Downloads" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Salvar _lista" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Exibir apenas:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "canais com" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "para" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "usuários." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Procurar em:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Nome do canal" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tipo de busca:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Busca simples" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Padrão de busca (coringas)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Expressão Regular" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Procurar:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Enviar arquivo para %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Este arquivo não pode ser continuado." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Falha ao acessar arquivo: %s\n%s.\nNão é possível continuar." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "O arquivo encontrado no diretório de download é maior do que o oferecido. Não é possível continuar a baixar." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Não é possível continuar a baixar o mesmo arquivo de pessoas diferentes." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Envios e recebimentos - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Arquivo" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "TEF" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambos" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Uploads" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Downloads" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalhes" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Arquivo:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Endereço:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Cancelar" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Aceitar" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Continuar" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Abrir pasta" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Lista de conversas por DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Rcbd" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Enviado" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Hora de início" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Adicionar" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Apagar" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Cancelar" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Salvar" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Não conectar automaticamente aos servidores" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Usar um diretório diferente para as configurações" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Não carregar complementos automaticamente" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Mostrar diretório de carregamento automático de complementos" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Mostrar diretório de configurações do usuário" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Abrir URL chave irc://servidor:porta/canal?" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Executar comando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Abrir URL ou comando num HexChat que já estiver em execução" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Iniciar minimizado. Nível 0=Normal 1=Ícone 2=Bandeja" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nível" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Exibir informação da versão" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Falha ao abrir fonte:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Buffer de pesquisa está vazio.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bytes" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Envios em espera da rede: %d bytes" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "A ação Run Command executa os dados em Dados 1 como se tivessem sido digitados na caixa de entrada onde você digitou a sequência. Ademais, ele pode conter texto (que será enviado para o canal/pessoa), comandos ou comandos de usuários. Quando for executado, todos os caracteres \\n contidos no Dados 1 delimitarão comando, dessa forma é possível executar mais de um comando. Se você quiser um caractere \"\\\" no texto utilize \"\\\\\"" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "O comando Change Page alterna entre as páginas do notebook. Conjunto de dados 1 para a página que desejar alterar. Se Dados 2 estiver definido para qualquer coisa, então a opção será relativa à posição atual. Conjunto de dados de 1 para mudar automaticamente para a página com a atividade mais recente e importante (consultas primeiro, depois os canais com destaque, canais de conversa ativos, canais com outros dados)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "O comando Inserir no Buffer introduz o conteúdo de Dados 1 na posição atual do cursor da entrada onde a sequência de teclas foi pressionada" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "O comando Scroll Page desloca o widget de texto para cima ou para baixo uma página ou uma linha. Define Data 1 para Top (Topo), Bottom (Fundo), Up (Cima), Down (Baixo), +1 ou -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Set Buffer comando define a entrada, com a sequência de teclas introduzida para o conteúdo Dados 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Last Command comando define a entrada para conter o último comando inserido-o mesmo que pressionar Cima num shell" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Next Command comando define a entrada para conter o próximo comando a inserir - o mesmo que pressionar Baixo num shell" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Este comando altera o texto na entrada para completar um apelido ou comando incompleto. Se Dados 1 está definido então ao carregar duas vezes na tecla TAB numa palavra irá seleccionar o último apelido e não o próximo" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Este comando percorre a lista de nicks. Se Dados 1 está definido então a lista é percorrido para cima, caso contrário é percorrida para baixo" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Este comando verifica a ultima palavra informada contra a lista de substituição e a substitui se houver coincidência" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Este comando move a aba fronta para esquerda em uma unidade" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Este comando move a aba fronta para direita em uma unidade" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Este comando move a família de abas ativa para esquerda" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Este comando move a família de abas ativa para direita" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Por linha de entrada no histórico mas não enviar ao servidor" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Houve um erro ao carregar as configurações das chaves de ligação" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Selecione uma linha para obter ajuda em suas ações" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Atalhos de teclado - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Não foi possível escrever no arquivo." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Não foi possível ler o arquivo" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "A máscara já existe." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privado" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notificação" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Não ignorar" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Tem certeza que deseja remover todos os usuários ignorados?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Informe a máscara a ignorar:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Lista de ignorados - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Estatísticas de ignorados:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privado:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notificação:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Convidar:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Adicionar" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Nome do canal pequeno demais, tente outro maior." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Conexão completa - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Conexão com %s concluída." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Na janela da lista de servidores, nenhum canal (sala de bate-papo) foi adicionado para entrada automática nessa rede." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "O quê gostaria de fazer em seguida?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Nada, entrarei em um canal depois." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Entrar neste canal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Se você sabe o nome de algum canal que deseja entrar, digite aqui." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "A_brir lista de canais." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Requisitando lista de canais, isso pode levar alguns minutos" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Sempre mostrar essa janela depois de conectar." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Conversando com" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tópico para %s é: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nenhum tópico ajustado" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Esse servidor ainda tem %d canais ou conversas abertas. Fechar assim mesmo?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Sair do HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Não perguntar novamente." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Você está conectado a %i rede(s) IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Tem certeza que deseja sair?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Algumas transferências continuam ativas." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizar para bandeja" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Insira um atributo ou código de cor" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Negrito</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Sublinhado</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Itálico</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Cores 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Cores 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Configurações" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Registrar dados" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Recarregar conversas" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Limpar _cores" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Ocultar entradas e saídas do canal" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Alertas _adicionais" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Apitar nas mensagens" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Piscar ícone na bandeja" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Piscar barra de tarefas" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Separar" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Fechar" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "O limite de usuários deve ser um número!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrar cores" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Não receber mensagens externas" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Tópico protegido" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Apenas convidados" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderado" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Banimentos" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Palavra-chave" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limite" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Informe o apelido:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Nada foi encontrado" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "A pesquisa esgotou as possibilidades ou nada foi encontrado." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Destacar tudo" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Destacar todas as ocorrência e sublinhar a atual." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "_Coincidir palavra" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Diferenciar capitalização na busca." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Utilizar termo de busca como expressão regular." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Host desconhecido" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Conta desconhecida" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Desconhecido" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Nome verdadeiro:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Usuário:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Conta:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "País:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Servidor:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minutos atrás" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Ultima msg:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Motivo da ausência:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d usuários selecionados." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "A barra de menu ficará escondida. Para acessá-la você deve apertar CTRL+F9 ou então clicar com o botão direito do mouse na caixa de texto principal desta interface." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Abrir no navegador" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Copiar" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Entrar no canal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Sair do canal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Rodar o canal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Entrada automática" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Entrar em canais" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Conexão automática" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menu do usuário - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Editar este menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Linha de marcação desativada." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "A linha de marcação nunca foi configurada." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Linha de marcação reajustada manualmente." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Linha de marcação reajustada pois excedeu o limite do registro de conversas." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "A linha de marcação é reajustada através do comando CLEAR." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "O estado da linha de marcação é desconhecido" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Requisitar lista de canais" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "foi feito sem suporte a complementos." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Comandos do usuário - códigos especiais:\n\n%c = canal ativo\n%e = nome da rede ativa\n%m = informações sobre o computador\n%n = seu apelido\n%t = hora/data\n%v = versão do HexChat\n%2 = 2ª palavra\n%3 = 3ª palavra\n&2 = da 2ª palavra até o fim da linha\n&3 = da 3ª palavra até o fim da linha\n\nex:\n/cmd jose olá\n\n%2 seria \"jose\"\n&2 seria \"josé olá\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botões da lista de usuários - códigos especiais:\n\n%a = todos os usuários selecionados\n%c = canal ativo\n%e = nome da rede ativa\n%h = hostname dos usuários selecionados\n%m = informações sobre o computador\n%n = seu apelido\n%s = usuários selecionados\n%t = hora/data\n%u = conta dos usuários selecionados" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Botões da janela de conversa - códigos especiais:\n\n%a = todos os usuários selecionados\n%c = canal ativo\n%e = nome da rede ativa\n%h = hostname dos usuários selecionados\n%m = informações sobre o computador\n%n = seu apelido\n%s = usuários selecionados\n%t = hora/data\n%u = conta dos usuários selecionados" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Respostas de CTCP - códigos especiais:\n\n%d = data (todo o ctcp)\n%e = nome da rede ativa\n%m = informações sobre o computador\n%s = apelido do usuário que enviou o ctcp\n%t = hora/data\n%2 = 2ª palavra\n%3 = 3ª palavra\n&2 = da 2ª palavra até o fim da linha\n&3 = da 3ª palavra até o fim da linha\n\n\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Manipuladores de URL - códigos especiais:\n\n%s = linha da URL\n\nAdicionando ! na frente do comando\nque ele deve ser executado em\nshell ao invés do HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Comandos definidos pelo usuário - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu da lista de usuários - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Substituir - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Substituir com" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Gestores de URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Botões da lista de usuários - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Botões de diálogo - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Respostas de CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Li_sta de redes" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nova" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Aba de servidores" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Aba de canais" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Janela de servidores" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Janela de canais" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Carregar complemento" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Sair" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Ver" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Barra de menu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Barra de _tópico" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Lista de _usuários" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Botões da lista de u_suários" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Botões dos m_odos do canal" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Alternador de _canais" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Abas" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Á_rvore" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Medidores de _rede" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Desligar" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Gráfico" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "Tela _cheia" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Servidor" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Desconectar" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Reconectar" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Entrar em um canal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Lista de canais" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "_Ausentar-se" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Menu do _usuário" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Configuraçõ_es" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Auto substituir" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Respostas de CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Botões de diálogo" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Atalhos de teclado" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Eventos de texto" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Gestores de URL" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Comandos de usuário" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Botões da lista de usuário" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Menu da lista de usuários" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Ferramentas" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "Lista de _banimentos" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Conversa direta" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Transferência de arquivos" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Lista de amigos" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Lista de ignorados" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Complementos" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Registro puro" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "Registrador de _URL" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Reiniciar linha de marcação" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Ir para linha de marcação" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Copiar seleção" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Limpar texto" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Salvar texto" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Localizar" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Pesquisar" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Próxima" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Anterior" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Ajuda" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Conteúdos" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Sobre" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Anexar" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Nome" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Visto pela última vez:" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Desconectado" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nunca" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minutos atrás" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Uma hora atrás" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d horas atrás" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Conectado" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Informe o apelido:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notificar nessas redes:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Você pode utilizar uma lista de redes separadas por vírgulas." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Lista de amigos - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Conversar" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Mensagem de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Mensagens no canal de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Oferta de arquivo de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Convidado ao canal por: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notificação de: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Mensagem privada de: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Conectado a %u redes e %u canais - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Restaurar janela" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Ocultar janela" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Piscar nas mensagens" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Canal" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privadas" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Destacadas" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Alterar estado" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Ausentar-se" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Voltar" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Mensagem destacada de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u mensagens destacadas, ultima de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Mensagem em canal de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u mensagens em canais. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Mensagem privada de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u mensagens privadas, ultima de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Oferta de arquivo de: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u oferta de arquivos, ultima de: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Versão" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Descrição" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Escolha um complemento para carregar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Complementos - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Carregar" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Descarregar" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Recarregar" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Salvar como..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Registro puro (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Limpar" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nova rede" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Deseja realmente remover a rede \"%s\" e todos seus servidores?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "O nome de usuário não pode ser deixado em branco" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Você não pode ter um apelido em branco." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Você precisa de dois apelidos diferentes" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Forma como você se identifica com o servidor. Para métodos personalizados de conexão, utilize os comandos de conexão" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Editar %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servidores" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Entrada automática" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Comandos de conexão" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Apelido\n%p=Senha\n%r=Nome verdadeiro\n%u=Nome de usuário" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Chave (senha)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Conectar somente ao servidor escolhido" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Não alternar entre todos os servidores quando a conexão for mal sucedida" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Conectar a esta rede automaticamente" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Evitar servidor de proxy" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Utilizar SSL para todos os servidores nesta rede" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Aceitar certificados SSL inválidos" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Utilizar informações globais de usuário" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Apelido:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Segunda opção:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Nome _verdadeiro:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Nome de _usuário:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Método de identificação:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Senha:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Senha de identificação. Deixe em branco se não souber do que se trata." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Codificação:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Lista de redes - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informações do usuário" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Terceira opção:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Redes" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Ocultar lista de redes no início" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Mostrar somente favoritos" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Editar" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Ordenar" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Organiza a lista de redes em ordem alfabética. Use as teclas Shift+Up e Shift+Down para mover a linha." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Adc. Favoritos" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Marca ou desmarca a rede como favorita." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "C_onectar" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Africano" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albano" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amárico" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturiano" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijano " + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basco" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorusso " + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Búlgaro" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Chinês (simplificado)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Chinês (tradicional)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tcheco" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Dinamarquês" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandês" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Inglês (britânico)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Inglês" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estônio" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finlandês" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francês" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galego" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Alemão" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grego" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Húngaro" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonésio" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiano" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonês" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Canadense" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Coreano" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letão" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituano" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedônio" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaio" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malaiala" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norueguês (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norueguês (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polonês" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Português" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Português (Brasil)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russo" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Sérvio" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Eslovaco" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Esloveno" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Espanhol" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Sueco" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tailandês" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turco" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamita" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walloon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Geral" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Idioma:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Fonte principal:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Caixa de texto" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Apelidos coloridos" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dar uma cor distinta a cada pessoa no IRC" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Indentar apelidos" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Alinhar apelidos a direita-justificada nos canais" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Mostrar linha de marcação" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Inserir uma linha vermelha ao final do ultimo texto lido." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Imagem de fundo:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Ajuste de transparência" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opacidade de janela:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Marca da hora" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Habilitar marcação de hora" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Formato da marcação de hora:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Veja o artigo da MSDN sobre strftime para maiores informações." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Veja o manpage sobre strftime para maiores informações." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Barra de título" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Exibir modos do canal" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Exibir número de usuários" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Ultima ordem" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Caixa de entrada" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Usar fonte e cores da caixa de texto" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Renderizar cores e atributos" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Mostrar caixa de apelido" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Mostrar ícone do modo de usuário junto a caixa de apelido" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Verificação ortográfica" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Dicionários a utilizar:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Utilize os códigos de idioma (como em \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSepare múltiplas entradas com vírgula." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Utilize códigos de idioma. Separe múltiplas entradas com vírgula." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Autocompletar apelido" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufixo para autocompletar" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Ordenamento do autocompletar:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Tamanho do autocompletar:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Limiar dos apelidos para começar a listar ao invés de completar" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "apelidos." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Gráfico" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, operadores primeiro" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, operadores no final" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Não ordenado" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Esquerda (superior)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Esquerda (inferior)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Direita (superior)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Direita (inferior)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Alto" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Baixo" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Oculto" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Lista de usuários" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Exibir hostnames na lista de usuários" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Utilizar fonte e cores da caixa de texto" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Exibir ícones para os modos de usuário" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Utilizar ícones gráficos ao invés de símbolos na lista de usuários." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Colorir apelidos na lista de usuários" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Colorir apelidos com a mesma cor das conversas." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Exibir número de usuários no canal" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Lista de usuários ordenada por:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Mostrar lista de usuários em:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Monitorar ausências" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Monitorar ausência dos usuários e marca-los com um cor diferente" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Em canais com número de usuários menor que:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Ação para o clique duplo" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Dispositivos adicionais" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Medidor de atraso:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Medidor de aceleração:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Janelas" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Abas" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Sempre" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Somente abas selecionadas" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automático" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Em aba adicional" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Na aba frontal" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Árvore" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Tipo de alternador:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Abrir aba adicional para mensagens do servidor" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Abrir uma aba nova ao receber mensagens privadas" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Ordenar abas por ordem alfabética" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Exibir ícones na árvore de canais" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Exibir linha pontilhada na árvore de canais" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Utilizar roda do mouse para alternar abas" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Clique com o botão do meio para fechar a aba" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Texto pequeno" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Focar em novas abas:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Local das notificações:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Exibir alternador de canais em:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Encurtar rótulos para:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "letras." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Abas ou janelas" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Abrir canais em:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Abrir conversas em:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Abrir utilitários em:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Abrir DCC, Ignorados, Notificações etc, em abas ou janelas?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mensagens" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Registro de conversa" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pedir confirmação" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Perguntar onde salvar arquivos" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Salvar automaticamente" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Arquivos e diretórios" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Aceitar oferta de arquivos automaticamente:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Baixar arquivos em:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Mover arquivos completos para:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Salvar apelido nos nomes de arquivos" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Abrir janela de DCC automaticamente" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Envios" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Recebimento" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Conversa" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Velocidade máxima de transferência de arquivos (byte por segundo)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Um envio:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Velocidade máxima para transferência única" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Um download:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Todos os envios combinados:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Velocidade máxima de todos os arquivos" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Todos os arquivos baixados combinados:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alertas" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Mostrar notificações em:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Piscar ícone da bandeja em:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Piscar barra de tarefa em:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Produzir bip em:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Reproduzir o som do sistema \"Instant Message Notification\" para os eventos selecionados" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Reproduzir o tema de som \"message-new-instant\" do freedesktop.org para os eventos selecionados" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Reproduzir um bip GTK para os eventos selecionados" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Não exibir alertas quando estiver ausente" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Não exibir alertas quando a janela estiver em foco" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Comportamento da bandeja" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Utilizar ícone na bandeja" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimizar para bandeja" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Fechar para bandeja" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Voltar automaticamente da ausência" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Ausentar-se ao minimizar para bandeja" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Somente mostrar notificações quando escondido ou minimizado na bandeja" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mensagens destacadas" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Mensagens destacadas são aquelas onde seu apelido aparece, mas também:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Palavras adicionais para destaque:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Usuários a não destacar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Usuários a sempre destacar" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Palavras distintas devem ser separadas por vírgula.\nCoringas também são aceitos." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Ressaltar ícone do dock em:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mensagens padrão" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Saída:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Sair do canal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Ausência" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Ausentar-se" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Mostrar motivo da ausência somente uma vez" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Mostrar motivos de ausência idênticos apenas uma vez." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Voltar automaticamente do período de ausência" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Voltar do período de ausência automaticamente antes de enviar mensagens." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Diversos" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Exibir modos na forma pura" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "Verificar WHOIS ao ser notificado" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Verificar WHOIS quando um amigo se conecta" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Não exibir mensagens de entrada e saída nos canais" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Não exibir mensagens de entrada e saída nos canais por padrão." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Não exibir mudanças de apelido" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domínio" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*usuario@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*usuario@dominio" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Comportamento da cópia automática" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Copiar o texto selecionado automaticamente" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Copiar texto selecionado quando ao soltar o botão esquerdo do mouse. De toda forma, Ctrl+Shift+c copiará o texto selecionado." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Incluir marcação de hora automaticamente" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Incluir marcação de hora automaticamente ao copiar linhas de texto. Caso contrário, a marcação de texto será incluída no texto copiado se a tecla Shift for pressionada enquanto o texto é selecionado." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Incluir cores" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Incluir automaticamente os códigos de cor as linhas de texto copiadas. Caso contrário, os códigos de cor será incluídos no texto copiado se a tecla Crl for pressionado enquanto o texto é selecionado." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Nome verdadeiro:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Fontes alternativas:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Entradas distintas devem ser separadas por vírgulas e sem espaço, antes ou depois." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Exibir listas em modo compacto" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Utilizar menos espaço entre as linhas da lista de usuários/canal." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Utilizar hora do servidor caso seja suportado" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Exibe a hora obtida do servidor caso ele suporte a extensão time-server." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Reconecta automaticamente ao servidor" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Espera para reconexão automática:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Espera para reentrada automática nos canais:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Tipo de banimento:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Tente utilizar essa máscara quando estiver banindo ou silenciando. (necessita de irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Registrando" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Exibe o registro de conversa da sessão anterior" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Linhas de registro de conversa:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Registrar conteúdo das conversas para o disco" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Nome do arquivo de registro:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Servidor %c=Canal %n=Rede." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Incluir hora nos registros" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formato da hora nos registros:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URLs" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Registrar URLs em arquivo do disco" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Utilizar registrador de URLs" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Número máximo de URLs para registrar:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Desligado)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Todas as conexões" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Somente servidores de IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Somente DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Seu endereço" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Ligar a:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Só é útil a computadores com múltiplos endereços." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Transferência de arquivos" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Obter meu endereço através do servidor IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Pede seu endereço verdadeiro ao servidor IRC. Utilize caso seu endereço se pareça com 192.168.*.*" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Endereço IP do DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Declara que você está neste endereço quando estiver oferecendo arquivos." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Primeira porta DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Ultima porta DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Deixe 0 para máximo alcance." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Hostname:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Porta:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tipo:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Utilizar proxy para:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autenticação de proxy" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Usar autenticação (HTTP ou somente SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Usuário:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Servidor Identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Ligado" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "O servidor responderá com os nomes de usuário da rede" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Você precisa estar autorizado a ouvir nesta porta. Se não for a 113 (0 é o padrão) então você deve configurar o encaminhamento de porta (port-forwarding)" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Selecionar imagem" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Selecionar pasta de downloads" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Selecionar fonte" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Navegar..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Abrir diretório de dados" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Selecionar cor" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Cor do texto" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Cores do mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Cores locais:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Plano de frente:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Plano de fundo:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Texto selecionado" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Cores da interface" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Novo dado:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Linha de marcação:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nova mensagem:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Usuário ausente:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Destacado:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Verificador ortográfico:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Limpeza de cores" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evento" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Arquivo de som" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Selecionar arquivo de som" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Arquivo de som:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Navegar" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Reproduzir" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Interface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Aparência" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Caixa de entrada" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Lista de usuários" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Alternador de canais" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Cores" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Conversando" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sons" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avançado" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Configurações de rede" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transferência de arquivos" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categorias" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "A exibição do alternador em árvore não pode ser colocado na parte de cima ou de baixo!\nPor favor altere a exibição para <b>Abas</b> no menu <b>Ver</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "O nome verdadeiro não pode ser deixado em branco. Retornando para \"nomeverdadeiro\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Foram feitas algumas alterações que requerem que o programa seja reiniciado para que tenham efeito." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*AVISO*\nAceitar DCC automaticamente para seu diretório pessoal\npode ser extremamente perigoso e altamente explorável.\nEx: alguém pode lhe enviar um novo arquivo .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Preferências - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(sem sugestão)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mais..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Adicionar \"%s\" ao dicionário" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorar tudo" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Sugestões de escrita" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "esconder erros para o idioma: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Um erro ocorreu quando a linha estava sendo analisada" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Este sinal passou os argumentos %d, e portanto %d é invalida" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Imprimir arquivo texto" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Número" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Editar eventos" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Carregar de..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testar tudo" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Registrador de URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Limpar lista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copiar URL selecionada" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copiar" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Salvar lista em um arquivo" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d total" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Abre uma URL irc://servidor:porta/canal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Falha ao obter informações. Talvez não suportado ou incorreta." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Nenhuma informação com esse nome\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s está configurado para: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Configurações válidas são: announce e hide_* para cada pedaço de informação. e.x. hide_os. Sem nenhuma parâmetro ele mostrará a configuração atual (ou padrão).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: nome de variável invalida\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s plugin carregado\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s plugin descarregado\n" diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000000000000000000000000000000000000..2436c49e786dea6c9b4a8f87803288496ed38164 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000000000000000000000000000000000000..668e25d8f4c86d34441d0db4fbcc0b05df45dbed --- /dev/null +++ b/po/ru.po @@ -0,0 +1,6268 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Aleksandr P, 2010 +# Aleksey <aleksdem@aleksdem.com>, 2016 +# Aleksey <aleksdem@aleksdem.com>, 2014-2015 +# Aleksandr P, 2010 +# Andrey Vihrov <andrey.vihrov@gmail.com>, 2013 +# Igor <f2404@yandex.ru>, 2017 +# Ilyas B Arinov <arinov.ilyas@gmail.com>, 2016 +# InfernalKnight <infernal.knight666@gmail.com>, 2016 +# InfernalKnight <infernal.knight666@gmail.com>, 2016 +# Магретов Никита <huku111a@gmail.com>, 2016 +# Valek Filippov <frob@df.ru>, 2001 +# Volosenkov Dmitry <_bil_@mail.ru>, 1999 +# Aleksey <aleksdem@aleksdem.com>, 2016 +# Артем Малофеев <79067635919@yandex.ru>, 2019 +# Магретов Никита <huku111a@gmail.com>, 2016 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2019-03-18 18:38+0000\n" +"Last-Translator: Артем Малофеев <79067635919@yandex.ru>\n" +"Language-Team: Russian (http://www.transifex.com/hexchat/hexchat/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC Клиент" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat - это лёгкий в использовании, но расширяемый IRC Клиент. Он позволяет безопасно соединяться со множеством сетей и общаться с пользователями лично или на каналах, используя настраиваемый интерфейс. Вы даже можете передавать файлы." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat поддерживает следующие функции: DCC, SASL, прокси, проверка орфографии, уведомления, ведение логов, настраиваемые темы и скрипты на Python/Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Главное окно чата" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Общаться с другими людьми онлайн" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Чат;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Открыть безопасный режим" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Управление темами HexChat" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Я занят" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Ухожу я от вас" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "ВЫКЛ" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ВКЛ" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Сеть" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<нет>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Канал" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Ожидание" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Активен" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Ошибка" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Готово" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Соединение" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Остановлено" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Нет доступа к %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Ошибка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s предлагает \"%s\". Будете принимать?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Нет активных DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "Начать ра_зговор" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "Отправить _файл" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Информация (WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "Добавить в дру_зья" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Игнорировать" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Действия опе_ратора" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Дать оператора" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Снять оператора" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Дать голос" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Забрать голос" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Кик/Бан" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Кик" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Бан" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Кик+Бан" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Уйти с канала" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Зайти на канал..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Введите канал для входа:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Ссылки сервера" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping Server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Не показывать версию" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Оператор" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Снять оператора" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "пока" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Введите причину кика %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Диалог" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Кто " + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Послать" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Разговор" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Очистить" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "У вас нет права записи в %s. Ничего нельзя сохранить в текущей сессии." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Глупо запускать IRC под пользователем root! Вы должны\n создать пользовательскую учетную запись и работать под ним.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "НЕТ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Вас забрасывают CTCP запросами от %s, %s игнорируется.\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Вас забрасывают MSG запросами от %s, изменение переменной gui_autoopen_dialog на ВЫКЛ.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Разрешение %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Не найдено" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Разрешение:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Поиск %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s на канале\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s отключен\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Вы не зашли на канал. Наберите /join #<канал>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Нет соединения. Наберите /server <адрес> [<порт>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Сервер %s уже есть в сети %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Сервер %s добавлен к сети %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Вы уже отсутствуете: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Вы уже вернулись.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Отсутствует /bin/sh для запуска!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Доступные команды:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Определённые пользователем команды:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Определённые расширениями команды:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Наберите /HELP <имя команды> для более полной информации, или /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Игнорируется неизвестный аргумент \"%s\"." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Ответ не поддерживается этим сервером." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Плагин не найден.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Плагин невозможно выгрузить.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <название> <действие>, добавляет кнопку под списком пользователей" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <НоваяСеть> <новыйсервер/6667>, добавляет новую сеть с новым сервером в список сетей" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, посылает команду во все каналы, где вы есть " + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <команда>, посылает команду во все каналы на текущем сервере" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <команда>, посылает команду на всех серверах, где вы есть " + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<причина>], устанавливает флаг отсутствия (используйте /BACK для отключения)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK сбрасывает флаг отсутствия" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <маска> [<тип>], блокирует доступ на текущий канал для каждого, совпадающего с маской. Если они уже на канале, то они не будут скинуты (для этого нужно быть оператором канала)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <переменная> [<значение>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<кодировка>], показать или изменить кодировку для текущего соединения" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<количество>], Очищает текущее текстовое окно или командную строку" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Закрывает текущую вкладку, закрывая окно, если это единственная открытая вкладка, или с флагом \"-m\", закрывает все беседы." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|маска>, находит код страны, например: au = Австралия" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <ник> <сообщение>, посылает пользователю с указанным ником CCTP-сообщение, обычные сообщения -- VERSION и USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], выйти с текущего канала и немедленно зайти" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <имя> - принять отправляемый файл\nDCC SEND [-maxcps=#] <имя> <файл> - отправить файл получателю\nDCC PSEND [-maxcps=#] <имя> [файл] - отправить файл в пассивном режиме\nDCC LIST - показать список DCC\nDCC CHAT <имя> - запросить разговор через DCC\nDCC PCHAT <nick> - запросить разговор в пассивном режиме\nDCC CLOSE <тип> <имя> <файл> пример:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <имя>, удаляет chanhalf-op статус у имени на текущем канале\n(нужны права администратора канала)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <имя>, удаляет кнопку из-под списка пользователей" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>, убирает права администратора канала у пользователя на текущем канале (требует права администратора)." + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, удаляет право голоса у пользователя с переданным именем на текущем\nканале. Для использования нужны права администратора канала" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, отсоединиться от сервера" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <ник|хост|ip>, Разрешает IP или имя хоста" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, вывести текст на локальной машине" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <Команда>, выполняет команду. При передаче опции -o вывод \nкоманды перенаправляется в текущий канал. Иначе вывод печатается в текущем окне" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sends the process SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], уничтожает выполняющийся процесс в текущей сессии. Если -9 процессу перадается сигнал SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, посылает процессу сигнал SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, посылает процессу данные на stdin" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, экспортирует настройки HexChat" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, сбрасывает текущую очередь отправки сервера" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <адрес> [<порт>], прокси через хост, порт по умолчанию - 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <ник> [пароль], Убивает ник, ставший призраком" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <Ник>, дает статус полуоператора канала пользователю (требуются права оператора)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <пароль>, представиться nickserv-у" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <маска> <типы..> <параметры..>\n маска - маска игнорируемого хоста, например: *!*@*.aol.com\n типы - типы игнорируемых данных, один или несколько из следующих:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n параметры - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <Ник> [<канал>], приглашает кого-либо на канал, по умолчанию, на текущий (требует права оператора)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, зайти на канал" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <Ник>, [причина]удаляет человека с текущего канала (нужны права оператора)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <ник> [причина], банит и затем выпинывает ник с текущего канала (требуется право оператора)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, инициирует новую проверку канала" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <строка>, ищет заданную строку в буфере канала\n-h подсвечивает найденные строки;\n-m учитывает регистр символов;\n-r считает строку регулярным выражением;\n-- (двойной дефис) отменяет обработку параметров (например, когда надо найти строку «-r»)" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ИмяФайла>, загружает скрипт или плагин" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, убирает у всех на текущем канале права полуоператора (требуются права оператора)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, убирает у всех права оператора на текущем канале (требуются права оператора)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>, посылает действие на текущий канал (действие пишется от третьего лица, например, /me прыгает)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, удаляет всех, кроме себя, с канала (требуются права оператора)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Устанавливает всем пользователям текущего канала права оператора (требуются права оператора канала)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <ник> <сообщение>, посылает приватное сообщение, подставьте \".\" чтобы отправить на последний ник или префикс с \"=\" для dcc-чата" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [канал], Выводит список ников на канале" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <Ник> <сообщение>, отправляет CTCP сообщение" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <ИмяСервера> [<порт>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "/NICK <Ник>, меняет ваш ник" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <ник/канал> <сообщение>, посылает уведомление" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<Ник>], показывает список ваших уведомлений или добавляет что-либо к ним" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <Ник>, дает пользователю статус оператора канала (требуются права администратора)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<Канал>] [<Причина>], выйти с канала, по умолчанию - с текущего" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <Ник | канал>, CTCP-пинг пользователя или канала" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <ник> [сообщение], открывает новое окно приватных сообщений с кем-нибудь и, опционально, отправляет сообщение" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <маска> [<типтишины>], заставляет замолчать каждого, кто проходит по маске на текущем канале, если это поддерживается сервером." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<причина>] - отсоединение от текущего сервера" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <Текст>, отсылает текст в чистом виде на сервер" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<Сервер>] [<Порт>] [<Пароль>]. Может использоваться только как /RECONNECT для переподключения к текущему серверу или с /RECONNECT ALL для переподключения ко всем серверам" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [-ssl] [<Сервер>] [<Порт>] [<Пароль>]. Может использоваться только как /RECONNECT для переподключения к текущему серверу или с /RECONNECT ALL для переподключения ко всем серверам" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <текст>, отправляет сырые (raw) данные в HexChat, как будто бы они были получены с IRC севера" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <имя>, перезагружает плагин или скрипт" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <Текст>, посылает текст объекту в текущем окне" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <псевдоним> [<файл>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Сервер> <порт> <канал>, подключиться к серверу, а затем к каналу" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <Сервер> <порт> <канал>, подключиться к серверу, а затем к каналу" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <адрес> [<порт>] [<пароль>], подключается к серверу; для обычных соединений порт по умолчанию — 6667, для SSL-соединений — 6697" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <адрес> [<порт>] [<пароль>] соединяет с сервером. Порт по умолчанию 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <переменная> [<значение>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<позиция>, перемещает курсор в поле ввода" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <новое название>, меняет название вкладки (ограничение tab_trunc остаётся в силе)" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <новый текст>, заменяет текст в поле ввода" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<тема>], устанавливает тему, если она указана. Иначе отображает текущую тему" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <интервал> <файл1> [<файл2>] Blink tray between two icons.\nTRAY -f <имя_файла> Set tray to a fixed icon.\nTRAY -i <число> Blink tray with an internal icon.\nTRAY -t <текст> Set the tray tooltip.\nTRAY -b <заголовок> <текст> Set the tray balloon." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], снять запрет для специфической маски" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <маска> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <имя>, выгрузить плагин или скрипт" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <маска> [<маска>...], снимает молчание по указанной маске, если поддерживается сервером." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <адрес>, открыть ссылку в браузере" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <имя1> <имя2> и т.д., выделить имена в списке пользователей" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <Ник>, дает право голоса кому-либо (требуются права оператора)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <Сообщение>, посылает сообщение на все каналы" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <Сообщение>, посылает сообщение всемl операторам текущего канала" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Пользовательская команда для: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Использование: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nПо этой команде нет помощи.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Команда не существует\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Недопустимые аргументы команды пользователя.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Очень много рекурсивных команд пользователя, прерывание." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Неизвестная команда %s. Попробуйте /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Нет символа hexchat_plugin_init; это точно плагин для HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tОбслуживаю запрос идентификации от %s как %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tОшибка запуска сервера identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <порт> <имяпользователя>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Таймер %d удален.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Такой номер ссылки не найден.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Таймеры не установлены.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Вы уверены, что сервер и порт поддерживают SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Не могу разрешить имя %s\nПроверьте ваши сетевые настройки!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Ошибка прохождения через прокси.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Переключаемся к следующему серверу %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Предупреждение: кодировка \"%s\" неизвестна. Трансляции для %s сети не будет." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O добавлен в список друзей." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tНевозможно зайти на канал %C22$1 %O(%C20Вы забанены%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O теперь известен как %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O забанил некоего %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tКанал %C22$1%O создан %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O убрал права полуоператора канала с %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O убрал права оператора канала с %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O забрал голос у %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O дал права полуоператора канала %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UКанал Пользователи Тема" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O установил режим %C24$2$3%O для %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tРежимы канала %C22$1%O: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O дал права оператора канала %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O убрал исключение для %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O убрал ключевое слово канала" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O убрал лимит пользователей" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O установил лимит канала в %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O удалил бан на %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O дал голос %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tСоединение установлено. Входим в систему." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tСоединение с %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tОшибка соединения (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tDCC-приглащений не найдено." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O удалён из списка уведомлений." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tСоединение разорвано (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tВаш IP найден: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O добавлен в список игнорирования." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OИгнорирование %C18$1%O изменено." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O удалён из игнор-листа." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OСписок игнорирования пуст." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tНевозможно подключиться к %C22$1%C (%C20Канал только по приглашениям%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tВы приглашены на %C22$1%O пользователем %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) был добавлен" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C был выкинут %C18$2%C с %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C уже занято, пробуем %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tDCC не найден." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tПроцесс не запущен" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotify: %C18$1%C ушёл (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotify: %C18$1%C вернулся!" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tСписок уведомлений пуст." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O пользователей в списке уведомлений." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C в офлайне (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotify: %C18$1%C снова тут (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) вышел" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) вышел ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tПинг получен с %C18$1%C: %C24$2%O секунд(ы)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA процесс уже запущен" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 вышел ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C изменён режим %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tСоединение установлено." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tОстановлена предыдущая попытка соединения (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tТема канала %C22$1%C: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C поменял топик на: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tТопик для %C22$1%C изменён пользователем %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tХост неизвестен. Может быть есть ошибка?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tПользователей на %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tТеперь может вести беседу на %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tВы были удалены с %C22$2%C инициатором %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tВы покинули канал %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tВы вышли с канала %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tВы были приглашены %C18$1%O на %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tТеперь вас зовут %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Загружен протокол от" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАКАНЧИВАЕТСЯ ВХОЖДЕНИЕ НА %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** НАЧАЛО ВХОЖДЕНИЯ НА %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Не удалось открыть файл(ы) журнала для записи. Проверьте права доступа на %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Сообщение слева" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Сообщение справа" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP Адрес" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Имя пользователя" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Имя зашедшей персоны" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Вы уже на канале" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Адрес компьютера человека" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Учётная запись человека" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Ник" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Действие" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Символ режима" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Выявленный текст" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Сообщение" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Имя сервера" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Подтверждённые возможности" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Удалённые возможности" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Возможности Сервера" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Запрошенные Возможности" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Старый ник" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Новый ник" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Ник человека, который поменял Топик" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Топик" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Ник выкинувшего" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Персона выкинута" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Причина" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Ник вышедшего" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Время" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Создатель" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Ник" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Причина" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Адрес машины" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Откуда этот" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Время в формате x.x (см. ниже)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Список каналов..." + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Ник персоны" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP событие" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Ник персоны, установившей ключ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Ник персоны, установившей лимит" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Ограничение" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Ник человека, установившего оператора" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Ник персоны, кому дали права оператора" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Ник персоны, кому дали права полуоператора" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Ник человека, который дал права полуоператора" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Ник человека, который дал право голоса" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Ник человека, которому дали право голоса" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Ник забанившего" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Маска бана" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Ник персоны, сделавшей запрос" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Маска тишины" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Ник удалившего ключ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Ник удалившего ограничение" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Ник персоны, которая де-опила." + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Ник персоны, которого де-опили." + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Ник персоны, которая дала статус полуоператора" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Ник персоны, с которой сняли статус полуоператора" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Ник персоны, которая дала право голоса" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Ник персоны, с которой сняли право голоса" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Ник персоны, которая разбанила" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Ник персоны, вызвавшей исключение" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Маска исключения" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Ник персоны, убравшей исключение" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Ник персоны, сделавшей приглашение" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Маска приглашения" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Ник персоны, удалившей приглашение" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Ник персоны, установившего режим" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знаки режима (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Буквы режима" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Канал установлен" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Полное имя" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член канала/\"IRC - оператор\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Информация о сервере" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Время простоя" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Время ввода пароля" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Причина ухода:" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Сообщение" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Учетная запись" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Фактический пользователь@компьютер" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Фактический IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Имя канала" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Механизм" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Ник персоны, пригласившей вас" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Пользователи" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Ник используется" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Пробуем ник" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Строка режимов" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Тип DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Имя файла" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Имя файла у получателя" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Путь" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Положение" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Размер" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Строка DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Причина выхода" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Количество уведомлений" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Старое имя файла" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Новое имя файла" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Получатель" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Маска компьютера" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Имя машины" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунд." + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Ник приглашенного" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Маска бана" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Кто установил бан" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Продолжительность бана" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Невозможно прочитать звуковой файл:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Удаленная машина закрыла сокет" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Соединение отвергнуто" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Нет маршрута к хосту" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Истечение времени ожидания соединения" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Не могу назначить этот адрес" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Соединение оборвано" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Остров Вознесения" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андорра" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Объединенные арабские эмираты" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Афганистан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Антигуа и Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албания" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Армения" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Нидерланды " + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антарктика" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Обратный DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Американское Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Азия и Океания" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Австрия" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Австралия" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Аландские острова" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Босния и Герцеговина" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Бельгия" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Болгария" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Businesses" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бермуды" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Бруней " + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Боливия" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразилия" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Багамы" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Острова Буве" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Беларусь" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Белиз" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Каталония" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Кокосовые о-ва" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Республика Конго" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Центральная Африканская Республика" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швейцария" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Кот'Д'Ивуар" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Острова Кука" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чили" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Колумбия" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Коммерческие" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Кооперативы" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Коста Рика" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Сербия и Черногория" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Капо-Верде" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Рождественские острова" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кипр" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Чешская республика" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Восточная Германия" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Германия" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Джибути" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Дания" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Доминиканская республика" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Эквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Образовательные учреждения" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Эстония" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Египет" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Западная сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Эритрея" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Испания" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Эфиопия" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Европейский Союз" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Финляндия" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фиджи" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фолклендские о-ва" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Микронезия" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Острова Фарое" + +#: src/common/util.c:770 +msgid "France" +msgstr "Франция" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Великобритания" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузия" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Французская Гвиана" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Британские острова" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Гренландия" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбия" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвинея" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Правительственные" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Экваториальная Гвинея" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Греция" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Южная Георгия и Южные Сандвичевы острова" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвинея-Биссау" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гайаня" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Гонк Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Гондурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Хорватия" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Гаити" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Венгрия" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Индонезия" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ирландия" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Израиль" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Остров Мэн" + +#: src/common/util.c:801 +msgid "India" +msgstr "Индия" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Информационные" + +#: src/common/util.c:803 +msgid "International" +msgstr "Интернациональные" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Британская индоокеанская территория" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Исландия" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Италия" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Джерси (Нормандские острова)" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Иордания" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Трудоустройство" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Япония" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кения" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Киргизстан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоджа" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Северная Корея" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Южная Корея" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Каймановы о-ва" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Ливан" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Санта Лючия" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Лихтенштейн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Либерия" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвия" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Ливия" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Марокко" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Монтенегро" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Медучреждения США" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршаловы о-ва" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Военные" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македония" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Мьянма" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Монголия" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Мобильные устройства" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Северные Марианские острова" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартиника" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Мавритания" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Монтсерат" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маврикий" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Музеи" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Мальдивы" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мексика" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малайзия" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намибия" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Личные имена" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Новая Каледония" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Сети" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфолкские острова" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нигерия" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Никарагуа" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Нидерланды" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Норвегия" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Новая зеландия" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Сетевые некоммерческие организации" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Французская Полинезия" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Новая Гвинея" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Филлипины" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Польша" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Пуэрто Рико" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Профессии" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестинские территории" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Португалия" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Реунион" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Румыния" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Старая сеть ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Сербия" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Россия" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саудовская Аравия" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Соломоновы о-ва" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сейшелы" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Швеция" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Святая Елена" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Словения" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Словацкая Республика" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сьера Леоне" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Сомали" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Южный Судан" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сен-Томе и Принсипи" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Бывш. СССР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сирия" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "о-ва Тёркс и Кайкос" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Контактная информация" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Франзузские Южные Территории" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Таиланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "о-ва Токелау" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Восточный Тимор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Турция" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Путешествия и туризм" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Танзания" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Украина" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Объединенное королевство" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "США" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Сент-Винсент и Гренадины" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венесуэла" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Британские Виргинские о-ва" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Американские Виргинские о-ва" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Вьетнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis and Futuna Islands" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Cайты порнографического содержания" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Йемен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Югославия" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Южная Африка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Замбия" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Не удалось подключиться к сеансовой шине" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Не удалось завершить NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Не удалось выполнить команду" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "удаленный доступ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "модуль для удаленного доступа через DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не удалось подключиться к сеансовой шине: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не удалось получить %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Кодировка" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Бан" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Исключения" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Исключение" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Приглашения" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Приглашен" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Копировать маску" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s на %s от %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Копировать запись" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Нет соединения." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Вы должны выбрать баны." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Вы уверены, что хотите удалить все отмеченные пункты в %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Тип" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "От" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Список банов можно отктыть только при открытой вкладке канала." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Список банов (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Удалить" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Сжать" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Обновить" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Статистика: %d/%d пользователей на %d/%d каналах" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Выберите файл для вывода" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "Копировать имя _канала" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Скопировать _тему общения" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Список каналов (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "Поиск" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Загрузить список" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Со_хранить список..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Показывать только:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "Открывать каналы как:" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "к" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "пользователи." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Поиск в:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Имя канала" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Тип поиска:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Простой поиск" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Использовать шаблоны" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Регулярное выражение" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Поиск:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Отправить файл %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Файл нельзя продолжить." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Нет доступа к файлу: %s\n%s.\nПродолжение не доступно." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Файл во входном каталоге больше запрошенного. Продолжение невозможно." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Не могу продолжить одинаковый файл от 2 пользователей." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Прием и передача файлов - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Осталось" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Оба" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Отгрузки" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Загрузки" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Подробно" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Адрес:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Прервать" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Подтвердить" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Продолж." + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Открыть папку..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Список разговоров по DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Прин" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Отпр" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Время Начала" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Добавить" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Удалить" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Отмена" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Записать" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Не подключаться к серверам" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "используется другой конфигурационный каталог" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Не загружать автоматически плагины" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Показать каталог автозагрузки плагина/скрипта" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "показать каталог пользовательских настроек" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Открыть irc://server:port/channel?key URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Выполнить команду:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Открыть URL или выполнить команду в текущем HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Вид окна при запуске. Ур. 0=обычное 1=свернутое 2=значок" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "уровень" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Показать информацию о версии" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Ошибка открытия шрифта:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Буфер поиска пуст.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d байт" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Очередь отправки, байт: %d" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Команда  Вставить в буфер вставит содержимое Данные 1 в текущую позицию курсора" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Команда  Установить буфер содержит последовательность, содержащуюся в Данные 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Команда  Последняя команда одержит последнюю введеную команду - такую же, как в оболочке." + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Команда  Следующая команда содержит следующую введеную команду, - такую же, как и в оболочке." + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Команда заменяет текст, дополняя ники и команды. Если Данные 1 установлены, двойной Tab выбирает последний ник, не следующий." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Команда прокручивает список ников. Если Данные 1 установлены - прокручивает вверх, иначе - вниз." + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Команда проверяет последнее введенное слово в список замены и заменяет, если находит соответствие." + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Эта команда перемещает текущую закладку влево." + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Эта команда перемещает текущую закладку вправо." + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Эта команда перемещает текущую группу закладок влево" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Эта команда перемещает текущую группу закладок вправо" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Записать строку в журнал, но не посылать на сервер" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Ошибка загрузки конфигурации клавиш" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Клавиатурные сокращения - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Невозможно записать в этот файл." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Невозможно прочитать этот файл." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Такая маска уже существует." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Личный" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Сообщение" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Не игнорировать" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Вы действительно хотите очистить список всех игнорирований?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Введите маску для игнорирования:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Черный список - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Состояние игнорирования:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Приватный:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Сообщение:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Пригласить:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Добавить..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Имя канала недостаточно длинное." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Соединение завершено - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Соединение с %s завершено." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Что вы хотите сделать теперь?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ничего, я войду на канал позднее." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "Зайти на канал:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Если вы знаете имя канала, на который хотите зайти, укажите его здесь." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "Пока_зывать этот диалог при соединении." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Диалог с" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема для %s : %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Тема не установлена" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Для этого сервера открыто %d каналов или разговоров. Закрыть их все?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Выйти из HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Не спрашивать в следующий раз" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Вы подключены к %i IRC-сетям." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Вы действительно хотите выйти?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Некоторые передачи файлов еще активны." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "Свернуть в з_начок" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Вставить аттрибут или код цвета" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Жирный</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Подчеркнутый</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>Italic</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Обычный" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Цвета 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Цвета 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Настройки" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Запись _журнала" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "За_гружать буфер" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Скрыть сообщения о приходе/уходе" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Опове_щения" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "_Звуковой сигнал при личном сообщении" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "_Мигание значка при личном сообщении" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Мерцание _окна" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "Отсо_единить" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "Закрыть" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Лимит пользователей должен содержать номер!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Фильтр цвета" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Нет последних сообщений" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Защитить тему" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Только приглашенные" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Модерируемый" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Список банов" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ключевое слово" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Ограничение пользователей" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Введите новый ник:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Ничего не найдено" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Выделить все" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "С учётом _регистра" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Искать с учётом регистра." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Регулярное выражение" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Считать искомую строку регулярным выражением." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Хост неизвестен" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Данная запись неизвестна" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Неизвестно" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Настоящее имя:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Пользователь:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Учётная запись:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Страна:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u минут назад" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Последнее сообщение:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Сообщение об отсутствии:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "Выделено имен: %d." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Строка меню скрыта. Чтобы увидеть ее снова, нажмите Control+F9 или щёлкните правой кнопкой по свободному месту в окне." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Открыть ссылку в браузере" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Копировать выбранную ссылку" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Покинуть канал" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Каналы по кругу" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Автозаход" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Автозаход на канал" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Автосоединение" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Пользовательское меню - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Линия отметки удалена" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Линия отметки не установлена" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Линия отметки сброшена вручную." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Линия отметки удалена командой CLEAR" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Статус линии отметки неизвестен." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "был собран без поддержки дополнений" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Ответы CTCP - Специальные коды:\n\n%d = данные (целый ctcp)\n%e = имя текущей сети\n%m = инфо о компьютере\n%s = ник пославшего ctcp\n%t = время/дата\n%2 = слово 2\n%3 = слово 3\n&2 = слово 2 до конца строки\n&3 = слово 3 до конца строки\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Определенные пользователем команды - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Замена - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Заменить на" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Обработчики URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Кнопки списка пользователей - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Кнопки диалога - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Ответы CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "Новая..." + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "Выход" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Вид" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Панел_ь меню" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Т_ема" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Список _пользователей" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Кнопки _режима канала" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Список _каналов" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "Закладки" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Де_рево" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Монитор сети" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Выключено" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "График:" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Полноэкранка" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "Сервер" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Отключиться" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Пересоединиться" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Помечен как _Отошёл" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Меню пользователя" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Настройка" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Установки" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "Окно" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Сбросить маркерную линию" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Перейти к маркерной линии" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Копировать выделение" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Очистить" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Поиск" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Перейти к следующему" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Перейти к предыдущему" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "Помощь" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Содержание" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "О программе" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "Присо_единить" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Имя" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Последний раз" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Отключен" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Никогда" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d минут назад" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Час назад" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d часов назад" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Подключен" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Введите ник для добавления:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Уведомлять на данных сетях:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Укажите разделенный запятыми список сетей." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Список друзей - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Начать разговор" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Выделенное сообщение от %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Канал, сообщение от %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Предложен файл: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Приглашён на канал: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Сообщение с: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Индивидуальное сообщение от %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Подключен; сети: %u, каналы: %u - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Восстановить окно" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Спрятать окно" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Мигать при сообщениях" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Сообщение канала" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Личное сообщение" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Выделенные сообщения" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "Состо_яние" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "Ото_шел" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Вернулся" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Выделенное сообщение от %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u выделенных сообщения, последнее от %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Канал, сообщение от %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u сообщений канала. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Личное сообщение от %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u личных сообщения, последнее от %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Предложен файл: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u предложения файлов, последнее от %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Версия" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Описание" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Выберите плагин или скрипт для загрузки" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Скрипты и плагины - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Загрузить..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "Выгрузить" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "Перезагрузить" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Сохранить как..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Лог без фильтрации (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Очистить лог" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Новая сеть" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Удалить сеть \"%s\" и все ее сервера?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Имя пользователя не может быть пустым" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Вы не можете существовать без ника." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "У вас должно быть минимум 2 уникальных имени" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Редактирование: %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Сервера" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Автоматический заход на канал" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Команды при соединении" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Ник\n%p=Пароль\n%r=Настоящее имя\n%u=Имя пользователя" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Ключ (пароль):" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "Редактировать" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Соединиться только с выделенным сервером" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не перебирать сервера при ошибке соединения." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Подключится к этой сети автоматически" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Обходить прокси-сервер" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Использовать SSL для всех серверов в этой сети" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Согласиться на некорректный сертификат" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Использовать глобальные установки пользователя:" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Ник:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Второй выбор:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Настоящее имя:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Имя пользователя:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Метод авторизации:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Пароль для входа, если сомневаетесь - оставьте пустым." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Кодировка:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Список сетей - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Информация о пользователе" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Третий выбор:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Сети" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Не показывать список сетей при запуске" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Показывать только фавориты" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "Править..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Сортировать" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_В фавориты" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Добавляет или убирает эту сеть из фаворитов" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Подключить" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Африканский" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албанский" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Амхарский" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Австрийский" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербайджанский" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Баскский" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Белорусский" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Болгарский" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Китайский (упрощённый)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Китайский (традиционный)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Чешский" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Датский" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Датский" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Английский (Великобритания)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Английский" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Эстонский" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Финский" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Французский" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Галисийский" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Немецкий" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Греческий" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Хинди" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Венгерский" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Индонезийский" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Итальянский" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Японский" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Каннада" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Корейский" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Латышский" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Литовский" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Македонский" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малайский" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Норвежский (букмол)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Норвежский (нюнорск)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Польский" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Португальский" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Португальский (Бразилия)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Панджаби" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Русский" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Сербский" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Словацкий" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Словенский" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Испанский" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Шведский" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Тайский" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Туркский" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Украинский" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Вьетнамский" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Валлонский" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Главный" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Язык:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Основной шрифт:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Текстовая область" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Цветные ники" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Дать каждому участнику канала свой цвет" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Выравнивать ники" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Выравнивает ники по правому краю." + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Показывать разделительную черту" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Вставить красную линию после последней прочитанной строки." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Фоновое изображение:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Настройки прозрачности" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "См. статью о strftime в MSDN." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "См. страницу руководства по strftime." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Показать режимы канала" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Показать номера пользователей" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "По времени" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Поле ввода " + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Показать строку для имени" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Проверка орфографии" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Использовать словари:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Используйте коды языков. Разделяйте коды запятыми." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Автодополнение ников" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Суффикс дополнения ников:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Сортировать варианты имен:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Количество вариантов имён:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "имена." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Графический" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Не сортировать" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Вверху" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Внизу" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Скрыто" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Список Пользователей" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Показывать хост пользователя в списке пользователей" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Использовать цвета и шрифт текстовой надписи" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Показать иконки прав пользователей" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Цветные имена пользователей в списке" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Показать кол-во пользователей на канале" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Сортировать спиоса пользователе пой " + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Список пользователей:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Слежение за отсутствием" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "На каналах меньше, чем:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Действие по двойному щелчку" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ещё дополнения" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Уровень лагов:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Окна" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Закладки" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Всегда" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Только запрошенные закладки" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Автоматически" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Дерево" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Вид списка:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Открыть вкладку для сообщений сервера" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Открыть новую вкладку при получении частных сообщений" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Сортировать вкладки в алфавитном порядке" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Показывать значки в дереве каналов" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Мелкий шрифт" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Переходить на новые вкладки:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Переключатель каналов:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Сократить метки вкладок до:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "букв." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Вкладки или окна" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Открывать каналы как:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Открывать разговоры как:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Открывать утилиты как:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Открыть как закладки DCC, Игнорирования, Уведомлений и т.д. или в окне?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Сообщения" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Прошлые разговоры" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Запрос подтверждения" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Запрос папки загрузки" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Файлы и каталоги" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Автоматически принимать файлы:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Загрузить файлы в:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Переместить завершенные файлы в:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Записать ники в файл" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Автоматически открывать окна DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Окно отправления" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Окно приема" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Окно канала..." + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Одна заливка:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Макс. скорость для одной передачи" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Одна закачка:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Все передачи объединены:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Максимальная скорость для всех файлов" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Все закачки объединены:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Предупреждения" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Показывать уведомления на:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Мигание значка при:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Мигание окна при:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Звуковой сигнал при:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Не показывать уведомления во время отсутствия" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Значок в области уведомлений" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Свернуть в трей" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Закрыть в трей" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Автоматически отмечать \"ушёл/вернулся\"" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Выделенные сообщения" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Выделяются сообщения, в которых упомянуто ваше имя, кроме того:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Выделять следующие слова:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Не выделять имена:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Всегда выделять имена:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Разделяйте слова запятыми.\nМожно использовать шаблоны." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Сообщения по умолчанию" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Выход:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Уйти с канала:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Отошел:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Отошел" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Показывать сообщение 'Ушёл' 1 раз" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Автоматически снимать статус \"Отошел\"" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Дополнительные настройки" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Отображать режимы в чистом виде" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Скрыть сообщения о приходе/уходе" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Скрыть сообщения о смене ника" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Автоматическое копирование в буфер обмена" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Автоматически копировать выделенный текст" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Включать цвета" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Настоящее имя:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Альтернативные шрифты:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Показать лист в сокращённом режиме" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Использовать время сервера, если возможно" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Автоматически переподключаться, если соединение оборвалось" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Задержка авто восстановления соединения:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Тип бана:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Протоколирование" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Загрузить буфер прошлого разговора" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Строк в буфере:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Запись журнала разговора" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Имя файла журнала:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Сеть." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Добавлять время в протокол" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Формат времени/даты для протокола:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Включить запись URL на диск" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Включить сборщик URL" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Выключено)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Авто" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Ваш адрес" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Назначить:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Используется только на компьютерах с несколькими адресами." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Передачи файлов" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Получить свой IP от IRC сервера" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Запросить у сервера свой реальный адрес. Используйте, если ваш адрес вида 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP адрес:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Заявить этот адрес для предложения файлов." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Оставьте 0 для всего диапазона портов." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Прокси сервер" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Имя машины:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Использовать прокси для:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Авторизация прокси" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Имя пользователя:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Сервер Identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Включено" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Выберите файл картинки" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Загрузить файлы в" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Выберите шрифт" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Выбрать..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Открыть каталог с данными" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Выбрать цвет" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Цвета текста" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Цвета mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Локальные цвета:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Передний план:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Фон:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Выбранный текст" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Новые данные:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Отмеченый передний план:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Новое Сообщение:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Отошедший пользователь:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Выделение:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Проверка орфографии:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Обесцвечивание" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Событие" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Звуковой файл" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Выберите звуковой файл" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Звуковой файл:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "Выбрать..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Воспрои_звести" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Интерфейс" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Внешний вид" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Поле ввода " + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Список пользователей" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Список каналов" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Цвета" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Общение" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Звук" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Дополнительно" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Настройки сети" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Передача файла" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Категории" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Дерево нельзя поместить сверху или снизу!\nСначала замените его на <b>Вкладки</b> в меню <b>Вид</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Опция реального имени не может оставаться пустой. Откатываю значение до \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Изменение некоторых настроек требует перезапуска программы для их использования." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ПРЕДУПРЕЖДЕНИЕ*\nАвтоматический прием DCC в ваш домашний каталог\nможет быть опасным и создавать уязвимости. Например:\nКто-нибудь пришлет вам .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Настройки - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(нет вариантов)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Ещё...." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Добавить \"%s\" в словарь" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Игнорировать всё" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Варианты правописания" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "Ошибка в библиотеке enchant для языка: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Ошибка при разборе строки" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Этот сигнал передал только %d аргумента, $%d отсутствует." + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Печатать текстовый файл" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ номер" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Редактировать события" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Загрузить из..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Проверить все" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "ОК" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Сборщик URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Очистить список" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Копировать выбранный URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Копировать" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Записать список в файл" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оп-ов, %d всего" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Открывает URL вида irc://сервер:порт/канал" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Ошибка при получении информации. Либо не поддерживается или ошибка." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Информация по этому имени отсутствует\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s установлен в %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Корректные настройки: announce и hide_* для каждой информационной части. Например: hide_os. Без указания значения будет показана текущая (по умолчанию) настройка.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Неверное имя переменной\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s плагин загружен\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s плагин выгружен\n" diff --git a/po/rw.po b/po/rw.po new file mode 100644 index 0000000000000000000000000000000000000000..95c6e4736f8279676db9395db97b0faa507423bf --- /dev/null +++ b/po/rw.po @@ -0,0 +1,6262 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Antoine Bigirimana <antoine@e-tools.com>, 2005 +# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005 +# Carole Karema <karemacarole@hotmail.com>, 2005 +# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005 +# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005 +# Noëlla Mupole <s24211045@tuks.co.za>, 2005 +# Philibert Ndandali <ndandali@yahoo.fr>, 2005 +# Steve Murphy <murf@e-tools.com>, 2005 +# Viateur MUGENZI <muvia1@yahoo.fr>, 2005 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Kinyarwanda (http://www.transifex.com/hexchat/hexchat/language/rw/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: rw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "urusobe" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<tacyo>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Tegereza" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Gikora" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Byanze" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Byakozwe" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Kwihuza" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Ikosa" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Ikiganiro" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Kohereza" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Gusiba" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Izina ry'ukoresha" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Ubuturo" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Irihimbano" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Igikorwa" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Umwandiko" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Ubutumwa" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Insanganyamatsiko" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Ubuturo" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Amakuru ya seriveri" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Ubutumwa" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "konti" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Umwandiko" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Umuyoboro" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Izina ry'idosiye" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Ibirindiro" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Ingano" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Umwakirizi" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Leta Zunze Ubumwe z'Abarabu" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afuganisita" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigwa na Baribuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Angwiya" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Arubaniya" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Arumeniya" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antiye za nederilande" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarigitika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Arijantine" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samowa Nyamerika" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Otirishi" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Ositarariya" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azeribayijani" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosiniya na Herizegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barubado" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangaladeshi" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Ububirigi" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burukina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Burugariya" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahirayini" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Uburundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Bene" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Berimuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Buruneyi Darisalamu" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Boriviya" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Bureziri" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Ibirwa bya Bahama" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butani" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Ikirwa cya Bouve" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Berarusi" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Repuburika ya Santarafurika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "UBusuwisi" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "kotedivuwari" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Ibirwa bya Kuke" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Shiri" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kameruni" + +#: src/common/util.c:738 +msgid "China" +msgstr "Ubushinwa" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Korombiya" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosita Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Seribiya na Montenegoro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kiba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kapu Veri" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Ikirwa cya Noheli" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Shipure" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Repuburika ya Ceki" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Ubudage" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Jibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danemarike" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Repuburika ya Dominikani" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Arijeriya" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekwateri" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Esitoniya" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Misiri" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara y'Uburengerazuba" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritereya" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Esipanye" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiyopiya" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finirandi" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Ibirwa bya Farowe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Ubufaransa" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabo" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Gerenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Jeworujiya" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyane Nyamfaransa" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Giburalitari" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Goronulande" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambiya" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gineya" + +#: src/common/util.c:782 +msgid "Government" +msgstr "" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gwaderupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Gineya Ekwatoriyale" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Ubugereki" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gwatemara" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Gwami" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guneya-Biso" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Giyane" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kongo" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hondurasi" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Korowasiya" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Hayiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongiriya" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesiya" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irirandi" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Isiraheri" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Ubuhindi" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "Mpuzamahanga" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Teritwari y'Inyanja y'Abahinde Nyongereza" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irake" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Isirandi" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Ubutariyani" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamayika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Yorudaniya" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Ubuyapani" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirigizasitani" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodiya" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komore" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Iwani rya Koreya y'Amajyaruguru" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Koreya y'epfo" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Koweti" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Ibirwa bya Kayima" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakisitani" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libani" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Mutagatifu Lusiya" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Siri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberiya" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituwaniya" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lugusamburu" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letoniya" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libiya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroke" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagasikari" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Ibirwa bya Marishali" + +#: src/common/util.c:843 +msgid "Military" +msgstr "" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Masedoniya" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoliya" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Ibirwa bya Mariyana y'Amajyaruguru" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Maritike" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Moritaniya" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Monserati" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Marita" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Ibirwa bya Morisi" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Malidivezi" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Megizike" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Mareziya" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambike" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibiya" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nuveli Kalidoniya" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigeri" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Ibirwa bya Norufoluki" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nijeriya" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragwa" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "UBuhorandi" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Noruveji" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepari" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Ikinawuru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niyuwe" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nouvelle Zelande" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omani" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinesiya Nyamfaransa" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papouasie Nouvelle Guinée" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Firipine" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakisitani" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poronye" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Piticayirine" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puwerito Riko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Porutigari" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palawu" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragwe" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katari" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reyiniyo" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumaniya" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "UBurusiya" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabiya Sawudite" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Ibirwa bya Solomoni" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seyishele" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudani" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suwedi" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapure" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Soroveniya" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Repubulika ya Silovakiya" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Siyera Lewone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Mutagatifu Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegali" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somaliya" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinamu" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sawo Tome na Purensipe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Ikinyasiriya" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Suwazirandi" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Ibirwa bya Takisi na Kayikosi" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Cade" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Ibihugu by'Amajyepfo Nyamfaransa" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tayirandi" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tajikisitani" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelawu" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turukumenisitani" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tuniziya" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turukiya" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Tirinite na Tabago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tayiwani" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukereni" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Yuganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Ubwongereza" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Leta Zunze Ubumwe z'Amerika" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Irigwe" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzubekisitani" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuwera" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Ibirwa bya Virigini Nyongereza" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Viyetinamu" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuwatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samowa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemeni" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayoti" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugosiraviya" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afurika y'epfo" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambiya" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Gutumira" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Bivuye" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Itariki" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Gukuraho" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Gukataho" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Kugira gishya" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Shaka:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Imimerere" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Idosiye" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Byombi" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Ntibyakunze" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Kwemera" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Guca make" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Byoherejwe" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Gusiba" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Kureka" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Kubika" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "By'umwihariko" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ijambo-banze" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Kitazwi" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Bidakora" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Izina" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Ntibicometse kuri interineti" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nta narimwe" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "kiri kuri interineti" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Verisiyo" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Isobanuramiterere" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Ijambobanga:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Arubaniya" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azeribayijani" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Berarusi" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Burugariya" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Esitoniya" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Ubuhindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Mareziya" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tayirandi" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Viyetinamu" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Rusange" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Intego-nyuguti:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Ishusho mbuganyuma:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Hejuru" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Indiba" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Birahishe" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Amasimbuka" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Buri gihe" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Impagikiro:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Ubwoko" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Gushakisha..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Mbuganyuma:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Icyabaye" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Amabara" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Urwego rwo hejuru" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Ibyiciro" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Gukoporora" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000000000000000000000000000000000000..5515c3f388b9e8bc1f26d661c2d9dea56e74c4aa --- /dev/null +++ b/po/sk.po @@ -0,0 +1,6256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Martin Pekar <cortex@nextra.sk>, 2000 +# Stanislav Visnovsky <visnovsky@kde.org>, 2003 +# Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>, 2002 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Slovak (http://www.transifex.com/hexchat/hexchat/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Pracujem" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Odchádzam" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Sieť" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<žiadny>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanál" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Čakám" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktívny" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Zlyhal" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Hotovo" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Pripojiť" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Prerušené" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nepodaril sa prístup k %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Chyba" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Žiadne DCC spojenie nie je aktívne\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dať op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Zobrať op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dať voice" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Zobrať voice" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Vykopnúť/Zakázať" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Vykopnúť" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Zakázať" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Vykopnúť a zakázať" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Opustiť kanál" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Prihlásiť sa na kanál..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Zadajte kanál:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serverové pripojenia" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping na server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Skryť verziu" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "bye" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Zadajte dôvod pre vykopnutie %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialóg" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Odoslať" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chat" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Vymazať" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Spúšťať IRC ako root nie je dobrý nápad! Mali by ste\n si vytvoriť používateľský účet a prihlasovať sa pod ním.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ÁNO " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NIE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Ste cieľom CTCP floodu od %s, ignorujem %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s online\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s offline\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nie ste na žiadnom kanáli. Použite /join #<kanál>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Nie ste pripojený. Použite /server <hostiteľ> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Je potrebný program /bin/sh !\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Neznámy argument '%s' ignorovaný." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Plugin sa nenašiel.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Plugin sa odmieta odobrať.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <meno> <akcia>, pridá tlačidlo pod zoznam používateľov" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <príkaz>, pošle príkaz do všetkých kanálov, v ktorých ste" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <príkaz>, pošle príkaz na všetky servery, na ktorých ste" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maska> [<typ>], zakáže každého, kto odpovedá maske, z aktuálneho kanála. Ak už sú prihlásení v kanáli, nevykopne ich to (musíte byť chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kód|maska>, nájde kód krajiny, napr. sk = Slovensko" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <prezývka> <správa>, pošle správu CTCP používateľovi, obvyklé správy sú VERSION a USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <prezývka>, odstráni stav chanhalf-op pre prezývku v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <meno>, odstráni tlačidlo pod zoznamom používateľov" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <prezývka>, odstráni stav chanop pre prezývku v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <prezývka>, odstráni stav voice pre prezývku v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, odpojí od serveru" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Zobrazí text lokálne" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <príkaz>, spustí príkaz. Ak je použitý prepínač -o, výstup sa posiela do aktuálneho kanálu, inak sa zobrazí do aktuálneho textového poľa" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, pošle procesu SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], zabije programy bežiace v aktuálnom sedení. Ak je zadané -9, pošle sa signál SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, pošle procesu SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, pošle procesu dáta na štandardný vstup" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, vyčistí aktuálnu frontu serveru pre posielanie" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <hostiteľ> [<port>], nastaví proxy na hostiteľa, port je štandardne 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <prezývka>, nastaví stav chanhalf-op pre používateľa (vyžaduje chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maska> <typy..> <možnosti..>\n maska - maska ignorovaných hostiteľov, napr.: *!*@*.aol.com\n typy - typy ignorovaný dát, jedna alebo všetky z:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n možnosti - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <prezývka> [<kanál>], pozve niekoho na kanál, štandardne na aktuálny kanál (vyžaduje chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanál>, vstúpi na kanál" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, vynúti novú kontrolu lagu" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, hromadne zruší stav všetkým chanhalf-op v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, hromadne zruší stav všetkým chanop v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <akcia>, pošle akciu do aktuálneho kanálu (akcie sa píšu v tretej osobe, napríklad /me skáče)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, hromadne vykopne každého okrem vás z aktuálneho kanálu (vyžaduje chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, hromadne nastaví stav všetkým používateľom v aktuálnom kanáli (vyžaduje chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <prezývka> <správa>, pošle poznámku CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <prezývka>, nastaví vašu prezývku" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <prezývka>, dá stav chanop používateľovi (vyžaduje chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanál>] [<dôvod>], opustí kanál, štandardne aktuálny" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <prezývka | kanál>, pošle CTCP ping používateľovi alebo na kanál" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<dôvod>], odpojí sa od aktuálneho serveru" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, pošle text tak ako je na server" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<hostiteľ>] [<port>] [<heslo>], môže sa použiť aj bez parametrov ako /RECONNECT pre znovupripojenie k aktuálnemu serveru alebo ako /RECONNECT ALL pre znovupripojenie ku všetkým aktívným serverom" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<hostiteľ>] [<port>] [<heslo>], môže sa použiť aj bez parametrov ako /RECONNECT pre znovupripojenie k aktuálnemu serveru alebo ako /RECONNECT ALL pre znovupripojenie ku všetkým aktívnym serverom" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, pošle text objektu v aktuálnom okne" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <hostiteľ> <port> <kanál>, pripojí sa a vstúpi na kanál" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <hostiteľ> <port> <kanál>, pripojí sa a vstúpi kanál" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "/SERVER <hostiteľ> [<port>] [<heslo>], pripojí sa na server, štandardný port je 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<téma>], nastaví tému, ak je zadaná, inak zobrazí aktuálnu tému" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska>...], zruší zákaz pre zadané masky." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <súbor>, odoberie plugin alebo skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <adresa>, otvorí URL adresu vo vašom prehliadači" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <prezývka>, udelí niekomu stav voice (vyžaduje chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <správa>, napíše správu do všetkých kanálov" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <správa>, pošle správu všetkým so stavom chanop v aktuálnom kanáli" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Použitie: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nPre tento príkaz nie je žiadna pomoc.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Neznámy príkaz.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Chybné argumenty pre používateľský príkaz.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Príliš veľa vnorených používateľských príkazov, končím." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ste si istý, že tento server podporuje SSL na tomto porte?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nemôžem zistiť meno hostiteľa %s\nSkontrolujte si IP nastavenia!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Spojenie cez proxy zlyhalo.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Skúšam ďalší server v %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Pozor: kódová stránka \"%s\" je neznáma. Na sieť %s nebude aplikovaná žiadna konverzia." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanál Používatelia Téma" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tZoznam upozornení prázdny." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KONIEC ZÁZNAMU %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ZAČIATOK ZÁZNAMU %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Ľavá správa" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Pravá správa" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adresa" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Používateľ" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Prezývka vstupujúcej osoby" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanál, na ktorý sa vstupuje" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Hostiteľ osoby" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Prezývka" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Akcia" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Znak módu" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifikovaný text" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Text" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Správa" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Názov serveru" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Stará prezývka" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nová prezývka" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Prezývka osoby ktorá zmenila tému" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Téma" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Prezývka kopajúceho" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Osoba ktorá bola vykopnutá" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanál" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Dôvod" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Prezývka odchádzajúcej osoby" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Autor" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Prezývka" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Dôvod" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Hostiteľ" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Od koho to je" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Čas vo formáte x.x (viď nižšie)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanál, kam ide" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Zvuk" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Prezývka osoby" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Udalosť CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Prezývka osoby, ktorá nastavila heslo" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Heslo" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Prezývka osoby, ktorá nastavila limit" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Limit" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Prezývka osoby, ktorá nastavila operátora" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Prezývka osoby, ktorá sa stala operátorom" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Prezývka osoby, ktorá sa stala čiastočným operátorom" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Prezývka osoby, ktorá nastavila čiastočného operátora" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Prezývka osoby, ktorá nastavila voice" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Prezývka osoby, ktorá dostala voice" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Prezývka osoby, ktorá nastavila zákaz" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Maska zákazu" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Prezývka osoby, ktorá odstránila heslo" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Prezývka osoby, ktorá odstránila limit" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Prezývka osoby, ktorej bol odobratý operátor" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Prezývka osoby, ktorej bol odobratý čiastočný operátor" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Prezývka osoby, ktorej bol odobratý voice" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Prezývka osoby, ktorá nastavila výnimku" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Maska výnimky" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Prezývka osoby, ktorá odstránila výnimku" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Prezývka osoby, ktorá pozvala" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Maska pozvania" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Prezývka osoby, ktorá odstránila pozvanie" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Prezývka osoby, ktorá nastavila mód" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Znamienko módu (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Písmeno módu" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanál, na ktorom to bolo nastavené" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Celé meno" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Členstvo v kanáli/\"is an IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informácie o serveri" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Čas nečinnosti" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Čas prihlásenia" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Dôvod neprítomnosti" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Správa" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Skutočný user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Skutočná IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Názov kanálu" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Prezývka osoby, ktorá vás pozvala" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Používatelia" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Používaná prezývka" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Skúšaná prezývka" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Reťazec módov" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Typ DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Názov súboru" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Cieľový súbor" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Cesta" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozícia" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Veľkosť" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Reťazec DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Počet položiek upozornenia" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Staré meno súboru" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nové meno súboru" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Príjemca" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Maska hostiteľa" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Hostiteľ" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekundy" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Prezývka osoby, ktorá bola pozvaná" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maska zákazu" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kto nastavil zákaz" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Čas zákazu" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Nemôžem prečítať zvukový súbor:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Vzdialený hostiteľ zatvoril soket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Spojenie odmietnuté" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Cesta k hostiteľovi neexistuje" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Časový limit pre spojenie vypršal" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nepodarilo sa priradiť adresu" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Spojenie zrušené druhou stranou" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Spojené Arabské Emiráty" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua a Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albánsko" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Arménsko" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Holandské Antily" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktída" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentína" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Reverzné DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Americká Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Rakúsko" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Austrália" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajdžan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosna a Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladéš" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgicko" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulharsko" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Obchodné" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudy" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolívia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazília" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamy" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhután" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bielorusko" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosové ostrovy" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratická republika Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Stredoafrická Republika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Švajčiarsko" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Pobrežie slonoviny" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cookove ostrovy" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Čína" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Komerčné" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Srbsko a Čierna Hora" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kapverdy" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Vianočné ostrovy" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cyprus" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Česká Republika" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Nemecko" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Džibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Dánsko" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikánska Republika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžírsko" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvádor" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Školstvo" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estónsko" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Západná Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Španielsko" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiópia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Fínsko" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandské ostrovy" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronézia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faerské ostrovy" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francúzsko" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Veľká Británia" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzínsko" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Francúzska guayana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britské ostrovy v kanáli" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltár" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grónsko" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Vládne" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Rovníková Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grécko" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia a S. Sandwich Isles" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guayana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hongkong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard a McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Chorvátsko" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Maďarsko" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonézia" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Írsko" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "India" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informačné" + +#: src/common/util.c:803 +msgid "International" +msgstr "Medzinárodné" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britské teritórium Indický oceán" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Irán" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Taliansko" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordánsko" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonsko" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Keňa" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgistán" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komory" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Svätý Krištof a Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Severná Kórea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Južná Kórea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kajmanské ostrovy" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazachstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Svätá Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lichtenštajnsko" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Srí Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Libéria" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburgsko" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lotyšsko" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Líbya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavsko" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "USA zdravotníctvo" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshallove ostrovy" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Vojenské" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedónia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar (Barma)" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolsko" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Severné Mariánske Ostrovy" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Maurícius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maledivy" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malajzia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namíbia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nová Kaledónia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Sieť Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Ostrov Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigéria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holandsko" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Nórsko" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepál" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nový Zéland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Omán" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Nezisková organizácia" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Francúzska Polynézia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nová Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipíny" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poľsko" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre a Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Portoriko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestínske teritórium" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugalsko" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguaj" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumunsko" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Starý ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ruská federácia" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudská Arábia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Šalamúnove Ostrovy" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychely" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudán" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Švédsko" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Svätá Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovinsko" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard a ostrovy Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovensko" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somálsko" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Svätý Tomáš" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Bývalý Sovietsky zväz" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salvádor" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sýria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svazijsko" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks a Kaikské Ostrovy" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francúzske južné teritóriá" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thajsko" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Východný Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistán" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisko" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turecko" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad a Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzánia" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Spojené kráľovstvo" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "USA" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguaj" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistán" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikán" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Sv. Vincent a Grenada" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britské panenské ostrovy" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "US Panenské ostrovy" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu (Nové Hebridy)" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Ostrovy Wallis a Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Juhoslávia" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Južná Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Znaková Tabuľka" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Zakázať" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Pozvať" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Musíte vybrať nejaké zákazy." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Dátum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Odstrániť" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Vytiahnuť" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Aktualizovať" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Vyberte meno výstupného súboru" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Názov kanálu" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Hľadať:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Poslať súbor používateľovi %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "V prenose tohoto súboru nie je možné pokračovať." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Nemôžem pristupovať k súboru: %s\n%s.\nPokračovanie nie je možné." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Nedokončený súbor je väčší ako ponúkaný súbor. Pokračovanie nie je možné." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nemôžem sťahovať ten istý súbor od dvoch používateľov." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Stav" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Súbor" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Oboje" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Zrušiť" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Akceptovať" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Pokračovať" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Príjem" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Odoslané" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Odstrániť" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Zrušiť" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Uložiť" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Vykonať príkaz:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Nepodarilo sa načítať písmo:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Vyhľadávací zásobník je prázdny.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bajtov" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Príkaz Vložiť do textu vloží obsah Data 1 do položky na aktuálnu pozíciu kurzoru, akoby boli stlačené tieto klávesy" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Príkaz Nastaviť text vyplní položku akoby boli stlačené dané klávesy podľa obsahu Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Príkaz Posledný príkaz nastaví položku, aby obsahovala posledný zadaný príkaz - rovnaké ako stlačenie šipky hore v shelle" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Príkaz Nasledujúci príkaz nastaví položku, aby obsahovala ďalší zadaný príkaz - rovnaké ako stlačenie šipky dolu v shelle" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Tento príkaz zmení text v položke tak, aby dokončil neúplné prezývky alebo príkazy. Ak je Data 1 vyplnené, použijú sa dvojité tabulátory ako posledná prezývka a nie nasledujúca" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Tento príkaz posunie hore alebo dolu v zozname prezývok. Ak je niečo vyplnené v Data 1, posun bude nahor, inak bude posun nadol" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Tento príkaz otestuje posledné zadané slovo v položke oproti zoznamu náhrad a použije náhrady, ak nájde odpovedajúce časti" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Tento príkaz posunie prednú záložku o jednu vľavo" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Tento príkaz posunie prednú záložku o jednu vpravo" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Tento príkaz posunie aktuálnu skupinu záložiek o jednu vľavo" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Tento príkaz posunie aktuálnu skupinu záložiek o jednu vpravo" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Vloží vstupný riadok do histórie, ale neodošle ho serveru" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Počas načítavania konfigurácie klávesových skratiek nastala chyba" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Nepodaril sa zápis to súboru." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Nepodarilo sa čítanie súboru." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Taká maska už existuje." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Súkromné" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Poznámka" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Prestať ignorovať" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Zadajte masku pre ignorovanie:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Štatistika ignorovania:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanál:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Súkromné:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Poznámka:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Pozvánka:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialóg s" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Téma pre %s je: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nie je nastavená téma" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zavrieť" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Limit používateľov musí byť číslo!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Žiadne správy mimo kanál" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Ochrana témy" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Len pozvaní" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderované" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Zoznam zákazov" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Kľúčové slovo" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Limit používateľov" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Zadajte novú prezývku:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Hostiteľ neznámy" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Neznáme" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Vstúpiť na kanál" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Opustiť kanál" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Cyklovať kanál" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Vypnuté" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Nastavenia" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Vynulovať značiacu čiaru" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Č_istý text" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Pomocník" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "O_bsah" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_O Programe" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Názov" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Naposledy navštívené" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Off-line" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nikdy" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "On-line" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Zadajte prezývku:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Verzia" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Popis" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Vyberte plugin alebo skript" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Načítať..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nová sieť" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Naozaj odstrániť sieť \"%s\" a všetky príslušné servery?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Upraviť" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Pripojiť sa len na zvolený server" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Neskúšať iné servery, ak sa pripojenie nepodarí." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Použiť SSL pre všetky servery na tejto sieti" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Použiť spoločné informácie o používateľovi" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Prezývka:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Druhá voľba:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "S_kutočné meno:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Meno používateľa:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Heslo:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Znaková sada:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Informácie o používateľovi" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tretia voľba:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Siete" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Upraviť..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Triediť" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Pripojiť" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albánsko" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbajdžan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bielorusko" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulharsko" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estónsko" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "India" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajzia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thajsko" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Všeobecné" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Písmo:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Farebné prezývky" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Označiť každého na IRC inou farbou" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Odsadiť prezývky" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Prezývky zarovnať do prava" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Zobrazovať značiacu čiaru" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Zobraziť za posledným prečítaným textom červenú čiaru" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Obrázok v pozadí:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Dopĺňanie prezývky:" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Prípona dokončovania prezývky:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nezotriedené" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Hore" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Dolu" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skryté" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Zoznam používateľov" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Zobrazovať hostiteľov v zozname používateľov" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Použiť písmo a farby z textového poľa" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Zoznam používateľov triedený podľa:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Na kanáloch menších ako:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Akcia pri dvojkliku" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Okná" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Záložky" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Vždy" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Len požadované záložky" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Otvoriť vlastnú záložku pre správy serveru" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Triediť záložky v abecednom poriadku" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Nové záložky presunúť do popredia:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Skrátiť záložky na:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "znakov." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Záložky alebo okná" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Otvárať kanály v:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Otvárať dialógy v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Otvárať pomôcky v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Otvárať DCC, Ignorovanie, Upozornenie atď v záložkách alebo v oknách?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Súbory a priečinky" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Prijímať súbory do:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Presunúť dokončené súbory do:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Uložiť prezývku v súboroch" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Automaticky otvoriť okná pre DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Okno odosielania" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Okno príjmu" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Okno konverzácie" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Jeden odchodzí prenos:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Max. rýchlosť jedného prenosu" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Jeden príchodzí prenos:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Všetky odchodzie prenosy spolu:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Max. rýchlosť pre všetky prenosy" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Všetky príchodzie prenosy spolu:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Upozornenia" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Prednastavené správy" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Ukončiť:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Opustiť kanál:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Neprítomný:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Neprítomný:" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Zobrazovať AWAY iba raz" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Automaticky zrušiť AWAY" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Zobrazovať zmeny MODE v pôvodnom tvare" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Skryť vstupy a odchody z kanálov" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Oneskorenie automatického znovupripojenia:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Logovanie" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Počet riadkov spätného logu:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Zaznamenať čas v logoch" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Formát zobrazovania času:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Zakázané)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Vaša adresa" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Nastaviť na:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Získať moju adresu z IRC serveru" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Spýta sa serveru na vašu reálnu adresu. Použite toto ak máte adresu v tvare 192.168.*.* !" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "IP adresa DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Tvrdiť že ste na tejto adrese pri ponúkaní súborov." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy server" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Názov hostiteľa:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Meno používateľa:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Vyberte obrazový súbor" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Vyberte písmo" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Prehliadať..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Vyberte farbu" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Farby textu" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Farby mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Popredie:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Pozadie:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Farby prostredia" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nové data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Značiaca čiara:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nová správa:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Neprítomný používateľ:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Zvýraznenie:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Udalosť" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Zvukový súbor" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Vyberte meno zvukového súboru" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Zvukový súbor:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "P_rehliadať..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Prehrať" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Používateľské prostredie" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Vstupné pole" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Zoznam používateľov" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Farby" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Rozhovor" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Pokročilé" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Nastavenie siete" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Prenos súborov" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategórie" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Boli vykonané zmeny, ktoré vyžadujú spustiť aplikáciu znovu, aby sa použili." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*VAROVANIE*\nAutomatické prijatie DCC do vášho domovského\npriečinku môže byť nebezpečné. Napríklad:\nniekto by vám mohol poslať súbor .bash_profile." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Počas spracovania reťazca nastala chyba" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tento signál predal iba %d argumentov, $%d je neplatné" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Vytlačiť súbor textov" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "Číslo $" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Upraviť udalosti" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testovať všetky" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Vymazať zoznam" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopírovať zvolenú URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopírovať" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Uložiť zoznam do súboru" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d chanop, %d celk." + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000000000000000000000000000000000000..9ad6770453583fbb1ec247916d0873813b22802d --- /dev/null +++ b/po/sl.po @@ -0,0 +1,6259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# BOCo <bosko.orban@gmail.com>, 2017 +# BOCo <bosko.orban@gmail.com>, 2017 +# Jure Cuhalev <gandalf@owca.info>, 2003,2005 +# Jure Cuhalev <gandalf@owca.info>, 2003 +# Nejc Novak <nejc.novak@guest.arnes.si>, 2001 +# Roman Maurer [mailto:roman.maurer@amis.net, 2004 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:13+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Slovenian (http://www.transifex.com/hexchat/hexchat/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC Client" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Klepet;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Ne utegnem" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Odhajam" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "Izključeno" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "Vključeno" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Omrežje" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<brez>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Čakam" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiven" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Spodletelo" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Opravljeno" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Poveži se" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Prekinjeno" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Ne morem dostopati do %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Napaka" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Ni aktivnih DCCjev\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Pošlji datoteko" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Dodeli status op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Odvzemi status op" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Dodeli glasovni privilegij" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Odvzemi glasovni privilegij" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Brcni/Izobči" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Brcni" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Izobči" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Brcni in izobči" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Zapusti kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Pridruži se kanalu ..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Kanal, ki se mu želite pridružiti:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Povezave strežnikov" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "\"Ping\" strežnika" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Skrij različico" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Dodeli op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Odvzemi op" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "Nasvidenje" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Vnesite razlog za brco %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Pogovorno okno" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Whois" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Pošlji" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Klepet" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Počisti" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Uporaba IRC-a kot root uporabnik je neumna!\n Ustvarite uporabniški račun in ga uporabite za prijavo.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "DA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s vas zasipa s CTCP podatki, spregledujem %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s prisoten\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s odsoten\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Niste na nobenem kanalu. Poskusite /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Niste povezani. Poskusite /server <gostitelj> [<vrata>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Potrebujem /bin/sh za zagon!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Ukazi, ki so na voljo:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Ukazi, določeni s strani uporabnika:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Ukazi, določeni s strani uporabnika:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Za več informacij uporabite /HELP <ukaz> ali /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Neznan argument '%s' spregledan." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Ta dodatek ne obstaja.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ta plugin zavrača odstranitev.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ime> <dejanje> doda gumb v seznam uporabnikov" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <ukaz> izvede ukaz na vseh kanalih, s katerimi ste povezani" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <ukaz> pošlje ukaz vsem strežnikom, na katerih ste prijavljeni" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maska> [<vrsta>], prepove dostop do trenutnega kanala vsem, ki ustrezajo maski. Če so že na kanalu, jih ta ukaz ne brcne iz kanala (potrebuje status op)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY <koda|vzorec> poišče ime države, npr: si = Slovenija" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <vzdevek> <sporočilo> pošlje sporočilo CTCP vzdevku; pogosti sporočili sta VERSION in USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <vzdevek> - prejme ponujeno datoteko\nDCC SEND [-maxcps=#] <vzdevek> [datoteka] - pošlje nekomu datoteko\nDCC PSEND [-maxcps=#] <vzdevek> [datoteka] - pošlje nekomu datoteko z uporabo pasivnega načina\nDCC LIST - pokaže DCC seznam\nDCC CHAT <vzdevek> - nekomu ponudi DCC CHAT\nDCC CHAT <vzdevek> - nekomu ponudi DCC CHAT v pasivnem načinu\nDCC CLOSE <vrsta> <vzdevek> <datoteka> primer:\n /dcc close send janeznovak datoteka.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <vzdevek> odstrani status polovični-op vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ime> zbriše gumb s seznama uporabnikov" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <vzdevek> odstrani status op vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <vzdevek> odstrani glasovni privilegij vzdevku (za kar so potrebne pravice op)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON prekine povezavo s strežnikom" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <besedilo> izpiše besedilo v okno" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <ukaz> izvede ukaz. Če uporabite stikalo -o, je rezultat izpisan na trenutnem kanalu, sicer pa v trenutnem besedilnem polju" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT pošlje procesu signal za nadaljevanje SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9] ubije delujoči proces v trenutni seji. Če uporabite stikalo -9, je procesu poslan signal SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP procesu pošlje signal SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE pošlje podatke vhodnemu toku procesa" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FULSHQ odpošlje čakajočo vrsto sporočil na strežnik" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <gostitelj> [<vrata>] usmeri tok prek gostitelja (proxy), privzeto prek vrat 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <vzdevek> vzdevku dodeli status polovični-op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <geslo>, vas identificira pri nickservu" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maska> <vrste..> <možnosti..>\n maska - maska gostitelja, npr.: *!*@*.siol.net\n vrste - vrste podatkov za preziranje, ena ali vse od:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n možnosti - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <vzdevek> [<kanal>] povabi vzdevek na kanal, privzeto na trenutnega (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, pridruži se kanalu" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK preveri časovni odmik" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <datoteka>, naloži dodatek ali skripto" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP vsem odvzame polovične statuse op na trenutnem kanalu (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP vsem na trenutnem kanalu odvzame status op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <dejanje> pošlje dejanje v trenutni kanal (dejanja so izpisana v tretji osebi, npr. /me skače)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK na trenutnem kanalu brcne vse razen samega sebe (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MDEOP vsem na trenutnem kanalu odvzame status op (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <vzdevek> <sporočilo> pošlje obvestilo CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <vzdevek> nastavi vaš vzdevek" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <vzdevek> vzdevku podeli status operateja (op) kanala (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<razlog>] zapusti kanal, privzeto trenutnega" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <vzdevek | kanal> pošlje CTCP ping vzdevku ali kanalu" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<razlog]> prekine povezavo s trenutnim strežnikom" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <besedilo> strežniku pošlje besedilo v surovi obliki" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<gostitelj>] [<vrata>] [<geslo>] lahko ga uporabite samo kot /RECONNECT za ponovitev povezave s trenutnim strežnikom ali kot /RECONNECT ALL za obnovitev povezav na vse povezane strežnike" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<gostitelj>] [<vrata>] [<geslo>], lahko ga uporabite samo kot /RECONNECT za ponovitev povezave na trenutni strežnik ali kot /RECONNECT ALL za ponovitev povezave na vse odprte strežnike" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <besedilo> pošlje besedilo predmetu v trenutnem oknu" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <gostitelj> <vrata> <kanal> se poveže na strežnik in se pridruži kanalu" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <gostitelj> <vrata> <kanal> se poveže na strežnik in se pridruži kanalu" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <gostitelj> [<vrata>] [<geslo>] poveže se na strežnik, privzeto na vrata 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tema>] če podamo temo, jo nastavi, sicer pa prikaže trenutno" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maska> [<maska> ...] odstrani prepoved za določene maske." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maska> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "LOAD <datoteka> naloži dodatek ali skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, odpre URL v vašem brskalniku" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <vzdevek> dodeli glasovni privilegij vzdevku (za kar potrebuje pravice op)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <sporočilo> pošlje sporočilo na vse kanale" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <sporočilo> pošlje sporočilo vsem operaterjem kanala" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Uporaba:%s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nNa to temo ni na voljo pomoči.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Ta ukaz ne obstaja.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Napačne izbire za uporabnikov ukaz.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Preveč rekurzivnih ukazov, opuščam." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ali ste prepričani, da strežnik podpira SSL prek teh vrat?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Ne morem določiti imena gostitelja %s\nPreverite svoje nastavitve IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Prečkanje proxyja neuspešno.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Povezujem se z naslednjim strežnikom v %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Pozor: \"%s\" je neznan kodni nabor. Za omrežje %s ne bo uporabljena nobena pretvorba." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Uporabnikov Tema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tSeznam za obveščanje je prazen." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "*** KONČUJEM BELEŽENJE %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "*** ZAČENJAM BELEŽENJE %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Levo sporočilo" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Desno sporočilo" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Naslov IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Uporabniško ime" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Vzdevek osebe, ki se je pridružila" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanal, na katerega se pridružujem" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Gostitelj osebe" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Vzdevek" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Dejanje" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Znak opcije" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Podatki" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Besedilo" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Sporočilo" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Ime strežnika" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Star vzdevek" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nov vzdevek" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Vzdevek osebe, ki je spremenila temo" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Vzdevek osebe, ki je izvršila brco" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Oseba, ki je bila brcnjena iz kanala" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Razlog" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Vzdevek osebe, ki zapušča" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Čas" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Ustvarjalec" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Vzdevek" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razlog" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Gostitelj" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kdo je od tam" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Čas je v x.x obliki (glej spodaj)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanal, na katerega gre" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Zvok" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Vzdevek osebe" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP dogodek" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Vzdevek osebe, ki je nastavila kjuč" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ključ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Vzdevek osebe, ki je nastavila omejite uporabnikov" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Omejitev" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Vzdevek osebe, ki je podelila status op" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Vzdevek osebe, ki je prejele op status" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Vzdevek osebe, ki je prejela polovični op status" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Vzdevek osebe, ki je podelila status polovični op" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Vzdevek osebe, ki je podelila glasovni privilegij" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Vzdevek osebe, ki je prejela dovoljenje za glas" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Vzdevek osebe, ki je nastavila prepoved" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Maska prepovedi" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Vzdevek, ki je odstranil ključ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Oseba, ki je odstranila omejitev uporabnikov" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Oseba, ki ji je bil odvzet op status" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Oseba, ki ji je bil vzet polovični op status" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Oseba, ki ji je bil odvzet glas status" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Vzdevek osebe, ki je nastavila izjemo" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Maska izjeme" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Vzdevek osebe, ki je odstranila izjemo" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Vzdevek osebe, ki je postavila povabilo" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Maska povabila" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Oseba, ki je odstranila možnost 'samo na povabilo'" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Vzdevek osebe, ki je nastavila kanalno možnost" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Predznak možnosti (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Znak možnosti" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanal, na katerem je bila možnost nastavljena" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Polno ime" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Lastnik kanala/\"je IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Podatki o strežniku" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Čas brezdelnosti" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Čas priključitve" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razlog odsotnosti" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Sporočilo" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Račun" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Pravi uporabnik@gostitelj" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Pravi IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Ime kanala" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Besedilo" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Vzdevek osebe, ki vas je povabila" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Uporabniki" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Vzdevek v uporabi" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Poskušam vzdevek" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Vrata" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Možnosti niza" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Vrsta DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Ime datoteke" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Ciljna datoteka" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Ime poti" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Prenešeno" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Velikost" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Niz DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Število predmetov za opominjanje" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Staro ime datoteke" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Novo ime datoteke" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Prejemnik" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Maska gostitelja" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Ime gostitelja" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketek" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekund" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Vzdevek osebe, ki je bila povabljena" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maska prepovedi" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kdo je nastavil prepoved" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Čas nastavitve prepovedi" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Ne morem prebrati zvočne datoteke:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Oddaljeni gostitelj je zaprl povezavo" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Povezava je bila zavrnjena" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ni poti do gostitelja" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Čas za povezavo se je iztekel" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ne morem prijaviti tega naslova" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Povezava je bila prekinjena" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Združeni arabski emirati" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigva in Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Angvila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanija" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenija" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nizozemski Antili" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Obratni DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Ameriška Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Avstrija" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Avstralija" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajdžan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosna in Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladeš" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgija" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bolgarija" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrajn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Opravki" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudi" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivija" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazilija" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahami" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Otok Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Bocvana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belorusija" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosovi otoki" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratična republika Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Srednjaafriška republika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Švica" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Cote D'iviore" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cookovi otoki" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Čile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kitajska" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Notranje tržno" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Srbija in Črna gora" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Zelenortski otoki" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Velikonočni otok" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Ciper" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Češka" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Nemčija" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Džibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danska" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanska republika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžirija" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Izobraževalna ustanova" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonija" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Zahodna Shara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritreja" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Španija" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finska" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandski otoki" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezija" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Fererski otoki" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francija" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Velika Britanija" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzija" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Francoska Gvajana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britanski kanalni otoki" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibrlaltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grenlandija" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gvineja" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Vlada" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvartorialna Gvineja" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grčija" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Otoki S. Georgia-e in S. Sandwich-a" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Gvineja Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Gvajana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heardovi in McDonaldovi otoki" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Hrvaška" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Madžarska" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezija" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irska" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativno" + +#: src/common/util.c:803 +msgid "International" +msgstr "Mednarodno" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britansko Indijsko oceansko območje" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandija" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italija" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanija" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonska" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komori" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts in Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Severna Koreja" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Južna Koreja" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kajmanski otoki" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazahstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sveta Lucija" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Šrilanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberija" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litva" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libija" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavija" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Medicinsko omrežje združenih narodov" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshallovi otoki" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Vojaško" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonija" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mjanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Severni Marianski otoki" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mavretanija" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivi" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mehika" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malezija" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibija" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Kaledonija" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Notranje omrežje" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolški otok" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigerija" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nizozemska" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norveška" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nova Zelandija" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Notranja neprofitna organizacija" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Francoska polinezija" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nova Gvineja" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipini" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poljska" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Sv. Pierre in Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Portoriko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinski teritorij" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugalska" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragvaj" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Ponovna združitev" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romunija" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Stari izobraževalni ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ruska federacija" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudova Arabija" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Salomonovi otoki" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Sejšeli" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Švedska" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Sv. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenija" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbardovi in Jan Mayenovi otoki" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovaška republika" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegalija" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalija" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome in Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Nekdanja USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sirija" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svazi" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Otočji Turks in Caicos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francoska južna območja" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tajska" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Vzhodni Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunizija" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turčija" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad in Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tajvan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanija" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Združeno kraljestvo" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Združene države Amerike" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Urugvaj" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikan" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St vincent in grenadin" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britanski deviški otoki" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Ameriški deviški otoki" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallisovi in Futunini otoki" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavija" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Južna Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Kodna tabela" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Izobči" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Povabi" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Izbrati morate nekaj izobčenih." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maska" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Odstrani" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Odreži" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Osveži" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Izberite izhodno ime datoteke" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Poišči:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Pošlji datoteko k %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Sprejemanja te datoteke ni mogoče nadaljevati." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Ne morem dostopati do datoteke: %s\n%s\nNadaljevanje ni možno." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Datoteka v imeniku za prenesene datoteke je večja od datoteke, ki vam je ponujena. Nadaljevnje ni možno." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Ne morem nadaljevati datoteke od dveh ljudi." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Stanje" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Datoteka" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Preostanek čas" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Oboje" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Datoteka:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Naslov:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Prekini" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Sprejmi" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Nadaljuj" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Prejeto" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Poslano" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Zbriši" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Prekliči" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Shrani" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Ukaz za povezavo:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Ne morem odpreti pisave:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Iskalni niz je prazen.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bajtov" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Ukaz ^BVstavi v besedilo^B bo vstavil vsebino Podatka 1 v prostor kjer je bilo pritisnjeno zaporedje tipk ob trenutnem položaju kurzorja" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Ukaz ^BNastavi besedilo^B nastavi vnos, kjer je bilo pritisnjeno zaporedje tipk v vsebino Podatka 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "^Prejšnji ukaz^B ukaz nastavi vnos, ki vključuje prešjnji vpisan ukaz - enako, kot pritisk na tipko za navzgor v ukazni lupini" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "^BNaslednji ukaz^B ukaz nastavi vnos, ki vključuje naslednji vpisan ukaz - enako, kot pritisk na tipko za navzdol v ukazni lupini" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ta ukaz spremeni besedilo v vnosu, da dokonča nedokončan vzdevek ali ukaz. Če je podatek 1 nastavljen na dvojno-tabeliranje, bo izbran prejšnji vzdevek, ne naslednji" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Ta ukaz zavrti navzgor in navzdol seznam vzdevkov. Če je Podatek 1 nastavljen na karkoli, se bo seznam zavrtel navzgor, drugače pa navzdol" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Ta ukaz preveri zadnjo besedo, vnešeno v vnosu proti seznamu zamenjav in ga zamenja, če najde zadetek" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Ta ukaz premakne zgornji zavihek za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Ta ukaz premakne zgornji zavihek za eno mesto v desno" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Ta ukaz premakne zgornjo družino zavihkov za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Ta ukaz premakne zgornjo družino zavihkov za eno mesto v levo" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Vnesi vhodno vrstico v zgodovino, a je ne pošlji strežniku" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Najdena je bila napaka pri nalaganju konfiguracije bljižnic" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Ne morem pisati v to datoteko." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Ne morem brati te datoteke." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ta maska že obstaja." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Zasebno" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Opomba" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Odstrani preziranje" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Vnesite masko za preziranje:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statistika preziranja:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Zasebno:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Opomba:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Povabi:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Pogovorno okno" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tema za %s je: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Tema ni nastavljena" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zapri" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Omejitev uporabnikov mora biti številka!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Brez zunanjih sporočil" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Varovanje teme" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Samo na povabilo" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Moderirana" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Seznam izobčenih" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ključna beseda" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Omejitev uporabnikov" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Vnesite nov vzdevek:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Neznan gostitelj" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Neznan" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Pravo ime:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Uporabnik:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Država:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Strežnik:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Zadnje sporočilo:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Sporočilo o odsotnosti:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Pridruži se kanalu" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Zapusti kanal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Zapusti/Vrni se na kanal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Izključeno" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graf" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Strežnik" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Nastavitv_e" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Okno" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Ponastavi označevalno vrstico" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Počisti besedi_lo" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Pomoč" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Vs_ebina" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_O programu" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Ime" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Nazadnje viden" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Odsoten" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nikoli" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Prisoten" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Vnesite vzdevek, ki ga želite dodati:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Različica" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Opis" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Izberite dodatek ali skripto za zagon" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "Na_loži ..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Novo omrežje" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Res odstranim omrežje \"%s\" in vse njegove strežnike?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "Uredi" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Poveži se samo na izbrani strežnik" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne kroži skozi seznam strežnikov, ko pride do prekinitve povezave." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Uporabi povezavo SSL do vseh strežnikov v omrežju" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Uporabi splošne podatke o uporabniku" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Vzdevek:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Druga izbira: " + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Pravo ime:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Uporabniško ime:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Geslo:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Kodni nabor:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Podatki o uporabniku" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tretja izbira:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Omrežja" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "Uredi ..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Razvrsti" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "P_oveži se" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanija" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbajdžan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belorusija" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bolgarija" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonija" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Indija" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malezija" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tajska" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Splošno" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Pisava:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Obarvani vzdevki" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Vsakemu vzdevku pripiši drugo barvo" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Zamakni vzdevke" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Desno poravnavaj vzdevke" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Pokaži odsotnost enkrat" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Zadnjo prebrano vrsto označi z rdečo barvo." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Slika za ozadje:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Ž" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Dokončevanje vzdevkov" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Pripona za dopolnjevanje vzdevkov:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Ž-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Neurejeno" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Zgoraj" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Spodaj" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Skrito" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Seznam uporabnikov" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Pokaži gostitelje v seznamu uporabnikov" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Uporabi pisavo in barvo besedilnega polja" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Seznam uporabnikov urejen po:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Spremljaj razloge za odsotnost na kanalih manjših od:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Ob dvokliku izvedi ukaz" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Okna" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Zavihki" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Vselej" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Le zahtevane zavihke" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Odpri zavihek za sporočila strežnika" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Zavihke uredi po abecedi" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokusiraj nove zavihke:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Skrajša zavihke v:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "črk." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Zavihki ali okna" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Odpri kanale v:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Odpri pogovorna okna v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Odpri orodja v:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Odprem DCC, Opomnike in podobno v zavihkih ali oknih?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Datoteke in imeniki" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Prenesi datoteke v:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Premakni dokončane datoteke v:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Shrani vzdevek v imena datotek" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Samodejno odpri okna za zasebni pogovor" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Pošlji datoteko" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Prejemnik" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Pogovorno okno" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "En sam prenos od vas:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Največja hitrost za en prenos" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "En sam prenos k vam:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Vsi prenosi od vas združeno:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Največja hitrost za ves promet" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Vsi prenosi k vam združeno:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Opozorila" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Privzeta sporočila" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Izhod:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Zapusti kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Odsoten:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Odsoten" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Pokaži odsotnost enkrat" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Samodejno prekine odsotnost" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Prikaže MODE v surovi obliki" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Skrij sporočila ob prihodu/odhodu" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Zamik med ponovnim povezovanjem:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Beleženje" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Vračajoče vrstice:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Dnevnike opremi s časom" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Oblika prikaza časa v dnevniku:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Izključeno)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Naslov IP" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Poišči:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Pridobi moj podatke o mojem IP od strežnika IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Vpraša IRC strežnik za vaš pravi naslov. Uporabljajte to možnost, če imate naslov oblike 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Naslov IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Pretvarjajte se, da ste na tem naslovu, ko ponujate datoteke." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Strežnik proxy" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Ime gostitelja:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Vrata:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Vrsta:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Uporabniško ime:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Izberite datoteko s sliko" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Izberite pisavo" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Brskaj ..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Izberi barvo" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Barve" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Barve mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Ospredje:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Ozadje:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Vmesnik" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Novi podatki:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Označi ospredje:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Novo sporočilo:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Odsoten Uporabnik:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Osvetli:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Dogodek" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Zvočna datoteka" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Izberite izhodno ime datoteke" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Zvočna datoteka: " + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "Brskaj ..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Predvajaj" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Vmesnik" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Vnosno polje" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Seznam uporabnikov" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Barve" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Klepetanje" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Napredno" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Omrežne nastavitve" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Prenosi datotek" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorije" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Nekatere spremenjene nastavitve potrebujejo ponovni zagon za uveljavitev." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*OPOZORILO*\nSamodejno prejemanje DCC-jev v vaš domač imenik\nje lahko zelo nevarno. Nekdo vam lahko pošlje npr.\n.bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Prišlo je do napake pri obdelavi niza" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Signal je sprejel samo %d argumente, $%d je neveljaven" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Izpiši datoteko z besedilom" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Število" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Uredi dogodke" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Preskusi vse" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Počisti seznam" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopiraj izbrani URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiraj" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Shrani seznam v datoteko" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d operaterjev, %d vseh" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/sq.po b/po/sq.po new file mode 100644 index 0000000000000000000000000000000000000000..5e186faa0b4602f05e9133c6d7352379b17fdd75 --- /dev/null +++ b/po/sq.po @@ -0,0 +1,6257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Besnik <besnik@programeshqip.org>, 2014-2016,2018 +# Besnik <besnik@programeshqip.org>, 2014-2015 +# Besnik Bleta <besnik@spymac.com>, 2004 +# Besnik <besnik@programeshqip.org>, 2016,2018 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:13+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Albanian (http://www.transifex.com/hexchat/hexchat/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "Klient IRC" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat-i është një klient IRC-je i lehtë për t’u përdorur, por prapëseprapë shumë i zgjerueshëm. Ju lejon të hyni në mënyrë të sigurt, në shumë rrjete njëherësh, dhe të bisedoni me përdoruesit privatisht ose në kanale, duke përdorur një ndërfaqe të personalizueshme. Mundeni madje edhe të shkëmbeni kartela." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat-i mbulon veçori të tilla si: DCC, SASL, ndërmjetës, drejtshkrim, sinjalizime, regjistrim veprimtarie, tema të personalizueshme, dhe programthe Python/Perl." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Dritarja Kryesore e Fjalosjeve" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Bisedoni në linjë me persona të tjerë" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Fjalosje;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Hap Mënyrën e Sigurt" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "Përgjegjës Temash HexChat-i" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jam i zënë" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Po dilet" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "OFF" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "ON" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{e parregulluar}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rrjet" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<asnjë>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Po pritet" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Veprues" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Dështoi" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "U bë" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Lidhu" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "U ndërpre" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "S’hyhet dot te %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Gabim" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s po ju ofron \"%s\". Doni të pranohet?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "S’ka DCC-ra aktive\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Hap Dritare Dialogu" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Dërgoni një Kartelë" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "Të dhëna _Përdoruesi (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Shtoje te Listë Shokësh" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Shpërfille" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Veprime _Operatori" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Jepi Op" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Hiqja Op-in" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Jepi Zë" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Hiqja Zërin" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Përzëre/Dëboje" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Përzëre" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Dëboje" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Përzëdëboje" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Ik Nga Kanali" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Hyni në Kanal…" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Jepni Kanal ku të Hyhet:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Lidhje Shërbyesish" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Kryej Ping Ndaj Shërbyesit" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Fshihe Versionin" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "shëndet" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Jepni arsye përzënie %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Dërgoni Kartelë" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "KushËshtë" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Dërgoje" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Fjalosje" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Pastroje" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Nuk keni të drejta shkrimi te %s. Nga ky sesion nuk mund të ruhet asgjë." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Xhirimi i IRC-së si rrënjë është budallallëk! Duhet\n të krijoni një Llogari Përdoruesi dhe të përdorni atë për t’u futur.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "PO " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "JO " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Po CTCP përmbyteni prej %s, po shpërfillet %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Po MSG përmbyteni nga %s, po kalohet gui_autoopen_dialog në OFF.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "S’u gjet" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Po kërkohet për %s…" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s në linjë\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s jo në linjë\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Nuk hytë në ndonjë kanal. Provoni /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "I palidhur. Provoni /server <strehë> [<portë>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Shërbyesi %s gjendet tashmë në rrjetin %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "U shtua shërbyesi %s te rrjeti %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "I shënuar tashmë si i larguar: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "I shënuar tashmë si i kthyer.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Më duhet /bin/sh për të xhiruar!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Urdhra Gati:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Urdhra të përkufizuar nga përdoruesi:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Urdhra të përkufizuar nga shtojca:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Për më tepër të dhëna, shtypni /HELP <urdhër>, ose /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "U shpërfill arg i panjohur '%s'." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Ky shërbyes nuk mbulon heshtimet." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "S’u gjet shtojcë e tillë.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ajo shtojcë nuk pranon të çngarkohet.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTON <emër> <veprim>, shton një buton nën një listë përdoruesi" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <Rrjet i ri> <rrjet i ri/6667>, shton te lista e rrjeteve një rrjet të ri me një shërbyes të ri" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <urd>, u dërgon një urdhër tërë kanaleve ku gjendeni" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHAN <urd>, u dërgon një urdhër tërë kanaleve te shërbyesi i atëçastshëm" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <urd>, u dërgon një urdhër tërë shërbyesve ku gjendeni" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<arsye>], ju tregon si të larguar (përdorni /BACK për të kundërtën)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ju tregon të kthyer (pra, jo më të larguar)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <maskë> [<lloj dëbimi>], dëbon nga kanali i çastit këdo që përputhet me maskën. Nëse tashmë janë në kanal, kjo nuk i përzë (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <ndryshore> [<vlerë>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kodimg>], tregon ose cakton kodimin e përdorur për lidhjen e atëçastshme" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<sasi>], Pastron tekstin nga dritarja e atëçastshme, ose nga historiku i urdhrave" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Mbyll skedën e atëçastshme, duke mbyllur dritaren, nëse ka vetëm një skedë të hapur, ose me opsionin \"-m\", mbyll krejt kërkesat." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>, gjen një kod vendi, p.sh.: sq = Shqipëri" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nofkë> <mesazh>, i dërgon nofkës një mesazh CTCP, mesazhe të rëndomtë janë VERSION dhe USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], del dhe menjëherë rihyn në kanalin e atëçastshëm, ose në atë që i jepet" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nofkë> - prano një kartelë të ofruar\nDCC SEND [-maxcps=#] <nick> [kartelë] - dërgo një kartelë te dikush\nDCC PSEND [-maxcps=#] <nick> [kartelë] - dërgo një kartelë duke përdorur mënyrën pasive\nDCC LIST - shfaq listë DCC\nDCC CHAT <nofkë> - ofro FJALOSJE DCC për dikë\nDCC PCHAT <nofkë> - ofro FJALOSJE DCC duke përdorur mënyrën pasive\nDCC CLOSE <lloj> <nofkë> <kartelë> shembull:\n /dcc close send gjonsherri kartelë.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nofkë>, i heq nofkës gjendjen gjysmëoperator kanali për kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTON <emër>, fshin një buton prej që poshtë liste përdoruesish" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nofkë>, i heq nofkës gjendjen operator kanali në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nofkë>, i heq nofkës gjendjen i zëshëm në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Shkëputet prej shërbyesit" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <nofkë|strehë|ip>, Zbulon një IP ose strehëemër" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <kanal,listë,/rrjet> <urdhër>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, Shfaq tekst lokalisht" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <urdhër>, përmbush urdhrin. Nëse përdoret flamurka -o, atëherë përfundimi dërgohet në kanalin e çastit, në të kundërt, jepet te kuti e atëçastshme për tekstet" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, dërgon procesin SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], asgjëson një përmbushje që po kryhet në kanalin e atëçastshëm. Nëse jepet -9, procesi asgjësohet nga SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, i dërgon procesit SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, i dërgon të dhënat te proceset \"stdin\"" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, eksporton rregullimet e HexChat-it" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, asgjëson mesazhe të atëçastshme që pritnin të dërgoheshin" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <strehë> [<portë>], ndërmjetëson te një strehë përmes një porte, me portë parazgjedhje 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nofkë> [fjalëkalim], Asgjëson një emër nofke fantazmë" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nofkë>, i jep nofkës gjendjen gjysmëoperator kanali (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>, ju identifikon kundrejt nickserv-it" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <maskë> <lloje..> <mundësi..>\n maskë - maskë strehe për t’u shpërfillur, p.sh.: *!*@*.aol.com\n lloje - lloje të dhënash për t’u shpërfillur, një ose të tërë prej:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n mundësi - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nofkë> [<kanal>], fton dikë në një kanal, si parazgjedhje tek kanali i atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, hyhet te kanali" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <nofkë> [arsye], përzë nofkën prej kanalit të atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <nofkë> [arsye], dëbon, mandej përzë nofkën prej kanalit të atëçastshëm (lyp operatori kanali)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, detyron një kontroll të ri vonese" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <varg>, kërkon në shtytëz për një varg\n Përdorni -h që të theksohet vargu i gjetur\n Përdorni -m për gjetje siç është shkruar\n Përdorni -r kur vargu është Shprehje e Rregullt\n Përdorni -- (vizë ndarëse dyshe) që të tregohet fundi i opsioneve, teksa kërkohet për, le të themi, vargun '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [e] <kartelë>, ngarkon një shtojcë ose një programth" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, U heq gjendjen operator krejt gjysmëoperatorëve të kanalit në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, U heq gjendje operatori krejt operatorëve të kanalit në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <veprim>, dërgon veprimin te kanali i atëçastshëm (veprimet shprehen në vetën e tretë, si /unë hidhet)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, I hedh në masë tërë përdoruesit në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Përzë në masë këdo, hiq ju, nga kanali i atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Op-on në masë tërë përdoruesit në kanalin e atëçastshëm (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <nofkë> <mesazh>, dërgon një mesazh privat, paraprini mesazhin me \".\" që ta dërgoni te nofka e fundit ose parashtojini \"=\" për fjalosje dcc" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [channel], Tregon nofkat në kanal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nofkë> <mesazh>, Dërgon një njoftim CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <strehëemër> [<portë>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nofkë>, cakton nofkën tuaj" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <nofkë/kanal> <mesazh>, dërgon një njoftim" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n rrjeti1[,rrjeti2,…]] [<nofkë>], shfaq listën tuaj të njoftimeve ose shton dikë në të" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nofkë>, i jep nofkës gjendje operatori kanali (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<arsye>], lë kanalin, si parazgjedhje atë të çastit" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nofkë | kanal>, i dërgon ping CTCP nofkës ose kanalit" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <nofkë> [mesazh], i hap dikujt një dritare të re mesazhesh private dhe i dërgon një mesazh, po deshët" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <maskë> [<quiettype>], heshton në kanalin e atëçastshëm këdo që përputhet me maskën, nëse kjo mbulohet nga shërbyesi." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<arsye>], shkëputet prej shërbyesit të atëçastshëm" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, dërgon te shërbyesi tekstin e patrajtuar" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<strehë>] [<portë>] [<fjalëkalim>], Mund të jepet thjesht si /RECONNECT, për t’u rilidhur me shërbyesin e atëçastshëm, ose si /RECONNECT ALL, për t’u rilidhur me tërë shërbyesit e hapur" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<strehë>] [<portë>] [<fjalëkalim>], Mund të jepet thjesht si /RECONNECT për t’u rilidhur me shërbyesin e atëçastshëm ose si /RECONNECT ALL për t’u rilidhur me tërë shërbyesit e hapur" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <tekst>, dërgojini HexChat-it të dhëna të papërpunuara, si të ishin marrë prej shërbyesit IRC" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <emër>, ringarkon një shtojcë ose një programth" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, dërgon tekstin te objekti në dritaren e atëçastshme" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nofkë [<kartelë>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <strehë> <portë> <kanal>, lidhet dhe hyn në një kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <strehë> <portë> <kanal>, lidhet dhe hyn në një kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <strehë> [<portë>] [<fjalëkalim>], lidhet me një shërbyes, porta parazgjedhje është 6667 për lidhje normale, dhe 6697 për lidhje ssl" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <strehë> [<portë>] [<fjalëkalim>], lidhet me një shërbyes, porta parazgjedhje është 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <ndryshore> [<vlerë>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, ripozicionon kursorin te kutia e teksteve" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <emër i ri>, ndërron emrin e skedës, tab_trunc mbetet ende në fuqi" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <tekst i ri>, zëvendësoni tekstin te kutia e teksteve" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<temë>], e cakton si temë nëse jepet një, përndryshe shfaq temën e atëçastshme" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <skadencë> <kartelë1> [<kartelë2>] Xixëllo pjesën e panelit mes dy ikonave.\nTRAY -f <emër kartele> Caktoje panelin sa një ikonë fikse.\nTRAY -i <numër> Xixëllo panelin me një ikonë të brendshme.\nTRAY -t <tekst> Cakto ndihmëz rreth paneli.\nTRAY -b <titull> <tekst> Cakto tullumbace paneli." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <maskë> [<maskë>…], heq dëbimin për maskat e treguara." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <maskë> [URTË]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <emër>, çngarkon një shtojcë ose një programth" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <maskë> [<maskë>…], çheshton maskat e treguara, nëse kjo mbulohet nga shërbyesi." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, hap një URL në shfletuesin tuaj" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nofka1> <nofka2> etj, thekson nofkën(at) në listën e përdoruesve të kanalit" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nofkë>, jep gjendjen i zëshëm për dikë (lyp gjendje operatori kanali)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mesazh>, shkruan mesazhin te tërë kanalet" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <mesazh>, dërgon mesazhin te tërë operatorët e kanalit në kanalin e atëçastshëm" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Urdhër Përdoruesi për: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Përdorim: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nS’ka ndihmë rreth këtij urdhri.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "S’ka urdhër të tillë.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Argumente të gabuar për urdhër përdoruesi.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Shumë urdhra përdoruesi ripërsëritëse, po ndërpritet." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Urdhër i Panjohur %s. Provoni /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Pa simbol hexchat_plugin_init; është vërtet shtojcë për HexChat?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tPo shërbehet kërkesa ident nga %s si %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tGabim në nisjen e shërbyesit identd: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <portë> <emër përdoruesi>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Kohëmatësi %d u fshi.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "S’u gjet numër ree i tillë.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "S’ka kohëmatës të instaluar.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr " Ref# Sekonda Repeat Urdhër \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Jeni të sigurt se ky është një shërbyes dhe portë e aftë për SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Nuk ftillohet dot strehëemri %s\nKontrolloni Rregullimet tuaja për IP-në!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Ndërmjetësi traversal dështoi.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Po ciklohet te shërbyesi pasues në %s…\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Kujdes: Shkronjat \"%s\" janë të panjohura. Nuk do të zbatohet ndonjë shndërrim për rrjetin %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O u shtua te lista e njoftimeve." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O në %C24$4%O nga %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tNuk hyni dot te %C22$1 %O(%C20Jeni dëbuar%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tAftësi të deklaruara: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tAftësi të hequra: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tAftësitë e mbuluara: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tAftësitë e domosdoshme: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O tani njihet si %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O jep dëbim për %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanali %C22$1%O i krijuar më %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O i heq gjysmë-operator %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O i heq gjendjen operator %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O i heq zërin %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C vendos një përjashtim mbi %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O jep gjendje gjysmë-operator kanali për %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C vendos përjashtim ftimesh te %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Përdorues Temë" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O vendos mënyrën %C24$2$3%O mbi %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O mënyra: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O jep gjendjen operator kanali për %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O vendos heshtim mbi %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O heq përjashtim ndaj %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O heq përjashtim ftimesh te %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O heq fjalëkyç kanali" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O heq kufi përdoruesi" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O cakton si fjalëkyç kanali %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O cakton si kufi kanali %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O heq dëbimin për %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O heq heshtimin për %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tUrl kanali %C22$1%O: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O i jep zë %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tU lidh. Tani po bëhet hyrja." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tPo lidhet te %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tLidhja dështoi (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tU mor një CTCP %C24$1%C nga %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tU mor një CTCP %C24$1%C nga %C18$2%C (për %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tU mor një tingull CTCP %C24$1%C nga %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tU mor një tingull CTCP %C24$1%C nga %C18$2%C (për %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tFjalosja DCC me %C18$1%O dështoi." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tU vendos lidhje fjalosjeje DCC me %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tFjalosja DCC me %C18$1%O humbi (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tU mor ofertë fjalosjeje DCC CHAT nga %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tPo ofrohet fjalosje për DCC %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tËshtë ofruar tashmë CHAT për %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tPërpjekja për lidhje DCC $1 me %C18$2%O dështoi (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tU mor '%C23$1%C' nga %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Lloj Për/Nga Gjendje Madhësi Poz Kartelë" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tU mor një kërkesë DCC e keqformuar nga %C18$1%O.$a010%C23*%O$tLënda e paketës: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tPo ofrohet '%C24$1%O' për %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tNuk ka ofertë të tillë DCC." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDështoi DCC RECV '%C23$2%O' mbi %C18$1%O." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' nga %C18$3%O i plotësuar %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tU vendos lidhje DCC RECV me %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' nga %C18$3%O dështoi (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: S'hapet dot '%C23$1%C' për shkrim (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tKartela '%C24$1%C' ekziston tashmë, ndaj po ruhet te '%C23$2%O'." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C ka kërkuar të rimerret '%C23$2%C' nga %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' mbi %C18$1%O dështoi." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' mbi %C18$2%C e plotësuar %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tU vendos lidhja DCC SEND me %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' për %C18$2%C dështoi (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C ka ofruar '%C23$2%C' (%C24$3%O bajte)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' për %C18$3%O ngeci, po ndërpritet." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' për %C18$3%O i mbaroi koha, po ndërpritet." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O u fshi prej listës së njoftimeve." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tU shkëput (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tU gjet IP-ja juaj: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O u shtua te lista e shpërfilljeve." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OShpërfillja mbi %C18$1%O ndryshoi." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O u hoq prej listës së shpërfilljeve." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLista e shpërfilljeve është e zbrazët." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tS’hyhet dot %C22$1%C (%C20Kanali është vetëm me ftesa%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tJeni ftuar te %C22$1%O nga %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) hyri" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tNuk hyhet dot te %C22$1%C (%C20Lyp fjalëkyç%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C ka përzënë %C18$2%C nga %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Jeni asgjësuar nga %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD u Anashkalua%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C është përdorur tashmë. Po provohet me %C18$2%O…" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C është i gabuar. Po provohet me %C18$2%O…" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tNofka është e gabuar ose tashmë e përdorur. Përdorni /NICK që të provoni një tjetër." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNuk ka DCC të tillë." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tNuk ka proces në xhirim tani" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNjoftim: %C18$1%C është i larguar (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNjoftim: %C18$1%C u rikthye" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tLista e njoftimeve është e zbrazët." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Listë Njoftimesh" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O përdorues te lista e njoftimeve." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNjoftim: %C18$1%C nuk është në linjë (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNjoftim: %C18$1%C është në linjë (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) iku" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) iku ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPërgjigje pingu nga %C18$1%C: %C24$2%O sekonda(s)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tPa përgjigje pingu për %C24$1%O sekonda, po shkëputet." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tKa tashmë një proces në xhirim e sipër" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 iku ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C cakton mënyra %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tPo kërkohet numër IP-je për %C18$1%O…" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tPo mirëfilltësohet përmes SASL-je si %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tU lidh." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tPo kërkohet %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tU ndal përpjekja e mëparshme për lidhje (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTema për %C22$1%C është: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C ka ndryshuar temën në: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tTema e %C22$1%C caktuar nga %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tStrehë e panjohur. Ndoshta e keqshkruat?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tNuk hyhet dot te %C22$1%C (%C20Është mbërritur në kufijtë e përdoruesit%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tPërdorues në %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C është i larguar %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OFundi i listës WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O i plogësht %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O i plogësht %C23$2%O, hyrja më: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Strehë reale: %C23$2%O, IP Reale: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tTani po flisni te %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tJeni përzënë prej %C22$2%C nga %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tE braktisët kanalin %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tE braktisët kanalin %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tFtuat %C18$1%O te %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tTani njiheni si %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "U ngarkua regjistrimi prej" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** PO PËRFUNDOHET REGJISTRIMI NË %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** PO FILLOHET REGJISTRIMI NË %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* S’hapen dot kartela regjistrimi për shkrim.\nKontrolloni lejet tek %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Mesazh majtas" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Mesazh djathtas" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Adresë IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Emër përdoruesi" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Nofka e personit që po hyn" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanali ku po hyhet" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Streha e personit" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Llpgaria e personit" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nofkë" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Veprimi" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Shkronja mënyre" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Tekst i identifikuar" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Teksti" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Mesazhi" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Emër Shërbyesi" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Aftësi të Deklaruara" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Aftësi të Hequra" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Aftësi Shërbyesi" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Aftësi të Domosdoshme" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Nofkë e vjetër" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nofkë e re" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Nofkë e personit që ndryshoi temën" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Temë" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Nofka e përzënësit" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Personi që po përzihet" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanali" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Arsyeja" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Nofka e personit që po ikën" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Koha" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Krijuesi" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Nofkë" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Arsye" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Strehë" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kush është prej" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Koha në format x.x (shihni më poshtë)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanali ku po shkohet" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Tingulli" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Nofka e personit" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Ngjarja CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Nofka e personit që caktoi kyçin" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Kyçi" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Nofka e personit që caktoi kufirin" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Kufiri" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Nofka e personit që bëri op-im" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Nofka e personit që u op-ua" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Nofka e personit që është gjysmëop-uar" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Nofka e personit që bëri gjysmëop-im" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Nofka e personit që dha zë" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Nofka e personit që u bë i zëshëm" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Nofka e personit që bëri dëbimin" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Maska e dëbimit" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Nofka e personit që kreu heshtimin" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Maska e heshtimit" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Nofka që hoqi kyçin" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Nofka që hoqi kufirin" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Nofka e personit që bëri deopimin" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Nofka e personit që u deopua" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Nofka e personit që bëri gjysmëdeopimin" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Nofka e personit që u gjysmëdeopua" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Nofka e personit që bëri çzanimin" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Nofka e personit që u çzanua" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Nofka e personit që hoqi zhdëbimin" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Nofka e personit që kreu çheshtimin" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Nofka e personit që bëri përjashtimin" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Maska e përjashtimit" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Nofka e personit që hoqi përjashtimin" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Nofka e personit që bëri ftesën" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Maska e ftesës" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Nofka e personit që hoqi ftesën" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Nofka e personit që po cakton mënyrën" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Shenja mënyre (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Shkronja e mënyrës" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanali është duke u bërë gati" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Emër i plotë" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Anëtarësi Kanali/\"është një operator IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Të dhëna Shërbyesi" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Kohë plogështie" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Kohë futjeje" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Arsye largimi" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mesazh" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Llogari" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "përdorues@strehë i vërteti" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "IP reale" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Emër Kanali" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanizëm" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Numër ose Identifikues" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Nofkë e personit që ju ftoi" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Përdorues" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Nofkë në përdorim" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Nofkë që po provohet" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Portë" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Varg mënyrash" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Lloj DCC-je" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Emër kartele" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Emër kartele vendmbërritjeje" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Emër shtegu" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Pozicion" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Madhësi" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Varg DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Arsye Largimi" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Numër objektesh njoftim" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Emër i Vjetër Kartele" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Emër i Ri Kartele" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Marrës" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Strehëmaskë" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Strehëemër" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketa" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekonda" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Nofkë e personit që është ftuar" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Maskë dëbimi" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Kush vendosi dëbimin" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Kohë dëbimi" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "S’lexohet dot kartelë tingulli:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Streha e largët mbylli socket-in" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Ndërlidhje e papranuar" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "S’ka udhë për te streha" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Mbaroi koha e ndërlidhjes" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Nuk mund të caktohet ajo adresë" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Lidhje e rivendosur nga tjetri" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ishulli Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emiratet e Bashkuara Arabe" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Fusha të Lidhura me Aviacionin" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua dhe Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Shqipëri" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armeni" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antilet Holandeze" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angolë" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktidë" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argjentinë" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Përmbys DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa Amerikane" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Rajoni Azi-Paqësor" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austri" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australi" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Ishujt Aland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajxhan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnjë-Hercegovinë" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgjikë" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bullgari" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Biznese" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivi" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Ishulli Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsvanë" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Bjellorusi" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalane" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Ishujt Kokos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Republika Demokratike e Kongos" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Republika e Afrikës Qendrore" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Zvicër" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Bregu i Fildishtë" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Ishujt Kuk" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Kili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kinë" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbi" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Tregtar Internic" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperativa" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbi dhe Mal i Zi" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kubë" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kepi i Gjelbër" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Ishulli i Krishtlindjeve" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Qipro" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Republika Çeke" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Gjermani Lindore" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Gjermani" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Xhibut" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danimarkë" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Republika Dominikane" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algjeri" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Institucione Edukimi" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estoni" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egjipt" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sahara Perëndimore" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritre" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanjë" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopi" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Bashkimi Europian" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandë" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fixhi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Ishujt Falkland" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezi" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Ishujt Faroe" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francë" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Britani e Madhe" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenadë" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gjeorgji" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guajana Frënge" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Ishujt Britanikë të Kanalit" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ganë" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gjibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlandë" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guine" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Qeveri" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadalup" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guine Ekuatoriale" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Greqi" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Ishujt S. Georgia dhe S. Sandwich" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemalë" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bisau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guajanë" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Ishujt Heard dhe McDonald" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroaci" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungari" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezi" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlandë" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Ishulli i Robit" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indi" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:803 +msgid "International" +msgstr "Ndërkombëtar" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Territoret Britanike të Oqeanit Indian" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Islandë" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itali" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Xhersi" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Xhamaikë" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordani" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Punësime Kompanish" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japoni" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kamboxhia" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komore" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Shën Kits dhe Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Kore e Veriut" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Kore e Jugut" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Ishujt Kajman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakistan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Santa Luçia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lihtenshtein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lankë" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberi" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lituani" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letoni" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libi" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marok" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavi" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Mal i Zi" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Mjekësor, i Shteteve të Bashkuara" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Ishujt Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Ushtarake" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Maqedoni" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoli" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Pajisje Celulare" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Ishujt Veriorë Mariana" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinikë" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritani" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Maltë" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauricius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Muzeume" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldive" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malaui" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksikë" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malajzi" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibi" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Emra Individësh" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Kaledoni e Re" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Rrjet Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Ishujt Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeri" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holandë" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvegji" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Zelandë e Re" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Organizëm Jofitimprurës Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinezia Frënge" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Guinea e Re" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipine" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poloni" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Shën Pier dhe Mikëlon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitkern" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Riko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Profesione" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Territoret Palestineze" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugali" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguai" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumani" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Old School ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbi" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Federata Ruse" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruandë" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabi Saudite" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Ishujt Solomon" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Sejshelle" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suedi" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapor" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Shën Helenë" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slloveni" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Ishujt Svalbard dhe Jan Mayen" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Republika Slovake" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somali" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Sudan i Jugut" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome dhe Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Ish-BRSS" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Siri" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Ishujt Turks dhe Kaikos" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Çad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Shërbime Ndërlidhjesh në Internet" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Territoret Frënge Jugore" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tajlandë" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Taxhikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timori Lindor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunizi" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turqi" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Udhëtime dhe Turizëm" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad dhe Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taivan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzani" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrainë" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Ugandë" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Mbretëria e Bashkuar" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Shtetet e Bashkuara të Amerikës" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguai" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Qytet-shteti i Vatikanit" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Shën Vincent dhe Grenadinet" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuelë" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Ishujt e Virgjër Britanikë" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Ishujt e Virgjër të ShBA-ve" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Ishujt Wallis dhe Futuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Dëfrim të Rriturish" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Majot" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Serbi dhe Mali i Zi" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Afrikë e Jugut" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "S’u lidha dot me busin e sesionit" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Përmbushja e urdhrit NameHasOwner dështoi" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Dështoi në përmbushjen e Urdhrit" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "hyrje së largëti" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "shtojcë për hyrje në largësi përmes përdorimit të DBUS-it" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "S’u lidh dot me busin e sesionit: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Dështoi në pasjen e %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tabelë Shkronjash" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Dëbime" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Përjashtime" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Përjashtim" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Ftesa" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Ftoje" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Heshtime" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Heshtim" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopjoje maskën" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s në %s nga %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopjojeni zërin" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "I palidhur." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Duhet të përzgjidhni disa ndalime." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Jeni i sigurt se doni të hiqen krejt objektet e treguara në %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Lloj" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maskë" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Nga" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datë" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Dritaren e Listës së Dëbimeve mundeni ta hapni vetëm kur jeni në një skedë kanali." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Listë Dëbimesh (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Hiqe" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Qethe" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Rifreskoje" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Po shfaqen %d/%d përdorues në %d/%d kanale." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Përzgjidhni një emër kartele përfundim" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Hyni në Kanal" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopjo Emër Kanali" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopjo Tekst _Teme" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Listë Kanalesh (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Kërko" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Shkarko Listën" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Ruajeni _Listën…" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Shfaq vetëm:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanale me" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "deri" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "përdorues." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Shih në:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Emër kanali" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Lloj kërkimi:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Kërkim i Thjeshtë" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Përputhje Rregullsish (Shenja të Gjithëpushtetshme)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Shprehje e Rregullt" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Gjej:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Dërgoni kartelë te %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Kjo kartelë nuk është e përmbledhshme." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "S’hyhet dot në kartelën: %s\n%s.\nRimarrje jo e mundur." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Kartela në drejtorinë e shkarkimit është më e madhe se kartela e ofruar. Rimarrje jo e mundur." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Nuk mund të rimerret e njëjta kartelë prej dy personash." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Ngarkime dhe Shkarkime - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Gjendje" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Kartelë" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Të dyja" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Ngarkime" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Shkarkime" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Hollësi" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Kartelë:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresë:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Ndërprite" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Pranoje" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Rimerre" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Hapni Dosje…" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Listë Fjalosjesh DCC - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Marrë" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Dërguar" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Kohë Fillimi" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Shtoni" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Fshije" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Anuloje" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Ruaje" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Mos u vetërilidh me shërbyes" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Përdor një tjetër drejtori formësimesh" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Mos vetëngarko ndonjë shtojcë" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Shfaq drejtori shtojcash/programthesh vetëngarkuese" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Përdor drejtori formësimi të përdoruesit" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Hapni një URL irc://server:port/channel?key" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Përmbush urdhër:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Hap një URL ose përmbush një urdhër në një HexChat ekzistues" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Fillo i minimizuar. Nivele 0=Normal 1=I ikonizuar 2=Në shtyllë" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivel" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Shfaq të dhëna versioni" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Dështoi në hapje shkronjash:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Shtytëza e kërkimeve është e zbrazët.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bajte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Radhë dërgimesh në rrjet: %d bajte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Veprimi Xhiro Urdhër i xhiron të dhënat te Data 1 si të qenë shtypur te kutia e teksteve ku shtypët vargun e dhënë të tasteve. Ndaj mund të përmbajë tekst (i cili do të dërgohet te kanali/personi), urdhra ose urdhra përdoruesi. Kur xhirohet, krejt shenjat \\n te Data 1 përdoren për të kufizuar urdhra të veçantë, ndaj është e mundur të xhirohet më shumë se një urdhër. Nëse dëshironi një shenjë \\ tek teksti aktual, atëherë jepni \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Urdhri Ndrysho Faqe ju kalon nga një faqe e bllokut në një tjetër. Caktoni për Data 1 faqen tek e cila dëshironi të kaloni. Nëse Data 2 ka një vlerë çfarëdo, atëherë kalimi do të jetë relativ kundrejt pozicionit të tanishëm. Caktoni për Data 1 vlerën auto që të kaloni te faqja me veprimtarinë më të re dhe më të rëndësishme (kërkesat së pari, mandej kanalet me theksime, kanalet me dialogë, kanalet me të dhëna të tjera)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Urdhri Fut në Shtytëz do të fusë lëndën e Data 1 te pjesa ku u shtyp vargu i tasteve te pozicioni i atëçastshëm i kursorit" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Urdhri Rrëshqit Në Faqe bën që të rrëshqitet në tekst, lart ose poshtë, një faqe ose një rresht. Jepini Data 1 vlerën Top, Bottom, Up, Down, +1 ose -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Urdhri Vendos Shtytëz vendos futjen atje ku u shtyp varg tastesh te lënda e Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Urdhri Urdhri i Fundit bën që si hyrje të jetë urdhri i fundit i dhënë - njësoj si shtypja e shigjetës sipër brenda një shelli" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Urdhri Urdhri Pasues e bën zërin në fjalë të përmbajë urdhrin pasues që jepet - njësoj si shtypja e shigjetës poshtë brenda një shelli" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ky urdhër ndryshon tekstin që jepet për të përfunduar një urdhër apo një nofkë ende jo të plotësuar. Nëse është rregulluar Data 1, atëherë shtypja dyfish e tastit Tab në një varg do të zgjedhë nofkën e fundit, jo pasuesen" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Ky urdhër kryen lëvizjen lart e poshtë nëpër listë nofkash. Nëse është dhënë diçka si Data 1 shkohet sipër, ndryshe zbritet poshtë" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Ky urdhër kontrollon fjalën e fundit të dhënë përkundër listës së zëvendësimeve dhe bën zëvendësim, nëse gjendet përputhje" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Ky urdhër zhvendos skedën ballore majtas me një hap" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Ky urdhër zhvendos skedën ballore djathtas me një hap" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Ky urdhër zhvendos grupin e skedave të atëçastshme majtas" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Ky urdhër zhvendos grupin e skedave të atëçastshme djathtas" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "I kalon historikut rresht dhënieje, por nuk ia dërgon shërbyesit" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Pati një gabim gjatë ngarkimit të formësimit për funksione tastesh" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Përzgjidhni një rresht që të merrni të dhëna ndihme mbi Veprimin e tij." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Shkurtore Tastiere - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "S’shkruan dot tek kjo kartelë." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "S’lexohet dot kjo kartelë." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ka tashmë një maskë si kjo." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Private" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Njofto" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Shpërfille" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Jeni i sigurt se doni të hiqen krejt shpërfilljet?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Jepni maskë që do të shpërfillet:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Listë shpërfilljesh - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statistika Shpërfilljesh:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Njofto:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Ftoni:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Shtoni…" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Emër kanali shumë i shkurtër, riprovoni." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Lidhje e Plotësuar - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Lidhje e plotë te %s." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Te dritarja e listës së shërbyesve për këtë rrjet s’është dhënë ndonjë kanal (dhomë fjalosjesh) te e cila të bëhet hyrje e vetvetishme." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Ç’do të donit të bënit në vazhdim?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Asgjë, do të hyj te ndonjë kanal më vonë." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Hyni në këtë kanal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Në e ditshi emrin e kanalit ku doni të hyni, jepeni këtu." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "_Hap listën e kanaleve." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Marrja e listës së kanaleve mund të dojë një a dy minuta." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Pas lidhjesh, shfaqe përherë këtë dialog." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog me" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tema për %s është: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Nuk është caktuar temë" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Ky shërbyes ka ende %d kanale apo dialogë përshoqëruar atij. Të mbyllen të tërë?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Të dilet nga HexChat-i?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Mos pyet më herës tjetër." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Jeni i lidhur te rrjete %i IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Jeni i sigurt se doni të dilni?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Disa shpërngulje kartelash janë ende në përmbushje e sipër." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimizoje sa Shtylla" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Fut Kod Ngjyre ose Atributi" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Të trasha</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Të nënvizuara</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>të Pjerrëta</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normale" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Ngjyra 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Ngjyra 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Rregullime" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Regjistro në Disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Ringarkoje Rrëshqitjen" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Hiqi _Ngjyrat" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Fshih Mesazhe Ardhjesh dhe Ikjesh" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Sinjalizime _Ekstra" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Bip gjatë _Mesazhesh" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Xixëllo _Ikonë Shtyllash" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Xixëllo _Shtyllë Veprimesh" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Shqite" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Mbylle" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Caku i përdoruesve duhet të jetë një numër!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Ngjyra Filtrimesh" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Jo mesazhe nga jashtë" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Mbrojtje Teme" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Vetëm me Ftesa" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Ndryshuar" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Listë Dëbimesh" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Fjalëkyç" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Kufi Përdoruesi" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Jepni nofkën e re:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "S'u gjetën përfundime." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Kërkimi mbërriti në fund ose nuk u gjet gjë." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Theksoje krejt" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Thekso krejt hasjet, dhe nënvizo hasjen e çastit." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Siç është shkruar" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Kryeni një kërkim që termin e merr parasysh siç është shkruar." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Vargjet e kërkimit konsideroji shprehje të rregullta." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Strehë e panjohur" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Llogari e panjohur" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "I panjohur" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Emër i Vërtetë:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Përdorues:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Llogari:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Vend:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Shërbyes:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuta më parë" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Msz i Fundit:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Mesazh Largimi:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nofka të përzgjedhura." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Shtylla e menuve tani është fshehur. Mund ta shfaqni sërish duke shtypur Control+F9, ose duke djathtasklikuar mbi një pjesë të zbrazët të fushës kryesore të teksteve." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Hape Lidhjen në Shfletues" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopjoje Lidhjen e Përzgjedhur" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Hyni në Kanal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Dilni prej Kanalit" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ciklo Kanalin" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Vetëfutu" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Vetëfutu në Kanal" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Vetëlidhu" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Menu përdoruesi - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Përpunoni Këtë Menu" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Vija e shënimit është e çaktivizuar" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Nuk është caktuar kurrë vijë shënimi" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Vija e shënimit u ricaktua dorazi." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Vija e shënimit u ricaktua, ngaqë u tejkalua kufiri i rrëshqitjeve" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Vija e shënimit u ricaktua prej urdhrit CLEAR" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Gjendje e panjohur për vijën e shënimit" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Merr listë kanalesh" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " është montuar pa mbulim shtojcash." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Urdhra Përdoruesi - Kode speciale:\n\n%c = kanali i atëçastshëm\n%e = emri i rrjetit të atëçastshëm\n%m = të dhëna makine\n%n = nofka juaj\n%t = koha/data\n%v = Version HexChat-i\n%2 = fjala 2\n%3 = fjala 3\n&2 = fjala 2 në fund të rreshtit\n&3 = fjala 3 në fund të rreshtit\n\npsh:\n/cmd Gjon, njatjeta\n\n%2 do të ishte \"Gjon\"\n&2 do të ishte \"Gjon, njatjeta\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Butona Liste përdoruesish - Kode Speciale:\n\n%a = krejt nofkat e përzgjedhura\n%c = kanali i atëçastshëm\n%e = emri i kanalit të atëçastshëm\n%h = strehëemri i nofkës së përzgjedhur\n%m = të dhëna makine\n%n = nofka juaj\n%s = nofka e përzgjedhur\n%t = koha/data\n%u = llogaria e përdoruesit të përzgjedhur" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Butona Dialogësh - Kode specialë:\n\n%a = krejt nofkat e përzgjedhura\n%c = kanali i atëçastshëm\n%e = emri i rrjetit të atëçastshëm\n%h = strehëemri i nofkës së përzgjedhur\n%m = të dhëna makine\n%n = nofka juaj\n%s = nofka e përzgjedhur\n%t = koha/data\n%u = llogari e përdoruesit të përzgjedhur" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Përgjigje CTCP - Kode specialë:\n\n%d = të dhëna (krejt ctcp)\n%e = emri i rrjetit të atëçastshëm\n%m = të dhëna makine\n%s = nofka që dërgoi ctcp\n%t = kohë/datë\n%2 = fjala 2\n%3 = fjala 3\n&2 = fjala 2 në fund të një rreshti\n&3 = fjala 3 në fund të një rreshti\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "Trajtues URL-sh - Kode speciale:\n\n%s = Vargu URL\n\nVendosja e një ! në fillim të urdhrit\ntregon që do të duhej dërguar te\nnjë shell, në vend se për HexChat-in" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Urdhra të Përkufizuar Nga Përdoruesi - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Menu Liste përdoruesish Hapmbyll - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Zëvendëso - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Zëvendësoje me" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Trajtues URL-sh - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Butona liste përdoruesish - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Butona dialogu - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Përgjigje CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "_Listë Rrjetesh" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_E re" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Skedë Shërbyesi" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Skedë Kanali" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Dritare Shërbyesi" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Dritare Kanali" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Ngarko Shtojcë ose Programth" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Braktise" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Parje" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Shtyllë _Menuje" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Shtyllë _Teme" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Listë _Përdoruesish" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "_Butona Liste Përdoruesish" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Butona Mën_yre" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Këmbyes _Kanali" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Skeda" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Pemë" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Matës _Rrjeti" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Off" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafik" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Sa Krejt Ekrani" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Shërbyes" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Shkëputu" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Rilidhu" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Hyni në një Kanal…" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "_Listë Kanalesh" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "I shënuar Si i _Larguar" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Menu përdoruesi" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Rregullime" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Parapëlqime" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Vetëzëvendësim" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "Përgjigje CTCP" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Butona Dialogësh" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Shkurtore Tastiere" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Veprimtari Teksti" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "Trajtues URL-sh" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Urdhra Përdoruesi" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Butona Liste Përdoruesish" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Flluskë Liste Përdoruesish" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Dritare" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Listë Dëbimesh" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Fjalosje e Drejtpërdrejtë" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "_Shpërngulje Kartelash" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Listë Shokësh" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Listë Shpërfilljesh" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Shtojca dhe Programthe" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Regjistër të Papërpunuarash" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_Kopjues URL-sh" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Ricakto Vijë Shënimi" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Kalo te Vijë Shënimi" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopjo Përzgjedhjen" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Pastroje Tekstin" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Ruaje Tekstin" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Kërkoni" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Kërko Te Teksti" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Kërko Pasuesin" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Kërko të Mëparshmin" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Ndihmë" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Lëndë" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Rreth" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Bashkëngjite" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Emër" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Parë Së Fundi" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "I palidhur" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Kurrë" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuta më parë" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Një orë më parë" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d orë më parë" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "I lidhur" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Jepni nofkë për ta shtuar:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Njofto në këta rrjete:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Pranohet listë rrjetesh ndarë me presje." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Listë Shokësh - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Hap Dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Mesazh me theksim nga: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Mesazh kanali nga: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Ofrim kartele nga: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Ftuar në kanal nga: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Njoftim nga: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Mesazh privat nga: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "I lidhur në to %u rrjete dhe %u kanale - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Riktheje Dritaren" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Fshihe Dritaren" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Xixëllo kur" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Mesazh Kanali" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Mesazh Privat" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Mesazh i Theksuar" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Ndryshoji gjendjen" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "I _larguar" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "I _kthyer" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Mesazh me theksim nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u mesazhe me theksim, më i riu nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Mesazh kanali nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "mesazhe kanali %u. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Mesazh privat nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u mesazhe private, më i riu nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Ofrim kartele nga: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u oferta kartelash, më i reja nga: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Përshkrim" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Përzgjidhni Shtojcë ose Programth për t’u ngarkuar" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Shtojca dhe Programthe - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Ngarkoni…" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Çngarkoje" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Ringarkoje" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Ruajeni Si…" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Regjistër të Papërpunuarash (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Pastroje Regjistrin e të Papërpunuarave" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Rrjet i Ri" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Të hiqet vërtet rrjeti \"%s\" dhe tërë shërbyesit e tij?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Emri i përdoruesit nuk mund të lihet i zbrazët." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "S’mund të keni një nofkë të zbrazët." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Duhet të keni dy nofka unike." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Mënyra se si identifikoni veten kundrejt shërbyesit. Për metoda të personalizuara hyrjesh përdorni urdhra lidhjeje." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Përpunoni %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Shërbyes" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Kanale vetëfutjeje" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Urdhra lidhjesh" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Nofkë\n%p=Fjalëkalim\n%r=Emri i vërtetë\n%u=Emër përdoruesi" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Kyç (Fjalëkalim)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Përpuno" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Lidhu vetëm me shërbyesin e përzgjedhur" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Mos ciklo nëpër tërë shërbyesit, kur dështon lidhja." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Lidhu te ky rrjet vetvetiu" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Anashkalo shërbyes ndërmjetës" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Përdor SSL për tërë shërbyesit në këtë rrjet" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Dëshmitë SSL të pavlefshme pranoji" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Përdor të dhëna të përgjithshme përdoruesi" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Emër _nofke:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Zgjedhje e dytë:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Emër i _vërtetë:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Emër përdoruesi:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Metodë hyrjeje:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Fjalëkalim:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Fjalëkalim i përdorur për hyrjet. Nëse jeni në mëdyshje, lëreni të zbrazët." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Shkronja:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Listë Rrjetesh -%s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Të dhëna Shërbyesi" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Zgjedhje e tretë:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Rrjete" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Anashkalo listë rrjetesh gjatë nisjes" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Shfaq vetëm të parapëlqyerit" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Përpunojeni…" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Renditi" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "E rendit listën e rrjeteve sipas rendit alfabetik. Përdorni shkurtoret Shift+Up dhe Shift+Down që të lëvizni një rresht." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Parapëlq" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Vëriani ose hiqiani shenjën si i parapëlqyer këtij rrjeti." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Lidhu" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Shqipe" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amarike" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturiase" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbajxhanase" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baske" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Bjeloruse" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bullgare" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kineze (E thjeshtuar)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kineze (Tradicionale)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Çeke" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Daneze" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandeze" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Angleze (Britanike)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Angleze" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estoneze" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finlandeze" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Frënge" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiciase" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Gjermane" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Greke" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujaratase" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindu" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hungareze" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indoneziane" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italiane" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japoneze" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinjaruandeze" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreane" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letoneze" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lituaneze" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Maqedone" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajase" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malajalame" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norvegjeze(Bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norvegjeze (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polake" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugeze" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugeze (Braziliane)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Panxhabe" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ruse" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbe" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovake" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovene" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanjolle" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Suedeze" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tajlandeze" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turke" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainase" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnameze" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valone" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Të përgjithshme" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Gjuhë:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Lloj kryesor i shkronjave:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Shkronja:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Kuti Tekstesh" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Nofka të ngjyrosura" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Jepi çdo personi në IRC një ngjyrë të ndryshme" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Zhvendosi nofkat djathtas" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Përligji nofkat djathtas" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Shfaq vijë shënimi" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Fut një vijë të kuqe pas tekstit të lexuar së fundmi." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Pamje sfond:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Rregullime Tejdukshmërie" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Opakëri Dritareje" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Vula kohore" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Aktivizoni vula kohore" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Format vulash kohore:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Për hollësi shihni artikullin strftime MSDN." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Për hollësi shihni faqe manuali (manpage) për strftime." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Shtyllë Titulli" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Shfaq mënyra kanali" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Shfaq numër përdoruesish" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Fjala e shqiptuar së fundi" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Kuti Futjesh" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Përdor shkronjat dhe ngjyrat e kutisë së teksteve" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Ngjyra dhe atribute vizatimi" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Shfaq kuti nofkash" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Shfaq ikonë mënyre përdoruesi te kutia e nofkave" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Kontroll drejtshkrimi" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Fjalorë për t’u përdorur:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Përdorni kode gjuhësh (si te \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nZërat e shumtë ndajini me presje." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Përdor kode gjuhësh. Ndaji fjalët e shumëfishta me presje." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Plotësim Nofkash" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Prapashtesë plotësimi nofkash:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Renditur sipas plotësim nofkash:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Masë plotësimi nofkash:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Prag fillimi tregimi nofkash, në vend se plotësim të tyre" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "nofkash." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafik" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, operatorët së pari" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, operatorët në fund" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "E parenditur" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Majtas (sipër)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Majtas (poshtë)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Djathtas (sipër)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Djathtas (poshtë)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Sipër" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Poshtë" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Fshehur" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Listë Përdoruesish" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Shfaqi strehëemrat në listë përdoruesish" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Përdor shkronjat dhe ngjyrat e kutisë së Teksteve" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Shfaq ikona për mënyra përdoruesi" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Te lista e përdoruesve përdor ikona grafike, në vend se simbole teksti." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Theksoji nofkat në listën e përdoruesve" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Do t’i ngjyrosë nofkat njësoj si te fjalosja." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Shfaq numër përdoruesish në kanale" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Listë përdoruesish renditur sipas:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Shfaq listë përdoruesish te:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Gjurmim të Larguarish" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Ndiq gjendjen i larguar të përdoruesve dhe tregoji ata me një ngjyrë të ndryshme" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Në kanale më të vegjël se:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Veprim Kur Dyklikohet" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Lodra ekstra" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Matës vonesash:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Dritare" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Skeda" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Përherë" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Vetëm skedat e nevojshme" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatike" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Në skedë të re" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Në skedën ballore" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Pema" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Lloj këmbyesi:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Hap një skedë ekstra për mesazhe shërbyesi" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Hap një skedë të re, kur merret mesazh privat" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Rendit skeda sipas abc-së" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Shfaqi ikonat te pema e kanalit" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Shfaq rreshta me vija te pema e kanalit" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Rrotulloni rrotën e miut që të ndryshoni skeda" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Klikim me të mesit që të mbyllet skeda" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Tekst më i vogël" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokusohu te skeda të reja:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Vendosje njoftimesh:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Shfaq këmbyes kanalesh tek:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Shkurto etiketë skedash në:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "shkronja." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Skeda ose Dritare" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Hap kanale në:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Hap dialogë në:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Hapi të dobishmet në:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Shpërfill, Njofto etj, të hapen si skeda apo si dritare?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mesazhe" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Rrëshqitje" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pyet për ripohim" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Pyet për dosje shkarkimesh" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Ruaje pa ndërveprim" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Kartela dhe Drejtori" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Vetëprano oferta kartelash:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Kartelat shkarkoji te:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Kartelat e plotësuara zhvendosi te:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Ruaj nofka në emra kartelash" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Vetëhap Dritare DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Dritare dërgimesh" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Dritare marrjesh" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Dritare fjalosjeje" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Shpejtësi Maksimum Shpërnguljesh Kartelash (Bajte për Sekondë)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Një ngarkim:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Shpejtësi maksimum për një shpërngulje" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Një shkarkim:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Krejt shkarkimet të ndërthurur:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Shpejtësi maksimum për krejt kartelat" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Krejt shkarkimet të ndërthurur:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Sinjalizime" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Shfaq njoftime kur:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Xixëllo ikonën e shtyllës gjatë:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Xixëllo shtyllën e punëve gjatë:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Prodho një tingull beep gjatë:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Gjatë akteve të përzgjedhura luaj tingullin e sistemi për \"Njoftim Mesazhi të Atypëratyshëm\"" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Gjatë akteve të përzgjedhura luaj \"message-new-instant\" nga tema e tingujve freedesktop.org" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Gjatë akteve të përzgjedhura luaj një tingull GTK" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Mos ua vër veshin sinjalizimeve, kur jam i shënuar si i larguar" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Pa sinjale, kur dritarja është e fokusuar" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Sjellje Paneli" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Aktivizo ikonë për shtyllë sistemi" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Ule te shtylla" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Mbylle në panel" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Tregoje vetvetiu si të larguar/të rikthyer" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Ndryshoje vetvetiu gjendjen, kur fshihet te paneli." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Shfaq njoftime vetëm kur është i fshehur ose i ikonizuar" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Mesazhe të Theksuar" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Mesazhet e theksuar janë ata ku përmendet nofka juaj, por edhe:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Fjalë ekstra për t’u theksuar:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nofka për t’u mos theksuar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nofka për t’u theksuar përherë:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Ndajini fjalët e shumëfishta me presje.\nPranohen shenjat e gjithëpushtetshme." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Bëje të kërcejë ikonën e panelit kur:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Mesazhe Parazgjedhje" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Braktisni:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Braktisni kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Largime:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Larguar" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Shfaq i larguar vetëm një herë" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Mesazhet identike të largimeve shfaqi vetëm njëherë." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Hiqja vetvetiu shenjën si të larguar" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Hiqini vetes shenjën e të larguarit, përpara se të dërgoni mesazhe." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Të ndryshme" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Shfaq MËNYRA në formë bruto" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS gjatë njoftimesh" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Dërgon një /WHOIS kur një përdorues që e keni te lista juaj e njoftimeve lidhet me kanalin." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Fshih mesazhe ardhjesh dhe ikjesh" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Si parazgjedhje, fshihi mesazhet e hyrjeve/daljeve në kanal." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Fshih mesazhe ndryshimi nofke" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Sjellje Kopjimesh Vetvetiu" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Tekstin e përzgjedhur kopjoje vetvetiu" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Kopjoje tekstin e përzgjedhur te e papastra, kur lëshohet butoni i majtë i miut. Përndryshe, Ctrl+Shift+C do ta kopjojë tekstin e përzgjedhur te e papastra." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Përfshi vetvetiu vula kohore" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Përfshi vetvetiu vula kohore te rreshta të kopjuar teksti. Përndryshe, përfshi vula kohore nëse tasti Shift mbahet i shtypur teksa përzgjidhet tekst." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Përfshi vetvetiu të dhëna ngjyrash" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Përfshi vetvetiu të dhëna ngjyre në rreshta të kopjuar teksti. Përndryshe, përfshi të dhëna ngjyre nëse tasti Ctrl mbahet i shtypur teksa përzgjidhet tekst." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Emri i vërtetë:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Shkronja alternative:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Ndajini zërat me presje, pa hapësira përpara ose pas." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Listat shfaqi përmbledhtas" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Përdorni më pak hapësirë mes rreshtave të pemës listë/kanal përdoruesi." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Nëse mbulohet, përdor kohë shërbyesi" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Shfaq vula kohore të furnizuara nga shërbyesi, nëse ai e mbulon zgjerimin time-server." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Rilidhu vetvetiu te shërbyesit pas shkëputjesh" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Vonesë vetërilidhjeje:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Vonesë vetëhyrjeje:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Lloj Dëbimi:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Provo të përdorësh këtë maskë dëbimi kur kryen dëbim ose heshtim. (lyp irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Hyrje" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Shfaq rrëshqitje prej sesionesh të mëparshëm" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Rreshta rrëshqitjeje:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Aktivizo regjistrim bisedash në disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Emër kartele regjistrimesh:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Shërbyes %c=Kanal %n=Rrjet." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Fut vulë kohore në regjistra" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format vule kohore regjistri:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL-ra" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Aktivizo regjistrim URL-sh në disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Aktivizo Kopjues URL-sh" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Numër maksimum URL-sh që mund të merren:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Çaktivizuar)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Krejt lidhjet" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Vetëm shërbyes IRC" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Vetëm DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Adresa Juaj" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Lidhe te:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "I dobishëm vetëm për kompjuter me adresa të shumëfishta." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Shpërngulje Kartelash" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Adresën time merre prej shërbyesit IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Pyet shërbyesin IRC për adresën tuaj të vërtetë. Përdoreni nëse keni një adresë 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Adresë DCC IP:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Pretendoni se jeni në këtë adresë, kur ofroni kartela." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "Portë e parë përgjimi DCC:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Portë e fundit përgjimi DCC:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Lërini portat në zero për interval të plotë." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Shërbyes Ndërmjetës" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Strehëemër:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Portë:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Lloj:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Përdor ndërmjetës për:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Mirëfilltësim Ndërmjetësi" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Përdor mirëfilltësim (vetëm HTTP ose SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Emër përdoruesi:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Shërbyes Identd" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "E aktivizuar" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Shërbyesi do të përgjigjet me emrin e përdoruesit për rrjetet" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Duhet të keni leje për përgjimin e kësaj porte. Nëse s’bëhet fjalë për 113 (si parazgjedhje, 0 shpie te kjo), duhet të formësoni port-forwarding." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Përzgjidhni një Kartelë Figure" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Përzgjidhni Dosje Shkarkimesh" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Përzgjidhni shkronja" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Shfletoni…" + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Hap Dosje të Dhënash" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Përzgjidhni ngjyrë" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Ngjyra Teksti" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Ngjyra mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Ngjyra vendore:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Përpara:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Sfond:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Tekst i Përzgjedhur" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Ngjyra Ndërfaqeje" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Të dhëna të reja:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Vijë shënimi:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Mesazh i ri:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Përdorues i larguar:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Theksim:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Kontroll drejtshkrimi:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Heqje Ngjyrash" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Akt" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Kartelë tingull" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Përzgjidhni një kartelë tingull" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Kartelë tingulli:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Shfletoni…" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Luaje" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Ndërfaqe" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Dukje" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Kuti futjesh" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Listë përdoruesi" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Këmbyes kanalesh" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Ngjyra" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Fjalosje" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Tinguj" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Të mëtejshme" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Rregullim rrjeti" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Shpërngulje kartelash" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategori" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Nuk mund ta vendosni dot pemën në krye ose në bisht!\nJu lutemi, kaloni së pari te skema <b>Skeda</b> te menuja <b>Parje</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Mundësia Emër i Vërtetë nuk mund të lihet e zbrazët. Po kalohet te \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "U ndryshuan disa rregullime të cilat lypin rinisje, për të hyrë në fuqi plotësisht." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*KUJDES*\nVetëpranimi i DCC-së në drejtorinë tuaj shtëpi\nmund të jetë i rrezikshëm dhe është i shfrytëzueshëm. P.sh:\nDikush mund t’ju dërgojë një .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Parapëlqime - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(pa këshillime)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Më tepër…" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Shtoje \"%s\" në Fjalor" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Shpërfilli Krejt" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Këshillime Drejtshkrimi" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "gabim enchant për gjuhën: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Pati një gabim në përtypjen e vargut" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "This signal is only passed %d args, $%d is invalid" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Shtyp Kartelë Tekstesh" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Numër" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Përpunoni Akte" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Ngarkoni Prej…" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testo Gjithçka" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Kopjues URL-sh - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Fshije listën" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopjo URL-në e përzgjedhur" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopjoje" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Ruaje listën si një kartelë" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, gjithsej %d" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Hap një URL irc://shërbyes:portë/kanal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Dështoi marrja e të dhënave. Ose kjo nuk mbulohet ose pati gabim." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: S’ka të dhëna nga ai emër\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s është vendosur si: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Rregullimet e vlefshme janë: announce dhe hide_* për çdo pjesë informacioni. p.sh. hide_os. Po qe se nuk i jepet një vlerë, do të shfaqë vlerën e atëçastshme (ose parazgjedhjen).\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Emër ndryshoreje i pavlefshëm\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Shtojca %s u ngarkua\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Shtojca %s u shngarkua\n" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000000000000000000000000000000000000..f621a6ec3dcdd6a89fb9ab66aecb479cbb82101d --- /dev/null +++ b/po/sr.po @@ -0,0 +1,6256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# o Zoltan Čala <zolika@sezampro.yu>, 1999 +# Велимир Майсторов <majstorov@gmail.com>, 2013-2015 +# Zlatan Vasović <inactive+ZDroid@transifex.com>, 2013-2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Serbian (http://www.transifex.com/hexchat/hexchat/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\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" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "ХексЧет" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "ИРЦ клијент" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Ћаскајте са пријатељима онлајн" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "ИМ;Ћаскање;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Отвори у Сигурном моду" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "ХексЧет Избор Теме" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Заузет сам" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Одлазим" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Мрежа" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<нема>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Канал" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Чекам" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Активан" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Неуспело" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Готово" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Повежи се" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Прекинуто" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Нема приступа %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Грешка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s нуди „%s‟. Да ли желите да прихватите?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Нема активних DCC-ова\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Отвори прозор за разговор" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Пошаљи датотеку" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Информације о кориснику (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Додај у листу пријатеља" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Игнориши" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "О_ператорове акције" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Дај опа" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Одузми опа" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Дај реч" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Одузми реч" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Шут/забр." + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Шут" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Забр." + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Шут и забр." + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Напусти канал" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Прикључи се..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Унесите име канала:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Везе са серверима" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Одзив сервера" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Сакриј верзију" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Оп" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Деоп" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "Ћао" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Разлог да се избаци %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Разговор" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Слање" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Прича" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Обриши" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Није добра идеја да користите IRC као\n администратор. Боље је направити налог.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ДА " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "НЕ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Корисник %s вас засипа CTCP захтевима, игноришем %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s на вези\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s није ту\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Нисте на каналу. Пробајте са /join #<канал>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Нисте на вези. Пробајте са /server <хост> [<порт>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Сервер %s већ постоји на мрежи %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Додат сервер %s на мрежу %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Већ означен одсутан: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Већ означен враћен.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "За покретање треба имати /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Доступне наредбе:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Корисникове наредбе:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Наредбе описане у додацима:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Куцајте /HELP <наредба> за помоћ, или /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Непознат аргумент '%s' је занемарен." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Додатак није пронађен.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Овај додатак се није учитао.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <име> <наредба>, додаје дугме у корисничeв списак команди" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <наредба>, шаље команду на све канале где сте повезани" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <команда>, шаље команду ка свим каналима на тренутном серверу" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <команда>, шаље команду свим серверима где сте повезани" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, поставља Вас враћене (не одсутне)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <шаблон> [<врста>], забрана за све кориснике обухваћене шаблоном од приступа каналу. Ако су већ на каналу, не избацује их (за то треба бити „оп‟)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <променљива> [<вредност>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<енкодинг>], добија или подешава енкодинг коришћен за тренутну конекцију" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|шаблон>, тражи код земље, нпр: au = аустралија" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <име> <порука>, шаље CTCP поруку на дато име, попут VERSION или USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<канал>] излази из тренутног канала и одмах се поново придружује" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <име> - прихвати понуђену датотеку\nDCC SEND [-maxcps=#] <име> <дат> - пошаљи некоме датотеку\nDCC PSEND [-maxcps=#] <име> <дат> - пошаљи некоме датотеку, пасиван начин\nDCC LIST - покажи списак за DCC\nDCC CHAT <име> - понуди разговор преко DCC\nDCC PCHAT <име> - понуди разговор преко DCC, пасиван начин\nDCC CLOSE <тип> <име> <дат> пример:\n /dcc close send пераперић датотека.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <име>, склања полу-оп звање за име на тренутном каналу (потребан је„оп)‟" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <име>, брише дугме са корисничног списка" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DELBUTTON <име>, уклања звање оператора за име на овом каналу" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <име>, одузима реч за име на овом каналу" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, искључује са сервера" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, исписује текст" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <наредба>, изврши наредбу. Ако је дата ознака -o онда се исписшаље на тренутни канал, иначе се исписује у оквиру за текст." + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, шаље процесу SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], зауставља позив exec у овој сесији. Ако је дато и -9 процесу се шаље SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, шаље процесу SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, шаље податке на стандардни улаз процеса" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, празни ред за слање на овом серверу" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "ГАТЕ <рач.> [<порт>], прослеђује преко рач(унара), за порт се узима 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <надимак> [лозинка], убија дуплиран надимак" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <име>, даје звање полу-оп овом имену (потребан је оп) " + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <лозинка>, пријављује Вас на nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <шаблон> <типови...> <избори...>\n шаблон - шаблон за име рачунара, нпр. *!*@.aol.com\n типови - шта занемарити, један или више из скупа:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n избори - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <име> [<канал>], позива име да се прикључи каналу, мисли се на тренутни ако се не наведе (потребан је оп)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, прикључује се каналу" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, тражи да се измери кашњење" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <реч>, тражи реч у баферу⏎\nКористи -h за истицање пронађене(их) речи⏎\nКористи -m за поклапање са величином слова⏎\nКористи -r када je реч регуларни израз⏎\nКористи -- (дупла цртица) за завршавање опција за претрагу, рецимо, реч '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <дат.>, учитава додатак или скрипту" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, одузима звање свим полу-операторима на овом каналу (потребан је оп)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, одузима звање свим операторима на овом каналу (потребан је оп)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <радња>, шаље опис радње на овај канал (радње се пишу у трећем лицу, нпр. /me скаче" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, избацује све друге са канала (потребан је оп)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, свима на каналу додељује звање оператора (потребан је оп)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <име> <порука>, шаље CTCP дојаву" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <рачунар> [<порт>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <име>, узимање новог имена" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <корисник/канал> <порука>, шаље обавештење" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<надимак>], приказује Вашу листу обавештења или додаје некога на њу" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <име>, даје звање оператора овом имену (потребан је оп)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<разлог>], напушта канал, и то тренутни ако се не наведе" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <име | канал>, испитује име или канал CTCP поруком" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], искључује са овог сервера" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, шаље сирови текст серверу" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<рач.>] [<порт>] [<лозинка>], може се користити и само /RECONNECT за поновно спајање на сервер или као /RECONNECT ALL за поновно спајање на све отворене сервере" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<рач.>] [<порт>] [<лозинка>], може се користити и само /RECONNECT за поновно спајање на сервер или као /RECONNECT ALL за поновно спајање на све отворене сервере" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, шаље текст као поруку објекту у овом прозору" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <рач.> <порт> <канал>, повезује се и учлани на канал" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <рач.> <порт> <канал>, повезује се и учлани на канал" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <хост> [<порт>] [<лозинка>], повезује са сервером, подразумевани порт је 6667 за нормалне конекције, и 6697 за ssl конекције" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <рач.> [<порт>] [<лозинка>], повезује се на сервер, узима да је порт 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <променљива> [<вредност>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<позиција>, репозиционира курсор у оквиру за унос" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <ново име>, мења име таба, tab_trunc ограничење и даље важи" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <нови текст>, замењује текст у оквиру за унос" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<тема>], поставља тему ако је наведена, иначе прикаже тренутну тему" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <време> <датотека 1> [<датотека 2>] Трепћи платоом између две иконице.⏎\nTRAY -f <датотека> Постави плато на фиксирану иконицу.⏎\nTRAY -i <број> Трепћи платоом уз интерну иконицу.⏎\nTRAY -t <тeкст> Постави тултип платоа.⏎\nTRAY -b <наслов> <текст> Постави балон платоа." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <шаблон> [<шаблон>...], скида забрану за ове шаблоне" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <шаблон> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <име>, уклони додатак или скрипт" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, отвара URL у прегледнику мреже" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <име1> <име2> итд, наглашава имена у списку корисника канала" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <име>, даје реч (потребан је оп)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <порука>, шаље поруку на све канале" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <порука>, шаље поруку свим операторима на овом каналу" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Употреба: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nЗа ову наредбу помоћ није доступна.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Не постоји наредба.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Погрешни аргументи за корисничку наредбу.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Сувише команди се унакрсно позива, обустављам." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Нема hexchat_plugin_init симбола; да ли је ово стварно HexChat додатак?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Да ли сте сигурни да је ово SSL сервер и порт?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Рачунар %s наизглед не постоји\nПроверите подешавања за IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Неуспео контакт са заступником.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Покушавам везу са следећим сервером у %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Упозорење: Скуп знакова „%s‟ није познат. За мрежу %s се зато неће користити конверзија." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O додат на листу обавештења." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O је сада познат као %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O поставља бан на %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O укида звање полу-оператора за %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O укида звање оператора за %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O одузима реч од %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O укида звање полу-оператора за %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UКанал Бр.кор. Тема" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O уклања лимит корисника" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O поставља лимит канала на %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O даје реч за %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tПовезано. Сада се пријављујем." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tКонекција није успела (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC разговор са %C18$1%O је прекинут." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC разговор за %C18$1%O је изгубљен (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tПримио сам „%C23$1%C“ од %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tОва DCC понуда не постоји." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O обрисан са листе обавештења." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tИскључен (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tПронашао Ваш IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O додат на листу игнорисаних." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OИгнорисање на %C18$1%O је промењено." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O обрисан са листе игнорисаних." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OЛиста игнорисања је празна." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tНе могу да се прикључим %C22$1%C (%C20Канал је само за позване%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tВи сте позвани на %C22$1%O од %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) се прикључио/ла" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD прескочен%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tНема таквог DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tНиједан процес није покренут" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tСписак посматраних је празан." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tОбавештење: %C18$1%C је недоступан/а (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tОбавештење: %C18$1%C је доступан/а (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) је отишао/ла" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tПроцес је већ покренут" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 је отишао ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tТражим IP број од %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tПовезан." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tТражим %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTема за %C22$1%C је: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OКрај списка за WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Учитан лог од" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** КРАЈ ЗАПИСА У ДНЕВНИКУ У %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПОЧЕТАК ЗАПИСА У ДНЕВНИКУ У %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Не могу да отворим лог датотеку (датотеке) за писање. Проверите\nдозволе %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Порука слева" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Порука здесна" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Кор. име" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Име особе која се прикључује" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Канал на који се прикључује" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Рачунар на коме ради" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Надимак" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Наредба" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Ознака за приступ" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Препознат текст" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Порука" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Име сервера" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Потврђене могућности" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Могућности сервера" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Затражене могућности" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Стари надимак" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Нови надимак" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Име особе која је променила тему" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Име избацивача" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Избачена особа" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Разлог" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Име особе која одлази" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Време" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Креатор" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Име" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Разлог" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Рачунар" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Од кога долази" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Време у формату x.x (видети испод)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Канал на који иде" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Име особе" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP догађај" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Име особе која је поставила кључ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Кључ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Име особе која је поставила ограничење" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Ограничење" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Име особе која је доделила опа" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Име особе која је добила опа" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Име особе која је добила полу-опа" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Име особе која је доделила полу-опа" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Име особе која је дала реч" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Име особе која је добила реч" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Име особе која је забранила" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Шаблон за забрану" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Шаблон за утишавање" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Име особе која је склонила кључ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Име особе која је уклонила ограничење" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Име особе којој је одузет оп" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Име особе којој је одузет полу-оп" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Име особе којој је одузета реч" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Име особе која је поставила искључење" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Шаблон за искључење" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Име особе која је уклонила искључење" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Име особе која је позвала" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Шаблон за позив" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Име особе која је уклонила позив" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Име особе која је поставила приступ" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знак приступа (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Ознака приступа" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Канал на ком стоји" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Пуно име" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Припадност каналу/\"је IRC оператор\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Подаци о серверу" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Одсутан" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Време пријаве" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Разлог за одсуство" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Порука" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Налог" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Прави user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Прави IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Име канала" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Механизам" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Сиров бројач или идентификатор" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Име особе која је позвала" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Корисници" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Имена у употреби" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Испробана имена" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Права приступа" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Врста DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Датотека" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Циљна датотека" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "зн./сек." + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Путања" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Место" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Величина" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC текст" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Разлог одсуства" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Број посматраних улаза" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Стара датотека" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Нова датотека" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Прималац" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Шаблон рач." + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Име рач." + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунде" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Име позване особе" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Шаблон забране" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Ко је забранио" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Време забране" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Датотека са звучним записом „%s‟ се не може очитати." + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Удаљени рачунар је прекинуо везу" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Веза одбијена" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Нема путање до рачунара" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Време за повезивање је истекло" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Не може се доделити та адреса" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Веза прекинута на другом крају" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Острво Успења" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андора" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Уједињени арапски емирати" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Поља сродна авијацији" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Авганистан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Антигва и Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ангуила" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албанија" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Јерменија" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Холандски антили" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антарктик" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Обратни DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Америчка Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Азија-Пацифик регион" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Аустрија" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Нато терен" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Аустралија" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Аландска острва" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербејџан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Босна и Херцеговина" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Белгија" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркина Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Бугарска" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахреин" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурунди" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Комерцијала" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенин" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бермуда" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Брунеји Дар-Ес-Салам" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Боливија" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразил" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Бахами" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Острво Буве" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Боцвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Белорусија" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Белизе" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Каталонски" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Кокосова острва" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Демократска република Конго" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Централноафричка република" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швајцарска" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Обала слоноваче" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Кукова острва" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чиле" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Кина" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Колумбија" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Комерцијални домени" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Задруге" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Костарика" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Србија и Црна Гора" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Зеленортска острва" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Божићна острва" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кипар" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Република Чешка" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Источна Немачка" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Немачка" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Џибути" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Данска" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Доминика" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Доминиканска република" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Образовне установе" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Естонија" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Египат" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Западна Сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Еритреја" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Шпанија" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Етиопија" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Европска Унија" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Финска" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фиџи" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фоклендска острва" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Микронезија" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Фарска острва" + +#: src/common/util.c:770 +msgid "France" +msgstr "Француска" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Велика Британија" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузија" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Француска Гвајана" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Британска Каналска острва" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Гибралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Гренланд" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбија" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвинеја" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Владине установе" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гвадалупе" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Екваторијална Гвинеја" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Грчка" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "С. Џорџија и С. Сендвичка острва" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвинеја Бисао" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гијана" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Хонг Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Хердова и Макдоналдова острва" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Хондурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Хрватска" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Хаити" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Мађарска" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Индонезија" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ирска" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Израел" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Острво Човека" + +#: src/common/util.c:801 +msgid "India" +msgstr "Индија" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Информациони домен" + +#: src/common/util.c:803 +msgid "International" +msgstr "Међународни домени" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Британска Индијска острва" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ирак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Иран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Исланд" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Италија" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Џерси" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Јамајка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Јордан" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Послови у компанији" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Јапан" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кенија" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Киргистан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоџа" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кирибати" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Комори" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Св. Китс и Невис" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Северна Кореја" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Јужна Кореја" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувајт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Кајманска острва" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Либан" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Света Луција" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Лихтенштајн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шри Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Либерија" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Литванија" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Луксембург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвија" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Либија" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Мароко" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Црна Гора" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Америчке медицинске установе" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршалска острва" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Војни домени" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македонија" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Мали" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Мианмар" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Монголија" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Мобилни уређаји" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Северна Маријанска острва" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартиник" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Мауританија" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Малта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маурицијус" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Музеји" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Малдиви" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малави" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мексико" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малезија" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мозамбик" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намибија" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Имена појединаца" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Нова Каледонија" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нигер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Интерник мрежа" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфолшка острва" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нигерија" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Никарагва" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Холандија" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Норвешка" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ниуе" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Нови Зеланд" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Непрофитна организација интерник" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Француска Полинезија" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвинеја" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Филипини" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Пољска" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Св. Пјер и Микелон" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Питкаирн" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Порторико" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Занимања" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестинска територија" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Португал" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвај" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Реинион" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Румунија" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Старовремски ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Србија" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Руска федерација" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саудијска Арабија" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Соломонова острва" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сејшели" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Шведска" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сингапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Св. Јелена" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Словенија" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Свалбард и Јан Мајен острва" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Словачка република" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сијера Леоне" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан Марино" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Сомалија" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Јужни Судан" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сао Томе и Принципе" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Бивши СССР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Ел Салвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сирија" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазиленд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Туркс и Каикос острва" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Сервиси интернет комуникације" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Француске јужне територије" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Тајланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таџикистан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Токелау" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Источни Тимор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменистан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Тунис" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Турска" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Путовања и туризам" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Тринидад и Тобаго" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тајван" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Танзанија" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Украjина" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Велика Британија" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Сједињене америчке државе" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвај" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Град-држава Ватикан" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Св. Винсент и Гренадини" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венецуела" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Британска Девичанска острва" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Америчка Девичанска острва" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Вијетнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Острвље Валис и Фортуна" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Забава за одрасле" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Јемен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Мајот" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Југославија" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Јужна Африка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Замбија" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зимбабве" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Није могуће повезати се са магистралом сесије" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Неуспешно завршавање NameHasOwner-а" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Неуспело завршавање команде" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "даљински приступ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "додатак за удаљен приступ помоћу DBUSа" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Није могуће повезати се са магистралом сесије: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не може се добавити %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Табела знакова" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Забр." + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Ослобађања" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Ослобађање" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Позиви" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Позови" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Копирај маску" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s на %s од %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Копирај унос" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Није на вези." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Морате изабрати забране" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Врста" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Шаблон" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Од" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Датум" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Списак ућутканих се може отворити само ако је отворен језичак за приказ канала" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Уклони" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Исеци" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Освежи" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Приказујем %d/%d корисника на %d/%d канала." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Изаберите име датотеке за излаз" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Прикључи се каналу" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Копирај име канала" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Копирај текст _теме" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Претрага" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Листа преузимања" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Сачувај _листу..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Прикажи само:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "канали са" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "за" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "корисници." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Погледајте у:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Име канала" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Тип претраге:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Једноставна претрага:" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Подударање са шаблонима (џокери)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Редован израз" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Нађи:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Шаљи датотеку за %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Датотека се мора преузети изједна." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Не могу да приступим: %s\n%s.\nНастављање није могуће." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Датотека која је претходно преузета је већа него понуђена. Зато није могуће наставити пренос." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Не може се наставити пренос исте датотеке од две различите особе." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Стање" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Датотека" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Оба" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Слања" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Преузимања:" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Детаљи" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Датотека:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Адреса:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Обустави" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Прихвати" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Настави" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Отвори директоријум..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Пријем" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Послато" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Поч. време" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Додај" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Обриши" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Откажи" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Сними" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Не повезуј се аутоматски са серверима" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Користи други директоријум са подешавањима" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Не учитавај аутоматски додатке" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Прикажи директоријум за аутоматско учитавање додатака" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Прикажи директоријум са корисниковим подешавањима" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Отвори irc://сервер:порт/канал?кључ URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Пошаљи ову команду:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Отворите URL или извршите команду у постојећем HexChat-у" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Смањивање. Ниво 0=нормално, 1=иконификовано, 2=плато" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "ниво" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Прикажи податке о издању" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Не може се отворити фонт:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Запис за претрагу је празан.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d бајт(ов)(а)" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Мрежни ред слања: бајтова: %d" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Наредба ^BУбаци у запис^B ће убацити садржај поља Data 1 на место на ком је био фокус када је притиснута комбинација тастера" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Команда ^BПостави запис^B пребацује садржај поља Data 1 на место које је било у фокусу" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Команда ^BПоследња команда^B уписује последњу унету команду, као када се у шкољци притисне стрелица нагоре" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Команда ^BНаредна команда^B уписује команду која је следећа на реду, слично као притисак на стрелицу надоле у шкољци" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ова команда мења текст у линији за унос тако што довршава непотпуно име или команду. Ако је поље Data 1 попуњено, дупли притисак на табулатор бира последње име, не следеће" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Овом командом се можете шетати горе-доле кроз листу имена. Ако је Data 1 постављено на било шта, кретаћете се на горе, иначе на доле" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Ова команда проверава да ли се последња унета реч налази на списку за замене, и замењује је ако је пронађе" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Ова команда помера тренутни језичак за једно место улево" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Ова команда помера тренутни језичак удесно" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Ова команда помера активну групу језичака улево" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Ова команда помера активну групу језичака удесно" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Убацује улазну линију у претходне команде, али не шаље серверу" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Грешка при учитавању распореда тастера" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Не може се писати у ту датотеку." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Ова се датотека не може читати." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Овај шаблон већ постоји." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Приватно" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Вест" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Прихвати" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Да ли сте сигурни да желите да склоните сва игнорисања?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Унеси шаблон за ућуткивање" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Статистика за ућуткане:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Приватно:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Вести:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Позив:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Додај..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Име канала је прекратко, пробајте поново." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Повезивање са %s је успело." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Шта бисте желели следеће да урадите?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ништа, прикључићу се каналу касније." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Прикључи се каналу:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ако знате име канала коме се желите прикључити, унесите га овде." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Увек приказуј ово прозорче после повезивања." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Разговор са" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема за %s је: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Тема није постављена" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Овај сервер има укупно оволико канала: %d или дијалога. Да ли желите да их све затворите?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Излазите из HexChat-a?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Не питајте следећи пут." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Ви сте повезани на %i IRC мрежа." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Да ли сте сигурни да желите да изађете?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Неки преноси датотека су и даље активни." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Смањи на плато" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Убаци атрибут или кôд за боју" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Масно</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Подвучено</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Обично" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Боје 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Боје 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Подешавања" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Логуј на диск" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Поново учитај сачуване линије" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Уклони _боје" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Сакриј поруке о доласку/одласку" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Екстра упозорења" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Огласи се када стигне нова порука" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Трепћи _иконицом платоа" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Трепћи _траком задатака" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Одвоји" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Затвори" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Макс. број корисника мора бити унет као број!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Филтрирај боје" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Нема спољашњих порука" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Заштита теме" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "По позиву" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Надгледан" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Списак избачених" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Кључна реч" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Макс. људи" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Унесите ново име:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Нема резултата." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Претрага је стигла до краја или ништа више није нађено." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Истакни све" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Непознат рачунар" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Непознат налог" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Непознато" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Право име:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Корисник:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Налог:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Држава:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "пре оволико минута: %u" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Посл. порука:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Одсутан:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d надимака одабрано." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Отвори везу у читачу" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Умножи изабрану везу" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Иди на канал" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Изађи са канала" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Понови приступ" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Аутоматско повезивање" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Аутоматска конекција" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP одговори - посебни кодови:\n\n%d = подаци (цео CTCP)\n%e = назив тренутне мреже\n%m = информације о машини\n%s = кирисник који је послао CTCP\n%t = време/датум\n%2 = друга реч\n%3 = трећа реч\n&2 = друга реч ка крају линије\n&3 = трећа реч ка крају линије\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Замени са" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Нов" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Крај" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Преглед" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Трака изборника" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Трака теме" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Листа корисника" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "_Дугмета за начин приступа" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Пребацивач канала" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Језичци" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Дрво" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Мерења мреже" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Искључено" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Графичко" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_ЦеоЕкран" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Искључи се" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Опет се повежи" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Објави _Одсуство" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Корисников мени" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "П_одешавања" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Поставке..." + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Прозор" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Постави овде ознаку" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Копирај избор" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "О_чисти текст" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Претрага" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Претражите наредно" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Претражите претходно" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Помоћ" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Садржај" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_О програму" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Закачи" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Име" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Био је ту" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Није на вези" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Никада" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "пре %d минута" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Сат раније" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d сати раније" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "На вези" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Унесите име које треба додати:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Обавести ме на овим мрежама:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Листа мрежа раздвојена зарезима је дозвољена." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Отвори разговор" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Порука на каналу од: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Приватна порука од: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Поврати прозор" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Сакриј прозор" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Трепери" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Порука на каналу" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Приватна порука" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Истакнута порука" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Промени статус" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Одсутан" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Назад" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Верзија" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Избор додатка или скрипта за учитавање" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Учитај..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Сачувај као..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Обриши дневник" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Нова мрежа" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Да ли заиста треба брисати мрежу \"%s\" и све сервере у њој?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Сервери" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Аутоматски се прикључи каналима" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Команде повезивања" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Кључ (лозинка)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Уреди" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Повежи се само са изабраним рачунарима" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не испитуј све рачунаре у списку када повезивање не успе." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Аутоматски се повежи на ову мрежу" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Заобиђи proxy сервер" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Користи SSL за све рачунаре у овој мрежи" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Прихвати неважеће SSL сертификате" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Користи главне податке о кориснику" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Надимак:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Други избор:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Право име:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Корисничко име:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Начин пријављивања:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Лозинка:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Скуп знакова:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Подаци о кориснику" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Трећи избор:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Мреже" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Не приказуј списак мрежа при покретању програма" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Прикажи само омиљене" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Уреди..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Поређај" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Омиљено" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Означите или уклоните ознаку ове мреже као омиљене." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Повежи се" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Африканс" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албански" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Ахмарски" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Астуријски" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербејџански" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Баскијски" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Белоруски" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Бугарски" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Кинески (поједеностављен)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Кинески (традиционални)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Чешки" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Дански" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Холандски" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Енглески (британски)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Енглески" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Естонски" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Фински" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Француски" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Галицијски" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Немачки" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Грчки" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Гуџарати" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Хинди" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Мађарски" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Индонежански" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Италијански" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Јапански" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Канађански" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Кињаруанда" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Корејански" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Летонски" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Литвански" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Македонски" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малајски" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Малајаламски" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Норвешки (Бокмал)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Норвешки (нинорск)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Пољски" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Португалски" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Португалски (Бразилски)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Панџабски" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Руски" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Српски" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Словачки" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Словеначки" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Шпански" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Шведски" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Тајландски" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Украјински" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Вијетнамски" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Валонски" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Опште" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Језик:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Главни фонт:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Слова:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Оквир за текст" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Обоји имена" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Додели свакој особи на ИРЦ-у различиту боју" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Уравнај надимке" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Уравнај надимке по десној страни" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Прикажи линију за обележавање" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Убаци црвену линију после последње прочитане линије текста." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Подешавања провидности" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Погледај strftime MSDN чланак за више детаља." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Погледај strftime страницу подршке за више детаља." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Насловна трака " + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Прикажи модове канала" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Прикажи број корисника" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Поље за унос" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Прикажи поље за надимке" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Провера правописа" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Речници за коришћење:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Користите кодове језика. Одвајајте више уноса зарезима." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Суфикс за допуну имена:" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Суфикс за допуну имена:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Ред завршавања надимака:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Графички" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Неуређено" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Горе" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Доле" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Сакриј" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Списак имена" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Покажи имена рачунара" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Користи боје и писмо из кућице за текст" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Прикажи иконице за корисничке модове" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Користи графичке иконице уместо текстуалних симбола у листи корисника." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Обоји надимке у листи корисника" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Прикажи број корисника на каналима" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Уреди списак корисника према:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Прикажи листу корисника на:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Праћење одсутности" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Прати одсутне на каналима са мање од:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Шта извршити на двоструки клик" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Екстра геџети" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Мерач заостајања:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Мерач смањења протока:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Прозори" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Језичци" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Увек" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Само жељени језичци" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Аутоматски" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "У екстра картици" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "У предњој картици" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Дрвo" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Тип пребацивача:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Отвори посебан језичак за поруке са сервера" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Отвори нову картицу када примиш приватну поруку" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Уреди језичке лексикографски" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Прикажи иконице на дрвету канала" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Прикажи линије са тачкама у листи канала" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Мањи текст" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Фокусирај нове језичке:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Постављање обавештења:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Прикажи пребацивач канала на:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Скрати језичке на:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "слова" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Језичци или прозори" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Место за приказ нових канала:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Место за прикаѕ нових разговора:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Место за приказ помоћних порука:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Ignore и Notify се отварају у језичцима или прозорима?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Поруке" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Памћење линија" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Питај за потврду" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Питај за фасциклу преузимања" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Сачувај без интеракције" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Датотеке и директоријуми" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Одмах прихвати понуђене датотеке:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Снимај датотеке у:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Помери пренесене датотеке у дир.:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Запамти надимке у именима датотекама" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Непосредне акције (DCC) у посебан прозор" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Прозор за слање" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Прозор за пријем" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Прозор за разговор" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Једно слање:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Макс. брзина за један пренос" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Једно преузимање:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Сва слања:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Макс. брзина саобраћаја за све датотеке" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Сва преузимања:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Узбуне" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Трепћи иконицом платоа када:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Трепћи траком задатака када:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Направи звучни сигнал када:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Не приказуј упозорења када си недоступан" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Омогући иконицу системског платоа" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Затвори у систем треј" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Аутоматски означи одсутност/повратак" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Истакнуте поруке" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Екстра речи за истачињање:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Надимци који се не истичу:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Надимци који се увек истичу:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Раздвојте више речи зарезима.\nЏокери су прихваћени." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Подразумеване поруке" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Крај:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Напусти канал:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Одсутан:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Одсутан" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Само једном објави одсутност" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Прикажи исте поруке о одстуности само једном." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Склони AWAY кад се вратим" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Склоните ознаку одсутан са себе пре слања порука." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Разно" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Приказуј приступе у сировом облику" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS при обавештењу" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Шаље /WHOIS када корисник дође на мрежу у Вашој листи обавештења." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Сакриј поруке о доласку и одласку" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Увек сакривај поруке о доласцима и одласцима" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Сакриј поруке о промени надимка" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.хост" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@домен" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*корисник@*.хост" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*корисник@домен" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Аутоматски копирај" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Аутоматски копирај одабран текст" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Аутоматски додај информације о бојама" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Право име:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Алтернативни фонтови:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Прикажи листе у компактном моду" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Смањи размак између редова листе корисника и листе канала." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Користи време сервера ако је подржано" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Аутоматски се поново повежи на сервере приликом прекида везе" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Пауза пре новог повезивања:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Пауза пре аутоматског повезивања:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Врста Бана:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Записивање" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Прикажи сачуване линије из претходне сесије" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Памти оволико линија:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Омогући логовање конверзација на диск" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Име дневника:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=сервер %c=канал %n=мрежа." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Уписуј у дневнике време када су поруке стигле" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Формат за запис датума у дневник:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL-ови" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Омогући логовање URL-ова на диск" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Омогући памћење URL-ова" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Максимални број URL-ова за памћење:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(искључено)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Аутоматски" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Ваша адреса" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Повежи се са:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисно само за рачунаре са вишеструким адресама." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Преноси датотека" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Сазнај IP овог рачунара од сервера" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Упитајте ИРЦ сервер да сазнате вашу адресу. Корисни уколико је права адреса из опсега 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP адреса:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Пријави ову адресу при нуђењу датотека." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Вредност порта поставити на нулу за пуни опсег." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Заступник (proxy):" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Име рач.:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Врста:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Користи заступника (proxy) за:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Аутентификација заступника" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Корисничко име:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Одабери слику" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Избор директоријума за пријем" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Одабери писмо" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Прегледај..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Отвори фасциклу података" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Одабери боју" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Боје текста" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC боје:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Локалне боје:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Први план:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Позадина:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Одабран текст" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Боје сучеља" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Нови подаци:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Линија ознаке:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Нова порука:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Одсутан корисник:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Истицање:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Провера правописа:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Скидање боја:" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Догађај" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Звучни запис:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Изаберите име звучног записа" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Звучни запис:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "Прегледај..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Пусти" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Сучеље" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Изглед" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Улазни прозор" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Списак корисника" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Пребацивач канала" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Боје" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Разговори" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Звукови" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Напредна" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Подешавање мреже" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Пренос датотека" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Врсте" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Опција правог имена не може остати празна. Вредност се враћа на „realname“." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Неке измене ће постати видљиве тек када следећи пут покренете програм." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*УПОЗОРЕЊЕ*\nАутоматско прихватање DCC захтева у кућном\nдиректоријуму је опасно и може се искористити.\nНпр. неко може послати датотеку .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(нема предлога)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Више..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Додаје \"%s\" у речник" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Игнориши све" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Правописни предлози" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Грешка при читању текста" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Овај сигнал је допремио %d аргумената, $%d није исправан" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Штампај датотеку текстова" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ број" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Уреди догађаје" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Учитај из..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Пробај све" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "У реду" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Обриши списак" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Пресликај овај URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Пресликај" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Сними списак у датотеку" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d оп., %d ук." + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Отвори URL irc://сервер:порт/канал" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000000000000000000000000000000000000..b035baad1c7f9403d286121f955cbba15edbb59a --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,6258 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Велимир Майсторов <majstorov@gmail.com>, 2013 +# o Zoltan Čala <zolika@sezampro.yu>, 1999 +# Zlatan Vasović <inactive+ZDroid@transifex.com>, 2013 +# Zlatan Vasović <inactive+ZDroid@transifex.com>, 2013 +# Велимир Майсторов <majstorov@gmail.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Serbian (Latin) (http://www.transifex.com/hexchat/hexchat/language/sr@latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr@latin\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" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Zauzet sam" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Odlazim" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Mreža" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nema>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Čekam" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktivan" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Neuspelo" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Gotovo" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Poveži se" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Prekinuto" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Nema pristupa %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Greška" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s nudi „%s‟. Da li želite da prihvatite?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Nema aktivnih DCC-ova\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Otvori prozor za razgovor" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Pošalji datoteku" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Informacije o korisniku (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Dodaj u listu prijatelja" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignoriši" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_peratorove akcije" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Daj opa" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Oduzmi opa" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Daj reč" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Oduzmi reč" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Šut/zabr." + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Šut" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Zabr." + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Šut i zabr." + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Napusti kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Priključi se..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Unesite ime kanala:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Veze sa serverima" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Odziv servera" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Sakrij verziju" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Deop" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "Ćao" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Razlog da se izbaci %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Razgovor" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Slanje" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Priča" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Obriši" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Nije dobra ideja da koristite IRC kao\n administrator. Bolje je napraviti nalog.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "DA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NE " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Korisnik %s vas zasipa CTCP zahtevima, ignorišem %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s na vezi\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s nije tu\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Niste na kanalu. Probajte sa /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Niste na vezi. Probajte sa /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Server %s već postoji na mreži %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Dodat server %s na mrežu %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Već označen odsutan: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Već označen vraćen.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Za pokretanje treba imati /bin/sh!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Dostupne naredbe:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Korisnikove naredbe:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Naredbe opisane u dodacima:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Kucajte /HELP <naredba> za pomoć, ili /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Nepoznat argument '%s' je zanemaren." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Dodatak nije pronađen.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Ovaj dodatak se nije učitao.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ime> <naredba>, dodaje dugme u korisničev spisak komandi" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <naredba>, šalje komandu na sve kanale gde ste povezani" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <komanda>, šalje komandu ka svim kanalima na trenutnom serveru" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komanda>, šalje komandu svim serverima gde ste povezani" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, postavlja Vas vraćene (ne odsutne)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <šablon> [<vrsta>], zabrana za sve korisnike obuhvaćene šablonom od pristupa kanalu. Ako su već na kanalu, ne izbacuje ih (za to treba biti „op‟)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <promenljiva> [<vrednost>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<enkoding>], dobija ili podešava enkoding korišćen za trenutnu konekciju" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|šablon>, traži kod zemlje, npr: au = australija" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <ime> <poruka>, šalje CTCP poruku na dato ime, poput VERSION ili USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <ime> - prihvati ponuđenu datoteku\nDCC SEND [-maxcps=#] <ime> <dat> - pošalji nekome datoteku\nDCC PSEND [-maxcps=#] <ime> <dat> - pošalji nekome datoteku, pasivan način\nDCC LIST - pokaži spisak za DCC\nDCC CHAT <ime> - ponudi razgovor preko DCC\nDCC PCHAT <ime> - ponudi razgovor preko DCC, pasivan način\nDCC CLOSE <tip> <ime> <dat> primer:\n /dcc close send peraperić datoteka.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <ime>, sklanja polu-op zvanje za ime na trenutnom kanalu (potreban je„op)‟" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ime>, briše dugme sa korisničnog spiska" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DELBUTTON <ime>, uklanja zvanje operatora za ime na ovom kanalu" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <ime>, oduzima reč za ime na ovom kanalu" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, isključuje sa servera" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <tekst>, ispisuje tekst" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <naredba>, izvrši naredbu. Ako je data oznaka -o onda se ispisšalje na trenutni kanal, inače se ispisuje u okviru za tekst." + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, šalje procesu SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], zaustavlja poziv exec u ovoj sesiji. Ako je dato i -9 procesu se šalje SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, šalje procesu SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, šalje podatke na standardni ulaz procesa" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, prazni red za slanje na ovom serveru" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <rač.> [<port>], prosleđuje preko rač(unara), za port se uzima 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <nadimak> [lozinka], ubija dupliran nadimak" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ime>, daje zvanje polu-op ovom imenu (potreban je op) " + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <lozinka>, prijavljuje Vas na nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <šablon> <tipovi...> <izbori...>\n šablon - šablon za ime računara, npr. *!*@.aol.com\n tipovi - šta zanemariti, jedan ili više iz skupa:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n izbori - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <ime> [<kanal>], poziva ime da se priključi kanalu, misli se na trenutni ako se ne navede (potreban je op)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, priključuje se kanalu" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, traži da se izmeri kašnjenje" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <dat.>, učitava dodatak ili skriptu" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, oduzima zvanje svim polu-operatorima na ovom kanalu (potreban je op)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, oduzima zvanje svim operatorima na ovom kanalu (potreban je op)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <radnja>, šalje opis radnje na ovaj kanal (radnje se pišu u trećem licu, npr. /me skače" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, izbacuje sve druge sa kanala (potreban je op)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, svima na kanalu dodeljuje zvanje operatora (potreban je op)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ime> <poruka>, šalje CTCP dojavu" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <računar> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ime>, uzimanje novog imena" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n network1[,network2,...]] [<nadimak>], prikazuje Vašu listu obaveštenja ili dodaje nekoga na nju" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ime>, daje zvanje operatora ovom imenu (potreban je op)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<razlog>], napušta kanal, i to trenutni ako se ne navede" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <ime | kanal>, ispituje ime ili kanal CTCP porukom" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>], isključuje sa ovog servera" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <tekst>, šalje sirovi tekst serveru" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<rač.>] [<port>] [<lozinka>], može se koristiti i samo /RECONNECT za ponovno spajanje na server ili kao /RECONNECT ALL za ponovno spajanje na sve otvorene servere" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<rač.>] [<port>] [<lozinka>], može se koristiti i samo /RECONNECT za ponovno spajanje na server ili kao /RECONNECT ALL za ponovno spajanje na sve otvorene servere" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <tekst>, šalje tekst kao poruku objektu u ovom prozoru" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <rač.> <port> <kanal>, povezuje se i učlani na kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <rač.> <port> <kanal>, povezuje se i učlani na kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<lozinka>], povezuje sa serverom, podrazumevani port je 6667 za normalne konekcije, i 6697 za ssl konekcije" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <rač.> [<port>] [<lozinka>], povezuje se na server, uzima da je port 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <promenljiva> [<vrednost>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<pozicija>, repozicionira kursor u okviru za unos" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <novi tekst>, zamenjuje tekst u okviru za unos" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<tema>], postavlja temu ako je navedena, inače prikaže trenutnu temu" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <šablon> [<šablon>...], skida zabranu za ove šablone" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <šablon> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <ime>, ukloni dodatak ili skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, otvara URL u pregledniku mreže" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <ime1> <ime2> itd, naglašava imena u spisku korisnika kanala" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ime>, daje reč (potreban je op)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <poruka>, šalje poruku na sve kanale" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <poruka>, šalje poruku svim operatorima na ovom kanalu" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Upotreba: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nZa ovu naredbu pomoć nije dostupna.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Ne postoji naredba.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Pogrešni argumenti za korisničku naredbu.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Suviše komandi se unakrsno poziva, obustavljam." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Nema hexchat_plugin_init simbola; da li je ovo stvarno HexChat dodatak?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Da li ste sigurni da je ovo SSL server i port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Računar %s naizgled ne postoji\nProverite podešavanja za IP!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Neuspeo kontakt sa zastupnikom.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Pokušavam vezu sa sledećim serverom u %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Upozorenje: Skup znakova „%s‟ nije poznat. Za mrežu %s se zato neće koristiti konverzija." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O je sada poznat kao %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O postavlja ban na %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Br.kor. Tema" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O obrisan sa liste obaveštenja." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tIsključen (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tPronašao Vaš IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O dodat na listu ignorisanih." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorisanje na %C18$1%O je promenjeno." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O obrisan sa liste ignorisanih." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OLista ignorisanja je prazna." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tNe mogu da se priključim %C22$1%C (%C20Kanal je samo za pozvane%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tVi ste pozvani na %C22$1%O od %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD preskočen%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tNema takvog DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tSpisak posmatranih je prazan." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 je otišao ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tTema za %C22$1%C je: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C22*%O$t%C28[%O$1%C28] %OKraj spiska za WHOIS." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Učitan log od" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KRAJ ZAPISA U DNEVNIKU U %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** POČETAK ZAPISA U DNEVNIKU U %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Ne mogu da otvorim log datoteku (datoteke) za pisanje. Proverite\ndozvole %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Poruka sleva" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Poruka zdesna" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adresa" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Kor. ime" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Ime osobe koja se priključuje" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanal na koji se priključuje" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Računar na kome radi" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Nadimak" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Naredba" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Oznaka za pristup" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Prepoznat tekst" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Tekst" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Poruka" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Ime servera" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Potvrđene mogućnosti" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Mogućnosti servera" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Zatražene mogućnosti" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Stari nadimak" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Novi nadimak" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Ime osobe koja je promenila temu" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Tema" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Ime izbacivača" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Izbačena osoba" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Razlog" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Ime osobe koja odlazi" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Vreme" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Kreator" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Ime" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Razlog" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Računar" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Od koga dolazi" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Vreme u formatu x.x (videti ispod)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanal na koji ide" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Zvuk" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Ime osobe" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP događaj" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Ime osobe koja je postavila ključ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ključ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Ime osobe koja je postavila ograničenje" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Ograničenje" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Ime osobe koja je dodelila opa" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Ime osobe koja je dobila opa" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Ime osobe koja je dobila polu-opa" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Ime osobe koja je dodelila polu-opa" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Ime osobe koja je dala reč" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Ime osobe koja je dobila reč" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Ime osobe koja je zabranila" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Šablon za zabranu" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Ime osobe koja je sklonila ključ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Ime osobe koja je uklonila ograničenje" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Ime osobe kojoj je oduzet op" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Ime osobe kojoj je oduzet polu-op" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Ime osobe kojoj je oduzeta reč" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Ime osobe koja je postavila isključenje" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Šablon za isključenje" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Ime osobe koja je uklonila isključenje" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Ime osobe koja je pozvala" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Šablon za poziv" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Ime osobe koja je uklonila poziv" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Ime osobe koja je postavila pristup" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Znak pristupa (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Oznaka pristupa" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanal na kom stoji" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Puno ime" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Pripadnost kanalu/\"je IRC operator\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Podaci o serveru" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Odsutan" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Vreme prijave" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Razlog za odsustvo" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Poruka" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Nalog" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Pravi user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Pravi IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Ime kanala" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Sirov brojač ili identifikator" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tekst" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Ime osobe koja je pozvala" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Korisnici" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Imena u upotrebi" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Isprobana imena" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Prava pristupa" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Vrsta DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Datoteka" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Ciljna datoteka" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "zn./sek." + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Putanja" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Mesto" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Veličina" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC tekst" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Broj posmatranih ulaza" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Stara datoteka" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nova datoteka" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Primalac" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Šablon rač." + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Ime rač." + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunde" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Ime pozvane osobe" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Šablon zabrane" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Ko je zabranio" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Vreme zabrane" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Datoteka sa zvučnim zapisom „%s‟ se ne može očitati." + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Udaljeni računar je prekinuo vezu" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Veza odbijena" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Nema putanje do računara" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Vreme za povezivanje je isteklo" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Ne može se dodeliti ta adresa" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Veza prekinuta na drugom kraju" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ostrvo Uspenja" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andora" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Ujedinjeni arapski emirati" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Polja srodna avijaciji" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Avganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigva i Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanija" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Jermenija" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Holandski antili" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktik" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Obratni DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Američka Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Azija-Pacifik region" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Austrija" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato teren" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australija" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Alandska ostrva" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbejdžan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosna i Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladeš" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgija" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bugarska" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrein" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Komercijala" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Bruneji Dar-Es-Salam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivija" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brazil" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahami" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Butan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Ostrvo Buve" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Bocvana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belorusija" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalonski" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosova ostrva" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratska republika Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centralnoafrička republika" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Švajcarska" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Obala slonovače" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Kukova ostrva" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Čile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolumbija" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Komercijalni domeni" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Zadruge" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kostarika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Srbija i Crna Gora" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Zelenortska ostrva" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Božićna ostrva" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kipar" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Republika Češka" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Istočna Nemačka" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Nemačka" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Džibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danska" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanska republika" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Alžir" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Obrazovne ustanove" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonija" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egipat" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Zapadna Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritreja" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Španija" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopija" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Evropska Unija" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finska" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidži" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Foklendska ostrva" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezija" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Farska ostrva" + +#: src/common/util.c:770 +msgid "France" +msgstr "Francuska" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Velika Britanija" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gruzija" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Francuska Gvajana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Britanska Kanalska ostrva" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grenland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambija" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gvineja" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Vladine ustanove" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gvadalupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatorijalna Gvineja" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grčka" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Džordžija i S. Sendvička ostrva" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gvatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Gvineja Bisao" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Gijana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Herdova i Makdonaldova ostrva" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Hrvatska" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Mađarska" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezija" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irska" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Izrael" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Ostrvo Čoveka" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indija" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informacioni domen" + +#: src/common/util.c:803 +msgid "International" +msgstr "Međunarodni domeni" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britanska Indijska ostrva" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italija" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Džersi" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamajka" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordan" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Poslovi u kompaniji" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenija" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodža" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komori" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Sv. Kits i Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Severna Koreja" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Južna Koreja" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuvajt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Kajmanska ostrva" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazahstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sveta Lucija" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lihtenštajn" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Šri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberija" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litvanija" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvija" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libija" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Maroko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Crna Gora" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Američke medicinske ustanove" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Maršalska ostrva" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Vojni domeni" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonija" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Mianmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongolija" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobilni uređaji" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Severna Marijanska ostrva" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritanija" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Monserat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauricijus" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Muzeji" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivi" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malavi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malezija" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibija" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Imena pojedinaca" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nova Kaledonija" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internik mreža" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolška ostrva" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigerija" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragva" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Holandija" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norveška" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Novi Zeland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Neprofitna organizacija internik" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Francuska Polinezija" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nova Gvineja" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipini" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Poljska" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Sv. Pjer i Mikelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitkairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Portoriko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Zanimanja" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinska teritorija" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragvaj" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reinion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumunija" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Starovremski ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Srbija" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ruska federacija" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudijska Arabija" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomonova ostrva" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Sejšeli" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Švedska" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Sv. Jelena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenija" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard i Jan Majen ostrva" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovačka republika" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sijera Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalija" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Južni Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome i Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Bivši SSSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sirija" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svazilend" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks i Kaikos ostrva" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Čad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Servisi internet komunikacije" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Francuske južne teritorije" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tajland" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadžikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Istočni Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunis" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turska" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Putovanja i turizam" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad i Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tajvan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanija" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrajina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Velika Britanija" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Sjedinjene američke države" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Urugvaj" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Grad-država Vatikan" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Sv. Vinsent i Grenadini" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venecuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Britanska Devičanska ostrva" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Američka Devičanska ostrva" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vijetnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Ostrvlje Valis i Fortuna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Zabava za odrasle" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Majot" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavija" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Južna Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambija" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Nije moguće povezati se sa magistralom sesije" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Neuspelo završavanje komande" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "daljinski pristup" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "dodatak za udaljen pristup pomoću DBUSa" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Ne može se dobaviti %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tabela znakova" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Pozovi" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Nije na vezi." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Morate izabrati zabrane" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Šablon" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Od" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Spisak ućutkanih se može otvoriti samo ako je otvoren jezičak za prikaz kanala" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Ukloni" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Iseci" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Osveži" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Prikazujem %d/%d korisnika na %d/%d kanala." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Izaberite ime datoteke za izlaz" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Priključi se kanalu" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopiraj ime kanala" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopiraj tekst _teme" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Pretraga" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Lista preuzimanja" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Sačuvaj _listu..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Prikaži samo:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanali sa" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "za" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "korisnici." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Pogledajte u:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Ime kanala" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Tip pretrage:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Jednostavna pretraga:" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Redovan izraz" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Nađi:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Šalji datoteku za %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Datoteka se mora preuzeti izjedna." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Ne mogu da pristupim: %s\n%s.\nNastavljanje nije moguće." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Datoteka koja je prethodno preuzeta je veća nego ponuđena. Zato nije moguće nastaviti prenos." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Ne može se nastaviti prenos iste datoteke od dve različite osobe." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Stanje" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Datoteka" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Oba" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Slanja" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Preuzimanja:" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detalji" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Datoteka:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adresa:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Obustavi" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Prihvati" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Nastavi" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Otvori direktorijum..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Prijem" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Poslato" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Poč. vreme" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Obriši" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Otkaži" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Snimi" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Ne povezuj se automatski sa serverima" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Koristi drugi direktorijum sa podešavanjima" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Ne učitavaj automatski dodatke" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Prikaži direktorijum za automatsko učitavanje dodataka" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Prikaži direktorijum sa korisnikovim podešavanjima" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Pošalji ovu komandu:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Otvorite URL ili izvršite komandu u postojećem HexChat-u" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivo" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Prikaži podatke o izdanju" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Ne može se otvoriti font:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Zapis za pretragu je prazan.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bajt(ov)(a)" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Mrežni red slanja: bajtova: %d" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ova komanda menja tekst u liniji za unos tako što dovršava nepotpuno ime ili komandu. Ako je polje Data 1 popunjeno, dupli pritisak na tabulator bira poslednje ime, ne sledeće" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Ovom komandom se možete šetati gore-dole kroz listu imena. Ako je Data 1 postavljeno na bilo šta, kretaćete se na gore, inače na dole" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Ova komanda proverava da li se poslednja uneta reč nalazi na spisku za zamene, i zamenjuje je ako je pronađe" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Ova komanda pomera trenutni jezičak za jedno mesto ulevo" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Ova komanda pomera trenutni jezičak udesno" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Ova komanda pomera aktivnu grupu jezičaka ulevo" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Ova komanda pomera aktivnu grupu jezičaka udesno" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Ubacuje ulaznu liniju u prethodne komande, ali ne šalje serveru" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Greška pri učitavanju rasporeda tastera" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Ne može se pisati u tu datoteku." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Ova se datoteka ne može čitati." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Ovaj šablon već postoji." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privatno" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Vest" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Prihvati" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Unesi šablon za ućutkivanje" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Statistika za ućutkane:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privatno:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Vesti:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Poziv:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Dodaj..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Ime kanala je prekratko, probajte ponovo." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Povezivanje sa %s je uspelo." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Šta biste želeli sledeće da uradite?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ništa, priključiću se kanalu kasnije." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Priključi se kanalu:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Ako znate ime kanala kome se želite priključiti, unesite ga ovde." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Uvek prikazuj ovo prozorče posle povezivanja." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Razgovor sa" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Tema za %s je: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Tema nije postavljena" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Ovaj server ima ukupno ovoliko kanala: %d ili dijaloga. Da li želite da ih sve zatvorite?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Izlazite iz HexChat-a?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Ne pitajte sledeći put." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Vi ste povezani na %i IRC mreža." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Da li ste sigurni da želite da izađete?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Neki prenosi datoteka su i dalje aktivni." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Ubaci atribut ili kôd za boju" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Masno</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Podvučeno</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Obično" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Boje 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Boje 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Podešavanja" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Loguj na disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Ekstra upozorenja" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Odvoji" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Zatvori" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Maks. broj korisnika mora biti unet kao broj!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Nema spoljašnjih poruka" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Zaštita teme" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Po pozivu" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Nadgledan" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Spisak izbačenih" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ključna reč" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Maks. ljudi" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Unesite novo ime:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Istakni sve" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Nepoznat računar" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Nepoznato" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Pravo ime:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Korisnik:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Država:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Računar:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "pre ovoliko minuta: %u" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Posl. poruka:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Odsutan:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d nadimaka odabrano." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Otvori vezu u čitaču" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Umnoži izabranu vezu" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Idi na kanal" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Izađi sa kanala" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Ponovi pristup" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Zameni sa" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Nov" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Kraj" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Pregled" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Traka izbornika" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Traka teme" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Lista korisnika" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "_Dugmeta za način pristupa" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Prebacivač kanala" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Jezičci" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "_Drvo" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Merenja mreže" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Isključeno" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Grafičko" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Isključi se" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Opet se poveži" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Korisnikov meni" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "P_odešavanja" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Postavke..." + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Prozor" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Postavi ovde oznaku" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopiraj izbor" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "O_čisti tekst" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Pretraga" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Pretražite naredno" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Pretražite prethodno" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Pomoć" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Sadržaj" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_O programu" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Zakači" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Ime" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Bio je tu" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Nije na vezi" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Nikada" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "pre %d minuta" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Na vezi" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Unesite ime koje treba dodati:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Obavesti me na ovim mrežama:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Lista mreža razdvojena zarezima je dozvoljena." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Otvori razgovor" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Povrati prozor" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Sakrij prozor" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Treperi" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Poruka na kanalu" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privatna poruka" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Istaknuta poruka" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Promeni status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Odsutan" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Nazad" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Verzija" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Opis" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Izbor dodatka ili skripta za učitavanje" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Učitaj..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Sačuvaj kao..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Obriši dnevnik" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nova mreža" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Da li zaista treba brisati mrežu \"%s\" i sve servere u njoj?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Ključ (lozinka)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Uredi" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Poveži se samo sa izabranim računarima" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Ne ispituj sve računare u spisku kada povezivanje ne uspe." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Zaobiđi proxy server" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Koristi SSL za sve računare u ovoj mreži" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Koristi glavne podatke o korisniku" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Nadimak:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Drugi izbor:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Pravo ime:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Korisničko ime:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Lozinka:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Skup znakova:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Podaci o korisniku" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Treći izbor:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Mreže" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Ne prikazuj spisak mreža pri pokretanju programa" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Prikaži samo omiljene" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Uredi..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Poređaj" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Omiljeno" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Označite ili uklonite oznaku ove mreže kao omiljene." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Poveži se" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanski" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Ahmarski" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturijski" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbejdžanski" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskijski" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Beloruski" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bugarski" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kineski (pojedenostavljen)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kineski (tradicionalni)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Češki" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danski" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Holandski" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Engleski (britanski)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Engleski" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonski" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finski" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Francuski" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galicijski" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Nemački" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grčki" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gudžarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Mađarski" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonežanski" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italijanski" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japanski" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kanađanski" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinjaruanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korejanski" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letonski" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litvanski" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonski" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malajski" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malajalamski" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norveški (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norveški (ninorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Poljski" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugalski" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugalski (Brazilski)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pandžabski" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ruski" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Srpski" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovački" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovenački" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Španski" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Švedski" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tajlandski" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrajinski" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vijetnamski" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valonski" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Opšte" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Jezik:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Glavni font:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Slova:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Okvir za tekst" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Oboji imena" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Dodeli svakoj osobi na IRC-u različitu boju" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Uravnaj nadimke" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Uravnaj nadimke po desnoj strani" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Prikaži liniju za obeležavanje" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Ubaci crvenu liniju posle poslednje pročitane linije teksta." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Pozadina:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Podešavanja providnosti" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Naslovna traka " + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Prikaži modove kanala" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Polje za unos" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Prikaži polje za nadimke" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Provera pravopisa" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Rečnici za korišćenje:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Koristite kodove jezika. Odvajajte više unosa zarezima." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Sufiks za dopunu imena:" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Sufiks za dopunu imena:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafički" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Neuređeno" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Gore" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Dole" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Sakrij" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Spisak imena" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Pokaži imena računara" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Koristi boje i pismo iz kućice za tekst" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Prikaži ikonice za korisničke modove" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Prikaži broj korisnika na kanalima" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Uredi spisak korisnika prema:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Prikaži listu korisnika na:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Praćenje odsutnosti" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Prati odsutne na kanalima sa manje od:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Šta izvršiti na dvostruki klik" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ekstra gedžeti" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Merač zaostajanja:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Merač smanjenja protoka:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Prozori" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Jezičci" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Uvek" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Samo željeni jezičci" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Drvo" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Tip prebacivača:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Otvori poseban jezičak za poruke sa servera" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Otvori novu karticu kada primiš privatnu poruku" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Uredi jezičke leksikografski" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Prikaži ikonice na drvetu kanala" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Manji tekst" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokusiraj nove jezičke:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Prikaži prebacivač kanala na:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Skrati jezičke na:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "slova" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Jezičci ili prozori" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Mesto za prikaz novih kanala:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Mesto za prikaѕ novih razgovora:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Mesto za prikaz pomoćnih poruka:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Ignore i Notify se otvaraju u jezičcima ili prozorima?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Poruke" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Pitaj za potvrdu" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Pitaj za fasciklu preuzimanja" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Sačuvaj bez interakcije" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Datoteke i direktorijumi" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Odmah prihvati ponuđene datoteke:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Snimaj datoteke u:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Pomeri prenesene datoteke u dir.:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Zapamti nadimke u imenima datotekama" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Neposredne akcije (DCC) u poseban prozor" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Prozor za slanje" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Prozor za prijem" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Prozor za razgovor" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Jedno slanje:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Maks. brzina za jedan prenos" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Jedno preuzimanje:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Sva slanja:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Maks. brzina saobraćaja za sve datoteke" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Sva preuzimanja:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Uzbune" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Istaknute poruke" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Ekstra reči za istačinjanje:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Nadimci koji se ne ističu:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Nadimci koji se uvek ističu:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Podrazumevane poruke" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Kraj:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Napusti kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Odsutan:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Odsutan" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Samo jednom objavi odsutnost" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Skloni AWAY kad se vratim" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Sklonite oznaku odsutan sa sebe pre slanja poruka." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Prikazuj pristupe u sirovom obliku" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Šalje /WHOIS kada korisnik dođe na mrežu u Vašoj listi obaveštenja." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Sakrij poruke o dolasku i odlasku" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Automatski kopiraj odabran tekst" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternativni fontovi:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Prikaži liste u kompaktnom modu" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Pauza pre novog povezivanja:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Zapisivanje" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Pamti ovoliko linija:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Omogući logovanje konverzacija na disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Ime dnevnika:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=server %c=kanal %n=mreža." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Upisuj u dnevnike vreme kada su poruke stigle" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format za zapis datuma u dnevnik:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL-ovi" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Omogući logovanje URL-ova na disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(isključeno)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Automatski" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Vaša adresa" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Poveži se sa:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Korisno samo za računare sa višestrukim adresama." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Saznaj IP ovog računara od servera" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Upitajte IRC server da saznate vašu adresu. Korisni ukoliko je prava adresa iz opsega 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP adresa:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Prijavi ovu adresu pri nuđenju datoteka." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Vrednost porta postaviti na nulu za puni opseg." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Zastupnik (proxy):" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Ime rač.:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Vrsta:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Koristi zastupnika (proxy) za:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Autentifikacija zastupnika" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Korisničko ime:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Odaberi sliku" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Izbor direktorijuma za prijem" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Odaberi pismo" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Pregledaj..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Otvori fasciklu podataka" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Odaberi boju" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Boje teksta" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC boje:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokalne boje:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Prvi plan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Pozadina:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Odabran tekst" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Boje sučelja" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Novi podaci:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Linija oznake:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nova poruka:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Odsutan korisnik:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Isticanje:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Provera pravopisa:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Skidanje boja:" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Događaj" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Zvučni zapis:" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Izaberite ime zvučnog zapisa" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Zvučni zapis:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "Pregledaj..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "Pusti" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Sučelje" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Izgled" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Ulazni prozor" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Spisak korisnika" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Prebacivač kanala" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Boje" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Razgovori" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Napredna" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Podešavanje mreže" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Prenos datoteka" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Vrste" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Neke izmene će postati vidljive tek kada sledeći put pokrenete program." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*UPOZORENJE*\nAutomatsko prihvatanje DCC zahteva u kućnom\ndirektorijumu je opasno i može se iskoristiti.\nNpr. neko može poslati datoteku .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(nema predloga)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Više..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Dodaje \"%s\" u rečnik" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignoriši sve" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Pravopisni predlozi" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Greška pri čitanju teksta" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Ovaj signal je dopremio %d argumenata, $%d nije ispravan" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Štampaj datoteku tekstova" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ broj" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Uredi događaje" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Učitaj iz..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Probaj sve" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Obriši spisak" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Preslikaj ovaj URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Preslikaj" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Snimi spisak u datoteku" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op., %d uk." + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Otvori URL irc://server:port/kanal" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000000000000000000000000000000000000..f9d76f80a3592aa8b0a6906db9b1cf788100d0d3 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,6264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Åke Engelbrektson, 2016 +# Åke Engelbrektson, 2016 +# Anders Jonsson <transifex@norsjovallen.se>, 2016,2018 +# Chessax Nemeth <chessax@hotmail.com>, 2015 +# Jakob <jakob@knugen.nu>, 2012,2014,2016 +# Jakob <jakob@knugen.nu>, 2012 +# Jan Lindblom <janlindblom@fastmail.fm>, 2016 +# obskyr <lpsamuelm@gmail.com>, 2014 +# Luna Jernberg <bittin@cafe8bitar.se>, 2014,2018 +# Luna Jernberg <bittin@cafe8bitar.se>, 2014 +# obskyr <lpsamuelm@gmail.com>, 2014 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-08-07 19:01+0000\n" +"Last-Translator: Anders Jonsson <transifex@norsjovallen.se>\n" +"Language-Team: Swedish (http://www.transifex.com/hexchat/hexchat/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC klient" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat är en lättanvänd men även utbyggbar IRC-klient. Den låter dig ansluta säkert till flera nätverk och prata med användare privat eller i kanaler med ett anpassningsbart utseende. Du kan till och med överföra filer." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat stödjer funktioner som: DCC, SASL, proxytjänster, stavningskontroll, notifikationer, loggning, egna teman, och Python/Perl-skript." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Primärt chattfönster" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Chatta med andra människor online" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Chatt;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Öppna säkert läge" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat temahanterare " + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Jag är upptagen" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Lämnar" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "AV" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "PÅ" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{orörd}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Nätverk" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<ingen>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Väntar" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Aktiv" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Misslyckades" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Klar" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Anslut" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Avbruten" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Kan inte komma åt %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Fel" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s erbjuder \"%s\". Accepterar du?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Inga aktiva DCC:er\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Öppna dialogfönster" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Skicka en fil" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Användarinfo (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Lägg till i vänlista" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Ignorera" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_peratörsåtgärder" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Ge kanaloperatörsstatus" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Ta kanaloperatörsstatus" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Ge röststatus" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Ta röststatus" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Sparka ut/Bannlys" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Sparka ut" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Bannlys" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Sparka ut och bannlys" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Lämna kanal" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Gå in i kanal..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Ange kanal att gå in i:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Serverlänkar" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Pinga server" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Dölj version" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Ge op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Ta bort op" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "hej då" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Ange orsak för att sparka ut %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Skicka fil" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Dialog" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "VemÄr" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Skicka" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Chatta" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Töm" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "Du har inte skrivrättigheter till %s. Ingenting från den här sessionen kan bli sparat" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Att köra IRC som root är dumt! Du bör skapa ett\n användarkonto och använda det för att logga in.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "JA " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NEJ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Du CTCP-översvämmas från %s, ignorerar %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "Du MSG-översvämmas av %s, stänger AV gui_auto_open_dialog.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "Uppslagen till %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Inga resultat" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Uppslagen till:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "Slår upp %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ansluten\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s frånkopplad\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Gick inte in i någon kanal. Prova /join #<kanal>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Inte ansluten. Prova /server <värd> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Servern %s finns redan på nätverket %s.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Lade till servern %s på nätverk %s.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Redan markerad som frånvarande: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Redan markerad som tillbaka.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Jag behöver /bin/sh för att kunna köra!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Tillgängliga kommandon:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Användardefinierade kommandon:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Insticksdefinierade kommandon:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Skriv /HELP <kommando> för ytterligare information, eller /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Okänt argument \"%s\" ignorerades." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Den här servern stödjer inte tyst läge." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Ingen sådan insticksmodul hittades.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Den insticksmodulen vägrar att glömmas.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <namn> <åtgärd>, lägger till en knapp under användarlistan" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <NyttNätverk> <nyserver/6667>, lägger till ett nytt nätverk med en ny server i nätverkslistan" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <kmdo>, skickar ett kommando till alla kanaler du är inne i" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <cmd>, skickar ett kommando till alla kanaler på den nuvarande servern" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <kmdo>, skickar ett kommando till alla servrar du är ansluten till" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<orsak>], anger att du är frånvarande (använd /BACK för att återställa)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ställer in dig som tillbaka (inte frånvarande)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bannlysningstyp>], bannlyser alla som matchar masken från den aktuella kanalen. Om de redan är på kanalen kommer detta inte att sparka ut dem (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <variabel> [<värde>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kodning>], hämta eller ställ in kodningen som används för den nuvarande anslutningen" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLLEAT [ALL|HISTORY|[-]<mängd>], tömmer det nuvarande text-fönstret eller kommando-historiken" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Stänger nuvarande flik, stänger fönstret om detta är den enda öppna fliken, eller stänger alla förfrågningar med flaggan \"-m\"." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|jokertecken>, söker efter en landskod, exempelvis se = Sverige" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <smeknamn> <meddelande>, skickar CTCP-meddelandet till smeknamn, vanliga meddelanden är VERSION och USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], lämnar aktuell eller angiven kanal och går omedelbart in i den igen" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <smeknamn> - ta emot en erbjuden fil\nDCC SEND [-maxcps=#] <smeknamn> [fil] - skicka en fil till någon\nDCC PSEND [-maxcps=#] <smeknamn> [fil] - skicka en fil i passivt läge\nDCC LIST - visa DCC-lista\nDCC CHAT <smeknamn> - erbjud någon DCC-chatt\nDCC PCHAT <smeknamn> - erbjud DCC-chatt i passivt läge\nDCC CLOSE <typ> <smeknamn> <fil> exempel:\n /dcc close send nisse fil.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <smeknamn>, tar bort halvkanaloperatörsstatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <namn>, tar bort en knapp under användarlistan" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <smeknamn>, tar bort kanaloperatörsstatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <smeknamn>, tar bort röststatus från smeknamnet på den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, kopplar från servern" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <smeknamn|värd|ip>, löser ett IP eller värdnamn" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>, skriver ut text lokalt" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <kommando>, kör kommandot. Om flaggan -o används skickas utdata till den aktuella kanalen, annars skrivs den ut i det aktuella textfältet" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, skickar SIGCONT til processen" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], dödar en körande exekvering i den aktuella sessionen. Om -9 anges kommer processen att SIGKILL:as" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, skickar SIGSTOP till processen" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, skickar data till processens standard in" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, exporterar HexChat-inställningar" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, tömmer den aktuella serverns sändkö" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <värd> [<port>], tunnlar genom en värd, standardvärde på port är 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <smeknamn> [lösenord], dödar ett spökande smeknamn" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <smeknamn>, ger halvkanaloperatörsstatus till smeknamn (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <lösenord>, identifiera dig själv mot nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <typer..> <alternativ..>\n mask - värdmask att ignorera, exempelvis: *!*@*.aol.com\n typer - datatyper att ignorera, en eller alla av:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n alternativ - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <smeknamn> [<kanal>], bjuder in någon till en kanal, standardalternativet är den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, går in i kanalen" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <smeknamn> [orsak], sparkar ut smeknamnet från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <smeknamn> [orsak], bannlyser och sparkar sedan ut smeknamn från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, tvingar fram en ny eftersläpningskontroll" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <textsträng>, söker efter en textsträng i bufferten\nAnvänd -h för att markera funna textsträngar\nAnvänd -m för att matcha skiftläge\nAnvänd -r när textsträng är ett reguljärt uttryck\nAnvänd -- (dubbelt bindestreck) för att avsluta alternativ vid sökning av, säg, textsträngen '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <fil>, läser in en insticksmodul eller ett skript" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, tar bort halvkanaloperatörsstatus från alla halvkanaloperatörer i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, tar bort kanaloperatörsstatus från alla kanaloperatörer i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <händelse>, skickar händelsen till den aktuella kanalen (händelserna skrivs i tredje person, som exempelvis /me hoppar)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, sparkar ut alla utom dig själv från den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, ger kanaloperatörsstatus till alla användare i den aktuella kanalen (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <smeknamn> <meddelande>, skickar ett privat meddelande, skicka till \".\" för senaste smeknamn eller lägg till \"=\" före smeknamnen för dcc chatt." + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [kanal], listar smeknamn på kanal" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <smeknamn> <meddelande>, skickar en CTCP-notis" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <värdnamn> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <smeknamn>, ställer in ditt smeknamn" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <smeknamn/kanal> <meddelande>, skickar en notis" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n nätverk1[,nätverk2,...]] [<smeknamn>], visar din notifieringslista eller lägger till någon till den" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <smeknamn>, ger kanaloperatörsstatus till smeknamn (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kanal>] [<orsak>], lämnar kanalen, standardalternativet är den aktuella kanalen" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <smeknamn | kanal>, CTCP-pingar smeknamn eller kanal" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <smeknamn> [meddelande], öppnar upp ett nytt privmsg fönster för någon och skickar eventuellt meddelande" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask> [<tysttyp>], tysta alla som matchar masken i aktuell kanal om servern stödjer det." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<orsak>], kopplar från den aktuella servern" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>, skickar texten i rå form till servern" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<värd>] [<port>] [<lösenord>], kan anropas bara som /RECONNECT för att återansluta till den aktuella servern eller med /RECONNECT ALL för att återansluta till alla de öppna servrarna" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<värd>] [<port>] [<lösenord>] [<ssl>] [<acceptera_ogiltigt_cert>], kan anropas bara som /RECONNECT för att återansluta till den aktuella servern eller med /RECONNECT ALL för att återansluta till alla de öppna servrarna" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <text>, skickar rådata till HexChat som om det togs emot från IRC servern" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <namn>, laddar om en insticksmodul eller ett skript" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>, skickar texten till objektet i det aktuella fönstret" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <smeknamn> [<fil>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <värd> <port> <kanal>, ansluter och går in i en kanal" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <värd> <port> <kanal>, ansluter och går in i en kanal" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<password>], ansluter till en server, standardport är 6667 för normala anslutningar och 6697 för ssl anslutningar" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <värd> [<port>] [<lösenord>], ansluter till en server, standardporten är 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <variabel> [<värde>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<position>, positionerar om markören i inmatningsfältet" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <nytt namn>, ändra en fliks namn, tab_trunc gäller fortfarande" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <ny text>, ersätter texten i inmatningsfältet" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<ämne>], ställer in ämnet om något anges, annars visar det aktuellt ämne" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <tidsgräns> <fil1> [<fil2>] Blinka lådan mellan två ikoner.\nTRAY -f <filnamn> Ställ in lådan till en fast ikon.\nTRAY -i <nummer> Blinka lådan med en intern ikon.\nTRAY -t <text> Ställ in verktygstips för lådan.\nTRAY -b <titel> <text> Ställ in ballongtext för lådan." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], tar bort bannlysning för angivna masker." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <namn>, glömmer en insticksmodul eller ett skript" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask>...], ta bort tyst för angivna masker om servern stödjer det." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, öppnar en URL i din webbläsare" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <smeknamn1> <smeknamn2> etc, färgmärker smeknamn i kanalens användarlista" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <smeknamn>, ger röststatus till någon (kräver kanaloperatörsstatus)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <meddelande>, skriver meddelandet i alla kanaler" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <meddelande>, skickar meddelandet till alla kanaloperatörer på den aktuella kanalen" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Användarkommando för: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Användning: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nIngen hjälp tillgänglig för det kommandot.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Det finns inget sådant kommando.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Felaktiga argument i användarkommando.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "För många rekursiva användarkommandon, avbryter." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Okänt kommando %s. Prova /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "Ingen hexchat_plugin_init symbol; är detta verkligen en HexChat-insticksmodul?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\tHanterar ident-förfrågan från %s som %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tFel vid start av identd-server: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <användarnamn>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Timer %d raderad.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Inget sådant ref-nummer hittades.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Inga timers installerade.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "Ref# sekunder repetera kommando\n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Är du säker på att detta är en SSL-kapabel server och port?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Kan inte slå upp värdnamnet %s\nKontrollera dina IP-inställningar!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxytraversering misslyckades.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Byter till nästa server i %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Varning: Teckentabellen \"%s\" är okänd. Ingen konvertering kommer att tillämpas för nätverket %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O tillagd till notifieringslista." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O på %C24$4%O av %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tKan inte gå in i %C22$1 %O(%C20Du är bannlyst%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tErkända förmågor: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tFörmågor raderade: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tStödda förmågor: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tBegärda förmågor: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O är nu känd som %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sätter bannlysning på %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanal %C22$1%O skapad på %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort halvkanalsoperatörsstatus från %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort kanaloperatörsstatus från %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort röst från %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sätter undantagen på %C18$2%O" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ger halvkanaloperatörsstatus till %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C sätter inbjudan undantagen på %C18$2%O" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Användare Ämne" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O sätter läge %C24$2$3%O på %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O moder: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ger kanaloperatörsstatus till %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O sätter tyst på %C18$2%O" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort undantag on %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort inbjudan undantag på %C18$2%O" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O tar bort kanalnyckelord" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O tar bort användargräns" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sätter kanalnyckelord till %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O sätter kanalgräns till %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort bannlysning på %C18$2%O" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O tar bort tyst på %C18$2%O" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ger röst till %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tAnsluten. Loggar in nu." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tAnsluter till %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tAnslutning misslyckades (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tTog emot CTCP %C24$1%C från %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tTog emot en CTCP %C24$1%C från %C18$2%C (till %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tTog emot ett CTCP Ljud %C24$1%C från %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tTog emot ett CTCP Ljud %C24$1%C från %C18$2%C (till %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT till %C18$1%O avbruten." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT-anslutning etablerad till %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT till %C18$1%O förlorad (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$tTog emot en DCC CHAT-erbjudan från %C18$1%O" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$tErbjuder DCC CHAT till %C18$1%O" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$tErbjuder redan CHAT till %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$tDCC $1 anslutningsförsök till %C18$2%O misslyckades (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$tTog emot '%C23$1%C' från %C18$2%O" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$tTog emot en felaktigt formulerad DCC begäran från %C18$1%O.$a010%C23*%O$tPaketets innehåll: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tErbjuder '%C24$1%O' till %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tIngen sådan DCC-erbjudan." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O' till %C18$1%O avbruten." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O' från %C18$3%O färdig %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV anslutning etablerad till %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O' från %C18$3%O misslyckades (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: Kan inte öppna '%C23$1%C' för skrivning (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$tFilen '%C24$1%C' finns redan, sparar som '%C23$2%O' istället." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C har begärt återupptagande '%C23$2%C' från %C24$3%O." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C' till %C18$1%O avbruten." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C' till %C18$2%C färdig %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC SEND anslutning etablerad till %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C' till %C18$2%C misslyckades (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C har erbjudit '%C23$2%C' (%C24$3%O byte)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' till %C18$3%O avstannade, avbruter." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C' till %C18$3%O löpte ut, avbryter." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O borttagen från notifieringslista." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tFrånkopplad (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tHittade ditt IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O tillagd till ignoreringslista." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%OIgnorering på %C18$1%O ändrad." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O togs bort från ignoreringslista." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OIgnoreringslista är tom." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tKan inte gå in i %C22$1%C (%C20Kanal är enbart inbjudan%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$tDu har blivit inbjuden till %C22$1%O by %C18$2%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) har gått in" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tKan inte ansluta %C22$1%C (%C20Kräver nyckelord%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C har sparkat ut %C18$2%C från %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19Du har dödats av %C26$1%C (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29Hoppade över MOTD%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C används redan. Försöker med %C18$2%O..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C är felaktig. Försöker igen med %C18$2%O..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tSmeknamn är felaktigt eller används redan. Använd /NICK för att prova ett annat." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tIngen sådan DCC." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tIngen process körs just nu" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tNotifiera: %C18$1%C är frånvarande (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tNotifiera: %C18$1%C är tillbaka" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tNotifieringslistan är tom." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O användare i notifieringslista." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tNotifiera: %C18$1%C är frånkopplad (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tNotifiera: %C18$1%C är uppkopplad (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) har lämnat" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) har lämnat ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$tPing-svar från %C18$1%C: %C24$2%O sekund(er)" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$tInget ping-svar under %C24$1%O sekunder, kopplar från." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tEn process körs redan" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 har avslutat ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C sätter lägen %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$tSlår up IP nummer för %C18$1%O..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$tAutentiserar via SASL som %C18$1%O (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tAnsluten." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$tSlår upp %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tStoppade tidigare anslutningsförsök (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$tÄmne för %C22$1%C är: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C har bytt ämnet till: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$tÄmne för %C22$1%C satt av %C26$2%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tOkänd värd. Kanske stavade du det fel?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$tKan inte gå in %C22$1%C (%C20Användargräns nådd%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$tAnvändare på %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C är frånvarande %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OSlut på WHOIS-lista." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inaktiv %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O inaktivt %C23$2%O, signon: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Verklig Värd: %C23$2%O, Verklig IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tPratar nu på %C22$2%O" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$tDu har sparkats ut från %C22$2%C av %C26$3%O (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tDu har lämnat kanal %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tDu har lämnat kanal %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$tDu har bjudit in %C18$1%O till %C22$2%O (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tDu är nu känd som %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Läste in logg från" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** AVSLUTADE LOGGANDE VID %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** PÅBÖRJADE LOGGANDE VID %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Kan inte öppna log fil(er) för skrivning. Kolla\nbehörigheter på %s" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Vänstermeddelande" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Högermeddelande" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP-adress" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Användarnamn" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Smeknamnet på personen som går in" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kanalen som gås in i" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Personens värddator" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Kontot för personen" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Smeknamn" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Åtgärden" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Lägestecken" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Identifierad text" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Texten" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Meddelandet" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Servernamn" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Erkända förmågor" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Raderade förmågor" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Serverförmågor" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "Begärda förmågor" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Gammalt smeknamn" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Nytt smeknamn" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Smeknamnet på personen som ändrade ämnet" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Ämne" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Smeknamnet på den som sparkar ut" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Personen som blir utsparkad" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanalen" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Orsaken" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Smeknamnet på den person som lämnar" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Tiden" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Skaparen" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Smeknamn" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Orsak" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Värd" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Vem det är från" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Tiden i x.x-format (se nedan)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kanalen som det går till" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Ljudet" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Smeknamnet på personen" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP-händelsen" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Smeknamnet på personen som satte lösenordet" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Lösenordet" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Smeknamnet på personen som satte gränsen" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Gränsen" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Smeknamnet på personen som gav operatörsstatus" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Smeknamnet på personen som har givits operatörsstatus" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Smeknamnet på personen som har givits halvoperatörsstatus" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Smeknamnet på personen som gav halvoperatörsstatus" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Smeknamnet på personen som gav röststatus" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Smeknamnet på personen som har givits röststatus" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Smeknamnet på personen som gjorde bannlysningen" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Bannlysningsmasken" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Smeknamnet för personen som tystade" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Tystmasken" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Smeknamnet som tog bort lösenordet" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Smeknamnet som tog bort gränsen" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Smeknamnet på personen som tog bort operatörsstatus" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Smeknamnet på personen som har fråntagits operatörsstatus" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Smeknamnet på personen som fråntog halvoperatörsstatus" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Smeknamnet på personen som har fråntagits halvoperatörsstatus" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Smeknamnet på personen som fråntog röststatus" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Smeknamnet på personen som har fråntagits röststatus" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Smeknamnet på personen som tog bort bannlysningen" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Smeknamnet för personen som tog bort tyst" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Smeknamnet på personen som gjorde undantaget" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Undantagsmasken" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Smeknamnet på personen som tog bort undantaget" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Smeknamnet på personen som gjorde inbjudan" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Inbjudningsmasken" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Smeknamnet på personen som tog bort inbjudan" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Smeknamnet på personen som satte läget" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Lägestecknet (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Lägesbokstaven" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kanalen som det ställs in på" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Fullständigt namn" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanalmedlemskap/\"är en IRC-operatör\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Serverinformation" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Inaktivitetstid" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Inloggningstid" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Frånvaroskäl" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Meddelande" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Konto" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Verklig användare@värd" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Verkligt IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanalnamn" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanism" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Rå numerisk eller identifierare" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Text" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Smeknamnet på personen som bjöd in dig" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Användare" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Smeknamnet används redan" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Smeknamnet provas" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Lägessträng" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC-typ" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Filnamn" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Målfilnamn" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Sökväg" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Position" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Storlek" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC-sträng" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Frånvaroorsak" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Antal notifieringsobjekt" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Gammalt filnamn" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Nytt filnamn" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Mottagare" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Värdmask" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Värdnamn" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paketet" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Sekunder" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Smeknamnet på personen som bjudits in" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Bannlysningsmask" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Vem som gjorde bannlysningen" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Bannlysningstid" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Kan inte läsa ljudfilen:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Fjärrvärden stängde uttaget (socket)" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Uppkoppling nekas" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ingen väg till värden" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Anslutningen gjorde time-out" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Kan inte tilldela den adressen" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Anslutningen nollställdes av motparten" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension Island" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Förenade Arabemiraten" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Flygrelaterade områden" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afghanistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua och Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albanien" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Armenien" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Nederländska Antillerna" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarktis" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Argentina" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Omvänd DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asien/Stillahavsområdet" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Österrike" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Australien" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Åland" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbajdzjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnien och Hercegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belgien" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Företag" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivia" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brasilien" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvetön" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Vitryssland" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalanska" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Kokosöarna" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratiska republiken Kongo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Centralafrikanska republiken" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Schweiz" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Elfenbenskusten" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cooköarna" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chile" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Kina" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombia" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic, kommersiellt" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperativ" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbien och Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Kuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Kap Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Julön" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Cypern" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tjeckien" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Östtyskland" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Tyskland" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danmark" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominica" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominikanska republiken" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeriet" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Utbildningsväsende" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estland" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Egypten" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Västsahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Spanien" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopien" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Europeiska gemenskapen" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finland" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falklandsöarna" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronesien" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Färöarna" + +#: src/common/util.c:770 +msgid "France" +msgstr "Frankrike" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Storbritannien" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Georgien" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Franska Guyana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Brittiska kanalöarna" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Ghana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Regering" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvatorialguinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grekland" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Sydgeorgien och Södra Sandwichöarna" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard- och McDonaldöarna" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Kroatien" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Ungern" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonesien" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irland" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Indien" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Informativ" + +#: src/common/util.c:803 +msgid "International" +msgstr "Internationellt" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Brittiskt territorium i Indiska Oceanen" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Island" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Italien" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Jordanien" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Företags jobb" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japan" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirgizistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kambodja" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komorerna" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts och Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Nordkorea" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Sydkorea" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuwait" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Caymanöarna" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Libanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Sankt Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litauen" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lettland" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libyen" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marocko" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldavien" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Förenta Staterna, medicinskt" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshallöarna" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Militärt" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonien" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar (Burma)" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoliet" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobila enheter" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Norra Marianeröarna" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauretanien" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Museum" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldiverna" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mexiko" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaysia" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Moçambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Individens namn" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nya Kaledonien" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nigeria" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic, nätverk" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolköarna" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nigeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Nederländerna" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norge" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nya Zeeland" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic, ideell organisation" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polynesien" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Nya Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filippinerna" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polen" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre och Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Yrken" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Palestinska territoriet" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qatar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Réunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rumänien" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Gammaldags ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbien" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Ryska Federationen" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudiarabien" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomonöarna" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychellerna" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Sverige" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapore" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenien" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard och Jan Mayenöarna" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakien" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Syd Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé och Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Före detta USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syrien" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks- och Caicosöarna" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "Internetkommunikationstjänster" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Franska Sydterritorierna" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thailand" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadzjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Östtimor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunisien" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkiet" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Resande och turism" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad och Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzania" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukraina" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Storbritannien" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Förenta Staterna" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Uzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikanstaten" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "St. Vincent och Grenadinerna" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Brittiska Jungfruöarna" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Jungfruöarna (USA)" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis- och Futunaöarna" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Erotik" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Jemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Jugoslavien" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Sydafrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambia" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwe" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Kunde inte ansluta till sessionsbuss" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Misslyckades med att färdigställa NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Misslyckades med att färdigställa kommando" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "fjärråtkomst" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "insticksmodul för fjärråtkomst via DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Kunde inte ansluta till sessionsbuss: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Misslyckades med att ta över %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Teckenkarta" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Bannlys" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Undantag" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Undantag" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Inbjudningar" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Inbjudning" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Tystningar" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Tysta" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Kopieringsmask" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s på %s av %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Kopiera post" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Inte ansluten." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Du måste välja några bannlysningar." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "Är du säker på att du vill ta bort alla objekt i %s?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Typ" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Mask" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Från" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Datum" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Du kan endast öppna bannlysningslistan inne i kanalfliken." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Bannlysningslista (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Ta bort" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Kapa" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Uppdatera" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Visar %d/%d användare i %d/%d kanaler." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Välj ett namn på utfilen" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Gå in i kanalen" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Kopiera kanalnamn" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Kopiera _ämnestext" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr " Kanallista (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Sök" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Hämta lista" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Spara _lista..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Visa endast:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanaler med" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "till" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "användare." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Leta i:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanalnamn" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Söktyp:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Enkel sökning" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Mönstermatchning (jokertecken)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Reguljärt uttryck" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Sök:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Skicka filen till %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Den filen kan inte återupptas." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Kan inte komma åt fil: %s\n%s.\nÅterupptagning inte möjlig." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Filen i hämtningskatalogen är större än den fil som erbjudits. Återupptagning är inte möjlig." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Kan inte återuppta samma fil från två personer." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Sändningar och hämtningar - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Status" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fil" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Beräknad tid" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Både och" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Sändningar" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Hämtningar" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Detaljer" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Fil:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adress:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Avbryt" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Acceptera" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Återuppta" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Öppna mapp..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC Chat-lista - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Mottaget" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Skickat" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Starttid" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Lägg till" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Ta bort" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Avbryt" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Spara" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Anslut inte automatiskt till servrar" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Använd en annan konfigurationskatalog" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Läs inte automatiskt in några insticksmoduler" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Visa insticksmodul/skript autostart katalog" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Visa katalog för användarkonfiguration" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "Öpnna en irc://server:port/channel?key URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Startkommando:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Öppna URL eller kör kommando i en existerande HexChat" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Starta minimerad. Nivå 0=Normal 1=Ikonifierad 2=Aktivitetsfält" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "nivå" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Visa versionsinformation" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Misslyckades med att öppna typsnitt:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Sökbufferten är tom.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Sändkö för nätverket: %d byte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Körkommandot kör datan i Data 1 som om den hade skrivits in i inmatningsfältet där du angav tangentsekvensen. Därför kan det innehålla text (som kommer att skickas till kanalen/personen), kommandon eller användarkommandon. Vid körning används alla \\n-tecken i Data 1 för att avgränsa separata kommandon så det är möjligt att köra mer än ett kommando. Om du vill ha ett faktiskt \\ i texten som körs så ange \\\\" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Byt sida-kommandot byter mellan olika sidor i anteckningsboken. Sätt Data 1 till sidan du will byta till. Om data 2 är satt till någonting så kommer bytet vara relativt till nuvarande position. Sätt Data 1 till auto för att byta till sidan med nyast och viktigast aktivitet (query först, sedan kanaler med färgmarkeringar, kanaler med dialog, kanaler med annan data)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Kommandot Infoga i buffert kommer att infoga innehållet i Data 1 i fältet där tangentkombinationen trycktes vid nuvarande markörposition" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Rulla sida-kommandot rullar textmanicken upp eller ned en sida eller en rad. Sätt data 1 till antingen Top, Bottom, Up, Down, +1 eller -1." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Kommandot Ställ in buffert ställer in fältet där tangentkombinationen trycktes till innehållet i Data 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Kommandot Senaste kommando gör att fältet innehåller det senast angivna kommandot - samma som att trycka uppåtpil i skalet" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Kommandot Nästa kommando gör att fältet innehåller nästa kommando som angavs - samma som att trycka nedåtpil i skalet" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Detta kommando ändrar texten i fältet för att komplettera ett inkomplett smeknamn eller kommando. Om Data 1 är satt kommer dubbla tabulatortryck i en sträng att välja det senaste smeknamnet, inte nästa" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Detta kommando rullar upp och ner i listan med smeknamn. Om Data 1 är satt till någonting rullar det upp, annars rullar det ner" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Detta kommando kontrollerar det senast angivna ordet i fältet mot ersättningslistan och ersätter det om det hittar en träff" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Detta kommando flyttar den främsta fliken ett steg till vänster" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Detta kommando flyttar den främsta fliken ett steg till höger" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Detta kommando flyttar den aktuella fliken ett steg till vänster" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Detta kommando flyttar den aktuella fliken ett steg till höger" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Spara indataraden i historiken men skicka inte den till servern" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Det inträffade ett fel vid inläsning av tangentbindningskonfigurationen" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Välj en rad för att få hjälpinformation på dess åtgärd." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Tangentbordsgenvägar - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Kan inte skriva till den filen." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Kan inte läsa den filen." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Den masken finns redan." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privat" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Notis" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Ta bort ignorering" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Är du säker på att du vill ta bort alla ignoreringar?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Ange mask att ignorera:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Ignoreringslista - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Ignoreringsstatistik:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privat:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Notis:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Inbjudan:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Lägg till..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanalnamn för kort, försök igen." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Anslutningen klar - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Anslutning till %s klar." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "I serverlistfönstret har ingen kanal (chattrum) angetts för att gå in i automatiskt för detta nätverk." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Vad vill du göra härnäst?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Ingenting, jag går in i en kanal senare." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Gå in i denna kanal:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Om du vet namnet på kanalen du vill gå in i, ange den här." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Ö_ppna kanallistan." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Att hämta kanallistan kan ta en minut eller två." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Visa alltid denna dialog efter anslutning." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Dialog med" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Ämnet för %s är: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Inget ämne är satt" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Denna server har fortfarande %d kanaler eller dialoger associerade med den. Stänga dem alla?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "Avsluta HexChat?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Fråga inte nästa gång." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Du är ansluten till %i IRC-nätverk." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Är du säker på att du vill avsluta?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "En del filöverföringar är fortfarande aktiva." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Minimera till aktivitetsfält" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Infoga attribut eller färgkod" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Fet</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Understruken</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>kursiv</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Färgerna 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Färgerna 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Inställningar" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Logga till disk" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Läs om historik" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "Rensa _färger" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Dölj meddelanden om ingång/utgång" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "Ytterligare _larm" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Pip vid _meddelande" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Blinka aktivitetsfälts_ikonen" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Blinka _verktygsraden" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Frigör" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "S_täng" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Användargränsen måste vara en siffra!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtrera färger" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Inga meddelanden från utomstående" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Ämnesskydd" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Kräver inbjudan" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Modererad" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Bannlysningslista" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Lösenord" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Användargräns" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Ange nytt smeknamn:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Inga resultat funna." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Sökning nådde slutet eller ej funnen." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "_Markera allt" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Färgmarkera alla förekomster och stryk under aktuell förekomst." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Mat_cha skiftläge" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Genomför en skiftlägeskänslig sökning." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Regex" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Betrakta söksträngen som ett reguljärt uttryck." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Värden okänd" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Okänt konto" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Okänd" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Verkligt namn:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Användare:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Konto:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Land:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Server:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u minuter sedan" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Senaste medd:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Frånvaromedd:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d smeknamn markerade." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Menyraden är nu dold. Du kan visa den genom att trycka Kontroll+F9 eller högerklicka på en tom del av huvudtextrutan." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Öppna länk i webbläsare" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Kopiera markerad länk" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Gå in i kanalen" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Lämna kanal" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Rotera kanal" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Gå in automatiskt" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Gå in i kanal automatiskt" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Automatisk anslutning" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Användarmeny - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Redigera denna meny" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "Markeringsrad inaktiverad." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "Markeringsrad aldrig satt." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "Markeringsrad återställd manuellt." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "Markeringsrad återställd eftersom historikgräns överskridits." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "Markeringsrad återställd genom CLEAR-kommando." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "Markeringsradtillstånd okänt." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Hämta kanallista" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "har byggts utan insticksmodulsupport." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Användarkommandon - Specialkoder:\n\n%c = aktuell kanal\n%e = aktuellt nätverksnamn\n%m = maskininfo\n%n = ditt smeknamn\n%t = tid/datum\n%v = HexChat version\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 till slutet av raden\n&3 = ord 3 till slutet av raden\n\nt.ex.:\n/cmd john hello\n\n%2 skulle vara \"john\"\n&2 skulle vara \"john hello\"." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Knappar i användarlista - Specialkoder:\n\n%a = alla markerade smeknamn\n%c = aktuell kanal\n%e = aktuellt nätverksnamn\n%h = markerat smeknamns värdnamn\n%m = maskininfo\n%n = ditt smeknamn\n%s = markerad smeknamn\n%t = tid/datum\n%u = markerad användares konto" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Dialogknappar - Specialkoder:\n\n%a = alla markerade smeknamn\n%c = aktuell kanal\n%e = aktuellt nätverksnamn\n%h = markerat smeknamns värdnamn\n%m = maskininfo\n%n = ditt smeknamn\n%s = markerat smeknamn\n%t = tid/datum\n%u = markerad användares konto" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP-svar - specialkoder:\n\n%d = data (hela ctcp-kommandot)\n%e = aktuellt nätverksnamn\n%m = datorinformation\n%s = smeknamnet som skickade ctcp-kommandot\n%t = tid/datum\n%2 = ord 2\n%3 = ord 3\n&2 = ord 2 till slutet på raden\n&3 = ord 3 till slutet på raden\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL-hanterare - Specialkoder:\n\n%s = URL-textsträng\n\nAngivelse av ett ! framför kommandot\nindikerar att det ska skickas till\nett skal istället för HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Användardefinierade kommandon - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Ersätt - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Ersätt med" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL-hanterare - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Knappar i användarlista - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Dialogknappar - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP-svar - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Nätverksli_sta" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Ny" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Serverflik" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Kanalflik" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Serverfönster" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanalfönster" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Läs in insticksmodul eller skript" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Avsluta" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Visa" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menyrad" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Ämn_esrad" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "An_vändarlista" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "_Knappar för användarlista" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "_Lägesknappar" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Kanalväxlare" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Flikar" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "T_räd" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Nätverksmätare" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Av" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Diagram" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Fullskärm" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Server" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "Koppla _från" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "Återa_nslut" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Gå in i en kanal" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Kanal_lista" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Markerad frånvaro" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "A_nvändarmeny" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "_Inställningar" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Inställningar" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Automatisk ersättning" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP-svar" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "Dialogknappar" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Tangentbordsgenvägar" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Texthändelser" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL-hanterare" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Användarkommandon" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Knappar för användarlista" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Fönster" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Bannlysningslista" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Direktchatt." + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "Fil_överföringar" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Ignoreringslista" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Insticksmoduler och skript" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Rålogg" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL-fångare" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Återställ markörsrad" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "Gå till markeringsrad" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Kopiera markering" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "T_öm text" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Spara text" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Sök" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Sök text" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Sök nästa" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Sök föregående" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Hjälp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Innehåll" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Om" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "Fä_st" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Namn" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Sågs senast" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Frånkopplad" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Aldrig" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d minuter sedan" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "En timme sedan" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d timmar sedan" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Ansluten" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Ange smeknamn att lägga till:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Notifiera på dessa nätverk:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Kommaseparerad lista över nätverken tillåts." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Vännerlista - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Öppna dialog" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Färgmarkerat meddelande från: %s(%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Kanalmeddelande från: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Filerbjudande från: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Inbjuden till kanal av: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Notis från: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Privat meddelande från: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "Ansluten till %u nätverk och %u kanaler - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "_Återställ fönster" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Dölj fönster" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Blinka vid" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanalmeddelande" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Privat meddelande" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Färgmarkerat meddelande" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Ändra status" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Borta" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Bakåt" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Färgmarkerat meddelande från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u färgmarkerade meddelanden, senaste från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Kanalmeddelande från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u kanalmeddelanden. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Privat meddelande från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u privata meddelanden, senaste från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Filerbjudande från: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u filerbjudanden, senaste från: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Version" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Beskrivning" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Välj en insticksmodul eller ett skript att läsa in" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Insticksmoduler och skript - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Läs in..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Lossa" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Ladda om" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Spara som..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Rålogg (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Rensa rålogg" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Nytt nätverk" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Vill du verkligen ta bort nätverket \"%s\" och alla dess servrar?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Användarnamn kan inte lämnas blankt." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Du kan inte ha ett tomt användarnamn." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "Du måste ha två unika smeknamn." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Sättet du identifierar dig på gentemot servern. För anpassad login-metod använd anslutningskommandon." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Redigera %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Servrar" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Automatiska ingångkanaler" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Anslutningskommandon" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Smeknamn\n%p=Lösenord\n%r=Verkligt namn\n%u=Användarnamn" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Nyckel (Lösenord)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Redigera" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Anslut endast till markerad server" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Gå inte igenom alla servrar när anslutningen avbryts." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Ansluter till detta nätverk automatiskt" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Kringgå proxyserver" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Använd SSL för alla servrar på detta nätverk" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Acceptera ogiltiga SSL-certifikat" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Använd global användarinformation" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Smeknamn:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Andra valet:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Verkligt _namn:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "An_vändarnamn:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Login-metod:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Lösenord:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Lösenord som används för inloggning. Lämna blankt om osäker." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Teckentabell:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Nätverkslista - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Användarinformation" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Tredje valet:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Nätverk" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Hoppa över nätverkslista vid uppstart" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Visa enbart favoriter" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Redigera..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sortera" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Sorterar nätverkslistan i alfabetisk ordning. Använd tangenterna Skift+Upp och Skift+Ner för att flytta en rad." + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Tjänst" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Markera eller avmarkera detta nätverk som favorit." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Anslut" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikaans" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanska" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amhariska" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturiska" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbadjanska" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskiska" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Vitryska" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgariska" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Kinesiska (Förenklad)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Kinesiska (Traditionell)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Tjeckiska" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danska" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Nederländska" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "Engelska (Brittisk)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "Engelska" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estniska" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finska" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Franska" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiciska" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Tyska" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Grekiska" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Gujarati" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Ungerska" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Indonesiska" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italienska" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japanska" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Kinyarwanda" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Koreanska" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Lettiska" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litauiska" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonska" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaysia" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norska (Bokmål)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norska (Nynorska)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polska" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portugisiska" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portugisiska (Brasiliansk)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Ryska" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbiska" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakiska" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Sloveniska" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanska" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Svenska" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thailand" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Turkiska" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainska" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Vallonska" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Allmänt" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Språk:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Huvud typsnitt:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Typsnitt:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Textfält" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Färgade smeknamn" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Ge varje person på IRC en olik färg" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Dra in smeknamn" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Högerjustera smeknamn" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Visa markörrad" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Infoga en röd rad efter den senaste lästa texten." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Bakgrundsbild:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Inställningar för genomskinlighet" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Fönsteropacitet:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Tidsstämplar" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Aktivera tidsstämplar" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Tidsstämpelformat:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Se strftime MSDN-artikel för detaljer." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Se strftime manpage för detaljer." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Titelrad" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Visa kanallägen" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Visa antalet användare" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Ö" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Senast sagda order" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Inmatningsfält" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Använd typsnittet och färgerna för textfält" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Återge färger och egenskaper" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Visa smeknamnsfält" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Visa användarlägesikon i smeknamnsfält" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Stavningskontroll" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Ordlistor att använda:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Använd landskoder (som i \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSeparera flera poster med komma." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Använd landskoder. Separera flera poster med komma." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Smeknamnskomplettering" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Suffix för smeknamnskomplettering:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Sortering för smeknamnskomplettering:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Mängd smeknamn kompletterade:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Tröskel av smeknamn att lista istället för att komplettera" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "smeknamn." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafiskt" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Ö, operatörer först" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Ö-A, operatörer sist" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Ö-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Osorterad" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Vänster (övre)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Vänster (nedre)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Höger (övre)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Höger (nedre)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "överst" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "nederst" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Dold" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Användarlista" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Visa värdnamn i användarlista" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Använd typsnittet och färgerna för textfält" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Visa ikoner för användarlägen" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Använda grafiska ikoner istället för textsymboler i användarlistan." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Färga smeknamn i användarlista" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Kommer färga smeknamn likadant som i chatt." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Visa användarantal i kanaler" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Användarlistan sorteras efter:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Visa användarlista:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Frånvarospårning" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Spåra frånvarostatus för användare och markera dem i en annan färg" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "På kanaler mindre än:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Åtgärd vid dubbelklick" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ytterligare apparater" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Fördröjningsmätare:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Strypmätare:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Fönster" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Flikar" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Alltid" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Endast begärda flikar" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Automatisk" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "I en extra flik" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "I främre fliken" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Träd" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Växlartyp:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Öppna en extra flik för servermeddelanden" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Öppna en ny flik när du tar emot ett privat meddelande" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sortera flikar i alfabetisk ordning" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Visa ikoner i kanalträdet" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Visa streckade linjer i kanalträdet" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Rulla mushjulet för att växla flik" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Mittenklicka för att stänga flik" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Mindre text" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Fokusera nya flikar:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Placering av notiser:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Visa kanalväxlare:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Korta ner fliketiketter till:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "bokstäver." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Flikar eller fönster" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Öppna kanaler i:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Öppna dialogfönster i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Öppna verktyg i:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Öppna DCC-, ignorerings-, notifieringsfönster osv. i flikar eller fönster?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Meddelanden:" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Historik" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Be om bekräftelse" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "Be om nedladdningmapp" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Spara utan att fråga" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Filer och kataloger" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Acceptera filerbjudanden automatiskt:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Spara hämtade filer i:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Flytta färdighämtade filer till:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Spara smeknamn i filnamn" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Öppna DCC-fönster automatiskt" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Sändningsfönster" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Mottagningsfönster" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Chattfönster" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Maximal hastighet för filöverföringar (byte per sekund)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "En sändning:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Max. hastighet för en överföring" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "En hämtning:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Alla sändningar kombinerade:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Max. hastighet för alla filer" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Alla hämtningar kombinerade:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Alarm" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Visa notiser på:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Blinka aktivitetsfältsikonen vid:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Blinka verktygsraden vid:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Spela upp en ljudsignal vid:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Spela \"Instant Message Notification\"-systemljud vid markerade händelser." + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Spela \"message-new-instant\" från freedesktop.org ljudtemat vid markerade händelser." + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Spela ett GTK pip vid markerade händelser." + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Utelämna varningar när markerats som frånvarande " + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Utelämna varningar när markerats fönstret är i fokus" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Aktivitetsfältsbeteende" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Aktivera ikon för systemlåda" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Minimera till aktivitetsfält" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Stäng till aktivitetsfält" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Markera frånvarande/tillbaka automatiskt" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Ändra automatiskt status om döljs i aktivitetsfältet." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Visa endast notiser när programmet är dolt eller ikonifierat" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Färgmarkerade meddelanden" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Färgmarkerade meddelanden är sådana där ditt smeknamn nämns i, men även:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Extra ord att färgmarkera:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Smeknamn att inte färgmarkera:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Smeknamn att alltid färgmarkera:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Separera flera ord med kommatecken.\nJokertecken accepteras." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Studsa dockikonen vid:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Standardmeddelanden" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Avsluta:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Lämna kanal:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Borta:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Borta" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Visa frånvaro endast en gång" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Visa identiska frånvaromeddelanden enbart en gång." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Avmarkera frånvaro automatiskt" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Avmarkera dig själv som frånvarande innan meddelanden skickas." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Diverse" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Visa MODE-kommandon i rå form" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "WHOIS vid notifiering" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Skicka en /WHOIS när en användare kopplar upp sig i din notifieringslista." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Dölj meddelanden om ingång/lämnande" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Dölj meddelanden om ingång/lämnande som standard" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Dölj meddelanden om smeknamnsändringar" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.värd" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domän" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*användare@*.värd" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*användare@domän" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Autokopieringsbettende" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Kopiera automatiskt markerad text" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Kopiera markerad text till urklipp när vänster musknapp släpps. Annars kommer Ctrl+Skift+C kopiera markerad text till urklipp." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Inkludera automatiskt tidsstämplar" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Inkludera automatiskt tidsstämplar i kopierade rader av text. Inkludera annars tidsstämplar om Skift-tangenten hålls ned vid markering." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Inkludera automatiskt färginformation" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Inkludera automatiskt färginformation i kopierade rader av text. Inkludera annars färginformation om Ctrl-tangenten hålls ned vid markering." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Verkligt namn:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternativa typsnitt:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Separera flera poster med komma utan mellanrum före eller efter." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Visa listor i kompakt läge" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Använd mindre mellanrum mellan användarlista-/kanal trädrader." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Använd servertid om det stöds" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Visa tidsstämplar som erhållits från servern om det stödjer tids-server-tillägget." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Återanslut automatiskt till servrar vid frånkoppling." + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Fördröjning för automatisk återanslutning:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Fördröjning vid automatisk ingång:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Bannlysningstyp:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Försök att använda denna bannlysningsmask vid bannlysning eller tystning. (kräver irc_who_join)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Loggning" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Visa historik från tidigare session" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Rulla tillbaka rader:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Aktivera loggning av konversationer till disk" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Loggfilsnamn:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Server %c=Kanal %n=Nätverk." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Infoga tidsstämplar i loggar" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Format för tidsstämpling av loggar:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "Aktivera loggning av URL:er till disk" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "Aktivera URL-fångare" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Maximalt antal URL:er att fånga:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Inaktiverad)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Auto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Alla anslutningar" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Endast IRC-server" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Endast DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Din adress" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Bind till:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Endast användbart för datorer med flera adresser." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Filöverföringar" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Hämta min adress från IRC-servern" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Fråga IRC-servern efter din verkliga adress. Använd detta om du har en adress av typen 192.168.*.*!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC-IP-adress:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Utge dig för att vara på denna adress när du erbjuder filer." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Lämna värdet noll vid portar för fullständigt intervall." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxyserver" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Värdnamn:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Typ:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Använd proxy för:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Proxyautentisering" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Använd autentisering (endast HTTP eller SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Användarnamn:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd-server" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Aktiverad" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Servern kommer svara med nätverkets användarnamn" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Du måste ha tillåtelse att lyssna på denna port. Om inte 113 (0 väljer denna som standard) så måste du konfigurera port-forwarding." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Välj en bildfil" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Välj mapp för hämtade filer" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Välj typsnitt" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Bläddra..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Öppna datamapp" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Välj färg" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Textfärger" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC-färger:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Lokala färger:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Förgrund:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Bakgrund:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Markerad text" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Gränssnittsfärger" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Nya data:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Markeringsrad:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Nytt meddelande:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Frånvaroanvändare:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Färgmarkera:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Stavningskontrollant:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Färgrensning" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Händelse" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Ljudfil" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Välj en ljudfil" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Ljudfil:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Bläddra..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Spela upp" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Gränssnitt" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Utseende " + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Inmatningsfält" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Användarlista" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kanalväxlare" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Färger" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Chattande" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Ljud" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Avancerat" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Nätverksinställningar" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Filöverföringar" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategorier" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Du kan inte placera trädet på övre eller undre delen!\nÄndra till <b>Flikar</b>-layouten i <b>Visa</b>-menyn först." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Alternativet Verkligt namn kan inte lämnas blankt. Faller tillbaka till \"realname\"." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "En del inställningar ändrades som kräver en omstart för att börja gälla." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*VARNING*\nAtt automatiskt acceptera DCC till din\nhemkatalog kan vara farligt och utnyttjas\nav andra. Någon kan till exempel skicka\ndig en .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Inställningar - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(inga förslag)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Mer..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Lägg till \"%s\" i ordlistan" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Ignorera alla" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Stavningsförslag" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant-fel för språk: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Det uppstod ett fel vid tolkning av strängen" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Denna signal skickas endast %d argument, $%d är ogiltigt" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Skriv ut textfil" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$-nummer" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Redigera händelser" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Läs in från..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Testa allt" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "OK" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL-fångare - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Töm lista" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Kopiera markerad URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopiera" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Spara lista till en fil" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d oppar, %d totalt" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Öppna en irc://server:port/kanal URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sysinfo: Kunde inte hämta info. Antingen stöds det inte eller så gick något fel." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sysinfo: Ingen info med det namnet\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sysinfo: %s är satt till: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sysinfo: Giltiga inställningar är: announce och hide_* för varje bit information. T.ex. hide_os. Utan ett värde visas nuvarande (eller standard-) inställning.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sysinfo: Ogiltigt variabelnamn\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "Insticksmodul %s inläst\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "Insticksmodul %s frigjord\n" diff --git a/po/th.po b/po/th.po new file mode 100644 index 0000000000000000000000000000000000000000..02b7e7c2bbcbe52a39ab64ce1de5184da648ce16 --- /dev/null +++ b/po/th.po @@ -0,0 +1,6255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Seksan Poltree <seksan.poltree@gmail.com>, 2007 +# Suttiwit Sukpinit <ormie.suttiwit@gmail.com>, 2012 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Thai (http://www.transifex.com/hexchat/hexchat/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "ฉันไม่ว่าง" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "กำลังออก" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "เครือข่าย" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "แชนแนล" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "กำลังรอ" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "ทำงานอยู่" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "ล้มเหลว" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "เรียบร้อย" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "เชื่อมต่อ" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "ถูกยกเลิกกลางคัน" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "ไม่สามารถเข้าถึง %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "ข้อผิดพลาด" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s ได้เสนอ \"%s\". คุณต้องการยอมรับหรือไม่?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "ไม่มี DCCs ที่ทำงานอยู่\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "เปิดการสนทนาส่วนตัว" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "ส่งไฟล์" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "ข้อมูลของคนนี้" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "เพิ่มเป็นเพื่อน" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "คำสั่งสำหรับ Operator" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "ให้ Ops" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "รับ Ops" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "ให้การประกาศ" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "รับการประกาศ" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "เตะ/แบน" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "เตะ" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "แบน" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "เตะแบน" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "ออกจากแชนแนล" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "เข้าใช้แชนแนล..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "ป้อนแชนแนลที่จะเข้าร่วม" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "การเชื่อมต่อเซิร์ฟเวอร์" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping เซิร์ฟเวอร์" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "ซ่อนเวอร์ชั่น" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "ลาก่อน" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "ป้อนเหตุผลที่จะเตะ %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "หน้าต่างสนทนา" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "ส่ง" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "คุยเล่น" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "ล้าง" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* เรียกใช้งาน IRC โดยเป็น root เป็นเรื่องไม่ฉลาด! คุณควร\n สร้างบัญชีผู้ใช้อื่นสำหรับใช้ในเข้าสู่ระบบ.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ใช่" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "ไม่" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "คุณกำลังถูก CTCP flooded จาก %s, ทำการเพิกเฉย %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s ออนไลน์\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ออฟไลน์\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "ไม่มีแชนแนลที่ทำการเข้าร่วม. ลอง /join #<แชนแนล>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "ไม่ได้เชื่อมต่อ. ลอง /server <โฮสต์> [<พอร์ต>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "เซิฟเวอร์ %s มีอยู่ในเน็ตเวิร์ค %s เเล้ว\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "เซิฟเวอร์ %s ได้ถูกบันทึกไว้ในรายชื่อเซิฟเวอร์ของเน็ตเวิร์ค %s แล้ว\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "ทำเครื่องหมายว่าไม่อยู่แล้ว: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "ทำเครื่องหมายว่ากลับมาแล้ว.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "ฉันจำเป็นต้องมี /bin/sh เพื่อทำงาน!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "คำสั่งที่มี:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "คำสั่งที่ผู้ใช้นิยามขึ้น:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "คำสั่งที่ปลั๊กอินนิยามขึ้น:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "พิมพ์ /HELP <คำสั่ง> สำหรับรายละเอียดที่มากขึ้น, หรือ /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "อาร์กิวเมนต์ที่ไม่รู้จัก '%s' ถูกเพิกเฉย." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "ไม่พบปลั๊กอินใดๆ\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "ปลั๊กอินนั้นกำลังปฎิเสธการโหลดออก.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ชื่อ> <ปฏิบัติการ>, เพิ่มปุ่มภายใต้รายชื่อผู้ใช้งาน" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <คำสั่ง>, ส่งคำสั่งไปยังทุกแชนแนลที่คุณเข้าอยู่" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ซินแท็กซ์ของคำสั่งนี้: ALLCHANL <คำสั่งใน IRC>, ส่งคำสั่งของ IRC ไปทุกๆ ชาแนล์ที่เปิดอยู่บนเน็ตเวิร์คนี้" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <คำสั่ง>, ส่งคำสั่งไปยังทุกเซิร์ฟเวอร์ที่คุณเข้าอยู่" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, ตั้งค่าให้คุณกลับมา (ไม่ใช่ไม่อยู่)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <มาสก์> [<รูปแบบการแบน>], ประกาศสั่งห้ามทุก ๆ คนที่ตรงกับมาสก์จากแชนแนลปัจจุบัน. ถ้าพวกเขาอยู่ที่แชนแนลนี้แล้ว นี่จะไม่ได้เตะพวกเขาออกไป (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "ซินแทกซ์ของคำสั่งนี้: CHANOPT [-quiet] <ชื่อตัวแปล> [<ข้อมูลของตัวแปล>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "ซินแทกซ์ของคำสั่งนี้: CHARSET [<รหัสภาษา>], บอกหรือเปลี่ยนรหัสภาษาที่ใช้แสดงผล" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <รหัส|ไวลด์การ์ด>, ค้นหารหัสประเทศ, เช่น: au = ออสเตรเลีย" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <ชื่อเล่น> <ข้อความ>, ส่งข้อความ CTCP ไปยัง 'ชื่อเล่น', ข้อความโดยปกติได้แก่ VERSION และ USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], แยกแชนแนลปัจจุบันหรือที่เสนอให้ และกลับเข้าร่วมในทันที" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <ชื่อเล่น> - ยอมรับไฟล์ที่ได้รับการเสนอให้\nDCC SEND [-maxcps=#] <ชื่อเล่น> [ไฟล์] - ส่งไฟล์ไปหาใครซักคน\nDCC PSEND [-maxcps=#] <ชื่อเล่น> [ไฟล์] - ส่งไฟล์ซักไฟล์โดยใช้โหมด passive\nDCC LIST - show DCC list\nDCC CHAT <ชื่อเล่น> - เสนอ DCC CHAT ให้กับใครซักคน\nDCC PCHAT <ชื่อเล่น> - เสนอ DCC CHAT โดยใช้โหมด passive\nDCC CLOSE <รูปแบบ> <ชื่อเล่น> <ไฟล์> ตัวอย่าง:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <ชื่อเล่น>, ลบสถานะ chanhalf-op จาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ชื่อ>, ลบปุ่มภายใต้รายชื่อผู้ใช้" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <ชื่อเล่น>, ลบสถานะ chanop จาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>, สบสถานะประกาศจาก 'ชื่อเล่น' ในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ตัดการเชื่อมต่อจากเซิร์ฟเวอร์" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <ข้อความ>, พิมพ์ข้อความแบบโลคอล" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <คำสั่ง>, เรียกใช้คำสั่ง. ถ้าใช้เครื่องหมาย -o แล้วผลที่ได้จะถูกส่งไปยังแชนแนลปัจจุบัน, ไม่ก็จะถูกพิมพ์ไปยังกล่องข้อความปัจจุบัน" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, ส่ง SIGCONT ไปยังโพรเซส" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], ฆ่า exec ที่กำลังทำงานในวาระปัจจุบัน. ถ้าใช้เครื่องหมาย -9 โพรเซสจะถูก SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, ส่ง SIGSTOP ไปยังโพรเซส" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, ส่งข้อมูลไปยังทางป้อนข้อมูลมาตรฐานของโพรเซส" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, ล้างคิวการส่งปัจจุบันของเซิร์ฟเวอร์" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <โฮสต์> [<พอร์ต>], พร็อกซี่ไปยังโฮต์, ค่าพอร์ตมาตรฐานเป็น 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "ซินแทกซ์ของคำสั่งนี้: GHOST <ชื่อ IRC> [รหัสผ่าน NickServ], เวลา Lag ใช้คำสั่งนี้ในการให้ชื่อเล่นที่ Lag อยู่ แล้วจะสามารถใช้ชื่อเล่นเดิมได้" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <ชื่อเล่น>, ให้สถานะ chanhalf-op กับ 'ชื่อเล่น' (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <รหัสผ่าน>, ระบุตัวตนของคุณเองไปยังเซิร์ฟเวอร์ชื่อเล่น" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <มาสก์> <รูปแบบ..> <ตัวเลือก..>\n มาสก์ - มาสก์ของโฮสต์ที่จะเพิกเฉย, เช่น: *!*@*.aol.com\n รูปแบบ - ชนิดรูปแบบของข้อมูลที่จะเพิกเฉย, อย่างหนึ่งหรือทั้งหมดของ:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <ชื่อเล่น> [<แชนแนล>], เชิญชวนใครซักคนเข้าสู่แชนแนลหนึ่ง ๆ, โดยปกติคือแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <แชนแนล>, เข้าร่วม 'แชนแนล'" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, บังคับการตรวจสอบอย่างช้าใหม่" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "ซินแทกซ์ของคำสั่งนี้: LASTLOG [-h] [-m] [-r] [--] <ข้อความสั้น>, ค้นหาข้อความในสนทนาที่ผ่านมา\nเพิ่ม -h ก่อนเติมข้อความสั้นเพื่อ เน้นข้อความที่ตรงกับข้อความสั้น\nเพิ่ม -m ก่อนเติมข้อความสั้นเพื่อ หาข้อความที่มีตัวพิมพ์เล็กหรือใหญ่เหมือนข้อความสั้น\nเพิ่ม -r ก่อนเติมข้อความสั้นเพื่อ ใช้วิธีการหาข้อความสั้นในสนทนาแบบ Regex Expression.\nเพิ่ม -- ก่อนเติมข้อความสั้นเพื่อที่จะสามารถเติมข้อความสั้นได้" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <ไฟล์>, โหลดปลั๊กอินหรือสคริป" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Mass deop ของ chanhalf-ops ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Mass deop ของ chanops ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <ปฏิบัติการ>, ส่งการปฏิบัติการไปยังแชนแนลปัจจุบัน (การปฏิบิการถูกเขียนขึ้นโดยบุคคลที่ 3, อย่างเช่น /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, เตะทุกคนออกจากแชนแนลปัจจุบันยกเว้นคุณ (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Mass op ของผู้ใช้ทั้งหมดในแชนแนลปัจจุบัน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <ชื่อเล่น> <ข้อความ>, ส่งประกาศ CTCP" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <ชื่อโฮต์> [<พอร์ต>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <ชื่อเล่น>, ตั้งชื่อเล่นของคุณ" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n เครือข่าย1[,เครือข่าย2,...]] [<ชื่อเล่น>], แสดงรายการแจ้งเตือนของคุณหรือเพิ่มบางคนไปยังรายการ" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <ชื่อเล่น>, ให้สถานะ chanop กับ 'ชื่อเล่น' (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<แชนแนล>] [<เหตุผล>], ออกจากแชนแนล, โดยปกติคือหนึ่งแชนแนลปัจจุบัน" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>, ส่ง CTCP เพื่อ ping ชื่อเล่นหรือแชนแนล" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<เหตุผล>], ตัดการเชื่อมต่อจากเซิร์ฟเวอร์ปัจจุบัน" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <ข้อความ>, ส่งข้อความในรูปแบบข้อมูลดิบไปยังเซิร์ฟเวอร์" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<โฮสต์>] [<พอร์ต>] [<รหัสผ่าน>], สามารถเรียกเพียง /RECONNECT เพื่อที่จะทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ปัจจุบัน หรือด้วย /RECONNECT ALL สำหรับทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ทั้งหมดที่เปิดอยู่" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<โฮสต์>] [<พอร์ต>] [<รหัสผ่าน>], สามารถถูกเรียกเพียง /RECONNECT เพื่อที่จะทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ปัจจุบัน หรือด้วย /RECONNECT ALL สำหรับทำการเชื่อมต่ออีกครั้งกับเซิร์ฟเวอร์ทั้งหมดที่เปิดอยู่" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <ข้อความ>, ส่งข้อความไปยังวัตถุในหน้าต่างปัจจุบัน" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <ชื่อเล่น> [<ไฟล์>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <โฮสต์> <พอร์ต> <แชนแนล>, เชื่อมต่อและเข้าร่วมแชนแนล" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <โฮสต์> <พอร์ต> <แชนแนล>, เชื่อมต่อและเข้าร่วมแชนแนล" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "ซินแท็กซ์ของคำสั่งนี้: SERVER [-ssl] <URL ของเซิฟเวอร์> [<พอร์ด>] [<รหัสผ่านในการใช้เซิฟเวอร์>], เข้าถึงเซิฟเวอร์ที่ระบุไว้\nถ้าพอร์ดไม่ได้ระบุไว้ จะเข้าเซิฟเวอร์โดยใช้พอร์ด 6667.\nถ้าระบุ \"-ssl\" แต่ไม่ได้ระบุพอร์ด พอร์ดจะเป็น 6697 โดยอัตโนมัติ\nไม่ต้องระบุรหัสผ่านถ้าเซิฟเวิอร์ไม่ต้องใช้รหัสผ่านในการเข้าถึง" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [พอร์ต>] [<รหัสผ่าน>], เชื่อมต่อไปยังเซิร์ฟเวอร์, พอร์ตมาตรฐานคือ 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "ซินแท็กซ์ของคำสั่งนี้: SET [-e] [-off|-on] [-quiet] [ชื่อตัวแปร] [<ข้อมูลใหม่เพื่อที่จะใส่ในตัวแปร>]\n* off = ปิด, ตั้งค่าเป็น True. \n on = เปิด, ตั้งค่าเป็น False." + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "ซินแท็กซ์ของคำสั่งนี้: SETCURSOR [-|+] <ตำแหน่งของเคอเซอร์>, ปรับเปลี่ยนตำแหน่งของเคอเซอร์ใน InputBox." + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "ซินแท็กซ์ของคำสั่งนี้: SETTAB <ชื่อใหม่ของแท็บ>, ปรัปเปลี่ยนชื่อของแท็บนี้" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "ซินแท็กซ์ของคำสั่งนี้: SETTEXT <คำใหม่>, เปลี่ยนคำใน InputBox ให้เป็นคำใหม่" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<หัวเรื่อง>], ตั้งหัวเรื่องถ้าบางคนได้รับมา, หรือแสดงหัวเรื่องปัจจุบัน" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <เวลาหมด> <ไฟล์1> [<ไฟล์2>] กระพริบถามระหว่างสองไอคอน.\nTRAY -f <ชื่อไฟล์> ตั้งถามสำหรับไอคอนที่ถูกตรึง.\nTRAY -i <ตัวเลข> กระพริบถาดด้วยไอคอนภายใน.\nTRAY -t <ข้อความ> ตั้งค่าข้อความช่วยเหลือของถาด.\nTRAY -b <ชื่อเรื่อง> <ข้อความ> ตั้งค่าบอลลูนของถาด." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...], ยกเลิกแบนสำหรับมาสก์ที่กำหนด." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <มาสก์> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <ชื่อ>, โหลดปลั๊กอินหรือสคริปออกไป" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, เปิด URL ในบราวเซอร์ของคุณ" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <ชื่อเล่น1> <ชื่อเล่น2> etc, เน้นชื่อเล่น(s) ในรายชื่อผู้ใช้ของแชนแนล" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <ชื่อเล่น>, ให้สถานะประกาศกับใครบางคน (จำเป็นต้องมี chanop)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <ข้อความ>, เขียนข้อความไปยังแชนแนลทั้งหมด" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <ข้อความ>, ส่งข้อความไปยัง chanops ทั้งหมดในแชนแนลปัจจุบัน" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "วิธีใช้: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nไม่มีข้อความช่วยเหลือสำหรับคำสั่งนั้น.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "ไม่ใช่คำสั่ง.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "อาร์กิวเมนต์ไม่ถูกต้องสำหรับคำสั่งผู้ใช้งาน.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "คำสั่งเรียกตัวเองซ้ำซ้อนมากเกินไป, ทำการยกเลิกกลางคัน." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "คุณแน่ใจหรือว่านี่เป็นเซิร์ฟเวอร์และพอร์ต ที่สนับสนุนการทำงานของ SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "ไม่สามารถวิเคราะชื่อของโฮสต์ %s\nตรวจสอบการตั้งค่าไอพีของคุณ!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Proxy traversal ล้มเหลว.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "วนไปยังเซิร์ฟเวอร์ถัดไปใน %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "คำเตือน: ไม่รู้จักชุดอักขระ \"%s\". ไม่มีการสนทนาที่จะถูกนำมาใช้กับเครือข่าย %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O ได้ถูกเพิ่มเข้าไปในรายชื่อแจ้งเตือน" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O แบน %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ลบสถานะ Half-Operator จาก %C18$2%O" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ลบสถานะ Operator จาก %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ลบสถานะ Voice จาก %C18$2%O" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ให้สถานะ Half-Operator กับ %C18$2%O" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%Uแชนแนล ผู้ใช้ หัวข้อ" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O ตั้งค่าโหมด %C24$2$3%O บน %C22$4%O" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tห้องสนทนา %C22$1%O มีโหมด: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ให้สถานะ Operator กับ %C18$2%O" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ลบการปกป้องจาก %C18$2%O" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O ลบรหัสผ่านของห้องสนทนา" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O ลบเลขจำกัดคนในห้องสนทนา" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O ตั้งเลขจำกัดคนในห้องสนทนาเป็น %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O ให้สถานะ Voice กับ %C18$2%O" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tเชื่อมต่อเสร็จแล้ว กำลังล็อกอิน" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$tกำลังเชื่อมต่อไปที่เซิฟเวอร์ %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tการเชื่อมต่อไม่สำเร็จ (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tได้รับข้อความ CTCP %C24$1%C จาก %C18$2%O" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tได้รับข้อความ CTCP %C24$1%C จาก %C18$2%C (ถึง %C22$3%C)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tได้รับข้อความ CTCP Sound %C24$1%C จาก %C18$2%O" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tได้รับข้อความ CTCP Sound %C24$1%C จาก %C18$2%C (ถึง %C22$3%O)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT ถึง %C18$1%O ได้ถูกยกเลิก" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT เชื่อมต่อได้แล้วกับ %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT กับ %C18$1%O ล้มเหลว (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tรายการแจ้งเตือนว่างเปล่า." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "โหลดบันทึกการทำงานจาก" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** จบการบันทึกการทำงานที่ %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** เริ่มบันทึกการทำงานที่ %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* ไม่สามารถเขียนไฟล์ล็อกได้ โปรดตรวจสอบว่าคุณได้รับอนุญาตในการเขียนไฟล์บน \"%s\" แล้วหรือไม่" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "ข้อความทางซ้าย" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "ข้อความทางขวา" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "ที่อยู่ไอพี" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "ชื่อผู้ใช้" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "ชื่อเล่นของคนที่เข้าร่วม" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "แชนแนลที่ถูกเข้าร่วม" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "โฮสต์ของบุคคล" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "ชื่อเล่น" + +#: src/common/text.c:980 +msgid "The action" +msgstr "การปฏิบัติการ" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "ตัวหนังสือโหมด" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "ข้อความแสดงตัว" + +#: src/common/text.c:987 +msgid "The text" +msgstr "ข้อความ" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "ข้อความ" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "ชื่อเซิร์ฟเวอร์" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "ชื่อเล่นเดิม" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "ชื่อเล่นใหม่" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "ชื่อเล่นของคนที่เปลี่ยนหัวข้อ" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "หัวข้อ" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "ชื่อของคนที่เตะ" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "คนที่กำลังถูกเตะ" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "แชนแนล" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "เหตุผล" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "ชื่อเล่นของคนที่กำลังจากไป" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "เวลา" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "ผู้สร้าง" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "ชื่อเล่น" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "เหตุผล" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "โฮสต์" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "ใครที่มันมาจาก" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "เวลาในรูปแบบ x.x (ดูด้านล่าง)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "แชนแนลที่มันกำลังไป" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "เสียง" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "ชื่อเล่นของบุคคล" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "เหตุการณ์ CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "ชื่อเล่นของคนที่ตั้งค่ากุญแจ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "กุญแจ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "ชื่อเล่นของคนที่ตั้งค่าขีดจำกัด" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "ขีดจำกัด" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "ชื่อเล่นของคนที่ทำการ op'ing" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูก op" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูก halfop" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "ชื่อเล่นของคนที่ทำการ halfop" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "ชื่อเล่นของคนที่ทำการประกาศ" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "ชื่อเล่นของคนที่ได้ถูกประกาศ" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "ชื่อเล่นของคนที่ทำการแบน" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "มาสก์การแบน" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "ชื่อเล่นของคนที่ลบกุญแจ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "ชื่อเล่นของคนที่ลบขีดจำกัด" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ deop" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ dehalfop" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "ชื่อเล่นของคนที่ได้ทำการ devoice" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "ชื่อเล่นของคนที่ทำการยกเว้น" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "มาสก์ที่ยกเว้น" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "ชื่อเล่นของคนที่ลบการยกเว้น" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "ชื่อเล่นของคนที่ทำการเชิญชวน" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "มาสก์เชิญชวน" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "ชื่อเล่นของคนที่ลบการเชิญชวน" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "ชื่อเล่นของคนที่ตั้งค่าโหมด" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "สัญญาณของโหมด (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "ตัวอักษรของโหมด" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "แชนแนลที่มันกำลังตั้งค่า" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "ชื่อเต็ม" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "ความเป็นสมาชิกของแชนแนล/\"เป็นผู้จัดการ IRC คนหนึ่ง\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "ข้อมูลของเซิร์ฟเวอร์" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "เวลาว่าง" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "เวลาเข้าสู่ระบบ" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "เหตุผลที่ไม่อยู่" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "ข้อความ" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "บัญชี" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "ชื่อผู้ใช้@โฮสต์ จริง" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "ไอพีจริง" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "ชื่อแชนแนล" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Raw Numeric หรือ Identifier" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "ข้อความ" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "ชื่อเล่นของคนที่เชิญชวนคุณ" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "ผู้ใช้" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "ชื่อเล่นถูกใช้อยู่" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "ชื่อเล่นกำลังถูกลองใช้" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "ไอพี" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "พอร์ต" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "สตริงแสดงโหมด" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "ชนิด DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "ชื่อไฟล์" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "ชื่อไฟล์ปลายทาง" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "ชื่อเส้นทาง" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "ตำแหน่ง" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "ขนาด" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "ข้อความ DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "หมายเลขของการแจ้งเตือนรายการ" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "ชื่อไฟล์เดิม" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "ชื่อไฟล์ใหม่" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "ตัวรับ" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "มาสก์ของโฮสต์" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "ชื่อโฮสต์" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "แพ็กเก็ต" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "วินาที" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "ชื่อของคนที่ได้ถูกเชิญ" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "มาสก์การแบน" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "ใครคนที่ตั้งการแบน" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "เวลาแบน" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "ไม่สามารถอ่านไฟล์เสียง:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "โฮสต์ปลายทางปิดแชนแนลเชื่อมต่อ" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "การเชื่อมต่อถูกปฏิเสธ" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "ไม่มีเส้นทางไปยังโฮต์" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "การเชื่อมต่อหมดเวลา" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "ไม่สามารถกำหนดค่าที่อยู่นั้น" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "การเชื่อมต่อถูกตั้งใหม่โดยผู้เชื่อมต่อ" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "เกาะ Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "สหรัฐอาหรับอิมิเรตส์" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Aviation-Related Fields" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "อัฟกานิสถาน" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua และ Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguilla" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "อัลบาเนีย" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "อาร์เมเนีย" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Netherlands Antilles" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antarctica" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "อาร์เจนติน่า" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "รีเวิร์ส DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "American Samoa" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asia-Pacific Region" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "ออสเตรีย" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "ออสเตรเลีย" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland Islands" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "อาร์เซอร์ไบจัน" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosnia and Herzegovina" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "เบลเยี่ยม" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "บัลแกเรีย" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahrain" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "ยุ่งอยู่" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darussalam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "โบลิเวีย" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "บราซิล" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "ภูฏาน" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Island" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "แคนาดา" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Catalan" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocos Islands" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Democratic Republic of Congo" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Central African Republic" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "คองโก" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "สวิซเซอร์แลนด์" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Cote d'Ivoire" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "เกาะ Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "ชิลี" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "แคมารูน" + +#: src/common/util.c:738 +msgid "China" +msgstr "จีน" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "โคลัมเบีย" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Commercial" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Cooperatives" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Serbia and Montenegro" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "คิวบา" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cape Verde" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Christmas Island" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "ไซปรัส" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Czech Republic" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "East Germany" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "เยอรมันนี" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "เดนมาร์ก" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "โดมินิกา" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominican Republic" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Algeria" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecuador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "สถาบันการศึกษา" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonia" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "อียิปต์" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Western Sahara" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrea" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "สเปน" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ethiopia" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "European Union" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "ฟินแลนด์" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "ฟิจิ" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland Islands" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronesia" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe Islands" + +#: src/common/util.c:770 +msgid "France" +msgstr "ฝรั่งเศส" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Great Britain" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "จอร์เจีย" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "French Guiana" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "British Channel Isles" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "กานา" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "กรีนแลนด์" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambia" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinea" + +#: src/common/util.c:782 +msgid "Government" +msgstr "ราชการ" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Equatorial Guinea" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "กรีซ" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia and S. Sandwich Isles" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinea-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "ฮ่องกง" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Croatia" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hungary" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "อินโดนีเซีย" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "ไอร์แลนด์" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "อิสราเอล" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Isle of Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "อินเดีย" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "ข้อมูล" + +#: src/common/util.c:803 +msgid "International" +msgstr "นานาชาติ" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "British Indian Ocean Territory" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "อิรัก" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "อิหร่าน" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "ไอซ์แลนด์" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "อิตาลี" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaica" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "จอร์แดน" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "อาชีพที่บริษัท" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "ญี่ปุ่น" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "เคนย่า" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kyrgyzstan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "กัมพูชา" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comoros" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "เกาหลีเหนือ" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "เกาหลีใต้" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "คูเวต" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman Islands" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakhstan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "ลาว" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Lebanon" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Liechtenstein" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "ศรีลังกา" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Lithuania" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Luxembourg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Latvia" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Morocco" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "โมนาโก" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Montenegro" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "United States Medical" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marshall Islands" + +#: src/common/util.c:843 +msgid "Military" +msgstr "ทหาร" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedonia" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "มาลี" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "เมียนมาร์" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "มองโกเลีย" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Macau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "ของใช้พกพา" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Northern Mariana Islands" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinique" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mauritania" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritius" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "พิพิธพันธ์" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "เม็กซิโก" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "มาเลเซีย" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambique" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibia" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "ชื่อคน 1 คน" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "New Caledonia" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Niger" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "เครือข่าย Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Island" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "ไนจีเรีย" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Netherlands" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "นอรเวย์" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "เนปาล" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "นิวซีแลนด์" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "โอมาน" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Non-Profit Organization" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "เปรู" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "French Polynesia" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua New Guinea" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "ฟิลิปปินส์" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "ปากีสถาน" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "โปแลนด์" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Puerto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "ความสำเร็จ" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "ดินแดนของ Palestinian" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "กาตาร์" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "โรมาเนีย" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "โรงเรียน ARPAnet เดิม" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Serbia" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Russian Federation" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Saudi Arabia" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomon Islands" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seychelles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "ซูดาน" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "สวีเดน" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "สิงคโปร์" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenia" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovak Republic" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somalia" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "South Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome and Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Former USSR" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Republic of Savior" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Syria" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Swaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks and Caicos Islands" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "ไทย" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "ตุรกี" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "ไต้หวัน" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "ยูเครน" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "อูกานดา" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "สหราชอาณาจักร" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "สหรัฐอเมริกา" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "เวียดนาม" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "เยเมน" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "แอฟริกาใต้" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "ไม่สามารถเชื่อมต่อไปยัง session bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "ล้มเหลวในการจบ NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "ล้มเหลวในการจบคำสั่ง" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "เข้าถึงระยะไกล" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "ปล๊กอินสำหรับการเข้าถึงระยะไกลโดยใช้ DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "ไม่สามารถเชื่อมต่อไปยัง session bus: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "ผิดพลาดในการร้องขอ %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "แผนผังตัวอักษร" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "แบน" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "เชิญชวน" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "ไม่ได้เชื่อมต่อ." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "คุณจะต้องเลือกคนที่ถูกแบน." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "มาสก์" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "จาก" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "วันเวลา" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "คุณสามารถเปิดหน้าต่างรายการผู้ถูกแบนเมื่ออยู่ในแท็บแชนแนลเท่านั้น." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "ลบ" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "ตัดให้สั้น" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "เรียกใหม่" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "กำลังแสดง %d/%d ผู้ใช้ บน %d/%d แชนแนล." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "เลือกชื่อไฟล์เอาต์พุท" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "เข้าแชนแนล" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "คัดลอกชื่อแชนแนล" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "คัดลอกข้อความหัวข้อ" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "ค้น_หา" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "รายการ_ดาวน์โหลด" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_บันทึกรายการ..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "แสดงเท่านั้น." + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "แชนแนลกับ" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "ไปยัง" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "ผู้ใช้" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "ค้นหาใน:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "ชื่อแชนแนล" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "ชนิดไฟล์:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "ค้นหาอย่างง่าย" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "รูปแบบตรงกัน (ไวลด์การ์ด)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Regular Expression" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "ค้นหา:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "ส่งไฟล์ไปยัง %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "ไฟล์นั้นไม่สามารถเริ่มต่อได้" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "ไม่สามารถเข้าถึงไฟล์: %s\n%s.\nการเชื่อมต่อไม่สามารถเป็นไปได้." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "ไฟล์ในไดเร็กทอรี่ดาวน์โหลดใหญ่กว่าไฟล์ที่ถูกเสนอ. การเริ่มต่อไม่สามารถเป็นไปได้." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "ไม่สามารถเริ่มต่อสำหรับไฟล์เดียวกันจากคนสองคน." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "สถานะ" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "ไฟล์" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "ทั้งคู่" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "อัพโหลด" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "ดาวน์โหลด" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "รายละเอียด" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "ไฟล์:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "ที่อยู่:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "ยกเลิกกลางคัน" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "ยอมรับ" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "เริ่มใหม่" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "เปิดโฟลเดอร์..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "รับ" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "ส่ง" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "เวลาเริ่ม" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "ลบ" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "ยกเลิก" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "บันทึก" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "ไม่เชื่อมต่อไปยังเซิร์ฟเวอร์โดยอัตโนมัติ" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "ใช้ไดเร็กทอรี่การตั้งค่าต่างออกไป" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "ไม่โหลดปั๊กอินใด ๆ โดยอัตโนมัติ" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "แสดงไดเร็กทอรี่การตั้งค่าของผู้ใช้" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "กระทำคำสั่ง:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "เริ่มต้นด้วยขนาดย่อ. ระดับ 0=ปกติ 1=เป็นไอคอน 2=ถาด" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "รดับ" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "แสดงข้อมูลเวอร์ชั่น" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "ล้มเหลวในการเปิดฟอนต์:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "การค้นหาบัฟเฟอร์ว่างเปล่า.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d ไบต์" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "ข้อมูลที่จะส่งไปที่เซิฟเวอร์มีขนาด: %d ไบต์" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "คำสั่ง Insert in Buffer จะทำการเพิ่มเนื้อหาของข้อมูล 1 ไปยังตัวรับข้อมูลที่ที่ลำดับคีย์ได้ถูกกด ที่ตำแหน่งปัจจุบันของเคอร์เซอร์" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "คำสั่ง Set Buffer ตั้งค่าตัวรับข้อมูลไปยังที่ ที่ลำดับของคีย์ที่ได้ถูกป้อนเข้ามาไปยังเนื้อหาของข้อมูล 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "คำสั่ง Last Command ตั้งค่าตัวรับข้อมูลไปยังคำสั่งล่าสุดที่ถูกป้อน - เช่นเดียวกับการกดลูกศรขึ้นในเชลล์" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "คำสั่ง Next Command ตั้งค่าตัวรับข้อมูลไปยังคำสั่งถัดไปที่ถูกป้อน - เช่นเดียวกับการกดลูกศรลงในเชลล์" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "คำสั่งนี้จะเปลี่ยนข้อความที่อยู่ในรายการป้อน เพื่อจะทำชื่อหรือคำสั่งที่ไม่เรียบร้อยให้สมบูรณ์. ถ้าข้อมูล 1 ถูกตั้งค่า แล้วการแท็บคู่ในสตริงจะถูกเลือกในชื่อเล่นล่าสุด, ไม่ใช่ถัดไป." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "คำสั่งนี้จะเลื่อนขึ้นหรือลงไปยังรายการชื่อเล่น. ถ้าข้อมูล1 ถูกตั้งไปเป็นอะไรก็ตามมันจะเลื่อนขึ้น, ไม่อย่างนั้นจะเลื่อนลง" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "คำสั่งนี้ตรวจสอบคำล่าสุดที่ถูกป้อนไปยังตัวป้อน แทนที่จะเป็นรายการแทนที่ และแทนที่มันถ้าค้นพบสิ่งที่ตรงกัน" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "คำสั่งนี้ย้ายแท็บด้านหน้าไปทางซ้ายหนึ่งอันดับ" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "คำสั่งนี้ย้ายแท็บด้านหน้าไปทางขวาหนึ่งอันดับ" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "คำสั่งนี้ย้ายสมาชิกแท็บปัจจุบันไปทางซ้าย" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "คำสั่งนี้ย้ายสมาชิกแท็บปัจจุบันไปทางขวา" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "ใส่บรรทัดการป้อนเข้าไปยังประวัติแต่ไม่ต้องส่งไปยังเซิร์ฟเวอร์" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "มีปัญหาในการโหลดการตั้งค่าการผูกคีย์" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "ไม่สามารถเขียนไฟล์นั้นได้" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "ไม่สามารถอ่านไฟล์นั้นได้" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "มาสก็นั้นมีอยู่แล้ว" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "ส่วนตัว" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "ประกาศ" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "เลิกเพิกเฉย" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "ป้อนมาสก์เพื่อเพิกเฉย" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "สถิติการเพิกเฉย:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "แชนแนล:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "ส่วนตัว:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "ประกาศ:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "เชิญชวน:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "เพิ่ม..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "ชื่อแชนแนลสั้นเกินไป, ลองใหม่อีกครั้ง." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "การเชื่อมต่อไปยัง %s เสร็จสมบูรณ์." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "คุณอยากจะทำอะไรต่อไป?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "ไม่ทำอะไรเลย. ฉันจะเข้าแชนแนลทีหลัง" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "เ_ข้าร่วมแชนแนลนี้" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "ถ้าคุณรู้ชื่อของแชนแนลที่คุณต้องการเข้าร่วม. ป้อนมันที่นี่." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "แสดงหน้าต่างสนทนานี้หลังจากการเชื่อมต่อ_ตลอด." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "การสนทนากับ" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "หัวข้อสำหรับ %s คือ: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "ไม่มีหัวข้อถูกตั้ง." + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "เซิร์ฟเวอร์นี้ยังคงมี %d แชนแนลหรือการสนทนาที่ถูกเชื่อมโยงด้วย. ต้องการปิดทั้งหมด?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "คุณต้องการออกจาก HexChat หรือไม่?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "ไม่ต้องถามในครั้งหน้า." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "คุณกำลังเชื่อมต่อไปยังเครือข่าย IRC %i ." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "คุณแน่ใจแล้วหรือไม่ที่จะออก?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "การโอนย้ายไฟล์บางไฟล์ยังคงทำงานอยู่." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_ย่อไปยังถาด" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "ใส่คุณลักษณะหรือรหัสสี" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>ตัวหนา</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>ขีดเส้นใต้</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "ปกติ" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "สี 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "สี 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "ตั้งค่า" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "เก็บการสนทนาไว้ในไฟล์" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "โหลดสนทนาที่ผ่านมา" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_ปิด" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "ขีดจำกัดผู้ใช้ต้องเป็นตัวเลข!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "ไม่มีข้อความภายนอก" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "การป้องกันหัวข้อ" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "รับเชิญเท่านั้น" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "ปรับปรุง" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "รายการแบน" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "คีย์เวิร์ด" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "ขีดจำกัดผู้ใช้" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "ป้อนชื่อเล่นใหม่:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "เน้นข้อความทั้งหมด" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "ไม่รู้จักโฮสต์" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "ไม่รู้จัก" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "ชื่อจริง" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "ผู้ใช้:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "ประเทศ:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "เซิร์ฟเวอร์:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "ผ่านมาแล้ว %u นาที" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "ข้อความล่าสุด:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "ข้อความไม่อยู่:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "เปิดลิงค์ในบราวเซอร์" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "คัดลอกลิงค์ที่เลือก" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "เข้าร่วมแชนแนล" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "ออกจากแชนแนล" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "หมุนวนแชนแนล" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "การตอบรับ CTCP - รหัสพิเศษ:\n\n%d = ข้อมูล (ctcp ทั้งหมด)\n%e = ชื่อเครือข่ายปัจจุบัน\n%m = รายละเอียดเครื่อง\n%s = ชื่อเล่นของคนที่ส่ง ctcp\n%t = เวลา/วัน\n%2 = คำที่ 2\n%3 = คำที่ 3\n&2 = คำที่ 2 ไปยังท้ายบรรทัด\n&3 = คำที่ 3 ไปยังท้ายบรรทัด\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "แทนที่ด้วย" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "สร้างให_ม่" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_ออก" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_มุมมอง" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "แถบเ_มนู" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "แถ_บหัวข้อ" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "รา_ยการผู้ใช้" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "ปุ่มโหม_ด" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "ตัว_สวิตช์แชนแนล" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "แท็_บ" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "ต้_นไม้" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "ตัว_วัดเครือข่าย" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "ปิด" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "กราฟ" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "เ_ซิร์ฟเวอร์" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_ตัดการเชื่อมต่อ" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "เชื่อมต่อให_ม่" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "เ_มนูผู้ใช้" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "ตั้_งค่า" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "ปรั_บแต่ง" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_หน้าต่าง" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "ตั้งค่าเส้นสัญลักษณ์ใหม่" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_ล้างข้อความ" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_ช่วยเหลือ" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "เ_นื้อหา" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "เกี่ยว_กับ" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "ชื่อ" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "เห็นล่าสุด" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "ออฟไลน์" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "ไม่เลย" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "ผ่านมา %d นาทีแล้ว" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "ออนไลน์" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "ป้อนชื่อเล่นที่จะเพิ่ม:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "แจ้งเตือนบนเครือข่ายนี้" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "ยอมรับรายการเครือข่ายที่แยกด้วยจุลภาค." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "เปิดการสนทนา" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "เรียกคืนหน้าต่าง" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "ซ่อนหน้าต่างนี้" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "เปิดการกระ_พริบ" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "ข้อความของแชนแนล" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "ข้อความส่วนตัว" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "ข้อความที่ถูกเน้น" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "เปลี่ยนสถานะ" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "ออกไป" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "กลับมา" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "เวอร์ชั่น" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "คำอธิบาย" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "เลือกปลั๊กอินหรือสคริปที่จะโหลด" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "โห_ลด" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "บันทึกเป็น..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "เครือข่ายใหม่" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "จะลบ \"%s\" และเซิร์ฟเวอร์ทั้งหมดจริง ๆ หรือ?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "รหัสผ่าน" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "แก้ไ_ข" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "เชื่อมต่อไปยังเซิร์ฟเวอร์ที่เลือกเท่านั้น" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "ไม่ต้องวนไปยังทุกเซิร์ฟเวอร์เมื่อการเชื่อมต่อล้มเหลว." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Bypass proxy server" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "ใช้ SSL สำหรับทุกเซิร์ฟเวอร์บนเครือข่ายนี้" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "ใช้ข้อมูลโดยรวมของผู้ใช้" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_ชื่อเล่น:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "ตัวเลือกอันดับสอง:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "ชื่อ_จริง:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_ชื่อผู้ใช้:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "รหัสผ่าน:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "ชุดอักขระ:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "รายละเอียดผู้ใช้" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "ตัวเลือกอันดับสาม:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "เครือข่าย" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "ข้ามรายชื่อเครือข่ายตอนเปิดโปรแกรม" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "แสดงห้องสนทนาที่ชอบ" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "แก้ไ_ข..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "เ_รียงลำดับ" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "ชอบ" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "ทำให้เน็ตเวิร์คนี้เป็นเน็ตเวิร์คที่ชอบ" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "เ_ชื่อมต่อ" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albanian" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharic" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaijani" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Basque" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarusian" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarian" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "จีน (ปัจจุบัน)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "จีน (โบราณ)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Czech" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Dutch" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonian" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Finnish" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "French" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galician" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "German" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Greek" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hindi" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Hungarian" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "Italian" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japanese" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korean" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Latvian" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Lithuanian" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Macedonian" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malay" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalam" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norwegian (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norwegian (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Polish" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portuguese" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portuguese (Brazilian)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Punjabi" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Russian" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Serbian" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovak" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovenian" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "Spanish" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "Swedish" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "ไทย" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukrainian" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamese" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Walloon" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "ทั่วไป" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "ภาษา:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "ฟอนต์หลัก:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "ฟอนต์:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Text Box" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "ใช้ชื่อเล่นเป็นสี" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "ให้แต่ละคนบน IRC มีสีต่างกัน" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "ย่อหน้าชื่อเล่น" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "ตั้งชื่อเล่นให้ชิดขวา" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "แสดงเส้นลัญลักษณ์" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "ใส่เส้นสีแดงหลังจากข้อความล่าสุดที่อ่าน." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "รูปพื้นหลัง:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "ตั้งค่าความโปร่งใส" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "See the strftime MSDN article for details." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "อันดับการพูดคุยล่าสุด" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "ตรวจสอบการสะกด" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "การเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "ส่วนต่อท้ายการเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "การลำดับการเติมเต็มชื่อเล่น" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "กราฟิก" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "ไม่เรียง" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "บน" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "ล่าง" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "ซ่อน" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "รายชื่อผู้ใช้" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "แสดงชื่อโฮสต์ในรายชื่อผู้ใช้" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "ใช้กล่องแถบฟอนต์และสี" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "แสดงไอค่อนของ User modes" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "ใช้ไอค่อนกราฟิกแทนที่ตัวอักษรในรายชื่อบุคคล" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "แสดงจำนวนคนที่อยู่ในห้องสนทนา" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "เรียงรายชื่อผู้ใช้ด้วย:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "แสดงรายชื่อผู้ใช้ที่:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "ในแชนแนลที่เล็กกว่า:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "ปฏิบัติการเมื่อดับเบิ้ลคลิก" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "ข้อมูลทั้งหมดที่จะส่งไปยังเซิฟเวอร์:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "หน้าต่าง" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "แท็บ" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "ตลอดเวลา" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "แท็บที่ร้องขอเท่านั้น" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "เปิดแท็บพิเศษสำหรับข้อความจากเซิร์ฟเวอร์" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "เปิดแท็บใหม่เมื่อคุณได้รับข้อความส่วนตัว" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "เรียงแท็บตามตัวอักษร" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "แสดงเส้นประในรายชื่อห้องสนทนา" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "ให้ความสนใจแท็บใหม่:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "แสดงตัวสวิตช์แชนแนลที่:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "ย่อป้ายชื่อแท็บเป็น:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "ต้วหนังสือ." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "แท็บหรือหน้าต่าง" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "เปิดแชนแนลใน:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "เปิดหน้าต่างสนทนาใน:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "เปิดส่วนอรรถประโยชน์ใน:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "เปิด DDC, การเพิกเฉย, การแจ้งเตือน อื่น ๆ, ในแท็บหรือหน้าต่าง?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "ยืนยัน" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "ถามโฟลเดอล์ที่จะเก็บดาวน์โหลด" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "บันทึกโดยที่ไม่ถามอะไรเลย" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "ไฟล์และไดเร็กทอรี่" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "ยอมรับไฟล์ที่ได้รับการเสนอให้อัตโนมัติ:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "ดาวน์โหลดไฟล์ไปยัง:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "ย้ายไฟล์ที่เสร็จแล้วไปที่:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "บันทึกชื่อเล่นในชื่อไฟล์" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "เปิดหน้าต่าง DCC โดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "หน้าต่างส่ง" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "หน้าต่างรับ" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "หน้าต่างคุยเล่น" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "การอัพโหลดหนึ่งๆ:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "ใช้ความเร็วสูงสุดสำหรับการขนย้ายไฟล์หนึ่ง ๆ" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "การดาวน์โหลดหนึ่งๆ:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "รวมการอัพโหลดทั้งหมด:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "ใช้ความเร็วสูงสุดสำหรับทุกไฟล์" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "รวมการดาวน์โหลดทั้งหมด:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "การแจ้งเตือน" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "เปิดการกระพริบถาดไอคอน:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "เปิดการกระพริบแถบงาน:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "เปิดเสียงบี๊บ:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "เปิดใช้ถามไอคอนของระบบ" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "ข้อความที่ถูกเน้น" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "ข้อความที่ถูกเน้นเป็นสิ่งที่ชื่อเล่นของคุณกล่าวถึง, ยิ่งกว่านั้น:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "คำพิเศษสำหรับเน้น:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "ไม่เน้นชื่อเล่น:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "ชื่อเล่นสำหรับเน้นเสมอ:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "ข้อความมาตรฐาน" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "ออก:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "ออกจากแชนแนล:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "ไม่อยู่:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "ไม่อยู่" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "แสดงสถานะไม่อยู่ครั้งเดียว" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "แสดงข้อความไม่อยู่อย่างเดียวกันเพียงครั้งเดียว" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "เลิกทำเครื่องหมายว่าไม่อยู่โดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "เลิกการอยู่ในสถานะที่ไม่อยู่ก่อนที่จะส่งข้อความ" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "แสดงโหมดในรูปแบบข้อมูลดิบ" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "ส่งข้อความ /WHOIS เวลาที่คนที่อยู่ในรายชื่อแจ้งเตือนได้ออนไลน์" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "ซ่อนแชนแนลเข้าร่วม/ส่วนข้อความ" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "ซ่อนข้อความจากการที่เข้าร่วมหรือออกห้องสนทนาโดยอัตโนมัติ" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "แสดงรายการในโหมดคอมแพ็กต์" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "ใช้ช่องว่างน้อยกว่าระหว่างรายการผู้สนทนา/รายการห้องสนทนา" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "เวลาหน่วงในการเชื่อมต่ออีกครั้งอัตโนมัติ:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "การบันทึกของระบบ" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "เส้นเลื่อนกลับ:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "ชื่อไฟล์บันทึกระบบ:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=เซิร์ฟเวอร์ %c=แชนแนล %n=เครือข่าย." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "ใส่กี่ประทับเวลาในบันทึกระบบ" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "รูปแบบประทับเวลาของบันทึกระบบ:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(ปิดการทำงาน)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "ที่อยู่ของคุณ" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "ผูกติดไปเป็น:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "มีประโยชน์กับคอมพิวเตอร์ที่มีหลายที่อยู่เท่านั้น" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "รับที่อยู่ของฉันจากเซิร์ฟเวอร์ IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "ร้องขอเซิร์ฟเวอร์ IRC ด้วยที่อยู่จริงของคุณ. ใช้นี่ถ้าคุณมีที่อยู่เป็น 192.168.*.* !" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "ที่อยู่ไปพีของ DDC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "อ้างถึงคุณด้วยที่อยู่นี้เมื่อทำการเสนอไฟล์." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!ปล่อยพอร์ตไว้ที่ศูนย์สำหรับขอบเขตทั้งหมด." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "เซิร์ฟเวอร์พร็อกซี่" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "ชื่อโฮต์:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "พอร์ต:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "ชนิด:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "ใช้พร็อกซี่สำหรับ:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "การรับรองพร็อกซี่" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "ชื่อผู้ใช้:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "เลือกไฟล์ภาพ" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "เลือกโฟลเดอร์ดาวน์โหลด" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "เลือกฟอนต์" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "มองหา..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "เปิดโฟลเดอร์ข้อมูล" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "เลือกสี" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "สีข้อความ" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "สี mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "สีท้องถิ่น:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "พื้นหน้า:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "พื้นหลัง:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "ส่วนเชื่อมต่อผู้ใช้" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "ข้อมูลใหม่" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "เส้นสัญลักษณ์:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "ข้อความใหม่" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "ผู้ใช้ที่ไม่อยู่" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "การเน้น:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "เหตุการณ์" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "ไฟล์เสียง" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "เลือกไฟล์เสียง" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "ไฟล์เสียง" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "มอ_งหา..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "เล่_น" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "ส่วนเชื่อมต่อผู้ใช้" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "กล่องรับข้อมูล" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "รายการผู้ใช้" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "สวิตช์เปลี่ยนแชนแนล" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "สี" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "การคุยเล่น" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "ขั้นสูง" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "ตั้งค่าเครือข่าย" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "การส่งไฟล์" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "หมวดหมู่" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "คุณไม่สามารถวางแผนภูมิต้นไม้บนส่วนบนหรือส่วนล่าง!\nกรุณาเปลี่ยนเป็นแผนผังแบบ <b>แท็บ</b> ในเมนู <b>มุมมอง</b> เป็นอันดับแรก." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "การตั้งค่าบางอย่างที่ถูกเปลี่ยน ต้องการที่จะเริ่มใหม่เพื่อให้เป็นผล." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*คำเตือน*\nการรับ DCC อัตโนมัติไปยังไดเร็กทอรีบ้านของคุณ\nอาจจะอันตรายและสร้างความเสียหายได้. เช่น:\nบางคนอาจจะสามารถส่ง .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "มีข้อผิดพลากในการวิเคราะห์สตริง" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "สัญญาณนี้ต้องส่ง %d อาร์กิวเมนต์เท่านั้น, $%d ไม่ถูกต้อง" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "พิมพ์ไฟล์ข้อความ" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ ตัวเลข" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "แก้ไขเหตุการณ์" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "โหลดจาก..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "ทดสอบทั้งหมด" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "ล้างรายการ" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "คัดลอก URL ที่เลือก" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "คัดลอก" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "บันทึกรายการเป็นไฟล์" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d ทั้งหมด" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "เปิด URL irc://เซิร์ฟเวอร์:พอร์ต/แชนแนล" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000000000000000000000000000000000000..8bb927e4c50f415ff4e914f2eff897e5a22860cc --- /dev/null +++ b/po/tr.po @@ -0,0 +1,6275 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# atekinalp <alper.tekinalp@gmail.com>, 2017 +# atekinalp <alper.tekinalp@gmail.com>, 2017 +# tarakbumba <tarakbumba@gmail.com>, 2014 +# Demiray Muhterem <mdemiray@msn.com>, 2014,2018 +# Demiray Muhterem <mdemiray@msn.com>, 2014,2018 +# Erdoğan Şahin, 2016-2017 +# Erdoğan Şahin, 2017 +# Erdoğan Şahin, 2017 +# Erdoğan Şahin, 2017 +# Erdoğan Şahin, 2016 +# ifthenelse <ifthenelse@gmx.com>, 2013 +# ifthenelse <ifthenelse@gmx.com>, 2013 +# Kerem Kuralay, 2017 +# Kerem Kuralay, 2017 +# osmanos <osman.erkan@yandex.com>, 2014 +# osmanos <osman.erkan@yandex.com>, 2014 +# zeugma <sunder67@hotmail.com>, 2015 +# tarakbumba <tarakbumba@gmail.com>, 2014,2017 +# TingPing <tingping@tingping.se>, 2014,2018 +# TingPing <tingping@tingping.se>, 2014 +# 3494efdfe99795dce7df1bfa0b737fa2, 2013,2016 +# zeugma <sunder67@hotmail.com>, 2015 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-11-03 08:11+0000\n" +"Last-Translator: Demiray Muhterem <mdemiray@msn.com>\n" +"Language-Team: Turkish (http://www.transifex.com/hexchat/hexchat/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC İstemcisi" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat kullanımı kolay ve işlevleri arttırılabilir bir IRC İstemcisidir. Kişiselleştirilebilir bir arayüz kullanarak birden fazla ağa güvenli şekilde bağlanmanızı ve kullanıcılarla özel olarak veya kanallar üzerinde sohbet etmenizi sağlar. Hatta dosya aktarımı da yapabilirsiniz." + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat şu özellikleri destekler: DCC, SASL, vekil sunucular, yazım denetimi, alarmlar, günlük kaydı, kişisel temalar ve Python/Perl betikleri." + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "Ana Sohbet Penceresi" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "Başka insanlarla çevrimiçi sohbet edin" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;Sohbet;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "Güvenli Kipi Aç" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat Tema Yöneticisi" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Meşgulüm" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Çıkılıyor" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "KAPALI" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "AÇIK" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{unset}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Ağ" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<none>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kanal" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Bekliyor" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Etkin" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Başarısız" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Tamam" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Bağlan" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Durduruldu" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "%s erişilemiyor\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Hata" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s, \"%s\" öneriyor. Kabul etmek istiyor musunuz?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Etkin DCC yok\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_İleti Penceresi Aç" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Bir Dosya Gönder" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Kullanıcı Bilgisi (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Arkadaş Listesine Ekle" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "_Yoksay" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "O_perator Eylemleri" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Oplar Ver" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Oplar Al" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Ses Ver" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Ses Al" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Tekmele/Yasakla" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Kick" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Ban" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "KickBan" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Kanaldan Ayrıl" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Kanala Gir..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Giriş yapılacak kanalı ekle:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Sunucu Bağlantıları" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Sunucuyu Pingle" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Sürümü Gizle" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Op" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "DeOp" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "hoşçakal" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "%s kullanıcısını kicklemek için sebep gir:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "Dosya Gönder" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "İleti" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Gönder" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Sohbet" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Temizle" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "%s üzerine yazma yetkiniz yok. Bu oturumdan hiç bir şey kaydedilemez." + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* IRC'yi root olarak çalıştırmak aptalca!\n Bir kullanıcı hesabı oluşturup giriş yapmak için kullanmalısın.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "EVET" + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "HAYIR" + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "%s tarafından CTCP yağmuruna tutuluyorsunuz, %s yoksayılıyor\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "%s tarafından MSG yağmuruna tutuluyorsunuz, gui_autoopen_dialog KAPALI olarak ayarlanıyor.\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "%s olarak çözüldü" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "Bulunamadı" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "Şu olarak çözüldü:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "%s çözümleniyor..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s çevrimiçi\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s çevrimdışı\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Hiçbir kanala girilmedi. /join #<kanal> deneyin\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Bağlı değil. /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "Sunucu %s zaten %s ağı üzerinde var.\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "Sunucu %s ağ %s'e eklendi.\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Zaten işaretlendi: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Zaten geri işaretlendi.\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Çalıştırmak için /bin/sh gerekiyor!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Mevcut Komutlar:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Kullanıcı tanımlı komutlar:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Eklenti tanımlı komutlar:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Daha fazla bilgi için /HELP <komut> veya /HELP -l yazın." + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Bilinmeyen argüman '%s' yok sayıldı." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "Sessizlik (quiet) bu sunucu tarafından desteklenmiyor." + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Böyle bir eklenti bulunamadı.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Bu eklenti kaldırmayı reddetti.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <isim> <eylem>, kullanıcı listesinin altına bir düğme ekler" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <YeniAğ> <yenisunucu/6667>, ağ listesine yeni bir sunucu ile yeni bir ağ ekler" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <komut>, bulunduğunuz tüm kanallara bir komut gönderiyor" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <komut>, mevcut sunucudaki tüm kanallara bir komut gönderir" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <komut>, bulunduğunuz tüm sunuculara bir komut gönderir" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<sebep>], sizi uzak olarak ayarlar (ayarı kaldırmak için /BACK kullanın)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, seni geri getirir (uzağa değil)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<yasaktipi>], mevcut kanaldaki maskeyle eşleşen herkesi yasaklar. Zaten kanalda olanlar tekmelenmez (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <değişken> [<değer>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<kodlama>], geçerli bağlantı için kullanılan kodlamayı alır veya ayarlar" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<miktar>], Geçerli metin penceresini veya komut geçmişini temizler" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE [-m], Geçerli sekmeyi kapatır, tek açık sekme ise pencereyi kapatır veya \"-m\" bayrağı ile tüm sorguları kapatır." + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <kod|joker>, bir ülke kodu bulur, örneğin: au = avustralya" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <rumuz> <ileti>, CTCP iletisini rumuza gönderir, genel mesajlar VERSION ve USERINFO'dur" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kanal>], geçerli veya verilen kanaldan kopar ve hemen yeniden katılır" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <takmaad> - önerilen bir dosyayı kabul et\nDCC SEND [-maxcps=#] <takmaad> [dosya] - birine bir dosya gönder\nDCC PSEND [-maxcps=#] <takmaad> [dosya] - pasif kip kullanarak bir dosya gönder\nDCC LIST - DCC listesini göster\nDCC CHAT <takmaad> - birine DCC SOHBETi öner\nDCC PCHAT <takmaad> - pasif kip kullanarak birine DCC SOHBETi öner\nDCC CLOSE <tip> <takmaad> <dosya> örnek:\n /dcc close send alpert file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <rumuz>, mevcut kanaldaki rumuzdan chanhalf-op durumunu kaldırır (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <isim>, kullanıcı listesinin altındaki bir düğmeyi siler" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <rumuz>, mevcut kanaldaki rumuzdan chanop durumunu kaldırır (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <rumuz>, mevcut kanaldaki rumuzdan ses durumunu kaldırır (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, Sunucudan ayrılır" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <rumuz|host|ip>, Bir IP veya ana makine adını çözümler" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "DOAT <kanal,liste,/ağ> <command>" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <metin>, Metni yerel olarak basar" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <komut>, komutu çalıştırır. -o bayrağı kullanılırsa çıkış geçerli kanala gönderilir, yoksa geçerli metin kutusuna yazdırılır" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, sürece SIGCONT gönderir" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], geçerli oturumda çalışan bir exec'i öldürür. -9 verilirse sürece SIGKILL gönderilir" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, sürece SIGSTOP gönderir" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, verileri sürecin standart girdisine gönderir" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, HexChat ayarlarını dışa aktarır" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, geçerli sunucunun gönderim kuyruğunu temizler" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>], bir sunucu aracılığıyla vekiller, port varsayılan olarak 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <rumuz> [parola], Hayalet bir rumuzu öldürür" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <rumuz>, rumuza chanhalf-op statüsünü verir (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <parola>, kendinizi nickserv'e tanımlar" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <tipler..> <seçenekler..>\n mask - yoksayılacak makine maskesi, örn: *!*@*.aol.com\n tipler - yoksayılacak veri tipleri, şunlardan biri veya tamamı:\n PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n seçenekler - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <rumuz> [<kanal>], birisini bir kanala çağırır, varsayılan olarak geçerli kanal (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kanal>, kanala katılır" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <rumuz> [sebep], rumuzu geçerli kanaldan tekmeler (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <rumuz> [sebep], yasaklar, sonra rumuzu mevcut kanaldan tekmeler (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, yeni bir gecikme kontrolü yapmaya zorlar" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <string>, tamponda bir karakter dizisini arar\n Bulunan karakter dizisini vurgulamak için -h kullan\n Büyük/küçük karakter duyarlı eşleşme için -m kullan\n Karakter dizisi bir Düzenli İfade olduğunda -r kullan\n '-r' gibi bir karakter dizisi araken seçenekleri sonlandırmak için -- (iki tire) kullan." + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <dosya>, bir eklenti veya betik dosyası yükler" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, Mevcut kanaldaki tüm chanhalf-ops'ları toplu olarak deop'lar (chanop'a ihtiyaç duyuyor)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, Mevcut kanaldaki tüm chanops'ları toplu olarak deop'lar (chanop'a ihtiyaç duyuyor)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <eylem>, eylemi geçerli kanala gönderir (eylemler 3. şahsa yazılır, örneğin /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "MHOP, Mevcut kanaldaki tüm kullanıcıları toplu olarak hop'lar (chanop'a ihtiyacı var)" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, Sizin dışındaki herkesi geçerli kanaldan toplu olarak tekmeler (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, Mevcut kanaldaki tüm kullanıcıları toplu olarak op'lar (chanop'a ihtiyacı var)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <rumuz> <mesaj>, özel bir ileti gönder, son takma ada göndermek için \".\" mesajla veya dcc sohbeti için \"= \" ile ön ekle" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [kanal], Kanaldaki rumuzları listeler" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <rumuz> <mesaj>, bir CTCP bildirimi gönderir" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <anamakineadı> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <rumuz>, rumuzunuzu belirler" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <rumuz/kanal><ileti>, bir bildirim gönderir" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n ağ1 [, ağ2, ...]] [<rumuz>], bildirim listenizi görüntüler veya ona birisini ekler" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <rumuz>, rumuza chanop durumu verir (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "BÖLÜM [<kanal>] [<neden>], kanaldan ayrıl, varsayılan olarak mevcut kanaldan" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <rumuz | kanal>, CTCP rumuz veya kanalı ping'ler" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <rumuz> [mesaj], birine yeni bir özel mesaj penceresi açar ve isteğe bağlı olarak bir mesaj gönderir" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <mask> [<quiettype>], sunucu tarafından destekleniyorsa mevcut kanaldaki mask ile eşleşen herkesi sessizleştirir." + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<sebep>], geçerli sunucudan bağlantıyı keser" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <metin>, metni ham formda sunucuya gönderir" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<parola>], Sadece şu anki sunucuya yeniden bağlanmak için /RECONNECT olarak çağırılabilir veya açık tüm sunuculara yeniden bağlanmak için /RECONNECT ALL ile çağrılabilir" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>], Sadece geçerli sunucuya tekrar bağlamak için /RECONNECT olarak veya tüm açık sunuculara yeniden bağlanmak için /RECONNECT ALL olarak çağrılabilir" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <metin>, Ham verileri HexChat'e gönderir, sanki IRC sunucusundan alınmış gibi" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <isim>, bir eklenti veya betik dosyası yeniden yükler" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <metin>, metni geçerli penceredeki nesneye gönderir" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <rumuz> [<dosya>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <kanal>, bir kanala bağlanır ve katılır" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <kanal>, bir kanala bağlanır ve katılır" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <host> [<port>] [<parola>], bir sunucuya bağlanır, normal bağlantılar için varsayılan port 6667 ve ssl bağlantıları için 6697 olur" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<parola>], bir sunucuya bağlanır, varsayılan bağlantı noktası 6667'dir" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <değişken> [<değer>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+] <konum>, imleci girdi kutusunda yeniden konumlandırın" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <yeni isim>, bir sekmenin adını değiştir, tab_trunc sınırı yine de geçerlidir" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <yeni metin>, giriş kutusundaki metni değiştir" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<konu>], konuyu verilirse ayarlar, yoksa geçerli konuyu gösterir" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <zamanaşımı> <dosya1> [<dosya2>] İki simge arasında yanıp sön.\nTRAY -f <dosyaadı> Tepsiyi sabit bir simgeye ayarla.\nTRAY -i <sayı> Tepsiyi dahili bir simge ile yakıp söndür.\nTRAY -t <metin> Tepsi ipuöunu ayarla.\nTRAY -b <başlık> <metin> Tepsi balonunu ayarla." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask> ...], belirtilen maskların yasağını kaldırır." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [SESSİZ]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <isim>, bir eklenti veya betik dosyasını kaldırır" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <mask> [<mask> ...], sunucu tarafından destekleniyorsa, belirtilen maskların sessizliğini kaldırır." + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, tarayıcınızda bir URL açar" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <rumuz1> <rumuz2> vs, kanal kullanıcı listesindeki rumuzları vurgular" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <rumuz>, birisine ses durumu verir (chanop'a ihtiyaç duyar)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <mesaj>, mesajı tüm kanallara yazar" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>, iletiyi geçerli kanaldaki tüm chanop'lara gönderir" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "Şunun için kullanıcı Komutu: %s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Kullanım: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nBu komutta yardım yok.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Böyle bir komut yok.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Kullanıcı komutu için hatalı bağımsız değişkenler.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Çok fazla özyinelemeli kullanıcı komutu, iptal ediliyor." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "Bilinmeyen Komut %s. /help dene\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "hexchat_plugin_init sembolü yok; bu gerçekten bir HexChat eklentisi mi?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*tident isteğini %s'den %s olarak sunuyor" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\tidentd sunucusunu başlatırken hata: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <port> <kullanıcıadı>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "Zamanlayıcı %d silindi.\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "Böyle bir ref numarası bulunamadı.\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "Kurulu zamanlayıcı yok.\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "Ref# Saniye Tekrar Komut \n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Bunun SSL özellikli bir sunucu ve bağlantı noktası olduğundan emin misiniz?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Ana makine adı %s çözümlenemiyor\nIP Ayarlarınızı kontrol edin!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Vekil taraması başarısız.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "%s içindeki sonraki sunucuya geçiliyor...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Uyarı:\"%s\" karakter seti bilinmiyor. Ağ %s için hiçbir dönüşüm uygulanmayacak." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O bildirim listesine eklendi." + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O, %C24$4%O 'da %C26$3%O tarafından" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$tKatılamazsınız %C22$1 %O(%C20Yasaklandınız%O)." + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$tÖzellikler onaylandı: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$tÖzellikler kaldırıldı: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$tDesteklenen özellikler: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$tIstenen özellikler: %C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O artık bu şekilde biliniyor %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O şunu yasaklar %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$tKanal %C22$1%O şurada oluşturuldu %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O'dan kanal yarı operatör durumunu kaldırır" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O kanal operatörünün durumunu 'den kaldırır %C18$2%O" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O üzerinde sesi kaldırır" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O üzerinden sesi kaldırır" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O'e kanal yarı operatör durumunu verir" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C, %C18$2%O üzerinde davet muafiyetini ayarlar" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKanal Kullanıcılar Konu" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O, %C24$2$3%O kipi %C22$4%O kullanıcısı için ayarlandı" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O kipler: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O'e kanal operatör durumu verir" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O, %C18$2%O üzerinde sessiz ayarlar" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O %C18$2%O üzerindeki muafiyeti kaldırır" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O %C18$2%O üzerinde davet muafiyetini kaldırır" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O kanal anahtar kelimesini kaldırır" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O kullanıcı sınırını kaldırır" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O kanal anahtar kelimesini %C24$2%O e ayarlar" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O kanal sınırını %C24$2%O a ayarlar" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O %C18$2%O üzerinde yasağı kaldırır" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O %C18$2%O üzerinde sessizliği kaldırır" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$tKanal %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O %C18$2%O kullanıcısına konuşma izni verdi" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$tBağlı. Giriş yapılıyor." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$t%C29$1%C'e bağlanıyor (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$tBağlantı başarısız (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tBir CTCP %C24$1%C alındı,%C18$2%O'dan" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$tBir CTCP %C24$1%C alındı %C18$2%C'dan (%C22$3%C'a)%O" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$tBir CTCP Sesi %C24$1%C alındı %C18$2%O'dan" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$tBir CTCP Sesi %C24$1%C alındı %C18$2%C dan (%C22$3%O a)" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$tDCC CHAT %C18$1%O iptal edildi." + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$tDCC CHAT şurası ile bağlantı sağlandı %C18$1%C %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$tDCC CHAT %C18$1%O a kaybedildi (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$t%C18$1%O den bir DCC SOHBET isteği alındı" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$t%C18$1%O e DCC SOHBETi öneriliyor" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$t%C18$1%O e zaten SOHBET öneriliyor" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$t%C18$2%O e DCC $1 bağlantı denemesi başarısız (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$t%C23$1%C' alındı, %C18$2%O dan" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "%C16,17 Tip To/From Durum Boyut Kon Dosya" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$t%C18$1%O.$a010%C23*%O dan bozuk bir DCC isteği alındı$tPaket içeriği: %C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$tÖneriliyor '%C24$1%O', %C18$2%O a" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$tBöyle DCC teklifi yok." + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC RECV '%C23$2%O', %C18$1%O a iptal edildi." + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$tDCC RECV '%C23$1%O', %C18$3%O dan tamalandı %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC RECV bağlantısı sağlandı %C18$1 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$tDCC RECV '%C23$1%O', %C18$3%O dan başarısız (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$tDCC RECV: '%C23$1%C' yazma için açılamadı (%C20$2%O)" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$t%C24$1%C' dosyası zaten var, '%C23$2%O' olarak kaydediliyor." + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C, '%C23$2%C' için devam etmek istedi, %C24$3%O dan." + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$tDCC SEND '%C23$2%C', %C18$1%O a iptal edildi." + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$tDCC SEND '%C23$1%C',%C18$2%C a tamamlandı %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$tDCC GÖNDERME bağlantısı %C18$1 %C30[%O%C24$2%C30]%O ile sağlandı" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O$tDCC SEND '%C23$1%C', %C18$2%C a başarısız (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C öneriyor '%C23$2%C' (%C24$3%O bayt)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C', %C18$3%O a takıldı, iptal ediliyor." + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$tDCC $1 '%C23$2%C', %C18$3%O a zaman aşımına uğradı, iptal ediliyor." + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O uyarı listesinden silindi." + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$tBağlantı kesildi (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$tIP ni bul: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O yoksayma listesine eklendi." + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%O%C18$1%O üzerinde yoksayma değiştirildi." + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "%C16,17" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "%C16,17 Makineadı PRIV NOTI CHAN CTCP DCC INVI UNIG" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O yoksayma listesinden kaldırıldı." + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%OYok sayma listesi boş." + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$tKatılamadı %C22$1%C (%C20Kanala sadece davetiye ile girilir%O)" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$t%C22$1%O a %C18$2%O tarafından davet edildiniz (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) katıldı" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$tKatılamadı %C22$1%C (%C20Anahtar kelime gerektirir%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C, %C18$2%C i %C22$3%C dan tekmeledi (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19 %C26$1%C tarafından öldürüldünüz (%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD Atlandı%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C zaten kullanımda. %C18$2%O ile yeniden deneniyor..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C hatalı. %C18$2%O ile yeniden deneniyor..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$tTakma ad hatalı ya da zaten kullanımda. Başka bir tane için /NICK dene." + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$tBöyle bir DCC yok." + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$tŞu anda çalışan bir süreç yok" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$tUyarı: %C18$1%C uzakta (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$tUyarı: %C18$1%C geri döndü" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tBildirim listesi boş." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "%C16,17 Uyarı Listesi" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "%C23*%O$t%C23$1%O kullanıcı uyarı listesinde." + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$tUyarı: %C18$1%C çevrimdışı (%C29$3%O)" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$tUyarı: %C18$1%C çevrimiçi (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) ayrıldı" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) ayrıldı ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$t%C18$1%C den ping cevabı: %C24$2%O saniye" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$t%C24$1%O saniyedir ping cevabı yok, bağlantı kesiliyor." + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA süreci zaten çalışıyor" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 çıktı ($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C %C30[%C24$2%C30]%O kiplerini ayarladı" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$t%C18$1%O için IP adresi aranıyor..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$t%C18$1%O olarak SASL ile yetkilendiriliyor (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$tBağlı." + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$t%C29$1%O aranıyor" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$tÖnceki bağlantı girişimi durduruldu (%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$t%C22$1%C için konu: $2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C konuyu şuna değiştirdi: $2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$t%C22$1%C odası için konu %C26$2%C kullanıcısı tarafından ayarlandı (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$tBilinmeyen makine. Belki yanlış yazdın?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$t%C22$1%C e katılınamadı (%C20Kullanıcı sınırı aşıldı%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$t%C22$1%C da kullanıcılar: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C uzakta %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %OWHOIS listesi sonu." + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O boşta %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O boşta %C23$2%O, giriş: %C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O Gerçek Makine: %C23$2%O, Gerçek IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$tŞimdi %C22$2%O odasında konuşma iznin var" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$t%C22$2%C den %C26$3%O tarafından tekmelendiniz (%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$tKanal %C22$3%O dan ayrıldınız" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$tKanal %C22$3%C dan ayrıldınız (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$t%C18$1%O i %C22$2%O a davet ettiniz (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$tArtık %C18$2%O olarak biliniyorsunuz" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Günlük şuradan yüklendi" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** GÜNLÜKLEME %s de SONLANDIRILIYOR\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** GÜNLÜKLEME %s de BAŞLIYOR\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* Yazma için günlük dosyası(ları) açılamıyor.\n%s üzerindeki izinleri kontrol edin" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Sol mesaj" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Sağ mesaj" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP adresi" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Kullanıcı adı" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Katılan kişinin rumuzu" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Katılınan kanal" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Kişinin makine adresi" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "Kişinin hesabı" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Rumuz" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Eylem" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Kip karakteri" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Tanımlanan metin" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Metin" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Mesaj" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Sunucu Adı" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "Kabul Edilen Yetenekler" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "Kaldırılan Yetenekler" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "Sunucu Yetenekleri" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "İstenen Yetenekler" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Eski takma ad" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Yeni takma ad" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Konuyu değiştiren kişinin takma adı" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Konu" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Tekmeleyen kişinin takma adı" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Tekmelenen kişinin takma adı" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kanal" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Sebep" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Çıkan kişinin takma adı" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Zaman" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Yaratıcı" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Takma Ad" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Sebep" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Makine" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Kimden" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "x.x biçiminde zaman (aşağıya bakınız)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Gidecek olduğu Kanal" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Ses" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Kişinin takma adı" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP olayı" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Anahtarı ayarlayan kişinin takma adı" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Anahtar" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Sınırı belirleyen kişinin takma adı" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Sınır" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Op'layan kişinin takma adı" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Op'lanan kişinin takma adı" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Halfop'lanan kişinin takma adı" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Halfop'layan kişinin takma adı" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Ses'leyen kişinin takma adı" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Ses'lenen kişinin takma adı" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Yasaklayan kişinin takma adı" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Yasaklama maskesi" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "Sessizleyen kişinin takma adı" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "Sessizlik maskesi" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Anahtarı kaldıran kişinin takma adı" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Sınırı kaldıran kişinin takma adı" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "Deop'layan yapan kişinin takma adı" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Deop edilmiş kişinin takma adı" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "Dehalfop'u yapan kişinin takma adı" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Dehalfop'lanan kişinin takma adı" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "Devoice'ing yapan kişinin takma adı" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Devoice'lanan olan kişinin takma adı" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "Yasaklamayı kaldıran kişinin takma adı" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "Sessizliği kaldıran kişinin takma adı" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Muaf tutan kişinin takma adı" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Muaf maskesi" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Muafiyeti kaldıran kişinin takma adı" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Daveti yapan kişinin nicki" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Davet maskesi" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Daveti kaldıran kişinin takma adı" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Kipi ayarlayan kişinin takma adı" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Kip işareti (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Kip harfi" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Üzerinde ayarlanmış olan kanal" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Tam isim" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Kanal Üyeliği/\"bir IRC operatörüdür\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Sunucu Bilgileri" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Boşta kalma zamanı" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Giriş zamanı" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Uzakta olma sebebi" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Mesaj" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Hesap" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Gerçek kullanıcı@makine" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Gerçek IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Kanal Adı" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "Mekanizma" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "Ham Numerik veya Tanımlayıcı" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Metin" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Seni davet eden kişinin takma adı" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Kullanıcılar" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Kullanılan Takma ad" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Denenen kullanıcı adı" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Port" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Kipler karakter dizisi" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC Türü" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Dosya adı" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Hedef dosya adı" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Yol ismi" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Konum" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Boyut" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC Karakter Dizisi" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "Uzak olma Sebebi" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Bildirim ögelerinin sayısı" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Eski Dosya adı" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Yeni Dosya adı" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Alıcı" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Makine maskesi" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Makine Adı" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Paket" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Saniye" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Davet edilen kişinin rumuzu" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Yasak maskesi" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Yasaklayan" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Yasaklanma zamanı" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Ses dosyası okunamıyor:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Uzak ana makine soketi kapattı" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Bağlantı reddedildi" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Ana makineye bir rota yok" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Bağlantı zaman aşımı" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Bu adres atanamıyor" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Bağlantı eş tarafından sıfırlandı" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Ascension Adası" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andorra" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Birleşik Arap Emirlikleri" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "Havacılık ile İlgili Alanlar" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua ve Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Arnavutluk" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Ermenistan" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Hollanda Antilleri" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antartika" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Arjantin" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS'i Ters Çevir" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Amerikan Samoası" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "Asya-Pasifik Bölgesi" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Avusturya" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Nato Fiel" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Avustralya" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Aruba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Aland Adaları" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaycan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosna-Hersek" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Barbados" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladeş" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Belçika" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Burkina Faso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgaristan" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bahreyn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Burundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "İşletmeler" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermuda" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Brunei Darü's-Selam" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bolivya" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Brezilya" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamalar" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bhutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Bouvet Adası" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Botsvana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belarus" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Kanada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "Katalan" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Cocos Adaları" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Demokratik Kongo Cumhuriyeti" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Orta Afrika Cumhuriyeti" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Kongo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "İsviçre" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Fildişi Sahili" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Cook Adaları" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Şili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Kamerun" + +#: src/common/util.c:738 +msgid "China" +msgstr "Çin" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Kolombiya" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic Ticari" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "Kooperatifler" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Kosta Rika" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Sırbistan ve Karadağ" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Küba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Yeşil Burun Adaları" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Christmas Adası" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Kıbrıs" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Çek Cumhuriyeti" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "Doğu Almanya" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Almanya" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Cibuti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Danimarka" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominika" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Dominik Cumhuriyeti" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Cezayir" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ekvador" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Eğitim Kurumu" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estonya" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Mısır" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Batı Sahra" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritre" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "İspanya" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiyopya" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Avrupa Birliği" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlandiya" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fiji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Falkland Adaları" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mikronezya" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Faroe Adaları" + +#: src/common/util.c:770 +msgid "France" +msgstr "Fransa" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Büyük Britanya" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenada" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gürcistan" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Fransız Guyanası" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Manş Adaları" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Cebelitarık" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Grönland" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambiya" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Gine" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Hükümet" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Guadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ekvator Ginesi" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Yunanistan" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Güney Georgia ve Güney Sandwich Adaları" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Guatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Guam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Gine-Bissau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard Adası ve McDonald Adaları" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Hırvatistan" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Haiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Macaristan" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Endonezya" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "İrlanda" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "İsrail" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Man Adası" + +#: src/common/util.c:801 +msgid "India" +msgstr "Hindistan" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Bilgi niteliğinde" + +#: src/common/util.c:803 +msgid "International" +msgstr "Uluslararası" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Britanya Hint Okyanusu Toprakları" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "İran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "İzlanda" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "İtalya" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Jersey" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Jamaika" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Ürdün" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "Şirket İşleri" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Japonya" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenya" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kırgızistan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Kamboçya" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Komorlar" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Saint Kitts ve Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Kuzey Kore" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Güney Kore" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuveyt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Cayman Adaları" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazakistan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Laos" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Lübnan" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Saint Lucia" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lihtenştayn" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberya" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lesotho" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litvanya" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lüksemburg" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letonya" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libya" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Fas" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monako" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "Karadağ" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Amerika Birleşik Devletleri Tıbbi" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagaskar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Marşal Adaları" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Ordu" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Makedonya" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Myanmar" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Moğolistan" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Makao" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "Mobil Cihazlar" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Kuzey Mariana Adaları" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinik" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Moritanya" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Malta" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mauritus" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "Müzeler" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldivler" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Meksika" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malezya" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambik" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibya" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "Bireyin İsimleri" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Yeni Kaledonya" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nijer" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic Ağ" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Norfolk Adası" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nijerya" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nikaragua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Hollanda" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norveç" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nauru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niue" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Yeni Zelanda" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Umman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic Kâr Amacı Gütmeyen Kuruluş" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Peru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Fransız Polinezyası" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papua Yeni Gine" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipinler" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Polonya" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Aziz Pierre ve Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Riko" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "Uzmanlıklar" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Filistin Bölgesi" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portekiz" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paraguay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Yeniden Birleşme" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Romanya" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Eski Tarz ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "Sırbistan" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rusya Federasyonu" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ruanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Suudi Arabistan" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Solomon Adaları" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seyşeller" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Sudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "İsveç" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapur" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "St. Helena" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Slovenya" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard ve Jan Mayen Adaları" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Slovakya" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Sierra Leone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "San Marino" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegal" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somali" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Surinam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "Güney Sudan" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Sao Tome ve Principe" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Eski SSCB" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Suriye" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Svaziland" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Turks ve Caicos Adaları" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Çad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "İnternet İletişim Hizmetleri" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Fransız Güney Bölgesi" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Tayland" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tacikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "Tokelau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Doğu Timor" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Türkmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunus" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Türkiye" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "Gezi ve Turizm" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinidad ve Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tuvalu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Tayvan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzanya" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Ukrayna" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Uganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Birleşik Krallık" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Amerika Birleşik Devletleri" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Uruguay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Özbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatikan Şehir Devleti" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Vincent ve Grenadinler" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezuela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "İngiliz Virgin Adaları" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "ABD Virgin Adaları" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanuatu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Wallis ve Futuna Adaları" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samoa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "Yetişkinlere Yönelik Eğlence" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayotte" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yugoslavya" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Güney Afrika" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambiya" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabve" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Oturum veri yoluna bağlanılamadı" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "NameHasOwner'ı tamamlanamadı" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Komut tamamlanamadı" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "uzaktan erişim" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "DBUS kullanarak uzaktan erişim için eklenti" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Oturum veri yoluna bağlanılamadı: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "%s edinilemedi: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Karakter Tablosu" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Yasaklar" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "Muaflar" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "Muaf" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "Davetler" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Davet et" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "Sessizler" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "Sessiz" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "Maske kopyala" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s %s tarafından %s de" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "Girdi kopyala" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Bağlı değil." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Bazı yasakları seçmelisiniz." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "%s içindeki listelenen tüm ögeleri kaldırmak istediğinizden emin misiniz?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "Tür" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Maske" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Nereden" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Tarih" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Yalnızca kanal sekmesindeyken Yasak Listesi penceresini açabilirsiniz." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Yasak Listesi (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Sil" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Kes" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Yenile" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "%d/%d kullanıcı %d/%d kanalda görüntüleniyor." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Bir çıktı dosyası adı seçin" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Kanala Katıl" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "Kanal _Adını Kopyala" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Konu _Metinini Kopyala" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Kanal Listesi (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Arama" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_İndirme Listesi" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_Listeyi Kaydet..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Sadece şunları göster:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kanallar" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "a" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "kullanıcılar." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Buraya bak:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Kanal adı" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Arama türü:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Basit Arama" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Desen Eşleşmesi (Joker Karakterler)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Düzenli İfade" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Bul:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "%s'a dosya gönder" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Bu dosya devam ettirilemez." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Dosyaya erişilemiyor: %s\n%s\nDevam edilemez." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "İndirme dizinindeki dosya sunulan dosyadan daha büyük. Devam etmek mümkün değil." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Aynı dosya iki kişi tarafından devam ettirilemez." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Yüklemeler ve İndirmeler - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Durum" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Dosya" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Tahmini Kalan Süre" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Her ikisi de" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Yüklemeler" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "İndirmeler" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Ayrıntılar" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Dosya:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Adres:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "İptal Et" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Kabul et" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Devam et" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Klasörü Aç..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC Sohbet Listesi - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Alınan" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Gönderilen" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Başlama Zamanı" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "Ekle" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Sil" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "İptal" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Kaydet" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Sunuculara otomatik olarak bağlanma" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Farklı bir yapılandırma dizini kullan" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Herhangi bir eklentiyi otomatik olarak yükleme" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "Eklenti/betik dosyası otomatik yükleme dizinini göster" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Kullanıcı yapılandırma dizini göster" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "irc://server:port/channel?key URL'ini aç" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Komutu çalıştır:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "Varolan bir HexChat'de URL aç veya komut çalıştır" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Küçültülmeye başlayın. Seviye 0=Normal 1=Simge 2=Tepsi" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "seviye" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Sürüm bilgisini göster" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Yazı tipi açılamadı:\\:n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Arama tampon bellekleri boş.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d bayt" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Ağ gönderme kuyruğu: %d bayt" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "Komutu Çalıştır eylemi, Veri 1'deki verileri, tuş dizisine bastığınız giriş kutusuna yazılmış gibi çalıştırır. Böylece, metin (kanal/kişiye gönderilecek), komutlar veya kullanıcı komutlarını içerebilir. Verilerdeki tüm \\n karakterleri çalıştırdığınızda, ayrı komutları birbirinden ayırmak için kullanılır; böylece birden fazla komut çalıştırmak mümkündür. Çalışan gerçek metin de bir \\ kullanmak istiyorsanız, \\\\ girin" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "Sayfayı Değiştir komutu not defterindeki sayfalar arasında geçiş yapar. Veri 1'i, geçiş yapmak istediğiniz sayfaya ayarlayın. Veri 2 herhangi bir şeye ayarlanırsa, geçiş mevcut konuma göre olacaktır. En güncel ve önemli etkinliğe sahip olan sayfaya geçmek için Veri 1'i otomatik olarak ayarlayın (önce sorgular, ardından vurgulanan kanallar, diyaloğu olan kanallar, diğer verilerle kanallar)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Arabelleğe Ekle komutu, Veri 1'in içeriğini, geçerli imleç konumunda tuş sırasının basıldığı girdiye yerleştirecektir" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "Sayfa Kaydırma komutu, metin parçacıklarını bir sayfa veya bir satır yukarı veya aşağı doğru kaydırır. Veri 1'i Üst, Alt, Yukarı, Aşağı, +1 veya -1 değerlerine ayarlayın." + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Tampon Ayarla komutu, anahtar dizisinin girildiği girdiyi Veri 1 içeriğine ayarlar" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Son Komut komutu girdiyi, girilen son komutu içerecek şekilde ayarlar - bir kabuğa basılmasıyla aynıdır" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Sonraki Komut komutu girdiyi, girilen sonraki komutu içerecek şekilde ayarlar - bir kabukta aşağı basma ile aynı" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Bu komut, eksik bir takma ad veya komutu tamamlamak için girişteki metni değiştirir. Veri 1 ayarlanırsa, bir dizedeki çift tab, sonraki takma adı değil son takma adı seçecektir" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Bu komut, takma adlar listesinde yukarı ve aşağı kayar. Veri 1 herhangi bir şeye ayarlanırsa, yukarı doğru kaydırılır, yoksa aşağı kaydırır" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Bu komut, girişte girilen son kelimeyi değiştirme listesine karşı kontrol eder ve bir eşleşme bulursa onu değiştirir" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Bu komut, ön sekmeyi bir sola doğru hareket ettirir" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Bu komut, ön sekmeyi bir sağa doğru hareket ettirir" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Bu komut geçerli sekme ailesini sola taşır" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Bu komut, geçerli sekme ailesini sağa taşır" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Girdi satırını geçmişe it ancak sunucuya göndermeyin" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Tuş bağları yapılandırması yüklenirken bir hata oluştu" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "Eylem hakkında yardım bilgisi almak için bir satır seçin." + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Klavye Kısayolları - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Bu dosya yazılamıyor." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Bu dosya okunamıyor." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Bu maske zaten var." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Özel" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Bildiri" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Yoksayma" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "Tüm yoksaymaları kaldırmak istediğinizden emin misiniz?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Yoksaymak için maske girin:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Yoksayma listesi - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Yoksayma İstatistikleri:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kanal:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Özel:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Not:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Davet Et:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Ekle..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Kanal adı çok kısa, tekrar deneyin." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Bağlantı Tamamlandı - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "%s'e bağlantı tamamlandı." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "Sunucu listesi penceresinde, bu ağ için otomatik olarak katılmak için hiç kanal (sohbet odası) yok." + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Daha sonra ne yapmak istersiniz?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Hiçbir şey, bir kanala daha sonra katılacağım." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Bu kanala katılın:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Katılmak istediğiniz kanalın adını biliyorsanız buraya girin." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "Ka_nal listesini aç." + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "Kanal listesini almak bir veya iki dakika alabilir." + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Bu pencereyi bağladıktan sonra daima göster." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "İletişim kutusu" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s için konu: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Konu ayarlanmadı" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Bu sunucu hala %d kanal veya onunla ilişkili diyaloglara sahip. Hepsi kapatılsın mı?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "HexChat'ten çıkılsın mı?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Bir daha sorma." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "%i IRC ağlarına bağlısınız." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Çıkmak istediğinizden emin misiniz?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Bazı dosya aktarmaları hala etkin." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Sistem çekmecesine küçült" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Özellik veya Renk Kodu Ekle" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Kalın</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Altı Çizili</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>İtalik</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Normal" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Renkler 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Renkler 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_Ayarlar" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "_Diske Günlükle" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "Geçmişi Ge_ri Yükle" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "_Renkleri Ayır" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Katılma/Ayrılma İletilerini Gizle" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Ekstra Uyarılar" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "_İleti geldiğinde biple" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Sistem Çekmecesi Simgesini _Yankıp Söndür" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Görev Çu_buğunu Yakıp Söndür" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Ayır" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Kapat " + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Kullanıcı sınırı bir sayı olmalıdır!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "Filtre Renkleri" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Dışarı mesaj yok" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Konu Koruması" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Sadece Davet" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Denetlenen" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Yasaklama Listesi" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Anahtar kelime" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Kullanıcı Sınırı" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Yeni takma ad girin:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "Sonuç bulunamadı." + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "Arama sona geldi veya sonuç bulunamadı." + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "Tümünü _vurgula" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "Tüm tekrarları vurgulayın ve mevcutun altını çizin." + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "Eşleşme harf duyarlılığı" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "Büyük/küçük harf duyarlı bir arama yapın." + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "_Düzenli İfade" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "Arama dizesine düzenli bir ifade olarak davran." + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Makine bilinmiyor" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "Hesap bilinmiyor" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Bilinmeyen" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Gerçek İsim:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Kullanıcı: " + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "Hesap:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Ülke:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Sunucu:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u dakika önce" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Son İleti:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Dışarıda Mesajı:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d takma ad seçildi." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "Menü Çubuğu şimdi gizlendi. Ctrl+F9 tuşlarına basarak veya ana metin alanının boş bir bölümünü sağ tıklatarak tekrar gösterebilirsiniz." + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Bağlantıyı Tarayıcıda Aç" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Seçilen Bağlantıyı Kopyala" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Kanala Katıl" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Kanaldan Ayrıl" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Kanalda Dön" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "_Otokatılım" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "Kanala Otomatik Katıl" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "_Otomatik-Bağlan" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Kullanıcı Menüsü - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "Bu Menüyü Düzenle" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "İşaretçi satırı devre dışı." + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "İşaretçi satırı asla ayarlanmadı." + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "İşaretçi satırı elle sıfırlandı." + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "İşaretçi satırı sıfırlandı çünkü geçmiş sınırı aşıldı." + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "İşaretçi satırı CLEAR komutu ile sıfırlandı." + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "İşaretçi satırı durumu bilinmiyor." + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "Kanal listesini al" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr " eklenti desteği olmadan inşa edilmiştir." + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "Kullanıcı komutları - Özel kodlar:\n\n%c = mevcut kanal\n%e = mevcut ağ ismi\n%m = makine bilgisi\n%n = takma adın\n%t = zaman/tarih\n%v = HexChat sürümü\n%2 = kelime 2\n%3 = kelime 3\n&2 = kelime 2 den satır sonuna\n&3 = kelime 3 den satır sonuna\n\neg:\n/cmd alper merhaba\n\n%2 \"alper\" olur\n&2 \"alper merhaba\" olur." + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "Kullanıcı Listesi Düğmeleri - Özel kodlar:\n\n%a = tüm seçili takma adlar\n%c = mevcut kanall\n%e = mevcut ağ ismi\n%h = seçili takma adın makine adı\n%m = makine bilgisi\n%n = takma adın\n%s = seçili takma ad\n%t = zaman/tarih\n%u = seçili kullanıcıların hesabı" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "İletişim Penceresi Düğmeleri - Özel kodlar:\n\n%a = tüm seçili takma adlar\n%c = mevcut kanal\n%e = mevcut ağ ismi\n%h = seçili takma adın makine adı\n%m = makine bilgisi\n%n = takma adın\n%s = seçili takma ad\n%t = zaman/tarih\n%u = seçili kullanıcıların hesabı" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP Cevapları - Özel kodlar:\n\n%d = veri (tüm ctcp)\n%e = mevcut ağ ismi\n%m = makine bilgisi\n%s = ctcp gönderenin takma adı\n%t = zaman/tarih\n%2 = kelime 2\n%3 = kelime 3\n&2 = kelime 2 den satır sonuna\n&3 = kelime 3 ten satır sonuna\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL İşleyiciler - Özel kodlar:\n\n%s = URL karakter dizisi\n\nKomut başına bir ! koymak\nbunun HexChat yerine bir kabuğa\ngönderileceğini ifade eder" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Kullanıcı Tanımlı Komutlar - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "Kullanıcı listesi Açılır Pencere menüsü - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Yer Değiştir - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "İle değiştirin" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL İşleyiciler - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Kullanıcı Listesi Düğmeleri - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "İletişim Penceresi düğmeleri - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP Cevapları - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "He_xChat" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "Ağ Li_stesi" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Yeni" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "Sunucu Sekmesi" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "Kanal Sekmesi" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "Sunucu Penceresi" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "Kanal Penceresi" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "_Eklenti veya Betik Yükle" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "_Çık" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Görünüm" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_Menü Çubuğu" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Konu Çubuğu" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "_Kullanıcı Listesi" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "Kullanıcı Li_stesi Düğmeleri" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "K_ip Düğmeleri" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "_Kanal Değiştirici" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Sekmeler" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Ağ_aç" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "_Ağ Ölçerler" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Kapat" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Graph" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "_Tam ekran" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Sunucu" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Bağlantıyı kes" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Yeniden Bağlan" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "_Bir Kanala Katıl" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "Kanal _Listesi" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "Uz_akta olarak işaretlendi" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "K_ullanıcı Menüsü" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "A_yarlar" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Tercihler" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "Otomatik Yer Değiştir" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP Cevapları" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "İletişim Penceresi Düğmeleri" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "Klavye Kısayolları" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "Metin Olayları" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL İşleyiciler" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "Kullanıcı Komutları" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "Kullanıcı Listesi Düğmeleri" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "Kullanıcı Listesi Açılır Penceresi" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Pencere" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "_Yasak Listesi" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "Doğrudan Sohbet" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "Dosya Aktarımı" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "Arkadaş Listesi" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "Yoksayma Listesi" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "_Eklentiler ve Betikler" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "_Ham Günlük" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "_URL Yakalayıcı" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "İşaretçi Satırını Sıfırla" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "İşaretçi Satırına Taşı" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "_Seçimi Kopyala" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Metni Temiz_le" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "Metni Kaydet" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "Ara" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "Metin Ara" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "Sonraki Arama" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "Önceki Arama" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Yardım" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_İçindekiler" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "H_akkında" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Tuttur" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Ad" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Son Görülme" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Çevrimdışı" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Asla" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d dakika önce" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "Bir saat önce" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d saat önce" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Çevrimiçi" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Eklemek için takma ad girin:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Bu ağlarda uyarın:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Virgülle ayrılmış ağlar listesi kabul edildi." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "Arkadaş Listesi - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "İletişim Kutusunu Aç" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "Şu kişiden gelen vurgulanan ileti: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "Kanal mesajı: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "Şu adresten dosya teklifi: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "Şu kişi tarafından kanal davet edildi: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "Gelen bildirim: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "Gelen özel mesaj: %s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "%u ağ ve %u kanala bağlı - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "Pence_reyi Eski Boyutuna Getir" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "_Pencereyi Gizle" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Yanıp/sönme açık" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Kanal İletisi" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Özel ileti" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Vurgulanan İleti" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Durumu değiştir" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Uzakta" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Geri" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "Şuradan vurgulu ileti: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "%u vurgulu ileti, sonuncusu şuradan: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "Şuradan kanal iletisi: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "%u kanal iletisi. - %s" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Şundan özel ileti: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "%u özel ileti, sonuncusu şuradan: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Şuradan dosya teklifi: %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "%u dosya önerildi, sonuncusu şuradan: %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Sürüm" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Açıklama" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Yüklenecek bir Eklenti veya Betik seç" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Eklentiler ve Betikler - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Yükle..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "_Boşalt" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "_Tekrar Yükle" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Farklı Kaydet..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "Ham Günlük (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "Ham Günlüğü Temizle" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Yeni Ağ" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Ağ \"%s\" ve tüm sunucularını gerçekten kaldırmak istiyor musunuz?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "Kullanıcı adı boş bırakılamaz." + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "Boş bir takma ada sahip olamazsın." + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "İki farklı takma ismin olması gerekir." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "Kendinizi sunucuya tanımlama şekliniz. Özel giriş yöntemleri için bağlanma komutlarını kullanın." + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Düzenle %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "Sunucular" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "Otobağlanma kanalları" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "Bağlanma komutları" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=Takma ad\n%p=Parola\n%r=Gerçek isim\n%u=Kullanıcı ismi" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Anahtar (Parola)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Düzenle" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Yalnızca seçili sunucuya bağlan" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Bağlantı başarısız olduğunda tüm sunucuları dolaştırma." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "Bu ağa otomatik olarak bağlan" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "Vekil sunucuyu atla" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Bu ağ üzerindeki tüm sunucular için SSL kullan" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "Geçersiz SSL sertifikalarını kabul et" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Genel kullanıcı bilgilerini kullan" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "_Takma ad:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "İkinci seçim:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "Gerçe_k isim:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "K_ullanıcı ismi:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "Giriş yöntemi:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Şifre:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "Giriş için kullanılan parola. Şüpheniz varsa, boş bırakın." + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Karakter kümesi:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Ağ Listesi - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Kullanıcı Bilgisi" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Üçüncü seçenek:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Ağlar" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Başlangıçta şebeke listesini atla" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "Sadece favorileri göster" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Düzenle..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "_Sırala" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "Ağ listesini alfabetik sıraya göre sıralar. Bir satır taşımak için SHIFT-YUKARI ve SHIFT-AŞAĞI tuşlarını kullanın" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "_Beğeni" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "Bu ağı favori olarak işaretleyin veya işaretini kaldırın." + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "B_ağlan" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "Afrikanca" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Arnavutça" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "Amharca" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "Asturca" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerice" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "Baskça" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belarusça" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgarca" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "Çince (Basitleştirilmiş)" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "Çince (Geleneksel)" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "Çekçe" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "Danca" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "Flemenkçe" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "İngilizce (İngiliz)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "İngilizce" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estonya Dili" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "Fince" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "Fransızca" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "Galiçyaca" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "Almanca" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "Yunanca" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "Guceratça" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Hintçe" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "Macarca" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "Endonezce" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "İtalyanca" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "Japonca" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "Kannada Dili" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "Ruandaca" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "Korece" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "Letonca" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "Litvanyaca" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "Makedonca" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malayca" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "Malayalamca" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "Norveççe (Bokmal)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "Norveççe (Nynorsk)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "Lehçe" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "Portekizce" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "Portekizce (Brezilya)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "Pencapça" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "Rusça" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "Sırpça" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "Slovakça" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "Slovence" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "İspanyolca" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "İsveççe" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Tay Dili" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "Türkçe" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "Ukraynaca" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnamca" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "Valon Dili" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Genel" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "Dil:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "Ana yazı tipi:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Yazı Tipi:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "Metin Kutusu" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Renkli takma adlar" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "IRC'deki her bir kişiye farklı bir renk ver" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Takma adları girintile" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Takma adları sağa yaslı yap" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "İşaret çizgisini göster" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Son okunan metinden sonra kırmızı bir çizgi ekle." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Arkaplan Görseli:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Şeffaflık Ayarları" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "Pencere Saydamlığı:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "Zaman damgaları" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "Zaman damgalarını etkinleştir" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "Zaman damgası biçimi:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "Ayrıntılar için strftime MSDN makalesine bakın." + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "Ayrıntılar için strftime kılavuz sayfasına bakın." + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "Başlık Çubuğu" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "Kanal kiplerini göster" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "Kullanıcı sayısını göster" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Son konuşma emri" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "Giriş Kutusu" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "Metin kutusu yazı tipi ve renklerini kullan" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "Renkleri ve nitelikleri göster" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "Takma ad kutusunu göster" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "Kullanıcı kip simgesini takma ad kutusunda göster" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Yazım denetimi" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "Kullanılacak sözlükler:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "Dil kodlarını kullan (\"%LOCALAPPDATA%\\enchant\\myspell\\dicts\" gibi).\nBirden çok girdiyi virgülle ayırın." + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "Dil kodlarını kullan. Birden çok girişi virgülle ayır." + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Takma Ad Tamamlama" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Takma ad tamamlama son eki:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Takma ad tamamlama sıralı:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "Takma ad tamamlama miktarı:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "Tamamlama yerine listelenmeye başlayacak takma adların eşik değeri" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "takma adlar." + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "Grafiksel" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z, Ops birinci" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A, Ops sonuncu" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Sıralanmamış" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "Sol (Üst)" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "Left (Alt)" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "Sağ (Üst)" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "Sağ (Alt)" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Üst" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Alt" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Gizli" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Kullanıcı Listesi" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Kullanıcı listesinde ana makine adlarını göster" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Metin kutusu yazı tipi ve renklerini kullan" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "Kullanıcı kipleri için simgeleri göster" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "Kullanıcı listesinde metin sembolleri yerine grafik simgelerini kullan." + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "Kullanıcı listesindeki takma adları reklendir" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "Takma adları sohbetteki ile aynı renklendirecek." + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "Kanallarda kullanıcı sayısını göster" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Kullanıcı listesi sıralaması:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Kullanıcı listesini şurada göster:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "Uzakta İzleme" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "Kullanıcıların uzakta durumunu izle ve onları farklı bir renkle işaretle" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Şundan daha küçük kanallarda:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Çift Tıklama Eylemi" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "Ek Gadget'lar" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "Gecikme sayacı:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "Boğulma sayacı:" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Windows" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Sekmeler" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Daima" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Sadece talep edilen sekmeler" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "Otomatik" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "Ek bir sekmede" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "Ön sekmede" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Ağaç" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Değiştirici türü:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Sunucu mesajları için fazladan bir sekme aç" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Özel mesaj aldığında yeni bir sekme aç" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sekmeleri alfabetik sıraya göre sırala" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "Kanal ağacında simgeleri göster" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "Kanal ağacında noktalı çizgiler göster" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "Sekmeleri değiştirmek için fare tekerini kaydır" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "Sekmeyi kapatmak için orta tıkla" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Daha küçük metin" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Yeni sekmelere odaklanın:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "Uyarıların yerleştirilmesi:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Kanal değiştiriciyi şurada göster:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Sekme etiketlerini şuna kısaltın:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "harfler." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Sekmeler veya Pencereler" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Kanalları şurada aç:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Pencereleri şurada aç:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Programları şurada aç:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "DCC, Yoksayma, Bildirim vs.yi sekmelerde veya pencerelerde aç?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "Mesajlar" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "Geçmiş" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "Onay iste" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "İndirme klasörü iste" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "Etkileşim olmadan kaydet" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Dosyalar ve Dizinler" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Dosya teklifini otomatik kabul et:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Dosyaları şu adrese indirin:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Tamamlanan dosyaları şu adreslere taşıyın:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Takma adı dosya isimlerinde kaydet" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "DCC Penceresini Otomatik Aç" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Pencereyi gönder" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Pencereyi al" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Sohbet penceresi" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "Azami Dosya Aktarım Hızı (Saniyelik byte)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Bir yükleme:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Tek aktarım için maksimum hız" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Bir indirme:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Tüm yüklemeler birleştirildi:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Tüm dosyalar için maksimum hız" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Tüm indirmeler birleştirildi:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Uyarılar" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "Bildirimleri şurada göster:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Tepsi simgesini şunda yakıp/söndür:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Görev çubuğunu şunda yakıp/söndür: " + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Şunun için bir bip sesi çıkar:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "Seçilen etkinliklerde \"Anlık İleti Bildirimi\" sistem sesini çal" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "Seçilen etkinlikler üzerine freedesktop.org ses temasından \"message-new-instant\"ı çal" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "Seçilen etkinlikler üzerine bir GTK bip sesi çal" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "Uzakta olarak işaretlendiğinde uyarıları atla" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "Pencere odaklanmışken uyarıları atla" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "Sistem Çekmecesi Davranışı" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Sistem Çekmecesi simgesini etkinleştir" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "Sistem çekmecesine küçült" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "Sistem çekmesine kapat" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "Otomatik olarak uzakta/geri işaretle" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "Sistem çekmesine saklanırken durumu otomatik olarak değiştirin." + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "Bildirimleri yalnızca gizli veya ikonlaştırılmış iken göster" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Vurgulanan İletiler" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Vurgulanan iletiler, takma adınızın geçtiği yerlerdir, aynı zamanda:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Vurgulanacak fazladan kelimeler:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Vurgulanmayacak takma adlar:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Daima vurgulanacak takma adlar:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Birden fazla kelimeyi virgülle ayırın.\nJoker karakterler kabul edilir." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "Dock simgesini şu durumda zıplat:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Varsayılan İletiler" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Çık:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Çık:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Uzakta:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Uzakta" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Uzaktayı bir kez göster" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "Aynı uzakta iletilerini yalnızca bir kez göster." + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Otomatik olarak uzakta işaretini kaldır" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "Mesaj göndermeden önce uzaka işaretini kaldır." + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "Çeşitli" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "KİP'leri ham biçimde görüntüle" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "Bildirimde WHOIS" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "Bir kullanıcı bildirim listenizde çevrimiçi olduğunda bir /WHOIS gönderir." + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Katılma ve ayrılma iletilerini gizle" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "Kanal katılma/ayrılma iletilerini varsayılan olarak gizle." + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "Takma ad değişiklik mesajlarını gizle" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "Otomatik Kopyalama Davranışı" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "Seçili metni otomatik olarak kopyala" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "Sol fare düğmesi kaldırıldığında seçili metni panoya kopyala. Diğer türlü, Ctrl+Shift+C seçili metni kopyalayacak." + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "Zaman damgaların ı otomatik dahil et" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "Zaman damgalarını kopyalanan metin satırlarına otomatik olarak dahil et. Diğer türlü, zaman damgalarını Shift tuşu seçim sırasında basılı ise dahil et." + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "Renk bilgilerini otomatik olarak ekle" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "Renk bilgisini kopyalanan metin satırlarına otomatik olarak dahil et. Diğer türlü, renk bilgisini Ctrl tuşu seçim sırasında basılı ise dahil et." + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "Gerçek isim:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "Alternatif yazı tipleri:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "Birden fazla girişi önce veya sonra boşluk bırakmadan virgülle ayır." + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "Listeleri kompakt kipte göster" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "Kullanıcı listesi/kanal ağacı satırları arasında daha az boşluk kullan." + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "Destekleniyorsa sunucu saatini kullan" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "Zaman sunucusu uzantısını destekliyorsa, sunucudan alınan zaman damgalarını görüntüle." + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "Bağlantı kesildiğinde otomatik olarak sunuculara yeniden bağlan" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Otomatik yeniden bağlanma gecikmesi:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "Otomatik katılma gecikmesi:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "Yasak Tipi:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "Yasaklama ya da sessizleştirme sırasında bu ban maskesini kullanmaya çalış. (irc_who_join gerektirir)" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Günlük Tutma" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Önceki oturumdan geçmişi göster" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Geçmiş satırları:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Konuşmaları günlüklerini diske kaydetmeyi etkinleştir" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Günlük Dosya Adı:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Sunucu %c=Kanal %n=Ağ." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Günlüklere zaman damgalarını ekle" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Günlük zaman damgası biçimi:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL'ler" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "URL'leri günlüğünü diske kaydetmeyi etkinleştir" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "URL yakalamayı etkinleştir" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "Yakalanacak maksimum URL sayısı:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Devre dışı)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "Oto" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "Tüm bağlantılar" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "Sadece IRC sunucusu" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "Sadece DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Adresiniz" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Bağlan:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Yalnızca birden çok adresli bilgisayarlar için yararlıdır." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "Dosya Transferleri" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "IRC sunucusundan adresimi al" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "IRC sunucusuna gerçek adresini sorar. 192.168.*.* adresiniz varsa bunu kullanın!" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP adresi:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Dosyaları sunarken bu adreste olduğunuzu kanıtlayın." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "İlk DCC dinleme portu:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "Son DCC dinleme portu:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Tüm aralık için portları sıfır olarak bırakın." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Proxy Sunucusu" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Makina adı:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Port:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Tip:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Vekil sunucuyu şunun için kullan:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Vekil Sunucu Kimlik Doğrulaması" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "Kimlik doğrulaması kullan (HTTP ya da sadece SOCKS5)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Kullanıcı adı:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "Identd Sunucusu" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "Etkin " + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "Sunucu, ağların kullanıcı adı ile yanıt verecektir" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "Bu portu dinleme izninizin olması gerekir. 113 değilse (0 varsayılan değer ise) port yönlendirme işlemini yapmanız gerekir." + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Bir Resim Dosyası Seç" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "İndirme Klasörünü Seç" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Yazı tipi seç" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Gözat..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Veri Klasörünü Aç" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Renk seç" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Metin Rengi" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC renkleri:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Yerel renkler:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Ön plan:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Arka plan:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "Seçili Metin" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Arayüz Renkleri" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Yeni veri:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "İşaretçi satırı:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Yeni mesaj:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Uzakta kullanıcı:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Vurgulama:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "Yazım denetleyicisi:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "Renk Ayırma" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Olay" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Ses dosyası" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Bir ses dosyası seç" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Ses dosyası:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Gözat..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Oynat" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Arayüz" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "Görünüm" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Girdi kutusu" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Kullanıcı Listesi" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Kullanıcı Listesi" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Renkler " + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Sohbet" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "Sesler" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Gelişmiş" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Ağ kurulumu" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Dosya aktarımı" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Kategoriler" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Ağacı üst veya alt kısımlara yerleştiremezsiniz!\nLütfen, <b>Görünüm</b> menüsündeki <b>Sekmeler</ b> düzenini değiştirin." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "Gerçek isim seçeneği boş bırakılamaz.\n\"gerçek isim\" olarak geri çevriliyor." + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Tam olarak etkili olması için yeniden başlatma gerektiren bazı ayarlar değiştirildi." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*UYARI*\nDCC'yi otomatik olarak ev dizininize kabul etme\ntehlikeli olabilir ve yararlanılabilir. Örneğin:\nBirisi size bir .bash_profile gönderebilir." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Tercihler - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(öneri yok)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "Daha fazla..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "Sözlüğe \"%s\" ekle" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "Hepsini Yoksay" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "Yazım Önerileri" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "dil için enchant hatası: %s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Karakter dizisini ayrıştırırken bir hata oluştu" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Bu sinyal yalnızca %d argüman geçirdi, $%d geçersiz" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Metin Dosyalarını Yazdır" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Sayı" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Olayları Düzenle" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Şuradan Yükle..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Tümünü Test Et" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "TAMAM" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL Yakalayıcı - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Listeyi temizle" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Seçilen URL'yi kopyala" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Kopyala" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Listeyi bir dosyaya kaydet" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d op, %d toplam" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Bir irc://server:port/channel URLi aç" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "Sistem Bilgisi: Bilgi edinilemedi. Desteklenmiyor veya hata." + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "Sistem Bilgisi: Bu adla bilgi yok\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "Sistem Bilgisi: %s şu şekilde ayarlandı: %d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "Sistem Bilgisi: Geçerli ayarlar: her bilgi parçası için announce ve hide_ *. Örneğin hide_os. Bir değer olmadan geçerli (veya varsayılan) ayarı gösterecektir.\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "Sistem Bilgisi: Geçersiz değişken adı\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "%s eklenti yüklendi\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "%s eklenti kaldırıldı\n" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000000000000000000000000000000000000..92ef428e3f312ecef5947550a03c815875ba5b46 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,6257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Maxim Dubovoy <max@mylinux.com.ua>, 2003 +# Oleksandr Kunytsia <xakep@snark.ukma.kiev.ua>, 2004 +# partizan <serg.partizan@gmail.com>, 2009 +# partizan <serg.partizan@gmail.com>, 2009 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Ukrainian (http://www.transifex.com/hexchat/hexchat/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Я зайнятий" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Залишаю" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Мережа" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<немає>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Канал" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Очікування" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Активний" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Помилка" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Виконано" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "З'єднання" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Припинено" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Немає доступу до %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Помилка" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s пропонує \"%s\". Прийняти?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Немає активних каналів даних (DCC)\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "_Відкрити діалогове вікно" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_Надіслати файл" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_Хто це (WhoIs)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "_Додати до Списку друзів" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "Дії _оператора" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Надати оператора" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Відібрати оператора" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Надати голос" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Відібрати голос" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Викинути/Забанити" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Викинути" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Забанити" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Викинути+Забанити" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Залишити канал" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Зайти на канал" + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Введіть канал для входу:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Посилання сервера" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping-увати сервер" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Приховувати версію" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "Оператор" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "Скасувати Опер." + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "бувайте" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Введіть підставу для викидання %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Діалог" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Надіслати" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Розмова" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Очистити" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* Запускати IRC як root це тупо! Краще додати\n звичайного користувача і входити ним в систему.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "ТАК " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "НІ " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "You are being CTCP flooded from %s, ignoring %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s онлайн\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s офлайн\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Не зайшли на канал. Спробуйте /join #<канал>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Не підключено. Спробуйте /server <вузол> [<порт>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Вже позначений як \"відсутній\": %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Вже позначений як \"повернувся\": %s\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Для запуску необхідна програма /bin/sh !\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Доступні команди:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Визначені користувачем команди:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Визначені у модулі команди:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Введіть /HELP <команда> щоб отримати докладнішу інформацію, або /HELP -l" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Невідомий аргумент '%s' проігноровано." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Модуль не знайдено.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Не вдалося вивантажити модуль.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <ім'я> <дія>, додати кнопку над списком користувачів" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <команда>, надіслати команду до всіх каналів, на які ви зайшли" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>, надіслати команду до всіх серверів, з якими ви з'єднані" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK, встановлює статус \"повернувся\" (не відсутній)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <маска> [<тип>], заборонити доступ до каналу всім, хто відповідає вказаній масці. Якщо користувачі вже з'єднані з каналом, вони не будуть відключені (для цього потрібно бути оператором каналу)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <змінна> [<значення>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <код|метасимвол>, знайти код країни, наприклад: au = australia" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <нікнейм> <повідомлення>, надіслати повідомлення CTCP до користувача із вказаним ім'ям, звичайними повідомленнями є VERSION та USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<channel>], залишити поточний канал та відразу повернутися" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <нікнейм> - прийняти запропонований файл\nDCC SEND [-maxcps=#] <нікнейм> [файл] - надіслати комусь файл\nDCC PSEND [-maxcps=#] <нікнейм> [файл]- надіслати файл у пасивному режимі\nDCC LIST - показати список DCC\nDCC CHAT <нікнейм> - запропонувати розмову через DCC\nDCC CLOSE <тип> <нікнейм> <файл> приклад:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <нікнейм>, зняти статус напівоператор каналу (chanhalf-op) у особи на поточному каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <ім'я>, видалити кнопку зі списку користувачів" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <нікнейм>, зняти права оператора (chanop) у вказаної особи на поточному каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <нікнейм>, зняти право голосу у вказаної особи на поточному каналі (потребує прав адміністратора каналу)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, від'єднатися від сервера" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <текст>, вивести текст на локальній машині" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <команда>, виконати команду. Якщо використано параметр -o, вивід буде надіслано до поточного каналу, інакше він буде виведений в поточному вікні" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, надіслати процесу сигнал SIGCONT" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], перервати виконання процесу у поточному сеансі. Якщо задано параметр -9 процес буде припинено за допомогою SIGKILL" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, надіслати процесу сигнал SIGSTOP" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, надіслати дані в стандартний ввід процесу" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, скинути поточну чергу відправлення на поточному сервері" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <вузол> [<порт>], під'єднуватися через проксі, типовий порт 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <нікнейм>, надати стан напівоператора (chanhalf-op) вказаній особі (потребує прав оператора)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <пароль>, ідентифікація себе на nickserv" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <маска> <типи..> <параметри..>\n маска - маска ігнорованого вузла, наприклад: *!*@*.aol.com\n типи - типи ігнорованих даних, один або декілька з наступних:\n PRIV, CHAN, NOTI, CTCP, INVI, ALL\n параметри - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <нікнейм> [<канал>], запросити когось до каналу, за замовчанням до поточного каналу (потребує прав оператора каналу)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <канал>, зайти до вказаного каналу" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, виконати перевірку сигналу" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <файл>, завантажити модуль або скрипт" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, видалити статус напівоператора з усіх користувачів в поточному каналі (потребує прав оператора)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, видалити статус оператора з усіх користувачів каналу (потребує прав оператора)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <дія>, надіслати подію до поточного каналу (події пишеться від третьої особи,наприклад /me стрибає)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, викинути всіх окрім вас з поточного каналу (потребує прав оператора)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MDEOP, надати всім користувачам поточного каналу права оператора (потребує прав оператора)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <нікнейм> <повідомлення>, надіслати CTCP повідомлення" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <назва вузла> [<порт>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <нікнейм>, змінити нікнейм" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n мережа1[,мережа2,...]] [<нікнейм>], вивести список сповіщень або додати до нього когось" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <нікнейм>, надати вказаній особі права оператора каналу (потребує прав оператора)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<канал>] [<привід>], вийти з каналу, типово - з поточного каналу" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <нікнейм | канал>, CTCP-пінг особи або каналу" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<підстава>], від'єднатися від поточного сервера" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <текст>, надіслати текст у необробленій формі до сервера" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT·[-ssl] [<вузол>] [<порт>] [<пароль>], може бути викликано просто як/RECONNECT, щоб переприєднатися до поточного сервера або /RECONNECT ALL, щоб переприєднатися до усіх відкритих серверів" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<вузол>] [<порт>] [<пароль>], може бути викликано просто як/RECONNECT, щоб переприєднатися до поточного сервера або /RECONNECT ALL, переприєднатися до усіх відкритих серверів" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <текст>, надіслати текст до об'єкта в поточному вікні" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <нікнейм> [<файл>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <вузол> <порт> <канал>, встановити з'єднання з сервером та зайти до каналу" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <вузол> <порт> <канал>, встановити з'єднання з сервером та зайти до каналу" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <вузол> [<порт>] [<пароль>], під'єднатися до сервера, типовий порт 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<тема>], встановити тему, якщо вона вказана. У іншому випадку відображає поточну тему" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <таймаут> <файл1> [<файл2>] Почерговий показ двох значків у області сповіщення.\nTRAY -f <назвафайлу> Постійний значок у області сповіщення.\nTRAY -i <число> Миготіння внутрішнього значка у області сповіщення.\nTRAY -t <текст> Встановити підказку у області сповіщення.\nTRAY -b <заголовок> <текст> Встановити спливаючу підказку у області сповіщення." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <маска> [<маска>...], скасувати заборону доступу до каналу всім, хто відповідає масці." + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <маска> [QUIET] - скасувати ігнорування повідомлень з певною маскою" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <назва>, вивантажити модуль або скрипт" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, відкрити URL у веб-переглядачі" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <нікнейм1> <нікнейм2> тощо, підсвічує нікнейми у списку користувачів каналу" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <нікнейм>, надати право голосу особі (потребує прав оператора каналу)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <повідомлення>, надіслати повідомлення до всіх каналів" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <повідомлення>, надіслати повідомлення до усіх операторів на поточному каналі" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Використання: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nНемає довідки для цієї команди.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Такої команди не існує.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Неправильні аргументи команди користувача.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Надто багато рекурсивних команд користувача, зупиняємо." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Ви впевнені це що сумісний з SSL сервер?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Неможливо визначити назву вузла %s\nПеревірте параметри мережі!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Не вдалося зв'язатися через проксі.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Перемикання на наступний сервер %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Попередження: невідоме кодування \"%s\". Перекодування для мережі %s не відбуватиметься." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UКанал Користувачі Тема" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tСписок сповіщень порожній." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Завантажено журнал з" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** ЗАКІНЧУЄТЬСЯ ВХІД НА %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** ПОЧАТОК ВХОДУ НА %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Повідомлення зліва" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Повідомлення справа" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP адреса" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Username" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Нікнейм особи, що підключається" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Підключено до каналу" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Хостнейм користувача" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Нікнейм" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Дія" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Символ режиму" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Виділений текст" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Текст" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Повідомлення" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Назва серверу" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Старий нікнейм" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Новий нікнейм" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Нікнейм персони, що змінила тему" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Тема" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Нікнейм особи, що викинула з каналу" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Особа, яку було відключено" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Канал" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Підстава" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Нікнейм особи, що залишає канал" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Час" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Засновник" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Нікнейм" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Підстава" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Комп'ютер" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Звідки" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Час у форматі x.x (дивіться нижче)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Перелік каналів..." + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Звук" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Нікнейм особи" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP подія" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Нікнейм особи, що встановила ключ" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Ключ" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Нікнейм особи, що встановила обмеження" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Обмеження" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Нікнейм особи, що встановила оператора" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Нікнейм особи, що отримала оператора" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Нікнейм особи, що отримала напівоператора" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Нікнейм особи, що встановила напівоператора" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Нікнейм особи, що встановила голосу" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Нікнейм особи, якій було встановлено стан голосу" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Нікнейм особи, що ввела бан" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Маска бану" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Нікнейм особи, що видалила ключ" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Нікнейм особи, що видалила обмеження" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Нікнейм особи, з якої знято оператора" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Нікнейм особи, з якої знято напівоператора" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Нікнейм особи, з якої було знято 'голос'" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Нікнейм особи, що додала виключення" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Маска виключення" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Нікнейм особи, що зняла виключення" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Нікнейм особи, що зробила запрошення" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Маска запрошення" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Нікнейм особи, що скасувала запрошення" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Нікнейм особи, що встановила режим" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Знак режиму (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Буква режиму" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Канал встановлено" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Повне ім'я " + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Член каналу/\"є оператором IRC\"" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Інформація про сервер" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Час простою" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Час входу" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Причина відсутності" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Повідомлення" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Обліковий запис" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Справжній_користувач@хост" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Реальний IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Назва каналу" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Текст" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Нікнейм особи, що запрошує" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Користувачі" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Нікнейм використовується" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Пробуємо нікнейм" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Порт" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Рядок режимів" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Тип DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Назва файлу" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Назва файлу призначення" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Шлях" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Позиція" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Розмір" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC Рядок" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Кількість сповіщень" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Стара назва файлу" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Нова назва файлу" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Отримувач" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Маска хосту" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Хостнейм" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Пакет" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Секунди" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Нікнейм запрошеної особи" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Маска бану" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Особа, що встановила бан" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Час дії бану" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Не вдалося прочитати звуковий файл:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Віддалений вузол закрив сокет" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Відмовлено у з'єднанні" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Не знайдено шлях до вузла" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Таймаут з'єднання" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Не вдалося призначити цю адресу" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "З'єднання обірване" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Острів Сходження" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Андорра" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Об'єднані Арабські Емірати" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Афганістан" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Антігуа та Барбуда" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ангуілла" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Албанія" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Вірменія" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Нідерланди" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ангола" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Антарктида" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Аргентина" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "Зворотній DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Американське Самоа" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Австрія" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Нато Фейл" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Австралія" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Аруба" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Аланд о-ви" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Азербайджан" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Боснія та Герцеговина" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Барбадос" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Бангладеш" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Бельгія" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Буркіна-Фасо" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Болгарія" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Бахрейн" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Бурунді" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Бізнесова адреса" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Бенін" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Бермуди" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Бруней" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Болівія" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Бразилія" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Багами" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Бутан" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Острови Буве" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Ботсвана" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Білорусія" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Беліз" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Канада" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Кокосові о-ви" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Демократична Республіка Конго" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Центрально-Африканська Республіка" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Конго" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Швейцарія" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Кот'Д'Івуар" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Острови Кука" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Чилі" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Камерун" + +#: src/common/util.c:738 +msgid "China" +msgstr "Китай" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Колумбія" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Комерційні адреси" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Коста-Ріка" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Сербія та Чорногорія" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Куба" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Капе Верде" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Різдвяні острови" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Кіпр" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Чеська республіка" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Німеччина" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Джибуті" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Данія" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Домініка" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Домініканська Республіка" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Алжир" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Еквадор" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Освітні заклади" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Естонія" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Єгипет" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Західна Сахара" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Еритрея" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Іспанія" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ефіопія" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Європейський союз" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Фінляндія" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Фіджі" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Фолклендські о-ви" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Мікронезія" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "О-ви Фарое" + +#: src/common/util.c:770 +msgid "France" +msgstr "Франція" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Габон" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Велика Британія" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Гренада" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Грузія" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Французька Гвіана" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Британські о-ви" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Гана" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Ґібралтар" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Гренландія" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Гамбія" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Гвінея" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Уряд" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Гваделупа" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Екваторіальна Гвінея" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Греція" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "S. Georgia та S. Sandwich Isles." + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Гватемала" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Гуам" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Гвінея-Біссау" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Гаяна" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Гонг Конг" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Heard and McDonald Islands" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Гондурас" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Хорватія" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Гаїті" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Угорщина" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Індонезія" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ірландія" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Ізраїль" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Острів Мен" + +#: src/common/util.c:801 +msgid "India" +msgstr "Індія" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Інформаційні" + +#: src/common/util.c:803 +msgid "International" +msgstr "Міжнародні" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Британська Тихоокеанська Територія" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Ірак" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Іран" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Ісландія" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Італія" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Джерсі" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Ямайка" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Йорданія" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Японія" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Кенія" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Киргизстан" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Камбоджі" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Кірібаті" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Коморос" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "St. Kitts and Nevis" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Північна Корея" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Південна Корея" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Кувейт" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Кайманові о-ви" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Казахстан" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Лаос" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Ліван" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Свята Лучія" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Ліхтенштейн" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Шрі Ланка" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Ліберія" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Лесото" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Литва" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Люксембург" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Латвія" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Лівія" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Марокко" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Монако" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Молдова" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Мед.заклади США" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Мадагаскар" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Маршалові острови" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Військові" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Македонія" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Малі" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "М'янма" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Монголія" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Макао" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Північні Маріанські Острови" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Мартініка" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Мавританія" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Монсерат" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Мальта" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Маврикій" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Мальдіви" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Малаві" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Мексика" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Малайзія" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Мозамбік" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Намібія" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Нова Каледонія" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Нігер" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Мережі" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Норфолкські о-ви" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Нігерія" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Нікарагуа" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Нідерланди" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Норвегія" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Непал" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Науру" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ніуе" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Нова Зеландія" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Оман" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Мережні некомерційні організації" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Панама" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Перу" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Французька Полінезія" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Папуа Нова Гвінея" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Філіппіни" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Пакистан" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Польща" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "St. Pierre and Miquelon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Піткерн" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Пуерто Ріко" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Палестинська Територія" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Португалія" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Палау" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Парагвай" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Катар" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Реунйон" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Румунія" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "Стара мережа ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Росія" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Руанда" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Саудівська Аравія" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Соломонові острови" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Сейшельські острови" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Судан" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Швеція" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Сінгапур" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Св. Олена" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Словенія" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Svalbard and Jan Mayen Islands" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Словацька Республіка" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Сієра Леоне" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Сан Маріно" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Сенегал" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Сомалі" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Суринам" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Сен-Томе та Прінсіпі" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Колишній СРСР" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "Сальвадор" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Сирія" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Свазіленд" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "о-ви Тьорск та Кайкос" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Чад" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Французькі Південні Території" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Того" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Таїланд" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Таджикистан" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "о-ви Токелау" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Східний Тимор" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Туркменістан" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Туніс" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Тонга" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Туреччина" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Тринідад та Тобаго" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Тувалу" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Тайвань" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Танзанія" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Україна" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Уганда" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Сполучене королівство" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "США" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Уругвай" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Узбекистан" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Ватикан" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Сент-Вінсент та Гренадини" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Венесуела" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Британські Віржинські острови" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Американські Віржинські острови" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "В'єтнам" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Вануату" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "о-ви Валліс та Футуна" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Самоа" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Ємен" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Майотт" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Югославія" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Південна Африка" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Замбія" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Зімбабве" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Не вдалося з'єднатись з шиною сеансу" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Не вдалося завершити команду NameHasOwner" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Не вдалося завершити команду" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "віддалений доступ" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "модуль для віддаленого доступу DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Не вдалося зв'язатись з шиною сеансів: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Не вдалося здобути %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Палітра символів" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Забанити" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Запрошувати" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Немає з'єднання." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Необхідно вибрати деякі бани." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Маска" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Від" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Дата" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Можете відкрити лише вікно Список банів у вкладці каналу." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Видалити" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Стиснути" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Оновити" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Відображається %d/%d користувачів на %d/%d каналах" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Виберіть назву файлу для запису" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "За_йти на канал" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Копіювати назву каналу" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Копіювати _текст теми" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "З_найти" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "_Список завантажень" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "Зберегти _список..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Відображати лише:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "канали з" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "до" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "користувачів." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Шукати у:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Назві каналу" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Тип пошуку:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Простий пошук" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Відповідність шаблону" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Регулярний вираз" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Знайти:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Надіслати файл до %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Файл неможливо продовжити." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Немає доступу до файлу: %s\n%s.\nПродовження неможливе." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Файл у каталозі завантажень більше ніж запитаний. Продовження неможливе." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Не можна продовжувати однаковий файл від 2-х користувачів." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Статус" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Файл" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Залишилось" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "обидва" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Відвантаження" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Завантаження" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Подробиці" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Файл:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Адреса:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Перервати" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Прийняти" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Продовжити" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Відкрити теку..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Прийн" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Відпр" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Час початку" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Видалити" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Скасувати" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Зберегти" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Не з'єднуватись з сервером автоматично" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Використовується інший конфігураційний каталог" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Не завантажувати автоматично модулі" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Показувати каталог конфігураційних файлів" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Виконати команду:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Стартувати мінімізованим. Рівні 0-Нормальний 1=Іконка 2=Трей" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "рівень" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Вивести інформацію про версію" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Не вдалося відкрити шрифт:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Буфер пошуку порожній.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d байт" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Черга надсилання у мережу: %d байтів" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Команда Вставити в буфер вставить вміст Дані 1 в поле, в якому була натиснута комбінація клавіш, в поточну позицію курсору" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Команда Встановити буфер Встановлює значення поля, в якому було натиснуто комбінацію клавіш в значення Дані 1" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Команда Остання команда встановлює значення в полі рівним останній введеній команді - теж саме, що натискання клавіші стрілки вгору в командній оболонці" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Команда Наступна команда встановлює значення в полі рівним наступній команді - теж саме, що натискання клавіші стрілки вниз у командній оболонці" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Ця команда замінює текст в полі вводу для завершення незакінченого нікнейму або команди. Якщо Data 1 встановлено, подвійне натискання клавіші табуляції вибере не наступний, а останній нікнейм" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Команда прокручує список користувачів вгору або вниз. Якщо Data 1 встановлено - буде прокручено вгору, інакше - вниз" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Команда перевіряє останнє введене слово в списку заміщень та замінює у разі знаходження відповідності" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Команда переміщує передню вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Команда переміщує передню вкладку на одну позицію праворуч" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Команда переміщує поточну вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Команда переміщує поточну вкладку на одну позицію ліворуч" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Помістити введений рядок в історію, але не надсилати до сервера" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Помилка під час завантаження конфігурації комбінацій клавіш" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Не вдалося записати в цей файл." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Не вдалося прочитати цей файл." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Така маска вже існує." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Приватний" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Зауваження" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Не ігнорувати" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Введіть маску для ігнорування:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Стан ігнорування:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Канал:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Приватний:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Зауваження:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Запросити:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Додати..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Назва каналу надто коротка, спробуйте ще раз." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "З'єднання з %s завершено." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Що бажаєте зробити далі?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "_Нічого, я сам зайду на канал." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Зайти на канал:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Введіть назву каналу, на який треба зайти, якщо ви її знаєте." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Завжди показувати це вікно після з'єднання." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Діалог" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Тема для %s: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Не встановлено тему" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "На цьому сервері досі відкриті %d каналів чи діалогів. Закрити їх?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Не питати наступного разу." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Ви підключені до %i IRC мереж." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Ви дійсно бажаєте вийти?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Деякі файли все ще завантажуються." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_Мінімізуватися в трей" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Вставити атрибут або код кольору" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Жирний</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Підкреслений</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Звичайний" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Кольори 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Кольори 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "П_араметри" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "Писати _журнал" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "_Перечитувати прокрутку" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "_Сховати повідомлення входу/виходу" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "_Додаткові сигнали" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "Звукове сповіщення про повідомлення" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "Блимати у треї" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "Блимати на панелі" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "_Відокремити" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Закрити" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Обмеження користувачів має бути числом!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Без зовнішніх повідомлень" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Захист теми" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Лише запрошені" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Модерований" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Список банів" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Ключове слово" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Обмеження користувачів" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Введіть новий нікнейм:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Невідомий вузол" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Невідомий" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Справжнє ім'я:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Користувач:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Країна:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Сервер:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u хвилин тому" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Останнє повідомлення:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Повідомл.про відсутність:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "%d ніків вибрано." + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Відкрити посилання у веб-переглядачі" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Копіювати виділене посилання" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Зайти на канал" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Залишити канал" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Канали по колу" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Відповіді CTCP - Спеціальні коди:\n\n%d = дані (повний ctcp)\n%m = інформація про машину\n%e = назва поточної мережі\n%s = нікнейм відправника ctcp\n%t = час/дата\n%2 = слово 2\n%3 = слово 3\n&2 = від слова 2 до кінця рядку\n&3 = від слова 3 до кінця рядку\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Замінити на" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Створити" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "Ви_йти" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Вигляд" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Панель _меню" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "Панель _теми" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Список користувачів" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Кнопки _режиму" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Перемикач _каналів" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Вкладки" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Д_ерево" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Мережні _лічильники" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "вимкнено" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "графічний" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Сервер" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Роз'єднати" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Переприєднати" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "_Меню користувача" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "П_араметри" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "_Параметри" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Вікно" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Скинути маркер" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "О_чистити текст" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Довідка" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Зміст" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Про програму" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "_Приєднати" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Назва" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Бачили востаннє" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Відключений" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Ніколи" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d хвилин тому" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Підключений" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Введіть нікнейм:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Сповіщати в таких мережах:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Список допустимих мереж (елементи розділяються комами)." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Відкрити діалогове вікно" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Блимати на" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Повідомлення каналу" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Приватне повідомлення" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Виділене повідомлення" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_Змінити статус" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_Немає" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "_Назад" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Версія" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Опис" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Виберіть модуль або скрипт для завантаження" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "З_авантажити" + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Зберегти як..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Нова мережа" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Дійсно видалити мережу \"%s\" та усі її сервери?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "Ключ (пароль)" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Правка" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "З'єднатись лише з виділеним сервером" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Не змінювати циклічно сервер при помилках з'єднання." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "В обхід проксі серверу" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Використовувати SSL для всіх серверів у цій мережі" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Використовувати глобальну інформацію" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "П_різвисько:" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Другий вибір:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Справжнє ім'я:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "_Ім'я користувача:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Пароль:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Набір символів:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Інформація про користувача" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Третій вибір:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Мережі" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Не показувати список мереж при старті" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Правка..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "С_ортувати" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Під'_єднатися" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Албанія" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Азербайджан" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Білорусія" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Болгарія" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Естонія" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Індія" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Малайзія" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Таїланд" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "В'єтнам" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Загальне" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Шрифт:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Виділяти нікнейми кольором" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Надати кожній особі в IRC інший колір" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Нікнейми з відступом" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Вирівнювання нікнеймів справа" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Показувати маркер" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Вставляє червоний рядок після останнього прочитаного тексту." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Зображення тла:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Параметри прозорості" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Порядок \"останній хто говорив\"" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Перевірка орфографії" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Доповнення ніків:" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Суфікс доповнення нікнейму:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Сортування доповнення нікнейму:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "без сортування" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "вгорі" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "внизу" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "приховані" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Список користувачів" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "Показувати назви вузлів у списку користувачів" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Шрифт та кольори як в текстовому блоці" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Сортування списку користувачів:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Показувати список користувачів:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "На каналах менших за:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Реакція на подвійне клацання" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Вікнах" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Вкладках" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Завжди" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Лише зазначені вкладки" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "Д_ерево" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "Тип перемикача:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Відкривати вкладку для повідомлень сервера" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Відкривати вкладку при отриманні приватних повідомлень" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Сортувати вкладки за алфавітом" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "Маленький текст" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Фокус на нові вкладки:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Показати перемикач каналів:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Скорочувати вкладки до:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "симв." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Вкладках або вікнах" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Відкривати канали у:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Відкривати діалоги у:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Відкривати утиліти у:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Відкривати DCC, Ігнорування, Сповіщення, тощо у вкладках або вікнах?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Файли та каталоги" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Автоматично приймати файли:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Завантажувати файли в:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Переміщувати завершені файли в:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Зберігати нікнейм в назвах файлів" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Автоматично відкривати діалогові вікна" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Вікно відсилання" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Вікно отримання" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Вікно каналу" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Одне завантаження:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Максимальна швидкість для однієї передачі" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Одне скачування:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Всі завантаження:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Максимальна швидкість для усього трафіка" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Всі скачування:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Увага!" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Блимати у треї, коли:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Блимати на панелі задач, коли:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Видавати звук 'beep', коли" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Увімкнути значок у області сповіщення" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Підсвічені повідомлення" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Підсвічені повідомлення, це ті, де згадали ваш нікнейм, а також:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Реагувати також на слова:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Не підсвічувати нікнейми:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Завжди підсвічувати нікнейми:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "Відокремлюйте слова комами.\nШаблони також приймаються." + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Типові повідомлення" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Вихід:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Залишення каналу:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Відсутній:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Відсутній" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Показувати \"Відсутній\" лише один раз" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Автоматично знімати \"Відсутній\"" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Відображати режими в чистому вигляді" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Приховувати сповіщення про вхід/вихід" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Затримка автоматичного відновлення з'єднання:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Журнали" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "Показувати останні повідомлення з попередньої бесіди" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Кількість ліній прокрутки:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "Увімкнути запис журналу повідомлень" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Файл журналу:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Сервер %c=Канал %n=Мережа." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Вносити час події в журнал" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Формат запису часу в журнал:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(вимкнено)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "IP адреса" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Зачепитися на:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Корисне, лише коли комп'ютер має декілька адрес." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Отримувати власну IP адресу з IRC сервера" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Виконайте команду /WHOIS для свого нікнейму, щоб визначити сою реальну адресу. Використовуйте це, якщо ваша адреса 192.168.*.* !" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "IP адреса DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Заявляти цю адресу при пропонуванні файлів." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Залиште порти нульовими для повного діапазону." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Проксі сервер" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Назва вузла:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Порт:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Тип:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Використовувати проксі для:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Автентифікація проксі" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Ім'я користувача:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Виберіть файл зображення" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Виберіть теку для завантажень" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Вибір шрифту" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Вибрати..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Відкрити теку даних" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Вибір кольору" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Кольори" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Кольори mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Локальні кольори:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Передній план:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Тло:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Інтерфейс" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Нові дані:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Маркер:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Нове повідомлення:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Користувач, що відсутній:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Підсвічення:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Подія" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Звуковий файл" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Виберіть звуковий файл" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Звуковий файл:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "В_ибрати..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Відтворити" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Інтерфейс" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Поле вводу" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Список користувачів" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Перемикач каналів" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Кольори" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Розмови" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Додатково" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Параметри мережі" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Передача файлів" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Категорії" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Не можна розміщувати дерево вгорі чи внизу!\nСпочатку змініть розташування пункту <b>Вкладки</b> у меню <b>Вигляд</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Для набуття сили змін у деяких параметрах потрібно перезапустити програму." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*ПОПЕРЕДЖЕННЯ*\nАвтоматичне приймання DCC до вашої домашньої теки\nможе бути небезпечним. Наприклад:\nхтось може надіслати вам .bash_profile" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Помилка при аналізу рядку" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Цей сигнал приймає лише аргументи %d, аргумент $%d не підходить" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "Друкувати текстовий файл" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Число" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Правка подій" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Завантажити з..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Перевірити всі" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Очистити список" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Копіювати виділений текст" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Копіювати" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Записати список у файл." + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d операторів, %d всього" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Відкрити irc://server:port/channel URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/validate-textevent-translations b/po/validate-textevent-translations new file mode 100755 index 0000000000000000000000000000000000000000..e719d3aabdd6db93ce9e7464d8eecf00f5039fb1 --- /dev/null +++ b/po/validate-textevent-translations @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 + +import os +import re +import sys + +ret = 0 + + +def log(prefix, suffix, fallback): + try: + print(prefix, suffix) # Non-utf8 output... + except UnicodeEncodeError: + print(prefix, fallback) + + +def validate_translation(input, translation): + if not translation: + return True + + if re.findall(r'(?:(?<!%)%[^%OCRUHBIH]|\$[^at1234])', translation): + log('Translation includes invalid formatting:', translation, input) + return False + + in_vars = re.findall(r'(\$(?:\d|t))', input) + if not all(var in translation for var in in_vars): + log('Translation does not contain all variables:', translation, input) + return False + + in_ascii = re.findall(r'\$a(\d{3})', translation) + if any(int(i) > 256 for i in in_ascii): + log('Translation contains invalid ascii value:', translation, input) + return False + + # We could try to validate colors but that is pretty flexible + return True + + +def validate_language(path): + global ret + + print('Validating', path) + + with open(path, 'r', encoding='utf-8') as f: + in_event = False + event_input = '' + + for line in f: + if 'textevents.h' in line: + in_event = True + elif in_event is False: + continue + elif line.startswith('msgid'): + event_input = line[7:-2] + elif line.startswith('msgstr'): + if not validate_translation(event_input, line[8:-2]): + ret = 1 + in_event = False + elif line == '\n': + print('Failed to find translation for', event_input) + in_event = False + + +with open(sys.argv[1], 'r') as linguas: + for lang in linguas: + path = os.path.join(sys.argv[2], lang.strip() + '.po') + validate_language(path) + +sys.exit(ret) diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000000000000000000000000000000000000..e4dbfa79ab9e754fb658fc62e54b20495a4696b9 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,6253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Vietnamese (http://www.transifex.com/hexchat/hexchat/language/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Tôi đang bận" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Tôi đi" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Mạng" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<không có>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Kênh" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Đang đời" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "Hoặt động" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Bị lỗi" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Đã xong" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Kết nối" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Bị hủy bỏ" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Không thể truy cập %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Lỗi" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s đang cung cấp « %s ». Bạn có muốn chấp nhận không?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "Không có DCC (trò chuyện trực tiếp) hoặt động nào\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "Cho quyền Quản trị" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "Bỏ quyền Quản trị" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "Cho quyền Tiếng nói" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "Bỏ quyền Tiếng nói" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "Đá/Đuổi" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "Đá" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "Đuổi" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "Đá đuổi" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Rời kênh đi" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Vào kênh..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Nhập kênh cần vào :" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "Liên kết máy phục vụ" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Máy phục vụ Ping" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Ẩn phiên bản" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "QT" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "BỏQT" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "tạm biệt" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "Nhập lý do đá %s:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "Đối thoại" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "Whois (là ai?)" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Gởi" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Trò chuyện" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Xóa trống" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "• Chạy IRC với tư cách người chủ (root) là không an toàn. •\nBạn nên tạo một tài khoản người dùng và sử dụng nó để đăng nhập.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "CÓ " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "KHÔNG " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "Bạn đang bị tấn công bằng CTCP bởi %s nên bỏ qua %s.\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s trực tuyến\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s ngoạị tuyến\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "Chưa vào kênh nào : hãy thử lệnh « /join #<kênh> »\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "Chưa kêt nối: hãy thử lệnh « /server <máy> [<cổng>] »\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "Đã nhãn « Vắng mặt »: %s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "Đã nhán « Trở về »:\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Cần « /bin/sh » để chạy được.\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "Các lệnh sẵn sàng:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "Các lệnh xác định riêng:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "Các lệnh xác định bởi bổ sung:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "Hãy gõ lệnh « /HELP <lệnh> » để xem thông tin thêm (help: trợ giúp), hay « /HELP -l »." + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "Không biết đối số « %s » nên bỏ qua nó." + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "Không tìm thấy bổ sung như vậy.\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "Bổ sung đó từ chối bỏ nặp.\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <tên> <hành_động>, _thêm_ một _cái nút_ bên dưới danh sách người dùng" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <lệnh>, gửi lệnh này tới _mọi kênh_ nơi bạn ở" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <lệnh>, gửi lệnh này tới _mọi máy phục vụ_ nơi bạn ở" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK đặt bạn đã trở về (không phải vắng mặt)" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <bộ_lọc> [<kiểu_đuổi>], _đuổi_ mọi người khớp với bộ lọc này ra kênh hiện tại. Cần quyền quan trị kệnh (chanop) để đuổi ra người nào đang trên kênh" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <mã|ký_tự_đại_diện>, tìm thấy _quốc gia_, v.d. mã « au » = Úc" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <tên_hiệu> <tin_nhẳn>, gởi cho <tên_hiệu> <tin nhẳn> CTCP: hai tin nhẳn thường là VERSION (phiên bản) và USERINFO (thông tin người dùng)" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<kênh>], rời kênh này hay kênh hiện tại rồi vào lại ngay (_quay lại_)" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <tên_hiệu> \t\tchấp nhận tập tin đã đưa ra (_lấy_)\nDCC SEND [-maxcps=#] <tên_hiệu> [tập_tin]\n\t_gởi_ [tập tin] cho <tên hiệu> (max. : tối đa)\nDCC PSEND [-maxcps=#] <tên_hiệu> [tập_tin]\n\t_gởi_ [tập_tin] cho <tên_hiệu> bằng chế độ _bị động_\nDCC LIST \t\t\t\thiển thị _danh sách_ DCC\nDCC CHAT <tên_hiệu> \tđưa ra _trò chuyện_ DCC với <tên hiệu>\nDCC PCHAT <tên_hiệu>\n\tđưa ra _trờ chuyện_ DCC với <tên_hiệu> bằng chế độ _bị động_\nDCC CLOSE <kiểu> <tên_hiệu> <tập_tin> (_đóng_) thí dụ:\n </dcc close send nguyenvan tập_tin.tar.gz>\n\tgởi cho người nguyenvan tập_tin.tar.gz rồi đóng kết nối DCC" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <tên_hiệu>, bỏ ra <tên hiệu> trạng thái quản trị kênh nửa (chanhalf-op) trên kênh hiện tại (cần quyền quản trị kênh)\n[DE (bỏ ra) Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <tên>, xóa bỏ cái nút <tên> ra dưới danh sách người dùng\n[DELete (xóa bỏ) BUTTON (nút)]" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <tên_hiệu>, bỏ ra <tên hiệu> trạng thái quản trị kênh (chanop) trên kênh hiện tại (cần quyền quản trị kênh (chanop))\n[DE (bỏ) OPerator (quản trị viên)]" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <tên_hiệu>, bỏ ra <tên hiệu> trạng thái tiếng nói trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n[DE (bỏ) VOICE (tiếng nói)]" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON, ngắt kết nối ra máy phục vụ\n[DISCONnect (ngắt kết nối)]" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <đoạn>, in ra <đoạn> một cách địa phương\n[ECHO (vọng, phản hồi)]" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <lệnh>, chạy <lệnh>. Nếu thêm cờ « -o », gởi dữ liệu xuất cho kênh hiện tại, nếu không thì in ra nó vào hộp văn bản hiện tại\n[EXECute (thực hiện)]" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT, gởi tiến trình SIGCONT\n[EXECute (thực hiện) CONTinue (tiếp tục)\nSIGnal (tín hiệu) CONTinue (tiếp tục)]" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9], buộc kết thúc tiến trình đang chạy trong phiên làm việc hiện tại. Nếu thêm cờ « -9 », SIGKILL tiến trình này\n[EXECute (thực hiện) KILL (buộc kết thúc)\nSIGnal (tín hiệu) KILL (buộc kết thúc)]" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP, gởi tiến trình SIGSTOP\n[EXECute (thực hiện) STOP (dừng)\nSIGnal (tín hiệu) STOP (dừng)]" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE, gởi dữ liệu cho thiết bị nhập chuẩn của tiến trình\n[EXECute (thi hành) WRITE (ghi)]" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ, xóa sạch hàng đợi gởi của máy phục vụ hiện tại\n[FLUSH (xoá sạch) Queue (hàng đời)]" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <máy_phục_vụ> [<cổng>], sử dụng máy ủy nhiệm; <cổng> mặc định là 23\n[GATE (cổng)]" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <tên_hiệu>, đưa ra <tên hiệu> trạng thái quản trị kênh nửa (cần quyền quản trị kênh [chanop])\n[Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <mật_khẩu>, nhận diện bạn với máy phục vụ tên hiệu\n[IDentify (nhận diện)]" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <bộ_lọc> <kiểu...> <tùy_chọn...> »\n[IGNORE (bỏ qua)]\n bộ lọc\t\tbộ lọc máy cần bỏ qua, v.d. « *!*@*.aol.com »\n kiểu\t\tkiểu dữ liệu cần bỏ qua, giá trị là một hay tất cả của:\n \tPRIV\t\tPRIVate (riêng)\n\tCHAN\tCHANnel (kênh)\n\tNOTI\tNOTIfy, NOTIce (thông báo)\n\tCTCP\n\tDCC \tDirect Chat Channel (kênh trò chuyện trực tiếp)\n\tINVI\t\tINVIte (mời)\n\tALL \t\t(tất cả)\n tùy chọn\n\tNOSAVE \t(không lưu)\n\tQUIET \t(không hiện chi tiết)" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <tên_hiệu> [<kênh>], _mời_ <tên hiệu> vào <kênh>; mặc định là kênh hiện tại (cần quyền quản trị kênh [chanop])" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <kênh>, _vào_ <kênh>" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK, buộc _kiểm tra sự trễ_ mới" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <tập_tin>, _nạp_ một bổ sung hay tập lệnh" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP, bỏ trạng thái quản trị kênh nửa (chanhalf-op) ra mọi người trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n[Mass (số nhiều) DE (bỏ) Half (nửa) OPerator (quản trị viên)]" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP, bỏ trạng thái quản trị kênh (chanop) ra mọi người trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n[Mass (số nhiều) DE (bỏ) OPerator (quản trị viên)]" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <hành_động>, gởi <hành động> cho kênh hiện tại (v.d. « /me jumps » gởi « <tên hiệu> nhảy »\n[ME (tôi, mình)]" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK, đá mọi người (trừ bạn) ra kênh hiện tại (cần quyền quản trị kênh [chanop])\n[Mass (số nhiều) KICK (đá)]" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP, đưa ra mọi người dùng có trạng thái quản trị kênh (chanop) trên kênh hiện tại (cần quyền quản trị kênh [chanop])\n[Mass (số nhiều) OPerator (quản trị viên)]" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <tên_hiệu> <tin_nhẳn>, gởi thông báo CTCP\n[Notice (thông báo) CTCP]" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <tên_máy> [<cổng>]\n[SERVER (máy phục vụ) NEW (mới); no connect (không kết nối)]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <tên_hiệu>, đặt <tên hiệu> của bạn\n[NICKname (tên hiệu [viết tắt])]" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n mạng1[,mạng2,...]] [<tên_hiệu>], hiển thị danh sách _thông báo_ của bạn, hoặc thêm <tên_hiệu> vào nó" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <tên_hiệu>, đưa ra <tên hiệu> có trạng thái quản trị kênh (chanop) (cần quyền quản trị kênh [chanop])\n[OPerator (quản trị viên)]" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<kênh>] [<lý_do>], rời <kênh> đi; mặc định là kênh hiện tại\n[dePART (rời đi)]" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <tên_hiệu | kênh>, thực hiện tiến trình « ping » CTCP với <tên hiêu> hay <kênh>\n[Tiến trình ping gửi chỉ một gói tin để thử ra nếu kết nối hoạt động hay không; nó gửi lại đến khi bạn ngắt nó.]" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<lý_do>], ngắt kết nối ra máy phục vụ hiện tại\n[QUIT (_thoát_)]" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <chuỗi>, gởi <chuỗi> dạng thô cho máy phục vụ\n[QUOTE (trích dẫn)]" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<máy>] [<cổng>] [<mật_khẩu>], có thể tái kết nối đến mấy phục vụ hiện tại khi chỉ đơn giản dùng « /RECONNECT », hoặc tái kết nối đến mọi máy phục vụ đang mở dùng « /RECONNECT ALL »\n[RECONNECT (tái kết nối); (phương pháp SSL bảo vệ dữ liệu cần truyền)]" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<máy>] [<cổng>] [<mật_khẩu>], có thể tái kết nối đến mấy phục vụ hiện tại chỉ đơn giản dùng « /RECONNECT », hoặc tái kết nối đến mọi máy phục vụ đang mở dùng « /RECONNECT ALL »\n[RECONNECT (tái kết nối); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <chuỗi>, gởi <chuỗi> cho đối tượng trong cửa sổ hiện tại\n[SAY (_nói_)]" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <tên_hiệu> [<tập_tin>], _gởi_ <tập tin> cho <tên hiệu>" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <máy> <cổng> <kênh>, kết nối đến <kênh> rồi vào nó\n[SERVer (máy phục vụ) CHANnel (kênh); phương pháp SSL bảo vệ dữ liệu cần truyền)]" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <máy> <cổng> <kênh>, kết nối đến <kênh> rồi vào nó\n[SERVer (máy phục vụ) CHANnel (kênh); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <máy> [<cổng>] [<mật_khẩu>], kết nối đến <mấy> phục vụ ; cổng mặc định là số 6667\n[SERVER (máy phục vụ); không có SSL bảo vệ dữ liệu)]" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<chủ_đè>], lập <chủ đề> nếu nó đã cho, nếu không thì hiển thị chủ đề hiện tại." + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <thời hạn> <tập tin 1> [<tập tin 2>] Chớp khay giữa hai biểu tượng.\nTRAY -f <tập tin> Đặt khay là biểu tượng riêng.\nTRAY -i <số> Chớp khay với biểu tượng bên trong.\nTRAY -t <chuỗi> Đặt mẹo công cụ của khay.\nTRAY -b <tựa> <chuỗi> Đặt khung thoại của khay." + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <bộ_lọc> [<bộ_lọc>...], bỏ trạng thái bị đuổi ra những bộ lọc đã ghi rõ\n[UN (hủy) BAN (đuổi)]" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <bộ_lọc> [QUIET]\n[UN (hủy) IGNORE (bỏ qua); QUIET (không hiện chi tiết)]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <tên>, bỏ nạp một bổ sung hay văn lệnh\n[UN (hủy) LOAD (nạp)]" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>, mở địa chỉ <url> trong trình duyệt Mạng của bạn." + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <tên_hiệu1> <tên_hiệu2> v.v., tô sáng những tên hiệu này trong danh sách các người dùng trên kênh\n[User (người dùng) SELECT (lựa chọn)]" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <tên_hiệu>, đưa ra <tên hiệu> trạng thái _tiếng nói_ (cần quyền quản trị kênh [chanop])." + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <thông_điệp>, ghi <thông_điệp> vào mọi kênh\n[Write (ghi) ALL (mọị) CHANnel (kênh)]" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <thông_điệp>, gởi <thông_điệp> cho mọi quản trị kênh [chanop] trên kênh hiện tại\n[Write (ghi) ALL (mọi) CHannel (kênh) OPerator (quản trị viên)]" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "Cách sử dụng: %s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\nKhông có trợ giúp về lệnh đó.\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "Không có lệnh như vậy.\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "Lệnh người dùng có đối số sai.\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "Quá nhiều lệnh người dùng đệ qui nên hủy bỏ." + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "Bạn có chắc điều này là máy phục vụ và cổng có khả năng SSL không?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "Không tìm thấy tên máy %s.\nHãy kiểm tra thiết lập IP của bạn.\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "Việc đi qua máy phục vụ ủy nhiệm bị lỗi.\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "Đang quay lại đến mấy phục vụ kế tiếp trong %s...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "Cảnh báo : không biết bộ ký tự « %s » nên không chuyển đổi cho mạng %s." + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%UKênh \t Người Chủ đề" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$tDanh sách thông báo la trống." + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "Bản ghi đã được nạp từ" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** KẾT THÚC GHI LƯU VÀO %s\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** BẮT ĐẦU GHI LƯU VÀO %s\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "Tin nhẳn bên trái" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "Tin nhẳn bên phải" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Địa chỉ IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "Tên người dùng" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "Tên hiệu của người đang vào" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "Kênh đang được vào" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Máy của người ấy" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "Tên hiệu" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Hành động" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "Ký tự chế độ" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "Chuỗi đã nhận biết" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Chuỗi" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Tin nhẳn" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "Tên máy phục vụ" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "Tên hiệu cũ" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "Tên hiệu mới" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "Tên hiệu của người đã thay đổi chủ đề" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "Chủ đề" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "Tên hiệu của người đá" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "Người đang bị đá" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "Kênh" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "Lý do" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "Tên hiệu của người đang rời đi" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "Giờ" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "Người tạo" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "Tên hiệu" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Lý do" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Máy" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "Người gởi" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "Giờ dạng x.x (xem dưới)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "Kênh đích" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "Âm thanh" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "Tên hiệu của người ấy" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "Sự kiện CTCP" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "Tên hiệu của người đã đặt khoá" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "Khoá" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "Tên hiệu của người đã đặt giới hạn" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "Giới hạn" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "Tên hiệu của người đã đặt trạng thái quản trị" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "Tên hiệu của người đã nhận trạng thái quản trị" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "Tên hiệu của người đã nhận trạng thái nửa quản trị" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "Tên hiệu của người đã đặt trạng thái nửa quản trị" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "Tên hiệu của người đã đặt trạng thái « Tiếng nói »" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "Tên hiệu của người đã nhận trạng thái « Tiếng nói »" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "Tên hiệu của người đã đuổi người khác" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "Bộ lọc đuổi ra" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "Tên hiệu đã gỡ bỏ khoá" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "Tên hiệu đã gỡ bỏ giới hạn" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "Tên hiệu của người đã mất trạng thái quản trị" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "Tên hiệu của người đã mất trạng thái nửa quản trị" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "Tên hiệu của người đã mất trạng thái « Tiếng nói »" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "Tên hiệu của người đã đặt trạng thái miễn" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "Bộ lọc miễn" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "Tên hiệu của người đã bỏ trạng thái miễn" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "Tên hiệu của người đã mời người khác" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "Bộ lọc mờì" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "Tên hiệu của người đã gỡ bỏ lời mời" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "Tên hiệu của người đặt chế độ" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "Dấu chế độ (+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "Chữ chế độ" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "Kênh trên đó nó đang được đặt" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "Họ tên" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "Tư cách thành viên kênh/« là quản trị IRC »" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Thông tin máy phục vụ" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "Thời gian nghỉ" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "Giờ đăng nhập" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "Lý do vắng mặt" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Tin nhẳn" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Tài khoản" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "Người dùng thât@máy" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "Địa chỉ IP thật" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "Tên kênh" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Chuỗi" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "Tên hiệu của người đã mời bạn" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Người dùng" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "Tên hiệu đang được dùng" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "Tên hiệu đang được thử ra" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Cổng" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "Chuỗi chế độ" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Kiểu DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "Tên tập tin" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "Tên tập tin đích" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "Tên đường dẫn" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Vị trí" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Cỡ" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Chuỗi DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "Số mục thông báo" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Tên tập tin cũ" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Tên tập tin mới" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Bộ nhận" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "Bộ lọc máy" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "Tên máy" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "Gói tin" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "Giây" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "Tên người đã được mời" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "Bộ lọc đuổi ra" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "Người đã đặt đuổi ra" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "Thời gian đuổi ra" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "Không thể đọc tập tin âm thanh:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "Máy ở xa đã đóng ổ cắm" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "Kết nối bị từ chối" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "Không có đường dẫ đến máy" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "Kết nối đã quá giờ" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "Không thể gán địa chỉ đó" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "Kết nối bị đặt lại bởi ngang hàng" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "Đảo Ascension" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Ăn-đoa-râ" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Các Tiểu Vương Quốc A Rập Thống Nhất" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "A Phú Hãn" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Ănh-thí-gụ-a và Ba-bu-đạ" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Ănh-gouí-lạ" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "An-ba-ni" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Ác-mê-ni" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "An-thi-li Hoà-lan" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Ăng-gô-la" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Nam cực" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Ác-hen-ti-na" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "DNS ngược" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Xa-mô-a Mỹ" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Ao" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "Na-tô Phi-en" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Úc" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "A-ru-ba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "Quần Đảo A-lan" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Ai-déc-bai-gian" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bô-x-ni-a và Héc-xê-gô-vi-na" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Bác-ba-đốt" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Băng-la-đe-xợ" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Bỉ" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Bổ-khi-na Pha-xô" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bun-ga-ri" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Ba-ren" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Bu-run-đi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "Kinh doanh" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Bê-nin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Be-mư-đa" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Bợ-ru-này Đa-ru-xa-làm" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Bô-li-vi-a" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Bra-xin" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Ba-ha-ma" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Bu-thăn" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Quần Đảo Bu-vê" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Bốt-xoă-na" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Be-la-ru-xợ" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Bê-li-xê" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Ca-na-đa" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Quần Đảo Cô-cô-x" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "Cộng Hoà Dân Chủ Công-gô" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Cộng Hoà Trung Châu Phi" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Công-gô" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Thụy Sĩ" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "Cộng Hoà Cốt Đi-vouă" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Quần Đảo Khu-kh" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Chi-lê" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Ca-mơ-runh" + +#: src/common/util.c:738 +msgid "China" +msgstr "Trung Quốc" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Cô-lôm-bi-a" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Thương nghiệp Internic" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Cốt-x-tha Ri-ca" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "Xéc-bi và Mon-te-nê-gợ-rô" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cu-ba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cáp-ve-đe" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Đảo Cợ-ri-x-mạ-x" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Síp" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Cộng Hoà Séc" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Đức" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Gi-bu-ti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Đan Mạch" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Đô-mi-ni-cạ" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Cộng Hoà Đô-mi-ni-cạ" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "An-giê-ri" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ê-cu-a-đọa" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "Tổ chức giáo dục" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "E-x-tô-ni-a" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Ai Cập" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Tây Sa-ha-ra" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Ê-ri-tơ-rê-a" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Tây Ban Nha" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Ê-ti-ô-pi" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "Liên Bang Âu" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Phần Lan" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Phi-gi" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Quần Đảo Phoa-kh-lận-đ" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Mi-cợ-rô-nê-xi-a" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Quần Đảo Pha-rô" + +#: src/common/util.c:770 +msgid "France" +msgstr "Pháp" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Ga-bon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Vương Quốc Thống Nhất Anh va Bắc Ai-len" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Gợ-rê-na-đa" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Gi-oa-gi-a" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Ghi-a-na Pháp" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Quần Đảo Kênh Anh" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gha-na" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Gi-boa-thạ" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Đảo Băng" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Găm-bi-ạ" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Ghi-nê" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Chính phủ" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gu-a-đe-lu-pợ" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Ghi-nê Xích-đạo" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Hy Lạp" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "Quần Đảo xan Gi-oa-gi-a và xan Xan-oui-chợ" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gua-tê-ma-la" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Gu-ăm" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Ghi-nê Bít-xau" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guy-ă-na" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hông Kồng" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "Quần Đảo Hơ-đh và Mơ-kh-đo-nựn" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Hôn-đu-ra-xợ" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Cợ-rô-a-ti-a" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Ha-i-ti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hung-ga-ri" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Nam Dương" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Ai-len" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Do Thái" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "Đảo Man" + +#: src/common/util.c:801 +msgid "India" +msgstr "Ấn Độ" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "Cung cấp thông tin" + +#: src/common/util.c:803 +msgid "International" +msgstr "Quốc tế" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Miền Đại Dương Ấn Độ Anh" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "I-rắc" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "I-ran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Băng Đảo" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Ý" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "Giơ-xi" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Gia-mê-ca" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Gi-oa-đạn" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Nhật Bản" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Khi-nia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Ky-rơ-gy-xtanh" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Căm Bốt" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Ki-ri-ba-ti" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Cô-mô-rô-x" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "Xan Kith-x và Ne-vi-xợ" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Bắc Hàn" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Nam Hàn" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Cu-ouai-th" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Quần Đảo Cay-man" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Ca-xa-kh-x-thanh" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Lào" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Le-ba-non" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "Xan Lu-xi-a" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lich-ten-xtênh" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Xợ-ri-lan-ca" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Li-bê-ri-a" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lê-xô-thô" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Li-tu-a-ni" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lúc-xăm-buac" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Lát-vi-a" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Li-bi-a" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Ma-rốc" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Mô-na-cô" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moa-đô-vạ" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "Y Mỹ" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Ma-đa-gá-x-cạ" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Quần Đảo Mác-san" + +#: src/common/util.c:843 +msgid "Military" +msgstr "Quân đội" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Ma-xê-đô-ni" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Ma-li" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Miến Điện" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mông Cổ" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "Ma-cau" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Quần Đảo Bắc Ma-ri-a-na" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Ma-thi-ní-kh" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Mô-ri-ta-ni-a" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Mon-xe-rạc" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Man-tơ" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Mô-ri-sơ" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Man-đi-vợ-x" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Ma-la-uy" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mê-hi-cô" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Mã Lai" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mô-xam-bí-kh" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Na-mi-bi-a" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Niu Ca-lê-đô-ni-a" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Ni-giê" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Mạng Internic" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Đảo Noa-phực" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Ni-giê-ri-a" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Ni-ca-ra-gua" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Hoà Lan" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Na Uy" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nê-pan" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nau-ru" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Ni-u-e" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Niu Xi-lân" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Ô-man" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Tổ chức Phi lợi nhuận Internic" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Pa-na-ma" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Pê-ru" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Pô-li-nê-xi Pháp" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Pa-pu-a Niu Ghi-nê" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Phi-luật-tân" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pa-ki-x-thănh" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Ba Lan" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "Xan Pi-e và Mi-kê-lon" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pi-th-khenh" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Pu-e-tô Ri-cô" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "Hạt Pa-le-x-tin" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Bồ Đào Nha" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Pa-lau" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Pa-ra-guay" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Qua-tă" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Rê-u-ni-ợnh" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Rô-ma-ni" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "ARPAnet kiểu cũ" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Liên Bang Nga" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Ru-oanh-đạ" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "A Rập Xau-đi" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Quần Đảo Xô-lô-mon" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Xây-sen" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Xu-đan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Thuỵ Điển" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Xin-ga-po" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Xan He-le-na" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Xlô-ven" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "Quần Đảo X-van-băt và Dan May-en" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Cộng Hoà Xlô-vác" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Xi-ê-ra Lê-ôn" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Xan Ma-ri-nô" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Xê-nê-gan" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Xô-ma-li" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Xu-ri-nam" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "Xao Tô-mê và Pợ-rin-xi-pê" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Liên xô trước" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "En-xan-va-đoa" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Xi-ri" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Xouă-xi-lan" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "Quần Đảo Tổc và Cai-co-x" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Chê-đ" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "Miền Nam Pháp" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Tô-gô" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Thái Lan" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Ta-gí-khi-x-thanh" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "To-ke-lau" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Đông Ti-mọa" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Tổc-mê-ni-x-tanh" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tu-ni-xi-a" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tông-ga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Thổ Nhĩ Kỳ" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinh-i-đat và To-ba-gô" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Tu-va-lu" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Đài Loan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tan-xa-ni-a" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "U-cợ-rainh" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "U-gan-đa" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Vương Quốc Anh Thống Nhất" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Mỹ" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "U-ru-guay" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "U-xơ-bê-ki-x-tanh" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Bang Thành Phố Va-ti-can" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "Xan Vin-xen và Gợ-re-na-đinh" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Vê-nê-xu-ê-la" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "Quần Đảo Vơ-ginh Anh" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "Quần Đảo Vơ-ginh Mỹ" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Việt Nam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Va-nu-a-tu" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "Quần Đảo Oua-lit và Phu-tu-na" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Xa-moa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Y-ê-men" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "May-oth" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Nam Tư" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Nam Phi" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Xăm-bi-a" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Xim-ba-buê" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "Không thể kết nối đến bộ nối phiên chạy" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "Lỗi chạy xong NameHasOwner (tên có người sở hữu)" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "Lỗi chạy xong Command (lệnh)" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "truy cập từ xa" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "bổ sung cho truy cập từ xa bằng DBUS" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "Không thể kết nối đến bộ nối phiên chạy: %s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "Lỗi lấy %s: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Sơ đồ ký tự" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "Đuổi" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Mời" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "Chưa kết nối." + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "Phải chọn một số việc đuổi ra." + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "Lọc" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Từ" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Ngày" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "Bạn có thể mở cửa sổ Danh Sách Đuổi Ra chỉ khi trong một thẻ kênh." + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "Danh Sách Đuổi Ra (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Gỡ bỏ" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "Xén" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Cập nhật" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "Đang hiển thị %d/%d người dùng trên %d/%d kênh." + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Hãy chọn tên tập tin xuất" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "_Vào kênh" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "_Chép tên kênh" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "Chép c_hủ đề" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "Danh Sách Kênh (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "_Tìm" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "Tải về _danh sách" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "_Lưu danh sách..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "Hiển thị chỉ:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "kênh có" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "đến" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "người dùng." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "Tìm trong:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "Tên kênh" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "Cách tìm:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "Tìm đơn giản" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "Khớp mẫu (ký tự đại diện)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "Biểu thức chính quy" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Tìm:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Gởi tập tin cho %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "Tập tin đó không tiếp tục được." + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "Không thể truy cập tập tin: %s\n%s.\nNên không thể tiếp tục lại." + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "Tập tin nằm trong thư mục tải về là lớn hơn điều đã đưa ra nên không thể tiếp tục lại." + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "Không thể tiếp tục lại cùng một tập tin từ hai người khác." + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "Tải lên/về - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Trạng thái" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Tập tin" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "Giờ tới xấp xỉ" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Cả hai" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "Tải lên" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "Tải về" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "Chi tiết" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "Tập tin:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "Địa chỉ:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Hủy bỏ" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Chấp nhận" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Tiếp tục" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "Mở thư mục..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "Danh Sách Trò Chuyện Trực Tiếp (DCC) - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Nhận" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Gởi" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "Giờ bắt đầu" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Xóa" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Thôi" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Lưu" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "Không tự động kết nối đến máy phục vụ" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "Dùng thư mục cấu hình khác" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "Không tự động nạp bổ sung nào" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "Hiển thị thư mục cấu hình của người dung" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "Thi hành lệnh:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "Khởi chạy bị thu nhỏ. Cấp: 0=Chuẩn 1=Biểu tượng 2=Khay" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "cấp" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "Hiển thị thông tin phiên bản" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "Lỗi mở phông chữ :\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "Bộ đệm tìm kiếm là trống.\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d byte" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "Hàng đợi gởi mạng: %d byte" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "Lệnh « Chèn vào bộ đệm » chèn nội dung của « Dữ liệu 1 » vào trường nơi bạn đã bấm dãy phím đó, tại vị tri con trỏ hiện có" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "Lệnh « Đặt bộ đệm » đặt trường nơi dãy phím được nhập thành nội dung của « Dữ liệu 1 »" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "Lệnh « Lệnh cuối » đặt trường để chứa lệnh mới nhập — giống như khi bấm phím mũi tên lên trong trình bao" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "Lệnh « Lệnh kế » đặt trường chứa lệnh kế tiếp được nhập — giống như khi bấm phím mũi tên xuống trong trình bao" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "Lệnh này thay đổi đoạn chữ trong trường nhập để nhập xong tên hiệu hay lệnh chưa hoàn thành. Nếu « Dữ liệu 1 » đã được đặt, việc bám phím Tab hai lần trong chuỗi sẽ chọn tên hiệu trước, không phải tên hiệu sau." + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "Lệnh này cuộn lên và xuống danh sách các tên hiệu. Nếu « Dữ liệu 1 » được đặt thành gì, nó sẽ cuộn lên, nếu không thì nó sẽ cuộn xuống." + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "Lệnh này so sánh từ mới nhập vào trường với danh sách thay thế, và thay thế nó nếu tìm thấy từ khớp" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "Lệnh này di chuyển thẻ trươc phía bên trái theo một điều" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "Lệnh này di chuyển thẻ trươc phía bên phải theo một điều" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "Lệnh này di chuyển nhóm thẻ hiện thời phía bên trái" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "Lệnh này di chuyển nhóm thể hiện thời phía bên phải" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "Đẩy dòng nhập vào lịch sử nhưng không gởi cho máy phục vụ" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "Gặp lỗi khi nạp cấu hình tổ hợp phím" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "Phím tắt - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Không thể ghi vào tập tin đó." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Không thể đọc tập tin đó." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "Bộ lọc đã có." + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Riêng" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "Thông báo" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "Thôi bỏ qua" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "Hãy nhập bộ lọc cần bỏ qua:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "Danh Sách Bỏ Qua - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "Thống Kê Bỏ Qua:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Kênh:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Riêng:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "Thông báo :" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Mời:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "Thêm..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "Tên kênh quá ngắn nên hãy thử lại." + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "Kết nối hoàn tất - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "Kết nối đến %s hoàn tất." + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "Tiếp sau đây bạn có muốn làm gì?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "Gì cả, tôi sẽ tham gia kê_nh sau này." + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "_Vào kênh này:" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "Nến bạn có biết tên kênh bạn muốn vào, hãy nhập nó vào đây." + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "_Luôn hiển thị hộp thoại này một khi kết nối." + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "Đối thoại với" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "Chủ đề cho %s là: %s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "Chưa đặt chủ đề" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "Máy phục vụ này vẫn còn có %d kênh hay đối thoại được liên quan đến nó. Đóng hết không?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "Đừng hỏi lần kế tiếp." + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "Bạn hiện thời có kết nối với %i mạng IRC." + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "Bạn có chắc muốn thoát không?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "Có một số việc truyền tập tin còn hoặt động." + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "Thu nhỏ về _Khay" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "Chèn mã Thuộc Tính hay mã Màu" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>Đậm</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>Gạch dưới</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "Chuẩn" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "Màu sắc 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "Màu sắc 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "Đón_g" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "Giới hạn người dùng phải là con số.\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "Không có tin nhẳn bên ngoài" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "Bảo vệ chủ đề" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "Chỉ mời" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "Đã điều tiết" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "Danh Sách Đuổi Ra" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "Từ khoá" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "Giới hạn người dùng" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "Hãy nhập tên hiệu mới:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "Không biết máy" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Chưa biết" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Tên thật:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "Người dùng:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "Quốc gia:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "Máy phục vụ :" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "cách đây %u phút" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "Tin nhẳn cuối:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "Thông điệp Vắng mặt:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "Mở liên kết trong trình duyệt" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "Chép liên kết đã chọn" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Vào kênh" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "Rời kênh đi" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "Quay lại kênh" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "Trình đơn người dùng - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "Trả lời CTCP — mã đặc biệt:\n\n%d \t\tdữ liệu (toàn bộ CTCP)\n%e \t\ttên mạng hiện có\n%m \t\tthông tin về máy\n%s \t\ttên hiệu đã gởi CTCP\n%t \t\tgiờ/ngày\n%2 \t\ttừ 2\n%3 \t\ttừ 3\n&2 \t\ttừ 2 đến kết thúc dòng\n&3 \t\ttừ 3 đến kết thúc dòng\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "Lệnh định nghĩa riêng - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "Thay thế - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "Thay thế bằng" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "Quản lý URL - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "Nút danh sách người dùng - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "Nút đối thoại - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "Trả lời CTCP - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "_Mới" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "T_hoát" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "_Xem" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "Thanh t_rình đơn" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "_Thanh chủ đề" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "Danh sách người _dùng" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "Nút _chế độ" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "Bộ _chuyển đổi kênh" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "_Thẻ" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "Câ_y" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "Bộ do mạ_ng" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "Tất" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "Đồ thị" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "Máy _phục vụ" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "_Ngắt kết nối" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "_Tái kết nối" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "Trình đơn người _dùng" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "Thiết _lập" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "Tù_y thích" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Cửa sổ" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "Đặt lại dòng đánh dấu" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "Xóa t_rắng văn bản" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "Trợ g_iúp" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "_Nội dung" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "_Giới thiệu" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "Tên" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "Gặp cuối cùng" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "Ngoại tuyến" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Chưa bao giờ" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "cách đây %d phút" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "Trực tuyến" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "Hãy nhập tên hiệu cần thêm:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "Thông báo trên các mạng này:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "Cho phép tạo danh sách các mạng định giới bằng dấu phẩy." + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "Mở đối thoại" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "đang kết nối với %u mạng và %u kênh - %s" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "_Bật chớp" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "Thông điệp kênh" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "Tin nhẳn riêng" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "Tin nhẳn đã tô sáng" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "nhận được tin nhẳn đã tô sáng từ : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "Nhận %u tin nhẳn đã tô sáng, mới nhất từ : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "Nhận tin nhẳn riêng từ : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "Nhận %u tin nhẳn riêng, mới nhất từ : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "Nhận lời mời gởi tập tin từ : %s (%s) - %s" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "Nhận %u lời mời gởi tập tin, mới nhất từ : %s (%s) - %s" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Phiên bản" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Mô tả" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Chọn bổ sung hay văn lệnh cần nạp" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "Bổ sung và Văn lệnh - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Nạp..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "Lưu dạng..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Mạng mới" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Thật gỡ bỏ mạng « %s » và tất cả máy phục vụ của nó không?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "Sửa %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "_Sửa" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "Kết nối đến chỉ máy phục vụ đã chọn" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "Không quay lại qua tất cả các máy phục vụ khi kết nối bị ngắt." + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "Dùng SSL cho mọi máy phục vụ trên mạng này" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "Dùng thông tin người dùng toàn cục" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "Tê_n hiệu :" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "Chọn thứ hai:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "_Tên thật:" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "Tên người _dùng:" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Mật khẩu :" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "Bộ ký tự :" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "Danh sách mạng - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "Thông tin người dùng" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "Chọn thứ ba:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Mạng" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "Bỏ qua danh sách mạng khi khởi chạy" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "_Sửa..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "Sắp _xếp" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "_Kết nối" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "An-ba-ni" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Ai-déc-bai-gian" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Be-la-ru-xợ" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bun-ga-ri" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "E-x-tô-ni-a" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Ấn Độ" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Mã Lai" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Thái Lan" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Việt Nam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Chung" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Phông:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "Tên hiệu có màu" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "Cho mỗi người trên IRC có một màu riêng" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "Thụt lệ tên hiệu" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "Canh lề bên phải các tên hiệu" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "Hiện dòng đánh dấu" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "Chèn dòng màu đỏ sau đoạn chữ đã đọc cuối cùng." + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "Ảnh nền:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "Thiết lập trong suốt" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "Thứ tự đã nói cuối cùng" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "Bắt lỗi chính tả" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "Gõ xong tên hiệu" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "Hậu tố gõ xong tên hiệu :" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "Sắp xếp cách gõ xong tên hiệu :" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Chưa sắp xếp" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Trên" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Dưới" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Ẩn" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "Danh sách người dùng" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "HIện tên máy trong danh sách người dùng" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "Dùng phông chữ và màu của hộp văn bản" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "Sắp xếp danh sách người dùng theo :" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "Hiện danh sách người dùng ở :" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "Trên kênh nhỏ hơn:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "Hành động khi nhấn đôi" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Cửa sổ" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Thẻ" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "Luôn" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "Chỉ thẻ đã yêu cầu" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "Mở thẻ thêm cho thông điệp máy phục vụ" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "Mở thẻ mới khi bạn nhận tin nhẳn riêng" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "Sắp xếp thẻ theo thứ tự abc" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "Tới thẻ mới:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "Hiện bộ chuyển đổi kênh ở :" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "Giảm nhãn thẻ thành:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "chữ." + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "Thẻ hay Cửa sổ" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "Mở kênh trong:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "Mở đối thoại trong:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "Mở tiện ích trong:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "Mở DCC, Bỏ qua, Thông báo v.v. trong thẻ hay cửa sổ?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "Tập tin và Thư mục" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "Tự chấp nhận tập tin đã đưa ra:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "Tải tập tin về:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "Di chuyển tập tin hoàn tất sang:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "Lưu tên hiệu trong tên tập tin" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "Tự mở cửa sổ DCC" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "Cửa sô Gởi" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "Cửa sổ Nhận" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "Cửa sổ Trò chuyện" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "Một việc tải lên:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "Tốc độ tối đa cho môt việc truyền" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "Một việc tải về:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "Tổng số việc tải lên:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "Tốc độ tối đa cho mọi tập tin" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "Tổng số việc tải về:" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "Cảnh giác" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "Chớp biểu tượng khay khi:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "Chớp thanh tác vụ khi:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "Kêu bíp khi:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "Bật biểu tượng khay của hệ thống" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "Tin nhẳn đã tô sáng" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "Tin nhẳn đã tô sáng là tin nhẳn chứa tên hiệu của bạn, cũng như :" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "Từ thêm cần tô sáng:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "Tên hiệu cần không tô sáng:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "Tên hiệu cần tô sáng luôn luôn:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "Tin nhẳn mặc định" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "Thoát:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "Rời kênh đi:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "Vắng mặt:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "Vắng mặt" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "Hiện Vắng mặt một lần" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "Tự bỏ nhãn Vắng mặt" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "Trình bày CHẾ ĐỘ dạng thô" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "Ẩn các tin nhẳn vào/rời" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Trễ tự tái kết nối:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Ghi lưu" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "Dòng cuộn ngược:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "Ghi lưu tên tập tin:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=Máy %c=Kênh %n=Mạng." + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Ghi giờ vào bản ghi" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Dạng ghi giờ bản ghi:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Tắt)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "Địa chỉ của bạn" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "Đóng kết với:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "Chỉ có ích trên máy tính có nhiều địa chỉ." + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "Lấy địa chỉ của tôi từ máy phục vụ IRC" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "Gọi địa chỉ thật của bạn từ máy phục vụ IRC. Hãy bật tùy chon này nếu bạn có địa chỉ số « 192.168.*.* »." + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "Địa chỉ IP DCC:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "Tuyên bố bạn ở địa chỉ này khi đưa ra tập tin." + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!Để mọi cổng có giá trị số không cho toàn bộ phạm vị." + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "Máy phục vụ ủy nhiệm" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "Tên máy:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Cổng:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Kiểu :" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "Dùng ủy nhiệm cho :" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "Xác thực ủy nhiệm" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "Tên người dùng:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Chọn tập tin ảnh" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "Chọn thư mục tải về" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Chọn phông" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Duyệt..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "Mở thư mục Dữ liệu" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Chọn màu" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "Màu chữ" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Màu mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "Màu cục bộ :" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Tiền cảnh:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Nền:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "Màu giao diện" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "Dữ liệu mới:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "Dòng đánh dấu :" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "Tin nhẳn mới:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "Người dùng vắng mặt:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "Tô sáng:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Sự kiện" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "Tập tin âm thanh" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "Chon tập tin âm thanh" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "Tập tin âm thanh:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "_Duyệt..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "_Phát" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Giao diện" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Hộp nhập" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Danh sách Người dùng" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "Bộ chuyển đổi kênh" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Màu sắc" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "Đang trò chuyện" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "Cấp cao" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Thiết lập mạng" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Việc truyền tập tin" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Loại" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "Không thể đặt cây bên trên hay bên dưới.\nTrước hết hãy chuyển đổi sang bố trí <b>Thanh</b> trong trình đơn <b>Xem</b>." + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "Một sô thiết lập đã được thay đổi nên cần phải khởi chạy lại để hoạt động đầy đủ." + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "•• CẢNH BÁO ••\nViệc tự động chấp nhận DCC vào thư mục\nchính của bạn có lẽ nguy hiểm và cho phép\nngười khác tấn công hệ thống của bạn.\nV.d. người khác có thể gởi cho bạn\nmột « .bash_profile »." + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "Tùy thích - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "Gặp lỗi khi phân tách chuỗi đó" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "Tín hiệu này chỉ nhận %d đối sô, $%d không hợp lệ" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "In tập tin các văn bản" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ Số" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Sửa sự kiện" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "Nạp từ..." + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Kiểm tra hết" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "Lấy URL - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Xóa trống danh sách" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Chép URL đã chọn" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Chép" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Lưu danh sách vào tập tin" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d quản trị, %d tổng số" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "Mở địa chỉ URL dạng « irc://máy:cổng/kênh »" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/wa.po b/po/wa.po new file mode 100644 index 0000000000000000000000000000000000000000..6266bb615e5fb32a301044275c2641f428cba518 --- /dev/null +++ b/po/wa.po @@ -0,0 +1,6254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Pablo Saratxaga <pablo@walon.org>, 2004 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Walloon (http://www.transifex.com/hexchat/hexchat/language/wa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: wa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "Dji so-st ocupé" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "Cwitant" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "Rantoele" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<nouk>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "Canå" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "Ratindant" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "En alaedje" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "Berwete" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "Fwait" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "Raloyaedje" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "Rinoncî" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "Dji n' sai acceder a %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "Aroke" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "Cwiter l' canå" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "Adjonde li canå..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "Tapez l' canå a-z adjonde:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "Catchî l' modêye" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "Evoyî" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "Tchater" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "Netyî" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* C' est vormint biesse di s' raloyî a l' IRC dizo root!\n Vos dvrîz fé on conte uzeu eyet l' eployî po vs elodjî.\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "OYI " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "NENI " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr "" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr "" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "Dj' a mezåjhe di /bin/sh po roter!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "Adresse IP" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "No d' uzeu" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "Lodjoe" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "" + +#: src/common/text.c:980 +msgid "The action" +msgstr "Accion" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "" + +#: src/common/text.c:987 +msgid "The text" +msgstr "Tecse" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "Messaedje" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "No do sierveu" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "Råjhon" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "Lodjoe" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "Informåcions sol sierveu" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "Messaedje" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "Conte" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "No do canå" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "Tecse" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "Uzeus" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "Pôrt" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "Hårdêye" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "Sôre DCC" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "No do fitchî" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "No do fitchî såme" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "No do tchmin" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "Eplaeçmint" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "Grandeu" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "Tchinne DCC" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "Vî no d' fitchî" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "Novea no d' fitchî" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "Riçuveu" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "No do lodjoe" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "Andore" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "Emirats Arabes Unis" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "Afganistan" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "Antigua eyet Barbuda" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "Anguila" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "Albaneye" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "Årmeneye" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "Antiyes neyerlandesses" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "Angola" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "Antartike" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "Årdjintene" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "Samowa amerikinne" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "Otriche" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "Ostraleye" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "Arouba" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "Azerbaydjan" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "Bosneye" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "Bårbades" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "Bangladesh" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "Beldjike" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "Bourkina Fasso" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "Bulgåreye" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "Bareyn" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "Bouroundi" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "Benin" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "Bermudes" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "Bruney" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "Boliveye" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "Braezi" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "Bahamas" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "Boutan" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "Iye Bouvet" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "Boswana" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "Belaruss" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "Belize" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "Canada" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "Iyes Cocos" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "Cintrafrike" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "Congo" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "Swisse" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "Iyes Cook" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "Tchili" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "Camrone" + +#: src/common/util.c:738 +msgid "China" +msgstr "Chine" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "Colombeye" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "Costa Rica" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "Cuba" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "Cap Vert" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "Iye Christmas" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "Chipe" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "Tchekeye" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "Almagne" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "Djibouti" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "Daenmåtche" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "Dominike" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "Republike Dominikinne" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "Aldjereye" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "Ecwåteur" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "Estoneye" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "Edjipe" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "Sara Coûtchantrece" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "Eritrêye" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "Espagne" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "Etiopeye" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "Finlande" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "Fidji" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "Iyes Malouwines" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "Micronezeye" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "Iyes Faeroyé" + +#: src/common/util.c:770 +msgid "France" +msgstr "France" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "Gabon" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "Grande Burtaegne" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "Grenåde" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "Djeyordjeye" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "Guyane francesse" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "Iyes anglo-normandes" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "Gana" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "Djibraltar" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "Groenlande" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "Gambeye" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "Guinêye" + +#: src/common/util.c:782 +msgid "Government" +msgstr "Govienmint US" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "Gwadeloupe" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "Guinêye Ecwåtoriåle" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "Grece" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "Gwatemala" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "Gwam" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "Guinêye-Bissaw" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "Guyana" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "Hong Kong" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "Honduras" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "Crowåceye" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "Hayiti" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "Hongreye" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "Indonezeye" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "Irlande" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "Israyel" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "" + +#: src/common/util.c:801 +msgid "India" +msgstr "Inde" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "" + +#: src/common/util.c:803 +msgid "International" +msgstr "Eternåcionå" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "Teritweres britanikes di l' Oceyan Indyin" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "Irak" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "Iran" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "Izlande" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "Itåleye" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "Djamayike" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "Djordaneye" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "Djapon" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "Kenia" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "Kirguiztan" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "Cambodje" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "Kiribati" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "Comores" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "Corêye (bijhe)" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "Corêye (nonne)" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "Kuweyt" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "Iyes Cayman" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "Kazaxhtan" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "Lawosse" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "Liban" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "Lîchtensteyn" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "Sri Lanka" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "Liberia" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "Lessoto" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "Litwaneye" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "Lussimbork" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "Letoneye" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "Libeye" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "Marok" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "Monaco" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "Moldova" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "Madagascar" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "Iyes Marshall" + +#: src/common/util.c:843 +msgid "Military" +msgstr "" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "Macedoneye" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "Mali" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "Birmaneye" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "Mongoleye" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "Iyes Marianes bijhreces" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "Martinike" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "Moritanreye" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "Montserrat" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "Male" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "Iye Môrice" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "Maldives" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "Malawi" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "Mecsike" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "Malaizeye" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "Mozambike" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "Namibeye" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "Nouve Caledonreye" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "Nidjer" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "Iye Norfolk" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "Nidjeria" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "Nicaragwa" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "Bas Payis" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "Norvedje" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "Nepal" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "Nawouro" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "Niuwé" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "Nouve Zelande" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "Oman" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "Panama" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "Perou" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "Polinezeye francesse" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "Papouwazeye Nouve Guinêye" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "Filipenes" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "Pakistan" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "Pologne" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "Pitcairn" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "Porto Rico" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "Portugal" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "Palawou" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "Paragway" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "Katar" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "Reyunion" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "Roumaneye" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "Rûsseye" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "Rwanda" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "Arabeye Sawoudite" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "Iyes Solomon" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "Seycheles" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "Soudan" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "Suwede" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "Singapour" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "Sinte Helene" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "Esloveneye" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "Eslovakeye" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "Siera Leyone" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "Sint Marin" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "Senegål" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "Somaleye" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "Suriname" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "São Tomé et Prince" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "Ancyinne Union Sovietike" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "El Salvador" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "Sireye" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "Suwazilande" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "Tchad" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "Togo" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "Taylande" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "Tadjikistan" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "Timor Ess" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "Turcmenistan" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "Tunizeye" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "Tonga" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "Turkeye" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "Trinité et Tobago" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "Touvalou" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "Taiwan" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "Tanzaneye" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "Oucrinne" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "Ouganda" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "Rweyåme Uni" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "Estats Unis d' Amerike" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "Ourougway" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "Ouzbekistan" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "Vatican" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "Venezwela" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "Vietnam" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "Vanouatou" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "Samowa" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "Yemen" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "Mayote" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "Yougoslaveye" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "Nonne Afrike" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "Zambeye" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "Zimbabwè" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "Tåvlea di caracteres" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "Priyî" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "Di" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "Date" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "Oister" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "Rafrister" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "Tchoezixhoz on fitchî pol rexhowe" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "No do canå" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "Trover:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "Evoyî fitchî a %s" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "Estat" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "Fitchî" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "Ambedeus" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "Rinoncî" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "Accepter" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "Rataker" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "" + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "Riçuv." + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "Evoyî" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "Disfacer" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "Rinoncî" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "Schaper" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "Dji n' sai scrire dins ç' fitchî la." + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "Dji n' sai lére ci fitchî la." + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "Privé" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "Canå:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "Privé:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "Priyî:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "" + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "_Clôre" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "Nén cnoxhou" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "Vraiy no:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "Adjonde li canå" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "_Sierveu" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "A_pontiaedjes" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "_Purnea" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "_Netyî l' tecse" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "_Aidance" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "Åd_vins" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "Å _dfait" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "No" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "Måy" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "Modêye" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "Discrijhaedje" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "Tchoezixhoz on tchôke-divins ou on scripe a tcherdjî" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "_Tcherdjî..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "" + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "Novele rantoele" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "Voloz vs vormint oister l' rantoele «%s» eyet tos ses sierveus?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "Sicret:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "Rantoeles" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "Ralo_yî" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "Albaneye" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "Azerbaydjan" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "Belaruss" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "Bulgåreye" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "Estoneye" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "Inde" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "Malaizeye" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "Taylande" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "Vietnam" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "Djenerå" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "Fonte:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "Nén rélî" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "Al copete" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "Al valêye" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "Catchî" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "Purneas" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "Linwetes" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "Tårdjaedje po s' riraloyî otomaticmint:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "Elodjaedje" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "Sititchî l' eure dins les djournås" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "Cogne po l' eure/date dins les djournås:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "Hårdêye" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(Dismetou)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "No do lodjoe:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "Pôrt:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "Sôre:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "No d' uzeu:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "Tchoezixhoz on fitchî imådje" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "Tchoezixhoz l' fonte" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "Foyter..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "Tchoezixhoz l' coleur" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "Coleurs mIRC:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "Coleur di dvant:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "Coleur di fond:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "Evenmint" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "" + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "Eterface" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "Boesse d' intrêye" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "Djivêye des uzeus" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "Coleurs" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "Apontiaedje del rantoele" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "Transfers di fitchîs" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "Categoreyes" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "" + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "Candjî les evenmints" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "Sayî ttafwait" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "Netyî l' djivêye" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "Copyî l' tchoezeye hårdêye" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "Copyî" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "Schaper l' djivêye en on fitchî" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d ops, %d totå" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000000000000000000000000000000000000..2d21713ab6d9a612ed9a56a0bdd37069dda9dbcd --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,6271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Aron Xu <happyaron.xu@gmail.com>, 2010 +# bababababanana1, 2014 +# Dalin <ayi880@hotmail.com>, 2003 +# Eleanor Chen <chenyueg@gmail.com>, 2010 +# highwind <highwindmx@126.com>, 2014 +# highwind <highwindmx@126.com>, 2014 +# bababababanana1, 2014 +# Michael Jay Tong <michaeljayt@gmail.com>, 2014,2016 +# Minor revision by Walte <webmaster@www.linuxfans.org>, 2003 +# Rongjun Mu <elanmu@sina.com>, 2003 +# Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004 +# Sarah Smith <sarahs@redhat.com>, 2003 +# SEPTEM <septeman@gmail.com>, 2006 +# Tong Hui <tonghuix@gmail.com>, 2014,2016 +# yich <yichangshengwu@hotmail.com>, 2018 +# Zhustec <zhustec@foxmail.com>, 2018 +# Zhuyuan Liu <gtkdict@yahoo.com.cn>, 2005 +# Zong Yaotang <zong@cosix.com.au>, 2002 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-11-30 11:08+0000\n" +"Last-Translator: yich <yichangshengwu@hotmail.com>\n" +"Language-Team: Chinese (China) (http://www.transifex.com/hexchat/hexchat/language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "HexChat" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "IRC 客户端" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "HexChat 是一款易于使用的可扩展 IRC 客户端。它允许以安全的方式进入多个网络,与用户进行私密聊天,或者在频道中使用自定义界面,甚至还可以传送文件。" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "HexChat 支持以下特性: DCC、SASL、代理、拼写检查、消息提醒、聊天记录、自定义主题和 Python/Perl 脚本。" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "主聊天窗口" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "与其他人在线聊天" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "IM;聊天;" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "hexchat" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "打开安全模式" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "HexChat 主题管理器" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "我很忙" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "已离开" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "关" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "开" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "{未设置}" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "网络" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<无>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "频道" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "等待中" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "活跃" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "失败" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "完成" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "连接" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "已中止" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "无法获取 %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "错误" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s 要给您发送 “%s”,要接受吗?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "没有活跃的 DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "打开对话窗口(_O)" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "发送文件(_S)" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "用户信息(_U)(WHOIS)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "添加到好友列表(_A)" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "忽略(_I)" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "管理员动作(_P)" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "赋予管理员权限" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "取消管理员权限" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "赋予发言权" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "取消发言权" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "踢人/屏蔽" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "踢人" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "屏蔽" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "踢出并屏蔽" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "离开频道" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "进入频道..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "输入要进入的频道:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "服务器列表" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "Ping 服务器" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "隐藏版本信息" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "赋予管理员权限" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "取消管理员权限" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "道别" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "输入踢出 %s 的原因:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "发送文件" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "对话" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "发送" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "聊天" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "清除" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "你没有 %s 的写入权限。此会话中的信息不可保存。" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* 不要以 root 身份执行 IRC!您应该\n 使用普通用户帐号来登录。\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "是 " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "否 " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "您正受到来自 %s 的洗屏攻击,忽略 %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "您正受到来自 %s 的 MSG 洪水攻击,设置图形化自动对话框为关闭。\n" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "解析到 %s" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "找不到" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "解析到:" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "查找 %s..." + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 在线\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 离线\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "没有进入任何频道。请尝试输入 /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "未连接任何服务器。请尝试输入 /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "服务器 %s 已存在于网络 %s 中。\n" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "已将服务器 %s 添加到网络 %s 中。\n" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "已标记为离开:%s\n" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "已取消离开标记。\n" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "使用 /bin/sh 才能执行本程序!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "可用命令:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "用户自定义命令:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "可用插件命令:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "请输入 /HELP <命令名> 或者 /HELP -l 以获取更多信息" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "忽略未知参数 “%s”。" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "此服务器不支持静默。" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "找不到该插件。\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "无法卸载该插件。\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <名称> <动作>,在用户列表下添加一个按钮" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "ADDSERVER <新网络> <新服务器/6667>,向网络列表添加新网络新服务器信息" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <命令>,向您所在的所有频道发送命令" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "ALLCHANL <命令>,向您所在服务器的所有频道发送命令。" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <命令>,向您所在的所有服务器发送命令" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "AWAY [<离开原因>],设置为离开状态(使用 /BACK 解除)" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "BACK,取消离开状态" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <掩码> [<拦截类型>],禁止所有符合 <掩码> 的用户进入当前的频道。如果他们已在该频道,这个命令不会将其踢出(需要具有频道管理员身份)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "CHANOPT [-quiet] <变量名> [<值>]" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "CHARSET [<编码字符集>],获取及设置当前连接所使用的编码字符集" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "CLEAR [ALL|HISTORY|[-]<amount>],清空当前的窗口文本或命令历史。" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "CLOSE【关闭】 [-m],关闭当前选项卡,关闭当前的唯一活动窗口,或者是关闭所有查询的 -m 选项。" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <国家地区代码|通配符>,查看国家代码对应的国家名,比如 :cn = 中国" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <昵称> <要发送的信息>,给昵称为 <昵称> 者发送 CTCP 信息,常用是 VERSION 和 USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "CYCLE [<频道>],离开当前频道并立即重新进入" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <昵称> - 接收昵称为 <昵称> 者使用 DCC 发送给\n 您的文件\nDCC SEND [-maxcps=#] <昵称> [文件] - 使用 DCC 发送文件给 <昵称>\nDCC PSEND [-maxcps=#] <昵称> [文件] - 使用被动模式 DCC 发送文件给 <昵称>\nDCC LIST - 显示 DCC 列表\nDCC CHAT <昵称> - 与 <昵称> 进行 DCC 直连聊天\nDCC PCHAT <昵称> - 使用 DCC 被动模式与 <昵称> 聊天\nDCC CLOSE <类型> <昵称> <文件> 例如:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <昵称>,取消当前频道内昵称为 <昵称> 的副管理员身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <名称>,删除用户列表下的那个按钮" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <昵称>,取消昵称为 <昵称> 者在当前频道的管理员身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <昵称>,取消昵称为 <昵称> 者在当前频道的发言权(需要具有频道管理员身份)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON,断开服务器连接" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "DNS <昵称|主机|IP>,解析用户昵称、 IP 地址或者主机名" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <文本>,在本地显示文本" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <命令>,执行命令。如果使用了 -o 选项则输出到当前频道,否则输出到当前文本框" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT,向进程发送 SIGCONT 信号" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9],杀死当前会话中的某个执行进程。如果使用 -9 选项,则用 SIGKILL 杀死该进程" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP,向进程发送 SIGSTOP 信号" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE,把数据发送给进程的标准输入" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "EXPORTCONF, 导出 HexChat 设置" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ,清空当前服务器的发送队列" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <主机> [<端口号>],经由某主机来代理,默认端口为 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "GHOST <昵称> [密码],消灭此幽灵昵称" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <昵称>,给昵称为 <昵称> 者以副管理员的身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <密码>,向昵称服务器验证你的身份" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <掩码> <类型..> <选项..>\n 掩码 - 要忽略的主机掩码,比如 *!*@*.aol.com\n 类型 - 要忽略数据的类型,应以下选项之一或全部:\n PRIV,CHAN,NOTI,CTCP,INVI,ALL\n 选项 - 忽略选项:NOSAVE,QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <昵称> [<频道>],邀请昵称为 <昵称> 者进入频道,默认为当前的频道(需要具有频道管理员身份)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <频道>,进入频道" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "KICK <昵称> [原因],将该昵称从当前频道中踢出 (需要具有频道管理员身份)" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "KICKBAN <昵称> [原因],把 <昵称> 踢出当前频道,并禁止再次进入(需要具有频道管理员身份)" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK,强制进行延迟检查" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "LASTLOG [-h] [-m] [-r] [--] <字符串>,在缓冲区中搜索该字符串\n 使用 -h 选项高亮显示搜索到的字符串(多个)\n 使用 -m 选项严格匹配大小写\n 使用 -r 选项将字符串作为正则表达式搜索\n 使用 -- (双破折号) 标记选项参数结束,例如要搜索的字符串是 '-r'" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <文件>,载入插件或脚本" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP,撤销当前频道中所有副管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP,撤销当前频道中所有管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <动作>,向当前频道中发送一个动作(动作使用英语的第 3 人称陈述,例如 /me 跳一下)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK,踢出当前频道中除您自己以外的所有用户(需要具有频道管理员身份)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP,给当前频道中所有用户赋予管理员的身份(需要具有频道管理员身份)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "MSG <昵称> <消息>,发送私信, 昵称为 \".\" 发送给上一个昵称的用户,或者以 \"=\" 开头发送 dcc 聊天" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "NAMES [频道],列出该频道的所有昵称" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <昵称> <消息>,给昵称为 <nick> 者发送一则 CTCP 通知" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <主机名> [<端口号>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <昵称>,设置您的昵称" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "NOTICE <昵称/频道> <消息>,发送一条通知" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "NOTIFY [-n 网络1[,网络2,...]] [<昵称>],列出您的通知列表,或在列表中添加某人" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <昵称>,委任 <昵称> 为频道管理员(需要具有频道管理员身份)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<频道>] [<离开原因>],离开频道,默认为当前的频道" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <昵称 | 频道>,向某位用户或频道发送 CTCP PING 消息" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "QUERY [-nofocus] <昵称> [消息],打开新私聊窗口,选择性地发送信息" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "QUIET <掩码> [<静默类型>],在服务器支持的情况下将当前服务器中满足掩码的每个人设为静默状态。" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<退出原因>],从与当前服务器断开连接" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <文本>,向服务器发送原始格式的文本" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<主机>] [<端口号>] [<密码>],可用 /RECONNECT 重新连接当前的服务器或用 /RECONNECT ALL 重新连接所有服务器" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<主机>] [<端口号>] [<密码>],可用 /RECONNECT 重新连接当前服务器或用 /RECONNECT ALL 重新连接所有服务器" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "RECV <text>,向 HexChat 发送原始数据,就好像从 IRC 服务器上接收到的一样" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "RELOAD <名称>,重新载入插件/脚本" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <文本>,向当前窗口中的对象发送文本" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <昵称> [<文件>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <主机> <端口号> <频道>,连接服务器并进入某频道" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <主机> <端口号> <频道>,连接服务器并进入某频道" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "SERVER [-ssl] <主机> [<端口号>] [<密码>],连接到服务器。普通连接的默认端口是6667,SSL连接的默认端口是6697。" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <主机> [<端口号>] [<密码>],连接服务器。默认端口为 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "SET [-e] [-off|-on] [-quiet] <变量名> [<值>]" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "SETCURSOR [-|+]<位置>,重新定位输入框中光标的位置。" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "SETTAB <新名称>,改变选项卡的名字,tab_trunc 变量的限制仍然有效" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "SETTEXT <新文本>,替换输入框中的文本" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<频道主题>],设置频道主题,如果未指定内容则显示当前主题" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "\nTRAY -f <时间> <文件1> [<文件2>] 在托盘中使用两个图标进行闪烁。\nTRAY -f <文件名> 设置托盘为固定图标。\nTRAY -i <数字> 使用内部图标闪烁托盘。\nTRAY -t <文本> 设置托盘工具提示。\nTRAY -b <标题> <文本> 设置托盘气泡通知。" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <掩码> [<掩码>...],解禁指定的掩码。" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <掩码> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <名称>,卸载插件或脚本" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "UNQUIET <掩码> [<掩码>...],在服务器支持测情况下解除指定掩码的静默状态。" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>,在浏览器中打开 URL" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <昵称1> <昵称2>...,在频道用户列表中以高亮度标示昵称" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <昵称>,给予昵称为 <昵称> 者发言权(需要具有频道管理员身份)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <消息>,发送信息到所有的频道" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <消息>,给当前频道中所有管理员发送消息" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "用户命令:%s\n" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "用法:%s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\n没有关于该命令的帮助信息。\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "此命令不存在。\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "用户命令的参数有误。\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "用户命令产生太多递归,中止执行。" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "未知命令 %s。请尝试键入 /help\n" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "无 hexchat_plugin_init 符号,这确实是 HexChat 的插件吗?" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "*\t服务器识别需要从 %s 作为 %s" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "*\t开始 identd 服务器错误: %s" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "IDENTD <端口> <用户名>" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "定时器 %d 已删除。\n" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "找不到此参考数字。\n" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "未安装定时器。\n" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "重复命令的秒数\n" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "%5d %8.1f %7d %s\n" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "您确信该服务器的此端口支持 SSL?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "无法解析主机名 %s\n请检查您的 IP 设置!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "代理传送失败。\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "跳转至 %s 的下一个服务器...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "警告: 字符集 “%s” 未知。将不对网络 %s 应用字符转换。" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "%C18*%O$t%C18$1%O 已增加到通知列表。" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "%C22*%O$t%C22$1%O: %C18$2%O 在 %C24$4%O 由 %C26$3%O" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "%C22*%O$t 不能加入 %C22$1 %O(%C20您已被拦截%O)。" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "%C29*%O$t 已知能力: %C29$2%O" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "%C29*%O$t能力移除: %C29$2%O" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "%C23*%O$t 支持能力: %C29$2%O" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "%C23*%O$t 请求能力:%C29$1%O" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "%C24*%O$t%C28$1%O 改名为 %C18$2%O" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 屏蔽了 %C18$2%O" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "%C22*%O$t 频道 %C22$1%O 建立于 %C24$2%O" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 取消了 %C18$2%O 的频道副管理员权限" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 取消了 %C18$2%O 的频道管理员权限" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 取消了 %C18$2%O 的发言权" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C 给 %C18$2%O 设置了免封权" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 委任 %C18$2%O 为频道副管理员" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%C 设置了对 %C18$2%O 的免邀请" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%U频道 用户 主题" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "%C22*%O$t%C26$1%O 在上 %C22$4%O 设置了 %C24$2$3%O 模式" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "%C22*%O$t 频道 %C22$1%O 模式: %C24$2" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 委任 %C18$2%O 为频道管理员" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 设置了对 %C18$2%O 的静默" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 取消了 %C18$2%O 的免封权" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 解除了对 %C18$2%O 的免邀请" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "%C22*%O$t%C26$1%O 取消了频道密码" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "%C22*%O$t%C26$1%O 取消了用户限制" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O 设置频道密码为 %C24$2%O" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "%C22*%O$t%C26$1%O 设置频道限制为 %C24$2%O" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 解除了对 %C18$2%O 的屏蔽" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 取消了设置在 %C18$2%O 上的静默" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "%C22*%O$t 频道 %C22$1%O url: %C24$2" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "%C22*%O$t%C26$1%O 给了 %C18$2%O 发言权" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "%C23*%O$t 已连接。正在登录..." + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "%C23*%O$t 正在连接到 %C29$1%C (%C23$2:$3%O)" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$t 连接失败 (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "%C24*%O$t 收到了来自 %C18$2%O 的 CTCP %C24$1%C" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "%C24*%C$t 收到了来自 %C18$2%C (到 %C22$3%C)%O 的 CTCP %C24$1%C" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "%C24*%O$t 收到来自 %C18$2%O 的 CTCP 声音 %C24$1%C" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "%C24*%O$t 收到来自 %C18$2%O (到 %C22$3%O) 的 CTCP 声音 %C24$1%C" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "%C23*%O$t 中止了与 %C18$1%O 的 DCC 直连聊天。" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t 已与 %C18$1%C %C30[%C24$2%C30]%O 建立了 DCC 直连聊天连接" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "%C20*%O$t 失去了与 %C18$1%O 的 DCC 直连聊天连接 (%C20$4%O)" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "%C24*%O$t 收到来自 %C18$1%O 的 DCC 直连聊天请求" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "%C24*%O$t 向 %C18$1%O 发送 DCC 直连聊天请求" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "%C24*%O$t 已发送 DCC 直连聊天请求给 %C18$1%O" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "%C20*%O$t 尝试到 %C18$2%O 的 DCC $1 连接失败 (%C20$3%O)" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "%C23*%O$t 从 %C18$2%O 接收到 '%C23$1%C' " + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "%C20*%O$t 收到来自 %C18$1%O 的有错的 DCC 请求。$a010%C23*%O$t 数据包内容:%C23$2%O" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "%C24*%O$t 正在发送 '%C24$1%O' 到 %C18$2%O" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "%C23*%O$t 无此 DCC 请求。" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "%C23*%O$t 到 %C18$1%O 的 DCC RECV 连接 '%C23$2%O' 已中断。" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "%C24*%O$t 来自 %C18$3%O DCC RECV 连接 '%C23$1%O' 完成 %C30[%C24$4%O cps%C30]%O" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$t 建立与 %C18$1 的 DCC RECV 连接 %C30[%O%C24$2%C30]%O" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "%C20*%O$t 来自于 %C18$3%O 的 DCC RECV 连接 '%C23$1%O' 失败 (%C20$4%O)" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "%C20*%O$t DCC RECV:无法打开 %C23$1%C 进行写入(%C20$2%O)。 " + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "%C23*%O$t 文件 '%C24$1%C' 已存在,将把文件另存为 '%C23$2%O'。" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "%C24*%O$t%C18$1%C 已请求续传来自 %C24$3%O 的文件 '%C23$2%C' 。" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "%C23*%O$t 到 %C18$1%O 的 DCC SEND 连接 '%C23$2%C' 已中断。" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "%C24*%O$t 到 %C18$2%C 的 DCC SEND 连接 '%C23$1%C' 完成 %C30[%C24$3%C cps%C30]%O" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "%C24*%O$t 已建立到 %C18$1 %C30[%O%C24$2%C30]%O 的 DCC SEND 连接" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "%C20*%O 到 %C18$2%C 的 $tDCC SEND 连接 '%C23$1%C' 失败 (%C20$3%O)" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "%C24*%O$t%C18$1%C 已发送 '%C23$2%C' (%C24$3%O 字节)" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "%C20*%O$t 到 %C18$3%O 的 DCC $1 '%C23$2%C' 挂起,已中断。" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "%C20*%O$t 到 %C18$3%O 的 DCC $1 '%C23$2%C' 超时,已中断。" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "%C24*%O$t%C18$1%O 已从通知列表中删除。" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "%C20*%O$t 已断开连接 (%C20$1%O)" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "%C24*%O$t 找到您的 IP: %C30[%C24$1%C30]%O" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "%O%C18$1%O 已添加到忽略列表。" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "%O 对 %C18$1%O 的忽略已变更。" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "%O%C18$1%O 已从忽略列表中删除。" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "%O 您的忽略列表是空的。" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "%C20*%O$t 无法进入 %C22$1%C(%C20该频道只能邀请进入%O)。" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "%C24*%O$t 你已被 %C18$2%O 邀请到 %C22$1%O (%C29$3%O)" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "%C23*$t$1 ($3%C23) 已进入" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "%C20*%O$t 不能加入 %C22$1%C (%C20需要密码%O)" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "%C22*%O$t%C26$1%C 已将 %C18$2%C 从 %C22$3%C 踢出 (%C24$4%O)" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "%C19*%O$t%C19 您被 %C26$1%C 从服务器上踢出(%C20$2%O)" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "%C29*%O$t%C29MOTD 被跳过。%O" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C 已被占用。正在使用 %C18$2%O 重试..." + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "%C23*%O$t%C28$1%C 出错。正在使用 %C18$2%O 重试..." + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "%C20*%O$t 该昵称不正确或者已被占用。请用 /NICK 尝试使用另一个昵称。" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "%C20*%O$t没有此 DCC。" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "%C23*%O$t 当前没有任何进程在执行" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "%C23*%O$t 通知: %C18$1%C 已离开 (%C24$2%O)" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "%C23*%O$t 通知: %C18$1%C 已上线" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$t 通知列表为空。" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "通知列表中有 %C23*%O$t%C23$1%O 位用户。" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "%C23*%O$t 通知:%C18$1%C 下线了(%C29$3%O)。" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "%C23*%O$t 通知: %C18$1%C 上线了 (%C29$3%O)" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "%C24*$t$1 ($2%C24) 已离开" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "%C24*$t$1 ($2%C24) 已离开 ($4)" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "%C24*%O$t 从 %C18$1%C 处得到 Ping 回应时间:%C24$2%O 秒" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "%C20*%O$t 在 %C24$1%O 秒内没有收到 Ping 回应,正在断开连接。" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "%C24*%O$tA 已有一进程正在运行" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "%C24*$t$1 已退出($2)" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "%C24*%O$t%C26$1%C 设置模式 %C30[%C24$2%C30]%O" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "%O-%C29$1/Wallops%O-$t$2" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "%C24*%O$t 查询 %C18$1%O 的 IP 地址..." + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "%C23*%O$t 通过 SASL 以 %C18$1%O 认证 (%C24$2%O)" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "%C29*%O$t 已连接。" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "%C29*%O$t 正在查询 %C29$1%O" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "%C23*%O$t 前次连接尝试停止(%C24$1%O)" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "%C22*%O$t %C22$1%C的主题是:$2%O" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "%C22*%O$t%C26$1%C 已将主题更改为:$2%O" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "%C22*%O$t %C26$2%C 已将主题设置为 %C22$1%C (%C24$3%O)" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "%C20*%O$t 未知主机。也许您把它拼写错了?" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "%C20*%O$t 无法进入 %C22$1%C (%C20达到了用户限制%O)" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "%C22*%O$t 用户在 %C22$1%C: %C24$2%O" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%C 已离开 %C30(%C23$2%O%C30)%O" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "%C23*%O$t%C28[%C18$1%C28] %O WHOIS 列表结束。" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 发呆 %C23$2%O" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 发呆 %C23$2%O,登录时间:%C23$3%O" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "%C23*%O$t%C28[%C18$1%C28]%O 真实主机: %C23$2%O,真实 IP: %C30[%C23$3%C30]%O" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "%C19*%O$t 正在 %C22$2%O 频道里聊天" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "%C19*%O$t 被 %C26$3%O 从 %C22$2%C 中踢出(%C20$4%O)" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "%C19*%O$t 您已离开频道 %C22$3%O" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "%C19*%O$t 已离开频道 %C22$3%C (%C24$4%O)" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "%C20*%O$t 已邀请 %C18$1%O 到 %C22$2%O 频道 (%C24$3%O)" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "%C20*%O$t 您已改名为 %C18$2%O" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "从以下位置载入聊天记录" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** 聊天记录于 %s 结束记录\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** 聊天记录于 %s 开始记录\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "* 无法以可写入方式打开日志(log)文件。\n请检查 %s 的权限" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "左侧信息" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "右侧信息" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP 地址" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "用户名" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "进入用户的昵称" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "进入的频道" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "此人的主机名" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "这个人的帐号" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "昵称" + +#: src/common/text.c:980 +msgid "The action" +msgstr "动作" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "模式字符" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "验证文本" + +#: src/common/text.c:987 +msgid "The text" +msgstr "文本" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "信息" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "服务器名" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "已知能力" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "已移除的能力" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "服务器能力" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "请求能力" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "原昵称" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "新昵称" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "更改主题的用户" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "主题" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "能踢人的用户" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "被踢者" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "频道" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "原因" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "离开的用户" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "时间" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "建立者" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "昵称" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "原因" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "主机" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "来自于" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "时间格式为 x.x (见下)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "要进入的频道" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "声音" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "此人的昵称" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP 事件" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "设置密码的用户" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "密码" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "设置限制的用户" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "限制" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "使用了 op 命令的用户" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "被授予管理员身份的用户" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "被授予副管理员身份的用户" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "使用 halfop 命令的用户" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "使用 voice 命令的用户" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "被赋予发言权的用户" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "使用 ban 命令的用户" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "ban 掩码" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "使用了静默选项的用户昵称" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "quiet 掩码" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "取消密码的用户" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "取消用户限制的用户" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "使用 deop 命令的用户" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "被取消管理员身份的用户" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "使用 dehalfop 命令的用户" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "被取消副管理员身份的用户" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "使用 devoice 命令的用户" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "被取消发言权的用户" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "使用 unban 命令的用户" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "使用了 unquiet 选项的用户昵称" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "使用 exempt 命令的用户" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "exempt 掩码" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "取消 exempt 的用户" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "使用 invite 命令的用户" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "invite 掩码" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "取消 invite 的用户" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "设置模式的用户" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "模式符号(+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "模式字符" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "被设置的频道" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "全名" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "频道成员/“是 IRC 管理员”" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "服务器信息" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "发呆时间" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "登录时间" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "离开原因" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "信息" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "帐户" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "真实 user@host" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "真实 IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "频道名" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "机制" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "原始数字/标识符" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "文本" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "邀请您的用户" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "用户" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "昵称已被使用" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "已尝试过的昵称" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "端口" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "模式字符串" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC 类型" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "文件名" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "目标文件名" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "路径名" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "位置" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "大小" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC 字符串" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "离开原因" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "通知条目数" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "原文件名" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "新文件名" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "接收者" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "主机掩码" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "主机名" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "包" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "被邀请的用户" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "屏蔽掩码" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "设置屏蔽的用户" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "屏蔽时间" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "无法读取声音文件:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "远程主机已关闭套接字" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "连接被拒绝" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "没有到主机的路由" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "连接超时" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "无法分配该地址" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "连接被重置" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "阿森松岛" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "安道尔" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "阿拉伯联合酋长国" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "航空相关领域" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "阿富汗" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "安提瓜和巴布达" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "安圭拉岛" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "阿尔巴尼亚" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "亚美尼亚" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "荷属安的列斯群岛" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "安哥拉" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "南极洲" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "阿根廷" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "反向 DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "美属萨摩亚" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "亚太区" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "奥地利" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "北大西洋公约组织" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "澳大利亚" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "阿鲁巴" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "奥兰群岛" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "阿塞拜疆" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "波斯尼亚和黑塞哥维那" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "巴巴多斯" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "孟加拉国" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "比利时" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "布基纳法索" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "保加利亚" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "巴林" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "布隆迪" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "商业" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "贝宁" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "百慕大群岛" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "文莱" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "玻利维亚" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "巴西" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "巴哈马群岛" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "不丹" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "布韦岛" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "博茨瓦纳" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "白俄罗斯" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "伯利兹" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "加拿大" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "加泰罗尼亚" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "科科斯群岛" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "刚果民主共和国" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "中非共和国" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "刚果" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "瑞士" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "科特迪瓦共和国" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "库克群岛" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "智利" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "喀麦隆" + +#: src/common/util.c:738 +msgid "China" +msgstr "中国" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "哥伦比亚" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic 商业组织" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "联合体" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "哥斯达黎加" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "塞尔维亚和黑山" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "古巴" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "佛得角" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "圣诞岛" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "塞浦路斯" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "捷克共和国" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "东德" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "德国" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "吉布提" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "丹麦" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "多米尼克" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "多米尼加共和国" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "阿尔及利亚" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "厄瓜多尔" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "教育机构" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "爱沙尼亚" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "埃及" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "西撒哈拉" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "厄立特里亚" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "西班牙" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "埃塞俄比亚" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "欧盟" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "芬兰" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "斐济" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "福克兰群岛/马尔维纳斯群岛" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "密克罗尼西亚" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "法罗群岛" + +#: src/common/util.c:770 +msgid "France" +msgstr "法国" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "加蓬" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "大不列颠" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "格林纳达" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "格鲁吉亚" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "法属圭亚那" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "不列颠群岛" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "加纳" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "直布罗陀" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "格陵兰" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "冈比亚" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "几内亚" + +#: src/common/util.c:782 +msgid "Government" +msgstr "政府部门" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "法属瓜德罗普岛" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "赤道几内亚" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "希腊" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "南乔治亚及南桑威奇群岛" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "危地马拉" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "关岛" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "几内亚比绍" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "圭亚那" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "香港" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "赫德岛和麦克唐纳群岛" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "洪都拉斯" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "克罗地亚" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "海地" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "匈牙利" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "印度尼西亚" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "爱尔兰" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "以色列" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "马恩岛" + +#: src/common/util.c:801 +msgid "India" +msgstr "印度" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "信息机构" + +#: src/common/util.c:803 +msgid "International" +msgstr "国际组织" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "英属印度洋地区" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "伊拉克" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "伊朗" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "冰岛" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "意大利" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "泽西岛" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "牙买加" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "约旦" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "公司职位" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "肯尼亚" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "吉尔吉斯斯坦" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "柬埔寨" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "基里巴斯" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "科摩罗" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "圣基茨和尼维斯" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "朝鲜" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "韩国" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "科威特" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "开曼群岛" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "哈萨克斯坦" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "老挝" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "黎巴嫩" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "圣卢西亚" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "列支敦士登" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "斯里兰卡" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "利比里亚" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "莱索托" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "立陶宛" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "卢森堡" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "拉脱维亚" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "利比亚" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "摩洛哥" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "摩纳哥" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "摩尔多瓦" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "黑山共和国" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "美国医疗组织" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "马达加斯加" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "马绍尔群岛" + +#: src/common/util.c:843 +msgid "Military" +msgstr "军事机构" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "马其顿" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "马里" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "缅甸" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "蒙古" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "澳门" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "移动设备" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "北马里亚那群岛" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "马提尼克岛" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "毛里塔尼亚" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "蒙特塞拉特" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "马尔他" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "毛里求斯" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "博物馆" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "马尔代夫" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "马拉维" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "墨西哥" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "马来西亚" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "莫桑比克" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "纳米比亚" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "个体名称" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "新喀里多尼亚岛" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "尼日尔" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic 网络" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "诺福克岛" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "尼日利亚" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "尼加拉瓜" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "荷兰" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "挪威" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "尼泊尔" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "瑙鲁" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "纽埃岛" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "新西兰" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "阿曼" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic 非营利性组织" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "巴拿马" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "秘鲁" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "法属波利尼西亚" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "巴布亚新几内亚" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "菲律宾" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "巴基斯坦" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "波兰" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "圣皮埃尔和密克隆" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "皮特凯恩群岛" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "波多黎各" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "专业人士" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "巴勒斯坦地区" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "葡萄牙" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "帕劳" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "巴拉圭" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "卡塔尔" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "留尼汪岛" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "罗马尼亚" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "教育用 ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "塞尔维亚共和国" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "俄罗斯联邦" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "卢旺达" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "沙特阿拉伯" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "所罗门群岛" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "塞舌尔群岛" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "苏丹" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "瑞典" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "新加坡" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "圣赫勒拿岛" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "斯洛文尼亚" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "斯瓦尔巴群岛和扬马延岛" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "斯洛伐克共和国" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "塞拉利昂" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "圣马力诺" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "塞内加尔" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "索马里" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "苏里南" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "南苏丹" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "圣多美和普林西比" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "前苏联" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "萨尔瓦多" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "叙利亚" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "斯威士兰" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "特克斯和凯科斯群岛" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "乍得" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "互联网通信服务" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "法属南半球领地" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "多哥" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "泰国" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "塔吉克斯坦" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "托克劳群岛" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "东帝汶" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "土库曼斯坦" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "突尼斯" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "汤加" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "土耳其" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "旅游和旅游业" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "特立尼达和多巴哥" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "图瓦卢" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "台湾" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "坦桑尼亚" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "乌克兰" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "乌干达" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "英国" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "美国" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "乌拉圭" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "乌兹别克斯坦" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "梵蒂冈" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "圣文森特和格林纳丁斯" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "委内瑞拉" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "英属维尔京群岛" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "美属维尔京群岛" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "越南" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "瓦努阿图" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "瓦利斯和富图纳群岛" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "萨摩亚群岛" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "成人娱乐" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "也门" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "马约特岛" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "南斯拉夫" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "南非" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "赞比亚" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "津巴布韦" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "无法连接到会话 bus" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "完成 NameHasOwner 失败" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "完成命令失败" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "远程访问" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "用 DBUS 远程访问的插件" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "无法连接到会话 bus:%s\n" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "获取 %s 失败:%s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "字符集表" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "屏蔽" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "免封" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "免封" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "邀请" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "邀请" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "静默" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "静默" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "复制掩码" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "%s 在 %s 由 %s" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "复制项" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "未连接。" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "您必须选择一项来屏蔽。" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "您确定要删除 %s 中的全部屏蔽吗?" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "类型" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "掩码" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "来自" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "日期" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "您只能在一个频道的标签页下打开屏蔽列表窗口。" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "屏蔽列表 (%s) - %s" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "删除" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "裁剪" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "刷新" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "显示在 %3$d/%4$d 个频道中的 %1$d/%2$d 用户。" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "选择输出文件名" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "进入频道(_J)" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "复制频道名称(_C)" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "复制频道主题(_T)" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "频道列表 (%s) - %s" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "搜索(_S)" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "下载列表(_D)" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "保存列表(_L)..." + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "只显示:" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "频道中有" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "到" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "位用户。" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "按照:" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "频道名称" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "搜索类型:" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "简单搜索" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "模式匹配 (通配符)" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "正则表达式" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "查找:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "给 %s 发送文件" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "该文件不可续传。" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "不能访问文件:%s\n%s。\n无法续传。" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "下载目录中的文件比所提供的文件大,无法续传。" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "不能续传来自两个人的同一文件" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "上传和下载 - %s" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "状态" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "文件" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "剩余时间" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "两者" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "上传" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "下载" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "详细信息" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "文件:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "地址:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "中止" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "接受" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "续传" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "打开目录..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "DCC 聊天列表 - %s" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "已接收" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "已发送" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "开始时间" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "添加" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "删除" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "取消" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "保存" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "不要自动连接到服务器" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "使用不同的配置目录" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "不自动载入任何插件" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "显示自动载入插件/脚本的目录" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "显示用户配置目录" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "打开一个 irc://server:port/channel?key URL" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "执行命令:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "在已有的 HexChat 中打开 URL 或执行命令" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "启动后最小化。最小化级别 0=正常 1=仅图标 2=托盘" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "级别" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "显示版本信息" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "打开字体失败:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "搜索缓冲区当前为空。\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d 字节" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "网络发送队列:%d 字节" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "“Run Command” 会执行 Data 1 中的数据,就如同您是在输入按键序列后出现的输入框中键入这些数据一样。这样,它就会包含文本 (这些文本会被发送给频道或某人)、命令或用户命令。执行时,Data 1 中所有“\\n”字符 被用来分隔命令,因此您可以执行不止一个命令。如果您想在执行的文本中包含字符“\\”,您应该输入“\\\\”" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "“Change Page”命令在您笔记本中的标签页间切换。将 Data 1 设置成您要切换的标签页。如果 Data 2 被设置成任意值,切换标签页的数将相对于当前位置。Data 1 设置为自动将自动切换到最近最重要的活动中(优先处理最近请求,其次显示高亮频道,再次显示有对话的频道,最后显示其他 data 的频道)" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "“Insert in Buffer” 命令把数据 1 中的内容插入到接收按键序列的当前光标处" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "“Scroll Page” 命令在文本窗口组件中上下滚动一页或一行。设置 Data 1 为 Top、Bottom、Up、DOWN、+1 或 -1。" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "“Set Buffer” 命令把接收到按键序列后的输入区域设置为数据 1 中的内容" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "“Last Command” 命令把输入区域设为前一个命令 - 和在终端中按向上箭头效果相同" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "“Next Command” 命令把输入区域设为下一个命令 - 和在终端中按向下箭头效果相同" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "该命令改变输入区域中的文本,补全未输入完毕的用户昵称或命令。如果数据 1 被设置,那么,按两次 Tab 键会选择上一次使用的昵称,而非下一个昵称" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "该命令在昵称列表中上下移动。如果数据 1 中设置了任何值,光标会上移,否则下移" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "该命令对照替换列表来检查输入的最后一个词,若找到符合的条目就替换它" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "该命令把最上面的标签页向左移一格" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "该命令把最上面的标签页向右移一格" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "该命令把当前标签页向左移一格" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "该命令把当前标签页向右移一格" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "把输入存入历史,但不发送到服务器" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "加载键绑定配置时出错" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "选择一行查看对应动作的信息。" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "键盘快捷键 - %s" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "无法写入到该文件。" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "无法读取该文件。" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "该掩码已存在。" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "私聊" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "取消忽略" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "您确定要删除 %s 中的全部忽略项吗?" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "输入要忽略的掩码:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "忽略列表 - %s" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "忽略统计:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "频道:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "私聊:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "邀请:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "添加..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "频道名称过短,请重新尝试。" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "连接完成 - %s" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "成功建立到 %s 的连接。" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "在服务器列表窗口,没有添加自动进入的频道(聊天室)。" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "您接下来要进行怎样的操作?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "我稍后自行进入频道。(_N)" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "进入以下频道(_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "如果您知道想要进入的频道的名称,请在此输入。" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "打开频道列表(_P)。" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "取回频道列表可能需要一两分钟。" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "每次连接后都显示该对话框。(_A)" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "与以下用户对话" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s 的主题:%s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "没有设置主题" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "这台服务器仍然有 %d 个与它相关的频道或对话。要全部关闭吗?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "要退出 HexChat 吗?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "下次不再询问。" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "您已连接到 %i 个 IRC 网络。" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "您确定要退出吗?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "某些文件传输仍在进行。" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "最小化至系统托盘(_M)" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "插入属性或颜色代码" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>粗体</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>下划线</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "<i>斜体</i>" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "正常" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "颜色 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "颜色 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "设置(_S)" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "聊天记录写入磁盘(_L)" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "重新载入最近日志(_R)" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "提取色彩(_C)" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "隐藏进入/离开信息(_H)" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "额外警报(_E)" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "有信息时响铃提示(_M)" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "闪烁托盘图标(_I)" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "闪烁任务栏图标(_B)" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "分离(_D)" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "关闭(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "用户限制必须是数字!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "筛选颜色" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "无室外信息" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "主题保护" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "仅邀请" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "监管状态" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "屏蔽列表" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "密码" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "用户限制" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "输入新昵称:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "搜索无结果。" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "已搜索到尾部,未找到符合条件的结果。" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "高亮所有(_H)" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "已高亮所有结果,并在当前匹配项下加上下划线。" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "匹配大小写(_C)" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "进行大小写敏感的搜索。" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "正则表达式(_R)" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "将搜索字符串作为正则表达式使用。" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "未知主机" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "未知账户" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "未知" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "真实姓名:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "用户:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "账户:" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "国家:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "服务器:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分钟之前" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "最后发言:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "离开信息:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "已选择 %d 个昵称。" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "菜单栏当前已隐藏。您可以通过按下 Control+F9 组合键或以鼠标右键点选主要文本区域的空白部分重新显示它。" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "在浏览器中打开链接" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "复制选取的链接" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "进入频道" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "离开频道" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "离开频道,而后立即进入" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "自动加入(_A)" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "自动加入频道" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "自动连接(_A)" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "用户菜单 - %s" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "编辑这个菜单" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "标记线已禁用。" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "标记线永不设置。" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "标记线手动重设。" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "因超越回滚限制重设标记线。" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "使用CLEAR命令重设标记线。" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "标记线状态未知。" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "获取频道列表" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "在无插件支持的选项下构建。" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "用户命令 - 特殊代码:\n\n%c = 当前频道\n%e = 当前网络名称\n%m = 机器信息\n%n = 你的昵称\n%t = 时间/日期\n%v = HexChat 版本\n%2 = 第 2 个词\n%3 = 第 3 个词\n&2 = 从第 2 个词到行末\n&3 = 从第 3 个词到行末\n\n如:\n/cmd john hello\n\n%2 是“john”\n&2 是“john hello”。" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "用户列表按钮 - 特殊代码:\n\n%a = 所有选取的用户\n%c = 当前频道\n%e = 当前网络名称\n%h = 选取昵称的主机名\n%m = 机器信息\n%n = 您的昵称\n%s = 选取的昵称\n%t = 时间/日期\n%u = 选取的用户账号" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "对话按钮 - 特殊代码:\n\n%a = 所有选取的昵称\n%c = 当前频道\n%e = 当前网络名称\n%h = 所选取昵称的主机名\n%m = 机器信息\n%n = 您的昵称\n%s = 选取的昵称\n%t = 时间/日期\n%u = 选取的用户账号" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "CTCP 回应 - 特殊编码:\n\n%d = 数据 (全部 ctcp)\n%e = 当前网络名称\n%m = 机器信息\n%s = 发送 ctcp 的用户\n%t = 时间/日期\n%2 = 第 2 个词\n%3 = 第 3 个词\n&2 = 从第 2 个词到行末\n&3 = 从第 3 个词到行末\n\n" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "URL 处理程序 - 特殊代码:\n\n%s = URL 字符串\n\n在命令前加一个 “!” 表示\n该命令应被发送到 shell 而\n非 HexChat" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "用户定义命令 - %s" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "用户列表弹出菜单 - %s" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "替换 - %s" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "使用以下替换" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "URL 处理程序 - %s" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "用户列表按钮 - %s" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "对话框按钮 - %s" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "CTCP 回应 - %s" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "HexChat(_X)" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "网络列表(_S)" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "添加(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "服务器标签页" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "频道标签页" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "服务器窗口" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "频道窗口" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "载入插件或脚本(_L)" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "离开(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "查看(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "菜单栏(_M)" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "主题栏(_T)" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "用户菜单(_U)" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "用户列表按钮(_S)" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "模式按钮(_O)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "频道转换器(_C)" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "标签页(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "树状图(_R)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "网络流量(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "离线" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "图形" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "全屏(_F)" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "服务器(_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "断开连接(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "重新连接(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "进入频道(_J)" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "频道列表(_L)" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "标记为离开(_A)" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "用户菜单(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "设置(_E)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "首选项(_P)" + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "自动替换" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "CTCP 回应" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "对话框按钮" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "键盘快捷键" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "文本事件" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "URL 处理程序" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "用户命令" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "用户列表按钮" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "用户列表弹出菜单" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "窗口(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "屏蔽列表(_B)" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "直连聊天" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "文件传输(_T)" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "好友列表" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "忽略列表" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "插件和脚本(_P)" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "原始记录(_R)" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "URL 抓取程序(_U)" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "重置标记线" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "移动至标记线" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "复制选区(_C)" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "清空文本(_L)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "保存文本" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "搜索" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "搜索文本" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "搜索下一个" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "搜索上一个" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "帮助(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "内容(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "关于(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "附加(_A)" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "名称" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "上次发现" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "离线" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "从不" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d 分钟之前" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "1小时前" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "%d 小时之前" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "上线" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "输入要添加的昵称:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "在这些网络中进行通知:" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "此处允许使用逗号分隔多个网络。" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "好友列表 - %s" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "打开对话框" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "高亮消息来自于:%s (%s)" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "频道消息来自于: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "文件传输来自于: %s (%s)" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "受 %s (%s) 的邀请来到频道" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "%s (%s) 发的通知" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "私聊消息来自于:%s (%s)" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "还原窗口 (_R)" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "隐藏窗口 (_H)" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "闪烁于(_B)" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "频道消息" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "私聊消息" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "高亮显示的消息" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "更改状态(_C)" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "离开(_A)" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "返回(_B)" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "高亮消息来自:%s(%s)-%s" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "频道消息来自:%s(%s)-%s" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "私聊消息来自:%s(%s)-%s" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "版本" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "描述" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "选择要载入的插件或脚本" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "插件和脚本 - %s" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "载入(_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "卸载(_U)" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "重新载入(_R)" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "另存为..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "原始记录 (%s) - %s" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "清除原始记录" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "添加网络" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "确实要删除网络 “%s” 以及它的所有服务器吗?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "用户名不可留空。" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "昵称不能为空。" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "您必须拥有两个昵称." + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "您向服务器发送的个人身份识别信息。如果需要自定义登录方法请使用 连接命令。" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "编辑 %s - %s" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "服务器" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "自动加入频道" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "连接命令" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "%n=昵称\n%p=密码\n%r=真实姓名\n%u=用户名" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "密码" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "编辑(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "只连接到选取的服务器" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "当连接失败时不要循环跳至所有的服务器。" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "自动连接到此网络" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "忽略代理服务器" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "在本网络的所有服务器上使用 SSL" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "接受无效的 SSL 证书" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "使用全局用户信息" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "昵称(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "第二选择:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "真实姓名(_L):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "用户名(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "登录方法:" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "密码:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "登录时使用的密码。如果不确定请留空。" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "字符集:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "网络列表 - %s" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "用户信息" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "第三选择:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "网络" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "启动时不打开网络列表" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "只显示已收藏的" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "编辑(_E)…" + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "排序(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "按字母顺序排列网络列表。使用SHIFT+上下方向键来移动行。" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "收藏(_F)" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "标记/取消标记 收藏此网络" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "连接(_O)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "南非语" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "阿尔巴尼亚语" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "阿姆哈拉语" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "阿斯图里亚斯语" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "阿塞拜疆语" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "巴斯克语" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "白俄罗斯语" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "保加利亚语" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "简体中文" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "正体中文" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "捷克语" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "丹麦语" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "荷兰语" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "英语(英国)" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "英语" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "爱沙尼亚语" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "芬兰语" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "法语" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "加利西亚语" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "德语" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "希腊语" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "古吉拉特语" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "印度语" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "匈牙利语" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "印度尼西亚语" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "意大利语" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "日本语" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "卡纳达语" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "卢旺达语" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "朝鲜语" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "拉脱维亚语" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "立陶宛语" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "马其顿语" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "马来西亚语" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "马拉雅拉姆语" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "挪威语(波克默尔语)" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "挪威语(尼诺斯克语)" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "波兰语" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "葡萄牙语" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "葡萄牙语(巴西)" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "旁遮普语" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "俄语" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "塞尔维亚语" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "斯洛伐克语" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "斯洛文尼亚语" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "西班牙语" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "瑞典语" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "泰语" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "土耳其语" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "乌克兰语" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "越南语" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "瓦隆语" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "语言:" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "主要字体:" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "字体:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "文本框" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "彩色昵称" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "给 IRC 上的每名用户使用一种不同的颜色" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "昵称缩进" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "让昵称右侧对齐" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "显示标记线" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "在最后读取的文本后添加一条红线。" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "背景图像:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "透明度设置" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "窗口透明度:" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "时间戳" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "启用时间戳" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "时间戳格式:" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "请参考 MSDN 上 strftime 的详细解释。" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "请参考手册页上 strftime 的详细解释。" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "标题栏" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "显示频道模式" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "显示用户数" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "按最后发言时间" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "输入框" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "使用文本框字体及颜色" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "渲染色彩和属性" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "显示昵称框" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "在昵称框中显示用户模式图标" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "拼写检查" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "要使用的字典:" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "要使用的语言代码 (位于 \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\" 中).\n以英文逗号分隔每一项。" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "要使用的语言代码,以英文逗号分隔每一项。" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "昵称自动补全" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "昵称自动补全后缀:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "昵称排序:" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "昵称自动补全量:" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "开始列出昵称而不是补全昵称的" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "昵称。" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "图形化的" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "A-Z,管理员置顶" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "Z-A,管理员置底" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "不排序" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "左上" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "左下" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "右上" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "右下" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "顶部" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "底部" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "隐藏" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "用户列表" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "在用户列表中显示主机名" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "使用文本框字体及颜色" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "显示用户模式的图标" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "在用户列表中使用图形化图标,而不是文本图标" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "用户列表中的昵称着色" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "昵称色彩与聊天窗口中一致。" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "显示当前频道用户数" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "用户列表排列方式:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "显示用户列表于:" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "追踪离开状态" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "追踪用户的离开状态并且以不同颜色标记" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "在小于此值的频道里:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "双击时的动作" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "附加小程序" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "延时表:" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "流量表;" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "窗口" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "标签页" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "总是" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "只有请求的标签页" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "自动" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "在另外的标签页中" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "在最前的标签页中" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "树状图" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "转换器类型:" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "打开额外的标签页存放服务器信息" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "当您收到私聊消息时打开新的标签页" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "按字母表顺序排序标签页" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "在频道树中显示图标" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "在频道树中显示虚线" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "用鼠标滚轮改变当前标签页" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "中键关闭标签页" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "小字" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "聚焦到新标签页:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "放置通知:" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "显示频道转换器于:" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "缩短标签页标签页至:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "个字母。" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "标签页或窗口" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "打开频道于:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "打开对话框于:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "打开工具于:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "打开 DCC、忽略、通知等动作时使用标签页还是窗口?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "消息" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "往回滚动" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "请求确认" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "请求指定下载文件夹" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "直接保存无需交互" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "文件和目录" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "自动接受文件传输:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "把文件下载到:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "将完成下载的文件移动到:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "把昵称存入文件名" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "自动打开 DDC 窗口" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "发送窗口" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "接收窗口" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "聊天窗口" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "最大文件传输速度(字节每秒)" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "每个上传任务:" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "一个传送进程的最大速度" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "每个下载任务:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "所有上传:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "所有文件的最大速度" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "所有下载" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "提示" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "显示通知于:" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "托盘图标闪烁于:" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "任务栏图标闪烁于:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "响铃于:" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "在选择的事件上播放系统 \"即时消息提醒\" 声音" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "在选择的事件上播放来自 freedesktop.org 的 \"message-new-instant\" 声音主题" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "在已选择的事件上播放 GTK beep 声" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "标记为离开时不提醒" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "窗口获得焦点时不提醒" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "托盘行为" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "激活系统托盘图标" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "最小化至系统托盘" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "关闭到系统托盘" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "自动取消离开状态" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "在隐藏到托盘后自动改变状态。" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "仅在隐藏或缩小为图标是显示通知" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "高亮显示消息" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "高亮消息是当您的昵称被提到时所显示的消息,同时还显示:" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "需要高亮显示的其他单词:" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "不高亮显示的昵称:" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "总是高亮显示的昵称:" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "请用逗号分隔多个词组。\n可以使用通配符。" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "弹跳托盘图标于:" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "默认信息" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "退出:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "离开频道:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "离开:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "离开" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "只显示离开一次" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "同样的离开信息只显示一次" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "自动取消离开状态" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "发送信息前取消您的离开状态" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "杂项" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "使用原始格式显示模式" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "通知列表 Whois" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "当您通知列表中的某位用户上线时发送 /WHOIS 命令。" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "隐藏进入/离开信息" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "默认隐藏频道里的进入/离开信息" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "隐藏昵称变更信息" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "*!*@*.host" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "*!*@domain" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "*!*user@*.host" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "*!*user@domain" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "自动复制行为" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "自动复制已选中文本" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "在释放鼠标左键时将选中文本复制到剪贴板。否则,使用 CTRL+SHIFT+C 将选中文本复制到剪贴板。" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "自动加上时间戳" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "自动在复制的每行文本后加上时间戳,否则,在选择时按下 SHIFT 键后包含时间戳。" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "自动加上颜色信息" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "自动在复制的每行文本中加上颜色信息,否则,在选择时按下 CONTROL 键后包含颜色信息。" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "真实姓名:" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "备用字体:" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "分隔多项时使用英文逗号,逗号两侧无空格。" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "在紧凑模式中显示列表" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "减少用户列表/用户频道树的行与行之间的空隙。" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "在支持的情况下使用服务器时间" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "在支持服务器时间扩展的情况下,显示从服务器获取的时间戳信息。" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "断线重连" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "自动重连间隔:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "自动重连间隔:" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "屏蔽类型:" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "尝试在屏蔽或者设置静默时使用该屏蔽掩码 (需要 irc_who_join)。" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "聊天记录" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "显示上一会话时的信息回滚" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "往回滚动的行数:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "允许对话记录写入磁盘" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "聊天记录文件名称:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=服务器 %c=频道 %n=网络。" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "在聊天记录中插入时间戳" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "聊天记录时间戳格式:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "允许URL记录写入磁盘" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "开启 URL 抓取程序" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "抓取最多的 URL 条目数:" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(已禁用)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "SOCKS4" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "SOCKS5" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "自动" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "所有连接" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "仅 IRC 服务器" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "仅 DCC" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "您的地址" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "绑定到:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "只对有多个地址的计算机有用。" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "文件传输" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "从 IRC 服务器获取我的地址" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "向 IRC 服务器查询您的真实地址。如果您有 192.168.*.* 这样的地址时,请使用此命令。" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP 地址:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "发送文件时声称您使用此地址。" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "第一个 DCC 文件监听端口:" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "最后一个 DCC 文件监听端口:" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "! 端口保留为 0 表示允许所有范围" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "代理服务器" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "主机名:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "端口号:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "类型:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "应用代理于:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "代理服务器验证" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "使用验证(仅支持 HTTP 或 Socks5 代理服务器)" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "用户名:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "indentd 服务器" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "启用" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "服务器会返回网络用户名" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "你必须有监听此端口的权限。若不是 113 (0 默认是这个) 你必须配置端口转发。" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "选择一个图像文件" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "选择下载目录" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "选择字体" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "浏览..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "打开数据目录" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "选择颜色" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "文本颜色" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC 颜色:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "本地颜色:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "前景:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "背景:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "选中文本" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "界面颜色" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "新数据:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "标记线:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "新信息:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "离开的用户:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "高亮显示:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "拼写检查程序:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "颜色取样" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "事件" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "声音文件" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "选择声音文件" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "声音文件:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "浏览(_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "播放(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "界面" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "外观" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "输入框" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "用户列表" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "频道转换器" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "颜色" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "聊天" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "声音" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "高级" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "网络设置" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "文件传输" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "Identd" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "类别" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "您不能把树状图放置于顶部或底部!\n请在 <b>视图</b> 菜单中的 <b>标签页</b> 样式中进行调整。" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "真实姓名选项不能留空。回落到 “realname”。" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "有些设置需要重新启动程序才会生效。" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*警告*\n自动接收 DCC 到您的主目录中是危险之举,\n且有被盗用的可能性。例如:\n某人可能会给您发送一份 .bash_profile 文件" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "首选项 - %s" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "<i>(无拼写建议)</i>" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "更多..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "将 \"%s\" 添加到字典" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "全部忽略" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "拼写建议" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "enchant 在以下语言中出错:%s" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "解析字符串时出错" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "该信号只接受 %d 个参数,$%d 无效" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "打印文本文件" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ 数字" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "编辑事件" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "从...载入" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "测试全部" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "确认" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "URL 抓取程序 - %s" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "清空列表" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "复制选取的 URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "复制" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "列表保存到文件" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 位管理员,共 %d 人" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "打开一个 irc://server:port/channel URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "系统信息:获取信息失败。可能是不支持也可能是错误。" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "系统信息:没有以此名字的信息\n" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "系统信息:%s 被设置为:%d\n" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "系统信息:有效的信息是:通知并为每一条信息加前缀 hide_* 。比如 hide_os。若没有值的话将会显示当前 (或默认) 设置。\n" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "系统信息:无效的变量名\n" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "插件 %s 已载入\n" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "插件 %s 以卸载\n" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000000000000000000000000000000000000..039d23aa907ef4ad847feb8d075a68a82c1878bc --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,6263 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the hexchat package. +# +# Translators: +# Anthony Fok <foka@debian.org>, 2001 +# Dalin <ayi880@hotmail.com>, 2003 +# Kevin Peng <kevpeng@ihug.co.nz>, 2000 +# whyme <random3098@gmail.com>, 2012 +# Rongjun Mu <elanmu@sina.com>, 2003 +# Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004 +# Sarah Smith <sarahs@redhat.com>, 2003 +# Walte <webmaster@www.linuxfans.org>, 2003 +# whyme <random3098@gmail.com>, 2012 +# Zong Yaotang <zong@cosix.com.au>, 2002 +msgid "" +msgstr "" +"Project-Id-Version: HexChat\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 16:10-0400\n" +"PO-Revision-Date: 2018-04-03 20:10+0000\n" +"Last-Translator: TingPing <tingping@tingping.se>\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/hexchat/hexchat/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/misc/io.github.Hexchat.appdata.xml.in:4 +#: data/misc/io.github.Hexchat.appdata.xml.in:5 +#: data/misc/io.github.Hexchat.desktop.in.in:3 +msgid "HexChat" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:9 +#: data/misc/io.github.Hexchat.desktop.in.in:4 +msgid "IRC Client" +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:11 +msgid "" +"HexChat is an easy to use yet extensible IRC Client. It allows you to " +"securely join multiple networks and talk to users privately or in channels " +"using a customizable interface. You can even transfer files." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:12 +msgid "" +"HexChat supports features such as: DCC, SASL, proxies, spellcheck, alerts, " +"logging, custom themes, and Python/Perl scripts." +msgstr "" + +#: data/misc/io.github.Hexchat.appdata.xml.in:22 +msgid "Main Chat Window" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:5 +msgid "Chat with other people online" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:6 +msgid "IM;Chat;" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:8 +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:5 +msgid "hexchat" +msgstr "" + +#: data/misc/io.github.Hexchat.desktop.in.in:19 +msgid "Open Safe Mode" +msgstr "" + +#: data/misc/io.github.Hexchat.ThemeManager.desktop.in:3 +msgid "HexChat Theme Manager" +msgstr "" + +#. 0 means unlimited +#. STRINGS +#: src/common/cfgfiles.c:843 +msgid "I'm busy" +msgstr "我很忙" + +#: src/common/cfgfiles.c:880 +msgid "Leaving" +msgstr "暫離" + +#: src/common/chanopt.c:79 +msgid "OFF" +msgstr "" + +#: src/common/chanopt.c:81 +msgid "ON" +msgstr "" + +#: src/common/chanopt.c:83 +msgid "{unset}" +msgstr "" + +#: src/common/chanopt.c:128 src/common/text.c:1325 src/fe-gtk/notifygui.c:125 +#: src/fe-gtk/setup.c:1886 +msgid "Network" +msgstr "網路" + +#: src/common/chanopt.c:129 src/common/chanopt.c:131 src/fe-gtk/maingui.c:1539 +#: src/fe-gtk/maingui.c:1659 src/fe-gtk/maingui.c:3376 +msgid "<none>" +msgstr "<無>" + +#: src/common/chanopt.c:130 src/common/text.c:1025 src/common/text.c:1029 +#: src/common/text.c:1498 src/fe-gtk/chanlist.c:777 src/fe-gtk/ignoregui.c:159 +#: src/fe-gtk/servlistgui.c:1791 +msgid "Channel" +msgstr "聊天室" + +#: src/common/dcc.c:72 +msgid "Waiting" +msgstr "等待" + +#. black +#: src/common/dcc.c:73 +msgid "Active" +msgstr "活躍" + +#. cyan +#: src/common/dcc.c:74 +msgid "Failed" +msgstr "失敗" + +#. red +#: src/common/dcc.c:75 +msgid "Done" +msgstr "完成" + +#. green +#: src/common/dcc.c:76 src/fe-gtk/menu.c:970 +msgid "Connect" +msgstr "連接" + +#. black +#: src/common/dcc.c:77 +msgid "Aborted" +msgstr "中止" + +#: src/common/dcc.c:1790 src/common/dcc.c:1801 src/common/dcc.c:1817 +#: src/common/outbound.c:2604 +#, c-format +msgid "Cannot access %s\n" +msgstr "無法存取 %s\n" + +#. ! if (osvi.dwMajorVersion >= 5) +#. fallback to error number +#: src/common/dcc.c:1791 src/common/dcc.c:1802 src/common/dcc.c:1818 +#: src/common/text.c:1309 src/common/text.c:1352 src/common/text.c:1363 +#: src/common/text.c:1370 src/common/text.c:1383 src/common/text.c:1400 +#: src/common/text.c:1505 src/common/util.c:175 +msgid "Error" +msgstr "錯誤" + +#: src/common/dcc.c:2487 +#, c-format +msgid "%s is offering \"%s\". Do you want to accept?" +msgstr "%s 正在提供 \"%s\"。您要接收碼?" + +#: src/common/dcc.c:2704 +msgid "No active DCCs\n" +msgstr "沒有活躍的 DCC\n" + +#: src/common/hexchat.c:885 +msgid "_Open Dialog Window" +msgstr "" + +#: src/common/hexchat.c:886 +msgid "_Send a File" +msgstr "_傳送檔案" + +#: src/common/hexchat.c:887 +msgid "_User Info (WhoIs)" +msgstr "_使用者資訊 (Whois)" + +#: src/common/hexchat.c:888 +msgid "_Add to Friends List" +msgstr "" + +#: src/common/hexchat.c:889 +msgid "_Ignore" +msgstr "" + +#: src/common/hexchat.c:890 +msgid "O_perator Actions" +msgstr "" + +#: src/common/hexchat.c:892 +msgid "Give Ops" +msgstr "給 Op 權限" + +#: src/common/hexchat.c:893 +msgid "Take Ops" +msgstr "取消 Op 權限" + +#: src/common/hexchat.c:894 +msgid "Give Voice" +msgstr "給發言權" + +#: src/common/hexchat.c:895 +msgid "Take Voice" +msgstr "取消發言權" + +#: src/common/hexchat.c:897 +msgid "Kick/Ban" +msgstr "踢出/封禁" + +#: src/common/hexchat.c:898 src/common/hexchat.c:935 +msgid "Kick" +msgstr "踢出" + +#: src/common/hexchat.c:899 src/common/hexchat.c:900 src/common/hexchat.c:901 +#: src/common/hexchat.c:902 src/common/hexchat.c:903 src/common/hexchat.c:934 +#: src/fe-gtk/banlist.c:50 +msgid "Ban" +msgstr "封禁" + +#: src/common/hexchat.c:904 src/common/hexchat.c:905 src/common/hexchat.c:906 +#: src/common/hexchat.c:907 +msgid "KickBan" +msgstr "踢出並封禁" + +#: src/common/hexchat.c:917 +msgid "Leave Channel" +msgstr "離開聊天室" + +#: src/common/hexchat.c:918 +msgid "Join Channel..." +msgstr "加入聊天室..." + +#: src/common/hexchat.c:919 src/fe-gtk/menu.c:1411 +msgid "Enter Channel to Join:" +msgstr "輸入要加入的聊天室:" + +#: src/common/hexchat.c:920 +msgid "Server Links" +msgstr "伺服器清單" + +#: src/common/hexchat.c:921 +msgid "Ping Server" +msgstr "ping 伺服器" + +#: src/common/hexchat.c:922 +msgid "Hide Version" +msgstr "隱藏版本資訊" + +#: src/common/hexchat.c:932 +msgid "Op" +msgstr "給管理員權限" + +#: src/common/hexchat.c:933 +msgid "DeOp" +msgstr "取消管理員權限" + +#: src/common/hexchat.c:936 +msgid "bye" +msgstr "道別" + +#: src/common/hexchat.c:937 +#, c-format +msgid "Enter reason to kick %s:" +msgstr "輸入踢出 %s 的原因:" + +#: src/common/hexchat.c:938 +msgid "Send File" +msgstr "" + +#: src/common/hexchat.c:939 +msgid "Dialog" +msgstr "對話" + +#: src/common/hexchat.c:948 +msgid "WhoIs" +msgstr "WhoIs" + +#: src/common/hexchat.c:949 +msgid "Send" +msgstr "發送" + +#: src/common/hexchat.c:950 +msgid "Chat" +msgstr "聊天" + +#: src/common/hexchat.c:951 src/fe-gtk/banlist.c:847 src/fe-gtk/dccgui.c:889 +#: src/fe-gtk/ignoregui.c:387 src/fe-gtk/urlgrab.c:214 +msgid "Clear" +msgstr "清除" + +#: src/common/hexchat.c:952 +msgid "Ping" +msgstr "Ping" + +#: src/common/hexchat.c:1125 +#, c-format +msgid "" +"You do not have write access to %s. Nothing from this session can be saved." +msgstr "" + +#: src/common/hexchat.c:1134 +msgid "" +"* Running IRC as root is stupid! You should\n" +" create a User Account and use that to login.\n" +msgstr "* 最好不要以 root 身分執行 IRC!您應該\n 建立一般使用者帳號來登入。\n" + +#: src/common/ignore.c:127 src/common/ignore.c:131 src/common/ignore.c:135 +#: src/common/ignore.c:139 src/common/ignore.c:143 src/common/ignore.c:147 +#: src/common/ignore.c:151 +msgid "YES " +msgstr "是 " + +#: src/common/ignore.c:129 src/common/ignore.c:133 src/common/ignore.c:137 +#: src/common/ignore.c:141 src/common/ignore.c:145 src/common/ignore.c:149 +#: src/common/ignore.c:153 +msgid "NO " +msgstr "否 " + +#: src/common/ignore.c:370 +#, c-format +msgid "You are being CTCP flooded from %s, ignoring %s\n" +msgstr "您正受到來自 %s 的 CTCP flood 攻擊,忽略 %s\n" + +#: src/common/ignore.c:397 +#, c-format +msgid "You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n" +msgstr "" + +#: src/common/inbound.c:1282 +#, c-format +msgid "Resolved to %s" +msgstr "" + +#: src/common/inbound.c:1284 src/common/inbound.c:1312 +msgid "Not found" +msgstr "" + +#: src/common/inbound.c:1301 +msgid "Resolved to:" +msgstr "" + +#: src/common/inbound.c:1331 +#, c-format +msgid "Looking up %s..." +msgstr "" + +#: src/common/notify.c:559 +#, c-format +msgid " %-20s online\n" +msgstr " %-20s 在線\n" + +#: src/common/notify.c:561 +#, c-format +msgid " %-20s offline\n" +msgstr " %-20s 離線\n" + +#: src/common/outbound.c:69 +msgid "No channel joined. Try /join #<channel>\n" +msgstr "沒有加入任何聊天室。請嘗試 /join #<channel>\n" + +#: src/common/outbound.c:75 +msgid "Not connected. Try /server <host> [<port>]\n" +msgstr "還未連接伺服器。請嘗試 /server <host> [<port>]\n" + +#: src/common/outbound.c:277 +#, c-format +msgid "Server %s already exists on network %s.\n" +msgstr "" + +#: src/common/outbound.c:283 +#, c-format +msgid "Added server %s to network %s.\n" +msgstr "" + +#: src/common/outbound.c:368 +#, c-format +msgid "Already marked away: %s\n" +msgstr "" + +#: src/common/outbound.c:405 +msgid "Already marked back.\n" +msgstr "" + +#: src/common/outbound.c:1839 +msgid "I need /bin/sh to run!\n" +msgstr "使用 /bin/sh 才能執行本程式!\n" + +#: src/common/outbound.c:2262 +msgid "Commands Available:" +msgstr "可用命令:" + +#: src/common/outbound.c:2276 +msgid "User defined commands:" +msgstr "使用者自訂命令:" + +#: src/common/outbound.c:2292 +msgid "Plugin defined commands:" +msgstr "使用者自訂命令:" + +#: src/common/outbound.c:2303 +msgid "Type /HELP <command> for more information, or /HELP -l" +msgstr "請鍵入 /HELP <command> 或者 /HELP -l 以獲取更多資訊" + +#: src/common/outbound.c:2390 +#, c-format +msgid "Unknown arg '%s' ignored." +msgstr "忽略未知引數「%s」。" + +#: src/common/outbound.c:3148 src/common/outbound.c:3178 +msgid "Quiet is not supported by this server." +msgstr "" + +#. error +#: src/common/outbound.c:3625 src/common/outbound.c:3650 +msgid "No such plugin found.\n" +msgstr "找不到該外掛程式。\n" + +#: src/common/outbound.c:3630 src/fe-gtk/plugingui.c:191 +msgid "That plugin is refusing to unload.\n" +msgstr "無法卸載該外掛程式。\n" + +#: src/common/outbound.c:3932 +msgid "ADDBUTTON <name> <action>, adds a button under the user-list" +msgstr "ADDBUTTON <name> <action>,在使用者清單下添加一個按鈕" + +#: src/common/outbound.c:3933 +msgid "" +"ADDSERVER <NewNetwork> <newserver/6667>, adds a new network with a new " +"server to the network list" +msgstr "" + +#: src/common/outbound.c:3935 +msgid "ALLCHAN <cmd>, sends a command to all channels you're in" +msgstr "ALLCHAN <cmd>,向您所在的所有聊天室發送命令" + +#: src/common/outbound.c:3937 +msgid "ALLCHANL <cmd>, sends a command to all channels on the current server" +msgstr "" + +#: src/common/outbound.c:3939 +msgid "ALLSERV <cmd>, sends a command to all servers you're in" +msgstr "ALLSERV <cmd>,向您所在的所有伺服器發送命令" + +#: src/common/outbound.c:3940 +msgid "AWAY [<reason>], sets you away (use /BACK to unset)" +msgstr "" + +#: src/common/outbound.c:3941 +msgid "BACK, sets you back (not away)" +msgstr "" + +#: src/common/outbound.c:3943 +msgid "" +"BAN <mask> [<bantype>], bans everyone matching the mask from the current " +"channel. If they are already on the channel this doesn't kick them (needs " +"chanop)" +msgstr "BAN <mask> [<bantype>],禁止所有符合 mask 的使用者進入目前的聊天室。如果他們已在該聊天室,這個命令不會把他們踢出去(需要有 chanop 身分)" + +#: src/common/outbound.c:3944 +msgid "CHANOPT [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:3945 +msgid "" +"CHARSET [<encoding>], get or set the encoding used for the current " +"connection" +msgstr "" + +#: src/common/outbound.c:3946 +msgid "" +"CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command " +"history" +msgstr "" + +#: src/common/outbound.c:3947 +msgid "" +"CLOSE [-m], Closes the current tab, closing the window if this is the only " +"open tab, or with the \"-m\" flag, closes all queries." +msgstr "" + +#: src/common/outbound.c:3950 +msgid "COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia" +msgstr "COUNTRY [-s] <code|wildcard>,查看國家代碼對應的國家名,比如:tw = 臺灣" + +#: src/common/outbound.c:3952 +msgid "" +"CTCP <nick> <message>, send the CTCP message to nick, common messages are " +"VERSION and USERINFO" +msgstr "CTCP <nick> <message>,給暱稱為 <nick> 者發送 CTCP 訊息,常用訊息是 VERSION 和 USERINFO" + +#: src/common/outbound.c:3954 +msgid "" +"CYCLE [<channel>], parts the current or given channel and immediately " +"rejoins" +msgstr "" + +#: src/common/outbound.c:3956 +msgid "" +"\n" +"DCC GET <nick> - accept an offered file\n" +"DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" +"DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" +"DCC LIST - show DCC list\n" +"DCC CHAT <nick> - offer DCC CHAT to someone\n" +"DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" +"DCC CLOSE <type> <nick> <file> example:\n" +" /dcc close send johnsmith file.tar.gz" +msgstr "\nDCC GET <nick> - 接收暱稱為 <nick> 者發送給您的檔案\nDCC SEND [-maxcps=#] <nick> [file] - 發送檔案給某人\nDCC PSEND [-maxcps=#] <nick> [file] - 使用被動模式發送檔案給某人\nDCC LIST - 顯示 DCC 清單\nDCC CHAT <nick> - 與某人密談\nDCC PCHAT <nick> - 使用被動模式與某人密談\nDCC CLOSE <type> <nick> <file> 例如:\n /dcc close send johnsmith file.tar.gz" + +#: src/common/outbound.c:3968 +msgid "" +"DEHOP <nick>, removes chanhalf-op status from the nick on the current " +"channel (needs chanop)" +msgstr "DEHOP <nick>,取消目前聊天室內暱稱為 <nick> 者的 chanhalf-op 身分(需要有 chanop 身分)" + +#: src/common/outbound.c:3970 +msgid "DELBUTTON <name>, deletes a button from under the user-list" +msgstr "DELBUTTON <name>,刪除使用者清單下的一個按鈕" + +#: src/common/outbound.c:3972 +msgid "" +"DEOP <nick>, removes chanop status from the nick on the current channel " +"(needs chanop)" +msgstr "DEOP <nick>,取消暱稱為 <nick> 者在本聊天室的 chanop 身分(需要有 chanop 身分)" + +#: src/common/outbound.c:3974 +msgid "" +"DEVOICE <nick>, removes voice status from the nick on the current channel " +"(needs chanop)" +msgstr "DEVOICE <nick>,取消暱稱為 <nick> 者在本聊天室的發言權(需要有 chanop 身分)" + +#: src/common/outbound.c:3975 +msgid "DISCON, Disconnects from server" +msgstr "DISCON,切斷和伺服器的連接" + +#: src/common/outbound.c:3976 +msgid "DNS <nick|host|ip>, Resolves an IP or hostname" +msgstr "" + +#: src/common/outbound.c:3977 +msgid "DOAT <channel,list,/network> <command>" +msgstr "" + +#: src/common/outbound.c:3978 +msgid "ECHO <text>, Prints text locally" +msgstr "ECHO <text>,只在本地顯示文字" + +#: src/common/outbound.c:3981 +msgid "" +"EXEC [-o] <command>, runs the command. If -o flag is used then output is " +"sent to current channel, else is printed to current text box" +msgstr "EXEC [-o] <command>,執行命令。如果使用了 -o 選項則輸出到目前聊天室,否則輸出到目前文字框" + +#: src/common/outbound.c:3983 +msgid "EXECCONT, sends the process SIGCONT" +msgstr "EXECCONT,向行程發送 SIGCONT 信號" + +#: src/common/outbound.c:3986 +msgid "" +"EXECKILL [-9], kills a running exec in the current session. If -9 is given " +"the process is SIGKILL'ed" +msgstr "EXECKILL [-9],砍掉目前會話中的某執行行程。如果使用 -9 選項,則用 SIGKILL 砍掉該行程" + +#: src/common/outbound.c:3988 +msgid "EXECSTOP, sends the process SIGSTOP" +msgstr "EXECSTOP,向行程發送 SIGSTOP 信號" + +#: src/common/outbound.c:3989 +msgid "EXECWRITE, sends data to the processes stdin" +msgstr "EXECWRITE,把資料發送給行程的標準輸入" + +#: src/common/outbound.c:3993 +msgid "EXPORTCONF, exports HexChat settings" +msgstr "" + +#: src/common/outbound.c:3996 +msgid "FLUSHQ, flushes the current server's send queue" +msgstr "FLUSHQ,排空目前伺服器的發送佇列" + +#: src/common/outbound.c:3998 +msgid "GATE <host> [<port>], proxies through a host, port defaults to 23" +msgstr "GATE <host> [<port>],經由某主機來代理,預設輸出入埠為 23" + +#: src/common/outbound.c:4003 +msgid "GHOST <nick> [password], Kills a ghosted nickname" +msgstr "" + +#: src/common/outbound.c:4008 +msgid "HOP <nick>, gives chanhalf-op status to the nick (needs chanop)" +msgstr "HOP <nick>,給暱稱為 <nick> 者以 chanhalf-op 身分 (需要有 chanop 身分)" + +#: src/common/outbound.c:4009 +msgid "ID <password>, identifies yourself to nickserv" +msgstr "ID <password>,向暱稱伺服器表明您自己的身分" + +#: src/common/outbound.c:4011 +msgid "" +"IGNORE <mask> <types..> <options..>\n" +" mask - host mask to ignore, eg: *!*@*.aol.com\n" +" types - types of data to ignore, one or all of:\n" +" PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" +" options - NOSAVE, QUIET" +msgstr "IGNORE <mask> <types..> <options..>\n mask - 欲忽略的主機遮罩,比如 *!*@*.aol.com\n types - 欲忽略資料的類型,以下選項之一或全部:\n PRIV,CHAN,NOTI,CTCP,INVI,ALL\n options - NOSAVE, QUIET" + +#: src/common/outbound.c:4018 +msgid "" +"INVITE <nick> [<channel>], invites someone to a channel, by default the " +"current channel (needs chanop)" +msgstr "INVITE <nick> [<channel>],邀請暱稱為 <nick> 者加入聊天室,預設為目前聊天室(需要有 chanop 身分)" + +#: src/common/outbound.c:4019 +msgid "JOIN <channel>, joins the channel" +msgstr "JOIN <channel>,加入聊天室" + +#: src/common/outbound.c:4021 +msgid "" +"KICK <nick> [reason], kicks the nick from the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4023 +msgid "" +"KICKBAN <nick> [reason], bans then kicks the nick from the current channel " +"(needs chanop)" +msgstr "" + +#: src/common/outbound.c:4026 +msgid "LAGCHECK, forces a new lag check" +msgstr "LAGCHECK,強制進行新的延遲檢查" + +#: src/common/outbound.c:4028 +msgid "" +"LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" +" Use -h to highlight the found string(s)\n" +" Use -m to match case\n" +" Use -r when string is a Regular Expression\n" +" Use -- (double hyphen) to end options when searching for, say, the string '-r'" +msgstr "" + +#: src/common/outbound.c:4034 +msgid "LOAD [-e] <file>, loads a plugin or script" +msgstr "LOAD [-e] <file>,載入外掛程式或命令稿" + +#: src/common/outbound.c:4037 +msgid "" +"MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)" +msgstr "MDEHOP,取消目前聊天室中所有 chanhalf-op 的權限 (需要有 chanop 身分)" + +#: src/common/outbound.c:4039 +msgid "MDEOP, Mass deop's all chanops in the current channel (needs chanop)" +msgstr "MDEOP,取消目前聊天室中所有 chanop 的權限 (需要有 chanop 身分)" + +#: src/common/outbound.c:4041 +msgid "" +"ME <action>, sends the action to the current channel (actions are written in" +" the 3rd person, like /me jumps)" +msgstr "ME <action>,向目前聊天室中發送一個動作 (動作使用第三人稱陳述,例如 /me jumps)" + +#: src/common/outbound.c:4045 +msgid "MHOP, Mass hop's all users in the current channel (needs chanop)" +msgstr "" + +#: src/common/outbound.c:4047 +msgid "" +"MKICK, Mass kicks everyone except you in the current channel (needs chanop)" +msgstr "MKICK,踢出目前聊天室中除您自己之外的所有使用者 (需要有 chanop 身分)" + +#: src/common/outbound.c:4050 +msgid "MOP, Mass op's all users in the current channel (needs chanop)" +msgstr "MOP,給本聊天室中所有使用者 chanop 身分(需要有 chanop 身分)" + +#: src/common/outbound.c:4051 +msgid "" +"MSG <nick> <message>, sends a private message, message \".\" to send to last" +" nick or prefix with \"=\" for dcc chat" +msgstr "" + +#: src/common/outbound.c:4054 +msgid "NAMES [channel], Lists the nicks on the channel" +msgstr "" + +#: src/common/outbound.c:4056 +msgid "NCTCP <nick> <message>, Sends a CTCP notice" +msgstr "NCTCP <nick> <message>,給暱稱為 <nick> 者發送一則 CTCP 通知" + +#: src/common/outbound.c:4057 +msgid "NEWSERVER [-noconnect] <hostname> [<port>]" +msgstr "NEWSERVER [-noconnect] <hostname> [<port>]" + +#: src/common/outbound.c:4058 +msgid "NICK <nickname>, sets your nick" +msgstr "NICK <nickname>,設定您的暱稱" + +#: src/common/outbound.c:4061 +msgid "NOTICE <nick/channel> <message>, sends a notice" +msgstr "" + +#: src/common/outbound.c:4063 +msgid "" +"NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or " +"adds someone to it" +msgstr "" + +#: src/common/outbound.c:4065 +msgid "OP <nick>, gives chanop status to the nick (needs chanop)" +msgstr "OP <nick>,給予暱稱為 <nick> 者 chanop 身分 (需要有 chanop 身分)" + +#: src/common/outbound.c:4067 +msgid "" +"PART [<channel>] [<reason>], leaves the channel, by default the current one" +msgstr "PART [<channel>] [<reason>],離開聊天室,預設為目前的聊天室" + +#: src/common/outbound.c:4069 +msgid "PING <nick | channel>, CTCP pings nick or channel" +msgstr "PING <nick | channel>,CTCP ping 某位使用者或聊天室" + +#: src/common/outbound.c:4071 +msgid "" +"QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone " +"and optionally sends a message" +msgstr "" + +#: src/common/outbound.c:4073 +msgid "" +"QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current " +"channel if supported by the server." +msgstr "" + +#: src/common/outbound.c:4075 +msgid "QUIT [<reason>], disconnects from the current server" +msgstr "QUIT [<reason>],切斷與目前伺服器的連接" + +#: src/common/outbound.c:4077 +msgid "QUOTE <text>, sends the text in raw form to the server" +msgstr "QUOTE <text>,向伺服器發送原始格式的文字" + +#: src/common/outbound.c:4080 +msgid "" +"RECONNECT [-ssl] [<host>] [<port>] [<password>], Can be called just as " +"/RECONNECT to reconnect to the current server or with /RECONNECT ALL to " +"reconnect to all the open servers" +msgstr "RECONNECT [-ssl] [<host>] [<port>] [<password>],可用 /RECONNECT 重新連接目前伺服器或用 /RECONNECT ALL 重新連接所有伺服器" + +#: src/common/outbound.c:4083 +msgid "" +"RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT " +"to reconnect to the current server or with /RECONNECT ALL to reconnect to " +"all the open servers" +msgstr "RECONNECT [<host>] [<port>] [<password>],可用 /RECONNECT 重新連接目前伺服器或用 /RECONNECT ALL 重新連接所有伺服器" + +#: src/common/outbound.c:4085 +msgid "" +"RECV <text>, send raw data to HexChat, as if it was received from the IRC " +"server" +msgstr "" + +#: src/common/outbound.c:4086 +msgid "RELOAD <name>, reloads a plugin or script" +msgstr "" + +#: src/common/outbound.c:4088 +msgid "SAY <text>, sends the text to the object in the current window" +msgstr "SAY <text>,向目前視窗中的對象發送文字" + +#: src/common/outbound.c:4089 +msgid "SEND <nick> [<file>]" +msgstr "SEND <nick> [<file>]" + +#: src/common/outbound.c:4092 +msgid "SERVCHAN [-ssl] <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN [-ssl] <host> <port> <channel>,連接伺服器並加入某聊天室" + +#: src/common/outbound.c:4095 +msgid "SERVCHAN <host> <port> <channel>, connects and joins a channel" +msgstr "SERVCHAN <host> <port> <channel>,連接伺服器並加入某聊天室" + +#: src/common/outbound.c:4099 +msgid "" +"SERVER [-ssl] <host> [<port>] [<password>], connects to a server, the " +"default port is 6667 for normal connections, and 6697 for ssl connections" +msgstr "" + +#: src/common/outbound.c:4102 +msgid "" +"SERVER <host> [<port>] [<password>], connects to a server, the default port " +"is 6667" +msgstr "SERVER <host> [<port>] [<password>],連接伺服器。預設輸出入埠為 6667" + +#: src/common/outbound.c:4104 +msgid "SET [-e] [-off|-on] [-quiet] <variable> [<value>]" +msgstr "" + +#: src/common/outbound.c:4105 +msgid "SETCURSOR [-|+]<position>, reposition the cursor in the inputbox" +msgstr "" + +#: src/common/outbound.c:4106 +msgid "SETTAB <new name>, change a tab's name, tab_trunc limit still applies" +msgstr "" + +#: src/common/outbound.c:4107 +msgid "SETTEXT <new text>, replace the text in the input box" +msgstr "" + +#: src/common/outbound.c:4110 +msgid "" +"TOPIC [<topic>], sets the topic if one is given, else shows the current " +"topic" +msgstr "TOPIC [<topic>],設定話題為指定話題,如果未指定則顯示目前話題" + +#: src/common/outbound.c:4112 +msgid "" +"\n" +"TRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" +"TRAY -f <filename> Set tray to a fixed icon.\n" +"TRAY -i <number> Blink tray with an internal icon.\n" +"TRAY -t <text> Set the tray tooltip.\n" +"TRAY -b <title> <text> Set the tray balloon." +msgstr "" + +#: src/common/outbound.c:4119 +msgid "UNBAN <mask> [<mask>...], unbans the specified masks." +msgstr "UNBAN <mask> [<mask>...],解禁指定的遮罩。" + +#: src/common/outbound.c:4120 +msgid "UNIGNORE <mask> [QUIET]" +msgstr "UNIGNORE <mask> [QUIET]" + +#: src/common/outbound.c:4121 +msgid "UNLOAD <name>, unloads a plugin or script" +msgstr "UNLOAD <name>,卸載外掛程式或命令稿" + +#: src/common/outbound.c:4123 +msgid "" +"UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the" +" server." +msgstr "" + +#: src/common/outbound.c:4124 +msgid "URL <url>, opens a URL in your browser" +msgstr "URL <url>,在您的瀏覽器中開啟 <url>" + +#: src/common/outbound.c:4126 +msgid "" +"USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel " +"userlist" +msgstr "USELECT [-a] [-s] <nick1> <nick2>...,在聊天室使用者清單中以高亮度標示暱稱" + +#: src/common/outbound.c:4129 +msgid "VOICE <nick>, gives voice status to someone (needs chanop)" +msgstr "VOICE <nick>,給予暱稱為 <nick> 者發言權(需要有 chanop 身分)" + +#: src/common/outbound.c:4131 +msgid "WALLCHAN <message>, writes the message to all channels" +msgstr "WALLCHAN <message>,發送訊息到所有的聊天室" + +#: src/common/outbound.c:4133 +msgid "" +"WALLCHOP <message>, sends the message to all chanops on the current channel" +msgstr "WALLCHOP <message>,給目前聊天室中所有 chanop 發送訊息" + +#: src/common/outbound.c:4166 +#, c-format +msgid "User Command for: %s\n" +msgstr "" + +#: src/common/outbound.c:4193 +#, c-format +msgid "Usage: %s\n" +msgstr "用法:%s\n" + +#: src/common/outbound.c:4198 +msgid "" +"\n" +"No help available on that command.\n" +msgstr "\n沒有關於該命令的求助資訊。\n" + +#: src/common/outbound.c:4204 +msgid "No such command.\n" +msgstr "無此命令。\n" + +#: src/common/outbound.c:4537 +msgid "Bad arguments for user command.\n" +msgstr "使用者命令的引數不對。\n" + +#: src/common/outbound.c:4743 +msgid "Too many recursive usercommands, aborting." +msgstr "太多遞迴的使用者命令,中止。" + +#: src/common/outbound.c:4832 +#, c-format +msgid "Unknown Command %s. Try /help\n" +msgstr "" + +#: src/common/plugin.c:403 +msgid "No hexchat_plugin_init symbol; is this really a HexChat plugin?" +msgstr "" + +#: src/common/plugin-identd.c:175 +#, c-format +msgid "*\tServicing ident request from %s as %s" +msgstr "" + +#: src/common/plugin-identd.c:238 +#, c-format +msgid "*\tError starting identd server: %s" +msgstr "" + +#: src/common/plugin-identd.c:262 +msgid "IDENTD <port> <username>" +msgstr "" + +#: src/common/plugin-timer.c:75 +#, c-format +msgid "Timer %d deleted.\n" +msgstr "" + +#: src/common/plugin-timer.c:81 +msgid "No such ref number found.\n" +msgstr "" + +#: src/common/plugin-timer.c:145 +msgid "No timers installed.\n" +msgstr "" + +#. 00000 00000000 0000000 abc +#: src/common/plugin-timer.c:150 +msgid " Ref# Seconds Repeat Command \n" +msgstr "" + +#: src/common/plugin-timer.c:155 +#, c-format +msgid "%5d %8.1f %7d %s\n" +msgstr "" + +#: src/common/server.c:514 +msgid "Are you sure this is a SSL capable server and port?\n" +msgstr "您確信此伺服器和輸出入埠支援‧SSL ?\n" + +#: src/common/server.c:876 +#, c-format +msgid "" +"Cannot resolve hostname %s\n" +"Check your IP Settings!\n" +msgstr "無法解析主機名 %s\n請檢查您的 IP 設定!\n" + +#: src/common/server.c:881 +msgid "Proxy traversal failed.\n" +msgstr "代理傳送失敗。\n" + +#: src/common/servlist.c:547 +#, c-format +msgid "Cycling to next server in %s...\n" +msgstr "輪跳至 %s 的下一個伺服器中...\n" + +#: src/common/servlist.c:1185 +#, c-format +msgid "" +"Warning: \"%s\" character set is unknown. No conversion will be applied for " +"network %s." +msgstr "警告:未知的字元設定「%s」。對網路 %s 將不應用字元轉換。" + +#: src/common/textevents.h:7 +msgid "%C18*%O$t%C18$1%O added to notify list." +msgstr "" + +#: src/common/textevents.h:10 +msgid "%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O" +msgstr "" + +#: src/common/textevents.h:13 +msgid "%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O)." +msgstr "" + +#: src/common/textevents.h:19 +msgid "%C29*%O$tCapabilities acknowledged: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:22 +msgid "%C29*%O$tCapabilities removed: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:25 +msgid "%C23*%O$tCapabilities supported: %C29$2%O" +msgstr "" + +#: src/common/textevents.h:28 +msgid "%C23*%O$tCapabilities requested: %C29$1%O" +msgstr "" + +#: src/common/textevents.h:31 +msgid "%C24*%O$t%C28$1%O is now known as %C18$2%O" +msgstr "" + +#: src/common/textevents.h:40 +msgid "%C22*%O$t%C26$1%O sets ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:43 +msgid "%C22*%O$tChannel %C22$1%O created on %C24$2%O" +msgstr "" + +#: src/common/textevents.h:46 +msgid "%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:49 +msgid "%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:52 +msgid "%C22*%O$t%C26$1%O removes voice from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:55 +msgid "%C22*%O$t%C26$1%C sets exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:58 +msgid "%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:61 +msgid "%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:64 +msgid "%UChannel Users Topic" +msgstr "%U 聊天室 使用者 話題" + +#: src/common/textevents.h:70 +msgid "%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O" +msgstr "" + +#: src/common/textevents.h:73 +msgid "%C22*%O$tChannel %C22$1%O modes: %C24$2" +msgstr "" + +#: src/common/textevents.h:82 +msgid "%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:85 +msgid "%C22*%O$t%C26$1%O sets quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:88 +msgid "%C22*%O$t%C26$1%O removes exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:91 +msgid "%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:94 +msgid "%C22*%O$t%C26$1%O removes channel keyword" +msgstr "" + +#: src/common/textevents.h:97 +msgid "%C22*%O$t%C26$1%O removes user limit" +msgstr "" + +#: src/common/textevents.h:100 +msgid "%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:103 +msgid "%C22*%O$t%C26$1%O sets channel limit to %C24$2%O" +msgstr "" + +#: src/common/textevents.h:106 +msgid "%C22*%O$t%C26$1%O removes ban on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:109 +msgid "%C22*%O$t%C26$1%O removes quiet on %C18$2%O" +msgstr "" + +#: src/common/textevents.h:112 +msgid "%C22*%O$tChannel %C22$1%O url: %C24$2" +msgstr "" + +#: src/common/textevents.h:115 +msgid "%C22*%O$t%C26$1%O gives voice to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:118 +msgid "%C23*%O$tConnected. Now logging in." +msgstr "" + +#: src/common/textevents.h:121 +msgid "%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)" +msgstr "" + +#: src/common/textevents.h:124 +msgid "%C20*%O$tConnection failed (%C20$1%O)" +msgstr "%C20*%O$t連線失敗 (%C20$1%O)" + +#: src/common/textevents.h:127 +msgid "%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:130 +msgid "%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O" +msgstr "" + +#: src/common/textevents.h:136 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:139 +msgid "%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)" +msgstr "" + +#: src/common/textevents.h:142 +msgid "%C23*%O$tDCC CHAT to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:145 +msgid "" +"%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:148 +msgid "%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:151 +msgid "%C24*%O$tReceived a DCC CHAT offer from %C18$1%O" +msgstr "" + +#: src/common/textevents.h:154 +msgid "%C24*%O$tOffering DCC CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:157 +msgid "%C24*%O$tAlready offering CHAT to %C18$1%O" +msgstr "" + +#: src/common/textevents.h:160 +msgid "%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:163 +msgid "%C23*%O$tReceived '%C23$1%C' from %C18$2%O" +msgstr "" + +#: src/common/textevents.h:166 +#, c-format +msgid "%C16,17 Type To/From Status Size Pos File" +msgstr "" + +#: src/common/textevents.h:169 +msgid "" +"%C20*%O$tReceived a malformed DCC request from " +"%C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O" +msgstr "" + +#: src/common/textevents.h:172 +msgid "%C24*%O$tOffering '%C24$1%O' to %C18$2%O" +msgstr "" + +#: src/common/textevents.h:175 +msgid "%C23*%O$tNo such DCC offer." +msgstr "" + +#: src/common/textevents.h:178 +msgid "%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:181 +msgid "" +"%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:184 +msgid "" +"%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:187 +msgid "%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:190 +msgid "%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:193 +msgid "" +"%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' " +"instead." +msgstr "" + +#: src/common/textevents.h:196 +msgid "%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O." +msgstr "" + +#: src/common/textevents.h:199 +msgid "%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted." +msgstr "" + +#: src/common/textevents.h:202 +msgid "" +"%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O" +msgstr "" + +#: src/common/textevents.h:205 +msgid "" +"%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:208 +msgid "%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)" +msgstr "" + +#: src/common/textevents.h:211 +msgid "%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)" +msgstr "" + +#: src/common/textevents.h:214 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting." +msgstr "" + +#: src/common/textevents.h:217 +msgid "%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting." +msgstr "" + +#: src/common/textevents.h:220 +msgid "%C24*%O$t%C18$1%O deleted from notify list." +msgstr "" + +#: src/common/textevents.h:223 +msgid "%C20*%O$tDisconnected (%C20$1%O)" +msgstr "" + +#: src/common/textevents.h:226 +msgid "%C24*%O$tFound your IP: %C30[%C24$1%C30]%O" +msgstr "" + +#: src/common/textevents.h:232 +msgid "%O%C18$1%O added to ignore list." +msgstr "" + +#: src/common/textevents.h:235 +msgid "%OIgnore on %C18$1%O changed." +msgstr "" + +#: src/common/textevents.h:238 +#, c-format +msgid "%C16,17" +msgstr "" + +#: src/common/textevents.h:241 +#, c-format +msgid "%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG" +msgstr "" + +#: src/common/textevents.h:244 +msgid "%O%C18$1%O removed from ignore list." +msgstr "" + +#: src/common/textevents.h:247 +msgid "%OIgnore list is empty." +msgstr "" + +#: src/common/textevents.h:250 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)" +msgstr "" + +#: src/common/textevents.h:253 +msgid "%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:256 +#, c-format +msgid "%C23*$t$1 ($3%C23) has joined" +msgstr "" + +#: src/common/textevents.h:259 +msgid "%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)" +msgstr "" + +#: src/common/textevents.h:262 +msgid "%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:265 +msgid "%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)" +msgstr "" + +#: src/common/textevents.h:274 +msgid "%C29*%O$t%C29MOTD Skipped%O" +msgstr "" + +#: src/common/textevents.h:277 +msgid "%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:280 +msgid "%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O..." +msgstr "" + +#: src/common/textevents.h:283 +msgid "" +"%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another." +msgstr "" + +#: src/common/textevents.h:286 +msgid "%C20*%O$tNo such DCC." +msgstr "" + +#: src/common/textevents.h:289 +msgid "%C23*%O$tNo process is currently running" +msgstr "" + +#: src/common/textevents.h:298 +msgid "%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:301 +msgid "%C23*%O$tNotify: %C18$1%C is back" +msgstr "" + +#: src/common/textevents.h:304 +msgid "$tNotify list is empty." +msgstr "$t上線通知清單是空的。" + +#: src/common/textevents.h:307 +#, c-format +msgid "%C16,17 Notify List" +msgstr "" + +#: src/common/textevents.h:310 +msgid "%C23*%O$t%C23$1%O users in notify list." +msgstr "" + +#: src/common/textevents.h:313 +msgid "%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:316 +msgid "%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)" +msgstr "" + +#: src/common/textevents.h:322 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left" +msgstr "" + +#: src/common/textevents.h:325 +#, c-format +msgid "%C24*$t$1 ($2%C24) has left ($4)" +msgstr "" + +#: src/common/textevents.h:328 +msgid "%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)" +msgstr "" + +#: src/common/textevents.h:331 +msgid "%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting." +msgstr "" + +#: src/common/textevents.h:346 +msgid "%C24*%O$tA process is already running" +msgstr "" + +#: src/common/textevents.h:349 +#, c-format +msgid "%C24*$t$1 has quit ($2)" +msgstr "" + +#: src/common/textevents.h:352 +msgid "%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O" +msgstr "" + +#: src/common/textevents.h:355 +msgid "%O-%C29$1/Wallops%O-$t$2" +msgstr "" + +#: src/common/textevents.h:358 +msgid "%C24*%O$tLooking up IP number for %C18$1%O..." +msgstr "" + +#: src/common/textevents.h:361 +msgid "%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)" +msgstr "" + +#: src/common/textevents.h:367 +msgid "%C29*%O$tConnected." +msgstr "" + +#: src/common/textevents.h:373 +msgid "%C29*%O$tLooking up %C29$1%O" +msgstr "" + +#: src/common/textevents.h:385 +msgid "%C23*%O$tStopped previous connection attempt (%C24$1%O)" +msgstr "" + +#: src/common/textevents.h:388 +msgid "%C22*%O$tTopic for %C22$1%C is: $2%O" +msgstr "" + +#: src/common/textevents.h:391 +msgid "%C22*%O$t%C26$1%C has changed the topic to: $2%O" +msgstr "" + +#: src/common/textevents.h:394 +msgid "%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:397 +msgid "%C20*%O$tUnknown host. Maybe you misspelled it?" +msgstr "" + +#: src/common/textevents.h:400 +msgid "%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)" +msgstr "" + +#: src/common/textevents.h:403 +msgid "%C22*%O$tUsers on %C22$1%C: %C24$2%O" +msgstr "" + +#: src/common/textevents.h:409 +msgid "%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O" +msgstr "" + +#: src/common/textevents.h:415 +msgid "%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list." +msgstr "" + +#: src/common/textevents.h:421 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O" +msgstr "" + +#: src/common/textevents.h:424 +msgid "%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O" +msgstr "" + +#: src/common/textevents.h:430 +msgid "" +"%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O" +msgstr "" + +#: src/common/textevents.h:439 +msgid "%C19*%O$tNow talking on %C22$2%O" +msgstr "" + +#: src/common/textevents.h:442 +msgid "%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)" +msgstr "" + +#: src/common/textevents.h:445 +msgid "%C19*%O$tYou have left channel %C22$3%O" +msgstr "" + +#: src/common/textevents.h:448 +msgid "%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)" +msgstr "" + +#: src/common/textevents.h:454 +msgid "%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)" +msgstr "" + +#: src/common/textevents.h:460 +msgid "%C20*%O$tYou are now known as %C18$2%O" +msgstr "" + +#: src/common/text.c:348 +msgid "Loaded log from" +msgstr "" + +#: src/common/text.c:365 +#, c-format +msgid "**** ENDING LOGGING AT %s\n" +msgstr "**** %s 結束日誌紀錄\n" + +#: src/common/text.c:577 +#, c-format +msgid "**** BEGIN LOGGING AT %s\n" +msgstr "**** %s 開始日誌記錄\n" + +#: src/common/text.c:595 +#, c-format +msgid "" +"* Can't open log file(s) for writing. Check the\n" +"permissions on %s" +msgstr "" + +#: src/common/text.c:960 +msgid "Left message" +msgstr "左邊的訊息" + +#: src/common/text.c:961 +msgid "Right message" +msgstr "右邊的訊息" + +#: src/common/text.c:966 src/common/text.c:1350 src/common/text.c:1388 +#: src/common/text.c:1393 src/common/text.c:1434 +msgid "IP address" +msgstr "IP 位址" + +#: src/common/text.c:967 src/common/text.c:1211 src/common/text.c:1270 +#: src/common/text.c:1277 +msgid "Username" +msgstr "使用者名" + +#: src/common/text.c:972 +msgid "The nick of the joining person" +msgstr "加入的使用者" + +#: src/common/text.c:973 +msgid "The channel being joined" +msgstr "加入的聊天室" + +#: src/common/text.c:974 src/common/text.c:1042 src/common/text.c:1093 +msgid "The host of the person" +msgstr "此人的主機" + +#: src/common/text.c:975 +msgid "The account of the person" +msgstr "" + +#: src/common/text.c:979 src/common/text.c:986 src/common/text.c:993 +#: src/common/text.c:1210 src/common/text.c:1217 src/common/text.c:1222 +#: src/common/text.c:1227 src/common/text.c:1232 src/common/text.c:1238 +#: src/common/text.c:1243 src/common/text.c:1247 src/common/text.c:1253 +#: src/common/text.c:1259 src/common/text.c:1323 src/common/text.c:1339 +#: src/common/text.c:1344 src/common/text.c:1349 src/common/text.c:1358 +#: src/common/text.c:1369 src/common/text.c:1376 src/common/text.c:1382 +#: src/common/text.c:1387 src/common/text.c:1392 src/common/text.c:1399 +#: src/common/text.c:1405 src/common/text.c:1411 src/common/text.c:1416 +#: src/common/text.c:1421 src/common/text.c:1425 src/common/text.c:1431 +#: src/common/text.c:1439 src/common/text.c:1443 src/common/text.c:1478 +#: src/common/text.c:1483 +msgid "Nickname" +msgstr "暱稱" + +#: src/common/text.c:980 +msgid "The action" +msgstr "動作" + +#: src/common/text.c:981 src/common/text.c:988 +msgid "Mode char" +msgstr "聊天模式" + +#: src/common/text.c:982 src/common/text.c:989 src/common/text.c:995 +msgid "Identified text" +msgstr "驗證文字" + +#: src/common/text.c:987 +msgid "The text" +msgstr "文字" + +#: src/common/text.c:994 src/common/text.c:1070 src/common/text.c:1076 +msgid "The message" +msgstr "訊息" + +#: src/common/text.c:999 src/common/text.c:1004 src/common/text.c:1009 +#: src/common/text.c:1275 src/common/text.c:1283 src/common/text.c:1289 +#: src/common/text.c:1295 src/common/text.c:1324 src/common/text.c:1452 +#: src/common/text.c:1494 +msgid "Server Name" +msgstr "伺服器名" + +#: src/common/text.c:1000 +msgid "Acknowledged Capabilities" +msgstr "" + +#: src/common/text.c:1005 +msgid "Removed Capabilities" +msgstr "" + +#: src/common/text.c:1010 +msgid "Server Capabilities" +msgstr "" + +#: src/common/text.c:1014 +msgid "Requested Capabilities" +msgstr "" + +#: src/common/text.c:1018 src/common/text.c:1080 +msgid "Old nickname" +msgstr "原暱稱" + +#: src/common/text.c:1019 src/common/text.c:1081 +msgid "New nickname" +msgstr "新暱稱" + +#: src/common/text.c:1023 +msgid "Nick of person who changed the topic" +msgstr "更改話題的使用者" + +#: src/common/text.c:1024 src/common/text.c:1030 src/fe-gtk/chanlist.c:779 +#: src/fe-gtk/chanlist.c:881 src/fe-gtk/setup.c:337 +msgid "Topic" +msgstr "話題" + +#: src/common/text.c:1034 src/common/text.c:1087 +msgid "The nickname of the kicker" +msgstr "能踢人的使用者" + +#: src/common/text.c:1035 src/common/text.c:1085 +msgid "The person being kicked" +msgstr "被踢者" + +#: src/common/text.c:1036 src/common/text.c:1043 src/common/text.c:1047 +#: src/common/text.c:1052 src/common/text.c:1086 src/common/text.c:1094 +#: src/common/text.c:1101 +msgid "The channel" +msgstr "聊天室" + +#: src/common/text.c:1037 src/common/text.c:1088 src/common/text.c:1095 +msgid "The reason" +msgstr "原因" + +#: src/common/text.c:1041 src/common/text.c:1092 +msgid "The nick of the person leaving" +msgstr "離開的使用者" + +#: src/common/text.c:1048 src/common/text.c:1054 +msgid "The time" +msgstr "時間" + +#: src/common/text.c:1053 +msgid "The creator" +msgstr "建立者" + +#: src/common/text.c:1058 src/fe-gtk/dccgui.c:827 src/fe-gtk/dccgui.c:1064 +msgid "Nick" +msgstr "暱稱" + +#: src/common/text.c:1059 src/common/text.c:1345 +msgid "Reason" +msgstr "原因" + +#: src/common/text.c:1060 src/common/text.c:1212 src/common/text.c:1313 +msgid "Host" +msgstr "主機" + +#: src/common/text.c:1064 src/common/text.c:1069 src/common/text.c:1074 +msgid "Who it's from" +msgstr "來自者" + +#: src/common/text.c:1065 +msgid "The time in x.x format (see below)" +msgstr "時間格式為 x.x (見下)" + +#: src/common/text.c:1075 src/common/text.c:1112 +msgid "The Channel it's going to" +msgstr "要加入的聊天室" + +#: src/common/text.c:1099 +msgid "The sound" +msgstr "音效" + +#: src/common/text.c:1100 src/common/text.c:1106 src/common/text.c:1111 +msgid "The nick of the person" +msgstr "此人的暱稱" + +#: src/common/text.c:1105 src/common/text.c:1110 +msgid "The CTCP event" +msgstr "CTCP 事件" + +#: src/common/text.c:1116 +msgid "The nick of the person who set the key" +msgstr "設定密鑰的使用者" + +#: src/common/text.c:1117 +msgid "The key" +msgstr "密鑰" + +#: src/common/text.c:1121 +msgid "The nick of the person who set the limit" +msgstr "設定限額的使用者" + +#: src/common/text.c:1122 +msgid "The limit" +msgstr "限額" + +#: src/common/text.c:1126 +msgid "The nick of the person who did the op'ing" +msgstr "使用了 op 命令的使用者" + +#: src/common/text.c:1127 +msgid "The nick of the person who has been op'ed" +msgstr "被授予 op 身分的使用者" + +#: src/common/text.c:1131 +msgid "The nick of the person who has been halfop'ed" +msgstr "被授予 halfop 身分的使用者" + +#: src/common/text.c:1132 +msgid "The nick of the person who did the halfop'ing" +msgstr "使用 halfop 命令的使用者" + +#: src/common/text.c:1136 +msgid "The nick of the person who did the voice'ing" +msgstr "使用 voice 命令的使用者" + +#: src/common/text.c:1137 +msgid "The nick of the person who has been voice'ed" +msgstr "被賦予發言權的使用者" + +#: src/common/text.c:1141 +msgid "The nick of the person who did the banning" +msgstr "使用 ban 命令的使用者" + +#: src/common/text.c:1142 src/common/text.c:1174 +msgid "The ban mask" +msgstr "ban 命令的遮罩" + +#: src/common/text.c:1146 +msgid "The nick of the person who did the quieting" +msgstr "" + +#: src/common/text.c:1147 src/common/text.c:1179 +msgid "The quiet mask" +msgstr "" + +#: src/common/text.c:1151 +msgid "The nick who removed the key" +msgstr "取消密鑰的使用者" + +#: src/common/text.c:1155 +msgid "The nick who removed the limit" +msgstr "取消使用者限額的使用者" + +#: src/common/text.c:1159 +msgid "The nick of the person who did the deop'ing" +msgstr "" + +#: src/common/text.c:1160 +msgid "The nick of the person who has been deop'ed" +msgstr "被取消 op 身分的使用者" + +#: src/common/text.c:1163 +msgid "The nick of the person who did the dehalfop'ing" +msgstr "" + +#: src/common/text.c:1164 +msgid "The nick of the person who has been dehalfop'ed" +msgstr "被取消 halfop 身分的使用者" + +#: src/common/text.c:1168 +msgid "The nick of the person who did the devoice'ing" +msgstr "" + +#: src/common/text.c:1169 +msgid "The nick of the person who has been devoice'ed" +msgstr "被取消發言權的使用者" + +#: src/common/text.c:1173 +msgid "The nick of the person who did the unban'ing" +msgstr "" + +#: src/common/text.c:1178 +msgid "The nick of the person who did the unquiet'ing" +msgstr "" + +#: src/common/text.c:1183 +msgid "The nick of the person who did the exempt" +msgstr "使用 exempt 命令的使用者" + +#: src/common/text.c:1184 src/common/text.c:1189 +msgid "The exempt mask" +msgstr "exempt 遮罩" + +#: src/common/text.c:1188 +msgid "The nick of the person removed the exempt" +msgstr "取消 exempt 的使用者" + +#: src/common/text.c:1193 +msgid "The nick of the person who did the invite" +msgstr "使用 invite 命令的使用者" + +#: src/common/text.c:1194 src/common/text.c:1199 +msgid "The invite mask" +msgstr "invite 遮罩" + +#: src/common/text.c:1198 +msgid "The nick of the person removed the invite" +msgstr "取消 invite 的使用者" + +#: src/common/text.c:1203 +msgid "The nick of the person setting the mode" +msgstr "設定模式的使用者" + +#: src/common/text.c:1204 +msgid "The mode's sign (+/-)" +msgstr "模式的符號(+/-)" + +#: src/common/text.c:1205 +msgid "The mode letter" +msgstr "模式字母" + +#: src/common/text.c:1206 +msgid "The channel it's being set on" +msgstr "被設定的聊天室" + +#: src/common/text.c:1213 +msgid "Full name" +msgstr "全名" + +#: src/common/text.c:1218 +msgid "Channel Membership/\"is an IRC operator\"" +msgstr "聊天室成員/「是 IRC 管理員」" + +#: src/common/text.c:1223 +msgid "Server Information" +msgstr "伺服器資訊" + +#: src/common/text.c:1228 src/common/text.c:1233 +msgid "Idle time" +msgstr "發呆時間" + +#: src/common/text.c:1234 +msgid "Signon time" +msgstr "登入時間" + +#: src/common/text.c:1239 +msgid "Away reason" +msgstr "離開原因" + +#: src/common/text.c:1248 src/common/text.c:1254 src/common/text.c:1262 +#: src/common/text.c:1278 src/common/text.c:1470 +msgid "Message" +msgstr "訊息" + +#: src/common/text.c:1255 +msgid "Account" +msgstr "帳戶" + +#: src/common/text.c:1260 +msgid "Real user@host" +msgstr "真實使用者@主機" + +#: src/common/text.c:1261 +msgid "Real IP" +msgstr "真實 IP" + +#: src/common/text.c:1266 src/common/text.c:1293 src/common/text.c:1299 +#: src/common/text.c:1329 src/common/text.c:1334 src/common/text.c:1493 +msgid "Channel Name" +msgstr "聊天室名" + +#: src/common/text.c:1271 +msgid "Mechanism" +msgstr "" + +#: src/common/text.c:1276 src/common/text.c:1284 +msgid "Raw Numeric or Identifier" +msgstr "" + +#: src/common/text.c:1282 src/common/text.c:1288 src/common/text.c:1456 +#: src/fe-gtk/menu.c:1547 src/fe-gtk/menu.c:1795 src/fe-gtk/setup.c:216 +#: src/fe-gtk/textgui.c:378 +msgid "Text" +msgstr "文字" + +#: src/common/text.c:1294 +msgid "Nick of person who invited you" +msgstr "邀請您的使用者" + +#: src/common/text.c:1300 src/fe-gtk/chanlist.c:778 +msgid "Users" +msgstr "使用者" + +#: src/common/text.c:1304 +msgid "Nickname in use" +msgstr "暱稱已被使用" + +#: src/common/text.c:1305 +msgid "Nick being tried" +msgstr "已試用過的暱稱" + +#: src/common/text.c:1314 src/common/text.c:1460 +msgid "IP" +msgstr "IP 位址" + +#: src/common/text.c:1315 src/common/text.c:1351 +msgid "Port" +msgstr "輸出入埠" + +#: src/common/text.c:1330 src/common/text.c:1340 +msgid "Modes string" +msgstr "模式字串" + +#: src/common/text.c:1335 src/fe-gtk/urlgrab.c:96 +msgid "URL" +msgstr "URL" + +#: src/common/text.c:1356 src/common/text.c:1381 +msgid "DCC Type" +msgstr "DCC 類型" + +#: src/common/text.c:1357 src/common/text.c:1362 src/common/text.c:1367 +#: src/common/text.c:1374 src/common/text.c:1394 src/common/text.c:1398 +#: src/common/text.c:1404 src/common/text.c:1410 src/common/text.c:1417 +#: src/common/text.c:1426 src/common/text.c:1432 +msgid "Filename" +msgstr "檔案名" + +#: src/common/text.c:1368 src/common/text.c:1375 +msgid "Destination filename" +msgstr "目標檔案名" + +#: src/common/text.c:1377 src/common/text.c:1406 +msgid "CPS" +msgstr "CPS" + +#: src/common/text.c:1412 +msgid "Pathname" +msgstr "路徑名" + +#: src/common/text.c:1427 src/fe-gtk/dccgui.c:823 +msgid "Position" +msgstr "位置" + +#: src/common/text.c:1433 src/fe-gtk/dccgui.c:822 +msgid "Size" +msgstr "大小" + +#: src/common/text.c:1438 +msgid "DCC String" +msgstr "DCC 字串" + +#: src/common/text.c:1444 +msgid "Away Reason" +msgstr "" + +#: src/common/text.c:1448 +msgid "Number of notify items" +msgstr "通知條目數" + +#: src/common/text.c:1464 +msgid "Old Filename" +msgstr "舊檔案名" + +#: src/common/text.c:1465 +msgid "New Filename" +msgstr "新檔案名" + +#: src/common/text.c:1469 +msgid "Receiver" +msgstr "接收者" + +#: src/common/text.c:1474 +msgid "Hostmask" +msgstr "主機遮罩" + +#: src/common/text.c:1479 +msgid "Hostname" +msgstr "主機名" + +#: src/common/text.c:1484 +msgid "The Packet" +msgstr "包" + +#: src/common/text.c:1488 +msgid "Seconds" +msgstr "秒" + +#: src/common/text.c:1492 +msgid "Nick of person who have been invited" +msgstr "被邀請的使用者" + +#: src/common/text.c:1499 +msgid "Banmask" +msgstr "ban 的遮罩" + +#: src/common/text.c:1500 +msgid "Who set the ban" +msgstr "設定禁令的使用者" + +#: src/common/text.c:1501 +msgid "Ban time" +msgstr "封禁時間" + +#: src/common/text.c:2266 +#, c-format +msgid "" +"Cannot read sound file:\n" +"%s" +msgstr "無法讀取聲音檔案:\n%s" + +#: src/common/util.c:119 +msgid "Remote host closed socket" +msgstr "遠端主機已關閉 socket" + +#: src/common/util.c:124 +msgid "Connection refused" +msgstr "連線被拒絕" + +#: src/common/util.c:127 +msgid "No route to host" +msgstr "沒有到主機的路由" + +#: src/common/util.c:129 +msgid "Connection timed out" +msgstr "連線超時" + +#: src/common/util.c:131 +msgid "Cannot assign that address" +msgstr "無法分配該位址" + +#: src/common/util.c:133 +msgid "Connection reset by peer" +msgstr "連線被對方重設" + +#: src/common/util.c:685 +msgid "Ascension Island" +msgstr "亞森松島" + +#: src/common/util.c:686 +msgid "Andorra" +msgstr "安道爾" + +#: src/common/util.c:687 +msgid "United Arab Emirates" +msgstr "阿拉伯聯合大公國" + +#: src/common/util.c:688 +msgid "Aviation-Related Fields" +msgstr "" + +#: src/common/util.c:689 +msgid "Afghanistan" +msgstr "阿富汗" + +#: src/common/util.c:690 +msgid "Antigua and Barbuda" +msgstr "安地卡及巴布達" + +#: src/common/util.c:691 +msgid "Anguilla" +msgstr "安圭拉島" + +#: src/common/util.c:692 +msgid "Albania" +msgstr "阿爾巴尼亞" + +#: src/common/util.c:693 +msgid "Armenia" +msgstr "亞美尼亞" + +#: src/common/util.c:694 +msgid "Netherlands Antilles" +msgstr "荷屬安地列斯" + +#: src/common/util.c:695 +msgid "Angola" +msgstr "安哥拉" + +#: src/common/util.c:696 +msgid "Antarctica" +msgstr "南極洲" + +#: src/common/util.c:697 +msgid "Argentina" +msgstr "阿根廷" + +#: src/common/util.c:698 +msgid "Reverse DNS" +msgstr "反向 DNS" + +#: src/common/util.c:699 +msgid "American Samoa" +msgstr "美屬薩摩亞" + +#: src/common/util.c:700 +msgid "Asia-Pacific Region" +msgstr "亞太地區" + +#: src/common/util.c:701 +msgid "Austria" +msgstr "奧地利" + +#: src/common/util.c:702 +msgid "Nato Fiel" +msgstr "北大西洋公約組織" + +#: src/common/util.c:703 +msgid "Australia" +msgstr "澳大利亞" + +#: src/common/util.c:704 +msgid "Aruba" +msgstr "阿盧巴島" + +#: src/common/util.c:705 +msgid "Aland Islands" +msgstr "奧蘭群島" + +#: src/common/util.c:706 +msgid "Azerbaijan" +msgstr "亞塞拜然" + +#: src/common/util.c:707 +msgid "Bosnia and Herzegovina" +msgstr "波士尼亞及赫塞哥維那" + +#: src/common/util.c:708 +msgid "Barbados" +msgstr "巴貝多" + +#: src/common/util.c:709 +msgid "Bangladesh" +msgstr "孟加拉" + +#: src/common/util.c:710 +msgid "Belgium" +msgstr "比利時" + +#: src/common/util.c:711 +msgid "Burkina Faso" +msgstr "布吉納法索" + +#: src/common/util.c:712 +msgid "Bulgaria" +msgstr "保加利亞" + +#: src/common/util.c:713 +msgid "Bahrain" +msgstr "巴林" + +#: src/common/util.c:714 +msgid "Burundi" +msgstr "浦隆地" + +#: src/common/util.c:715 +msgid "Businesses" +msgstr "商業" + +#: src/common/util.c:716 +msgid "Benin" +msgstr "貝南" + +#: src/common/util.c:717 +msgid "Bermuda" +msgstr "百慕達群島" + +#: src/common/util.c:718 +msgid "Brunei Darussalam" +msgstr "汶萊" + +#: src/common/util.c:719 +msgid "Bolivia" +msgstr "玻利維亞" + +#: src/common/util.c:720 +msgid "Brazil" +msgstr "巴西" + +#: src/common/util.c:721 +msgid "Bahamas" +msgstr "巴哈馬群島" + +#: src/common/util.c:722 +msgid "Bhutan" +msgstr "不丹" + +#: src/common/util.c:723 +msgid "Bouvet Island" +msgstr "波維特島" + +#: src/common/util.c:724 +msgid "Botswana" +msgstr "波札那" + +#: src/common/util.c:725 +msgid "Belarus" +msgstr "白俄" + +#: src/common/util.c:726 +msgid "Belize" +msgstr "貝里斯" + +#: src/common/util.c:727 +msgid "Canada" +msgstr "加拿大" + +#: src/common/util.c:728 src/fe-gtk/setup.c:98 +msgid "Catalan" +msgstr "" + +#: src/common/util.c:729 +msgid "Cocos Islands" +msgstr "可可斯群島" + +#: src/common/util.c:730 +msgid "Democratic Republic of Congo" +msgstr "剛果民主共和國" + +#: src/common/util.c:731 +msgid "Central African Republic" +msgstr "中非共和國" + +#: src/common/util.c:732 +msgid "Congo" +msgstr "剛果" + +#: src/common/util.c:733 +msgid "Switzerland" +msgstr "瑞士" + +#: src/common/util.c:734 +msgid "Cote d'Ivoire" +msgstr "象牙海岸" + +#: src/common/util.c:735 +msgid "Cook Islands" +msgstr "科克群島" + +#: src/common/util.c:736 +msgid "Chile" +msgstr "智利" + +#: src/common/util.c:737 +msgid "Cameroon" +msgstr "喀麥隆" + +#: src/common/util.c:738 +msgid "China" +msgstr "中國" + +#: src/common/util.c:739 +msgid "Colombia" +msgstr "哥倫比亞" + +#: src/common/util.c:740 +msgid "Internic Commercial" +msgstr "Internic 商業組織" + +#: src/common/util.c:741 +msgid "Cooperatives" +msgstr "" + +#: src/common/util.c:742 +msgid "Costa Rica" +msgstr "哥斯大黎加" + +#: src/common/util.c:743 +msgid "Serbia and Montenegro" +msgstr "塞爾維亞及蒙特尼哥羅" + +#: src/common/util.c:744 +msgid "Cuba" +msgstr "古巴" + +#: src/common/util.c:745 +msgid "Cape Verde" +msgstr "維德角島" + +#: src/common/util.c:746 +msgid "Christmas Island" +msgstr "聖誕島" + +#: src/common/util.c:747 +msgid "Cyprus" +msgstr "賽普勒斯" + +#: src/common/util.c:748 +msgid "Czech Republic" +msgstr "捷克共和國" + +#: src/common/util.c:749 +msgid "East Germany" +msgstr "東德" + +#: src/common/util.c:750 +msgid "Germany" +msgstr "德國" + +#: src/common/util.c:751 +msgid "Djibouti" +msgstr "吉布地" + +#: src/common/util.c:752 +msgid "Denmark" +msgstr "丹麥" + +#: src/common/util.c:753 +msgid "Dominica" +msgstr "多明尼克" + +#: src/common/util.c:754 +msgid "Dominican Republic" +msgstr "多明尼加共和國" + +#: src/common/util.c:755 +msgid "Algeria" +msgstr "阿爾及利亞" + +#: src/common/util.c:756 +msgid "Ecuador" +msgstr "厄瓜多" + +#: src/common/util.c:757 +msgid "Educational Institution" +msgstr "教育機構" + +#: src/common/util.c:758 +msgid "Estonia" +msgstr "愛沙尼亞" + +#: src/common/util.c:759 +msgid "Egypt" +msgstr "埃及" + +#: src/common/util.c:760 +msgid "Western Sahara" +msgstr "西撒哈拉" + +#: src/common/util.c:761 +msgid "Eritrea" +msgstr "埃立特里亞" + +#: src/common/util.c:762 +msgid "Spain" +msgstr "西班牙" + +#: src/common/util.c:763 +msgid "Ethiopia" +msgstr "衣索比亞" + +#: src/common/util.c:764 +msgid "European Union" +msgstr "歐盟" + +#: src/common/util.c:765 +msgid "Finland" +msgstr "芬蘭" + +#: src/common/util.c:766 +msgid "Fiji" +msgstr "斐濟" + +#: src/common/util.c:767 +msgid "Falkland Islands" +msgstr "福克蘭群島" + +#: src/common/util.c:768 +msgid "Micronesia" +msgstr "密克羅尼西亞" + +#: src/common/util.c:769 +msgid "Faroe Islands" +msgstr "法羅群島" + +#: src/common/util.c:770 +msgid "France" +msgstr "法國" + +#: src/common/util.c:771 +msgid "Gabon" +msgstr "加彭" + +#: src/common/util.c:772 +msgid "Great Britain" +msgstr "大不列顛" + +#: src/common/util.c:773 +msgid "Grenada" +msgstr "格瑞納達" + +#: src/common/util.c:774 +msgid "Georgia" +msgstr "喬治亞" + +#: src/common/util.c:775 +msgid "French Guiana" +msgstr "法屬圭亞那" + +#: src/common/util.c:776 +msgid "British Channel Isles" +msgstr "不列顛海峽群島" + +#: src/common/util.c:777 +msgid "Ghana" +msgstr "迦納" + +#: src/common/util.c:778 +msgid "Gibraltar" +msgstr "直布羅陀" + +#: src/common/util.c:779 +msgid "Greenland" +msgstr "格陵蘭" + +#: src/common/util.c:780 +msgid "Gambia" +msgstr "甘比亞" + +#: src/common/util.c:781 +msgid "Guinea" +msgstr "幾內亞" + +#: src/common/util.c:782 +msgid "Government" +msgstr "政府部門" + +#: src/common/util.c:783 +msgid "Guadeloupe" +msgstr "瓜德魯普島" + +#: src/common/util.c:784 +msgid "Equatorial Guinea" +msgstr "赤道幾內亞" + +#: src/common/util.c:785 +msgid "Greece" +msgstr "希臘" + +#: src/common/util.c:786 +msgid "S. Georgia and S. Sandwich Isles" +msgstr "南喬治亞及南桑威奇群島" + +#: src/common/util.c:787 +msgid "Guatemala" +msgstr "瓜地馬拉" + +#: src/common/util.c:788 +msgid "Guam" +msgstr "關島" + +#: src/common/util.c:789 +msgid "Guinea-Bissau" +msgstr "幾內亞比索" + +#: src/common/util.c:790 +msgid "Guyana" +msgstr "蓋亞那" + +#: src/common/util.c:791 +msgid "Hong Kong" +msgstr "香港" + +#: src/common/util.c:792 +msgid "Heard and McDonald Islands" +msgstr "赫德及麥當勞群島" + +#: src/common/util.c:793 +msgid "Honduras" +msgstr "宏都拉斯" + +#: src/common/util.c:794 +msgid "Croatia" +msgstr "克羅埃西亞" + +#: src/common/util.c:795 +msgid "Haiti" +msgstr "海地" + +#: src/common/util.c:796 +msgid "Hungary" +msgstr "匈牙利" + +#: src/common/util.c:797 +msgid "Indonesia" +msgstr "印尼" + +#: src/common/util.c:798 +msgid "Ireland" +msgstr "愛爾蘭" + +#: src/common/util.c:799 +msgid "Israel" +msgstr "以色列" + +#: src/common/util.c:800 +msgid "Isle of Man" +msgstr "曼島" + +#: src/common/util.c:801 +msgid "India" +msgstr "印度" + +#: src/common/util.c:802 +msgid "Informational" +msgstr "資訊的" + +#: src/common/util.c:803 +msgid "International" +msgstr "國際的" + +#: src/common/util.c:804 +msgid "British Indian Ocean Territory" +msgstr "英屬印度洋地區" + +#: src/common/util.c:805 +msgid "Iraq" +msgstr "伊拉克" + +#: src/common/util.c:806 +msgid "Iran" +msgstr "伊朗" + +#: src/common/util.c:807 +msgid "Iceland" +msgstr "冰島" + +#: src/common/util.c:808 +msgid "Italy" +msgstr "意大利" + +#: src/common/util.c:809 +msgid "Jersey" +msgstr "澤西" + +#: src/common/util.c:810 +msgid "Jamaica" +msgstr "牙買加" + +#: src/common/util.c:811 +msgid "Jordan" +msgstr "約旦" + +#: src/common/util.c:812 +msgid "Company Jobs" +msgstr "" + +#: src/common/util.c:813 +msgid "Japan" +msgstr "日本" + +#: src/common/util.c:814 +msgid "Kenya" +msgstr "肯亞" + +#: src/common/util.c:815 +msgid "Kyrgyzstan" +msgstr "吉爾吉斯" + +#: src/common/util.c:816 +msgid "Cambodia" +msgstr "柬埔寨" + +#: src/common/util.c:817 +msgid "Kiribati" +msgstr "吉里巴斯" + +#: src/common/util.c:818 +msgid "Comoros" +msgstr "葛摩" + +#: src/common/util.c:819 +msgid "St. Kitts and Nevis" +msgstr "聖克里斯多福" + +#: src/common/util.c:820 +msgid "North Korea" +msgstr "北韓" + +#: src/common/util.c:821 +msgid "South Korea" +msgstr "南韓" + +#: src/common/util.c:822 +msgid "Kuwait" +msgstr "科威特" + +#: src/common/util.c:823 +msgid "Cayman Islands" +msgstr "開曼群島" + +#: src/common/util.c:824 +msgid "Kazakhstan" +msgstr "哈薩克" + +#: src/common/util.c:825 +msgid "Laos" +msgstr "寮國" + +#: src/common/util.c:826 +msgid "Lebanon" +msgstr "黎巴嫩" + +#: src/common/util.c:827 +msgid "Saint Lucia" +msgstr "聖露西亞" + +#: src/common/util.c:828 +msgid "Liechtenstein" +msgstr "列支敦斯登" + +#: src/common/util.c:829 +msgid "Sri Lanka" +msgstr "斯里蘭卡" + +#: src/common/util.c:830 +msgid "Liberia" +msgstr "賴比瑞亞" + +#: src/common/util.c:831 +msgid "Lesotho" +msgstr "賴索托" + +#: src/common/util.c:832 +msgid "Lithuania" +msgstr "立陶宛" + +#: src/common/util.c:833 +msgid "Luxembourg" +msgstr "盧森堡" + +#: src/common/util.c:834 +msgid "Latvia" +msgstr "拉脫維亞" + +#: src/common/util.c:835 +msgid "Libya" +msgstr "利比亞" + +#: src/common/util.c:836 +msgid "Morocco" +msgstr "摩洛哥" + +#: src/common/util.c:837 +msgid "Monaco" +msgstr "摩納哥" + +#: src/common/util.c:838 +msgid "Moldova" +msgstr "摩爾多瓦" + +#: src/common/util.c:839 +msgid "Montenegro" +msgstr "" + +#: src/common/util.c:840 +msgid "United States Medical" +msgstr "美國醫療組織" + +#: src/common/util.c:841 +msgid "Madagascar" +msgstr "馬達加斯加" + +#: src/common/util.c:842 +msgid "Marshall Islands" +msgstr "馬紹爾群島" + +#: src/common/util.c:843 +msgid "Military" +msgstr "軍事" + +#: src/common/util.c:844 +msgid "Macedonia" +msgstr "馬其頓" + +#: src/common/util.c:845 +msgid "Mali" +msgstr "馬利" + +#: src/common/util.c:846 +msgid "Myanmar" +msgstr "緬甸" + +#: src/common/util.c:847 +msgid "Mongolia" +msgstr "蒙古" + +#: src/common/util.c:848 +msgid "Macau" +msgstr "澳門" + +#: src/common/util.c:849 +msgid "Mobile Devices" +msgstr "行動裝置" + +#: src/common/util.c:850 +msgid "Northern Mariana Islands" +msgstr "北馬里亞納群島" + +#: src/common/util.c:851 +msgid "Martinique" +msgstr "法屬馬丁尼克" + +#: src/common/util.c:852 +msgid "Mauritania" +msgstr "茅利塔尼亞" + +#: src/common/util.c:853 +msgid "Montserrat" +msgstr "蒙瑟拉特島" + +#: src/common/util.c:854 +msgid "Malta" +msgstr "馬爾他" + +#: src/common/util.c:855 +msgid "Mauritius" +msgstr "模里西斯" + +#: src/common/util.c:856 +msgid "Museums" +msgstr "" + +#: src/common/util.c:857 +msgid "Maldives" +msgstr "馬爾地夫" + +#: src/common/util.c:858 +msgid "Malawi" +msgstr "馬拉威" + +#: src/common/util.c:859 +msgid "Mexico" +msgstr "墨西哥" + +#: src/common/util.c:860 +msgid "Malaysia" +msgstr "馬來西亞" + +#: src/common/util.c:861 +msgid "Mozambique" +msgstr "莫三比克" + +#: src/common/util.c:862 +msgid "Namibia" +msgstr "納米比亞" + +#: src/common/util.c:863 +msgid "Individual's Names" +msgstr "" + +#: src/common/util.c:864 +msgid "New Caledonia" +msgstr "新喀里多尼亞島" + +#: src/common/util.c:865 +msgid "Niger" +msgstr "尼日" + +#: src/common/util.c:866 +msgid "Internic Network" +msgstr "Internic 網路" + +#: src/common/util.c:867 +msgid "Norfolk Island" +msgstr "諾福克島" + +#: src/common/util.c:868 +msgid "Nigeria" +msgstr "奈及利亞" + +#: src/common/util.c:869 +msgid "Nicaragua" +msgstr "尼加拉瓜" + +#: src/common/util.c:870 +msgid "Netherlands" +msgstr "荷蘭" + +#: src/common/util.c:871 +msgid "Norway" +msgstr "挪威" + +#: src/common/util.c:872 +msgid "Nepal" +msgstr "尼泊爾" + +#: src/common/util.c:873 +msgid "Nauru" +msgstr "諾魯" + +#: src/common/util.c:874 +msgid "Niue" +msgstr "紐威島" + +#: src/common/util.c:875 +msgid "New Zealand" +msgstr "紐西蘭" + +#: src/common/util.c:876 +msgid "Oman" +msgstr "阿曼" + +#: src/common/util.c:877 +msgid "Internic Non-Profit Organization" +msgstr "Internic 非營利性組織" + +#: src/common/util.c:878 +msgid "Panama" +msgstr "巴拿馬" + +#: src/common/util.c:879 +msgid "Peru" +msgstr "秘魯" + +#: src/common/util.c:880 +msgid "French Polynesia" +msgstr "法屬波里尼西亞" + +#: src/common/util.c:881 +msgid "Papua New Guinea" +msgstr "巴布亞紐幾內亞" + +#: src/common/util.c:882 +msgid "Philippines" +msgstr "菲律賓" + +#: src/common/util.c:883 +msgid "Pakistan" +msgstr "巴基斯坦" + +#: src/common/util.c:884 +msgid "Poland" +msgstr "波蘭" + +#: src/common/util.c:885 +msgid "St. Pierre and Miquelon" +msgstr "聖匹及密啟倫群島" + +#: src/common/util.c:886 +msgid "Pitcairn" +msgstr "皮特康島" + +#: src/common/util.c:887 +msgid "Puerto Rico" +msgstr "波多黎各" + +#: src/common/util.c:888 +msgid "Professions" +msgstr "職稱" + +#: src/common/util.c:889 +msgid "Palestinian Territory" +msgstr "巴勒斯坦地區" + +#: src/common/util.c:890 +msgid "Portugal" +msgstr "葡萄牙" + +#: src/common/util.c:891 +msgid "Palau" +msgstr "帛琉群島" + +#: src/common/util.c:892 +msgid "Paraguay" +msgstr "巴拉圭" + +#: src/common/util.c:893 +msgid "Qatar" +msgstr "卡達" + +#: src/common/util.c:894 +msgid "Reunion" +msgstr "留尼旺" + +#: src/common/util.c:895 +msgid "Romania" +msgstr "羅馬尼亞" + +#: src/common/util.c:896 +msgid "Old School ARPAnet" +msgstr "教育 ARPAnet" + +#: src/common/util.c:897 +msgid "Serbia" +msgstr "" + +#: src/common/util.c:898 +msgid "Russian Federation" +msgstr "俄羅斯聯邦" + +#: src/common/util.c:899 +msgid "Rwanda" +msgstr "盧安達" + +#: src/common/util.c:900 +msgid "Saudi Arabia" +msgstr "沙烏地阿拉伯" + +#: src/common/util.c:901 +msgid "Solomon Islands" +msgstr "所羅門群島" + +#: src/common/util.c:902 +msgid "Seychelles" +msgstr "塞席爾群島" + +#: src/common/util.c:903 +msgid "Sudan" +msgstr "蘇丹" + +#: src/common/util.c:904 +msgid "Sweden" +msgstr "瑞典" + +#: src/common/util.c:905 +msgid "Singapore" +msgstr "新加坡" + +#: src/common/util.c:906 +msgid "St. Helena" +msgstr "聖赫勒拿島" + +#: src/common/util.c:907 +msgid "Slovenia" +msgstr "斯洛凡尼亞" + +#: src/common/util.c:908 +msgid "Svalbard and Jan Mayen Islands" +msgstr "冷岸及央麥恩群島" + +#: src/common/util.c:909 +msgid "Slovak Republic" +msgstr "斯洛伐克共和國" + +#: src/common/util.c:910 +msgid "Sierra Leone" +msgstr "獅子山" + +#: src/common/util.c:911 +msgid "San Marino" +msgstr "聖馬利諾" + +#: src/common/util.c:912 +msgid "Senegal" +msgstr "塞內加爾" + +#: src/common/util.c:913 +msgid "Somalia" +msgstr "索馬利亞" + +#: src/common/util.c:914 +msgid "Suriname" +msgstr "蘇利南" + +#: src/common/util.c:915 +msgid "South Sudan" +msgstr "" + +#: src/common/util.c:916 +msgid "Sao Tome and Principe" +msgstr "聖多美和普林西比" + +#: src/common/util.c:917 +msgid "Former USSR" +msgstr "前蘇聯" + +#: src/common/util.c:918 +msgid "El Salvador" +msgstr "薩爾瓦多" + +#: src/common/util.c:919 +msgid "Syria" +msgstr "敘利亞" + +#: src/common/util.c:920 +msgid "Swaziland" +msgstr "史瓦濟蘭" + +#: src/common/util.c:921 +msgid "Turks and Caicos Islands" +msgstr "土克斯及開科斯群島" + +#: src/common/util.c:922 +msgid "Chad" +msgstr "查德" + +#: src/common/util.c:923 +msgid "Internet Communication Services" +msgstr "" + +#: src/common/util.c:924 +msgid "French Southern Territories" +msgstr "法屬南部地區" + +#: src/common/util.c:925 +msgid "Togo" +msgstr "多哥" + +#: src/common/util.c:926 +msgid "Thailand" +msgstr "泰國" + +#: src/common/util.c:927 +msgid "Tajikistan" +msgstr "塔吉克" + +#: src/common/util.c:928 +msgid "Tokelau" +msgstr "托克勞群島" + +#: src/common/util.c:929 src/common/util.c:933 +msgid "East Timor" +msgstr "東帝汶" + +#: src/common/util.c:930 +msgid "Turkmenistan" +msgstr "土庫曼" + +#: src/common/util.c:931 +msgid "Tunisia" +msgstr "突尼西亞" + +#: src/common/util.c:932 +msgid "Tonga" +msgstr "東加" + +#: src/common/util.c:934 +msgid "Turkey" +msgstr "土耳其" + +#: src/common/util.c:935 +msgid "Travel and Tourism" +msgstr "" + +#: src/common/util.c:936 +msgid "Trinidad and Tobago" +msgstr "千里達托貝哥" + +#: src/common/util.c:937 +msgid "Tuvalu" +msgstr "吐瓦魯" + +#: src/common/util.c:938 +msgid "Taiwan" +msgstr "臺灣" + +#: src/common/util.c:939 +msgid "Tanzania" +msgstr "坦尚尼亞" + +#: src/common/util.c:940 +msgid "Ukraine" +msgstr "烏克蘭" + +#: src/common/util.c:941 +msgid "Uganda" +msgstr "烏干達" + +#: src/common/util.c:942 +msgid "United Kingdom" +msgstr "英國" + +#: src/common/util.c:943 +msgid "United States of America" +msgstr "美國" + +#: src/common/util.c:944 +msgid "Uruguay" +msgstr "烏拉圭" + +#: src/common/util.c:945 +msgid "Uzbekistan" +msgstr "烏茲別克" + +#: src/common/util.c:946 +msgid "Vatican City State" +msgstr "梵蒂岡" + +#: src/common/util.c:947 +msgid "St. Vincent and the Grenadines" +msgstr "聖文森及格瑞那丁" + +#: src/common/util.c:948 +msgid "Venezuela" +msgstr "委內瑞拉" + +#: src/common/util.c:949 +msgid "British Virgin Islands" +msgstr "英屬維京群島" + +#: src/common/util.c:950 +msgid "US Virgin Islands" +msgstr "美屬維京群島" + +#: src/common/util.c:951 +msgid "Vietnam" +msgstr "越南" + +#: src/common/util.c:952 +msgid "Vanuatu" +msgstr "萬那杜" + +#: src/common/util.c:953 +msgid "Wallis and Futuna Islands" +msgstr "瓦里斯及富都拿群島" + +#: src/common/util.c:954 +msgid "Samoa" +msgstr "薩摩亞" + +#: src/common/util.c:955 +msgid "Adult Entertainment" +msgstr "成人娛樂" + +#: src/common/util.c:956 +msgid "Yemen" +msgstr "葉門" + +#: src/common/util.c:957 +msgid "Mayotte" +msgstr "馬爾他群島" + +#: src/common/util.c:958 +msgid "Yugoslavia" +msgstr "南斯拉夫" + +#: src/common/util.c:959 +msgid "South Africa" +msgstr "南非" + +#: src/common/util.c:960 +msgid "Zambia" +msgstr "尚比亞" + +#: src/common/util.c:961 +msgid "Zimbabwe" +msgstr "辛巴威" + +#: src/common/dbus/dbus-client.c:82 +msgid "Couldn't connect to session bus" +msgstr "無法連接到執行階段匯流排" + +#: src/common/dbus/dbus-client.c:104 +msgid "Failed to complete NameHasOwner" +msgstr "" + +#: src/common/dbus/dbus-client.c:153 src/common/dbus/dbus-client.c:170 +msgid "Failed to complete Command" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:31 +msgid "remote access" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:32 +msgid "plugin for remote access using DBUS" +msgstr "使用 DBUS 做為遠端存取外掛程式" + +#: src/common/dbus/dbus-plugin.c:899 +#, c-format +msgid "Couldn't connect to session bus: %s\n" +msgstr "" + +#: src/common/dbus/dbus-plugin.c:916 +#, c-format +msgid "Failed to acquire %s: %s\n" +msgstr "取得 %s 失敗: %s\n" + +#: src/fe-gtk/ascii.c:126 src/fe-gtk/menu.c:1827 +msgid "Character Chart" +msgstr "字元集" + +#: src/fe-gtk/banlist.c:49 +msgid "Bans" +msgstr "封禁" + +#: src/fe-gtk/banlist.c:58 +msgid "Exempts" +msgstr "" + +#: src/fe-gtk/banlist.c:59 +msgid "Exempt" +msgstr "" + +#: src/fe-gtk/banlist.c:67 +msgid "Invites" +msgstr "" + +#: src/fe-gtk/banlist.c:68 src/fe-gtk/ignoregui.c:164 +msgid "Invite" +msgstr "邀請" + +#: src/fe-gtk/banlist.c:76 +msgid "Quiets" +msgstr "" + +#: src/fe-gtk/banlist.c:77 +msgid "Quiet" +msgstr "" + +#. poor way to get which is selected but it works +#: src/fe-gtk/banlist.c:354 src/fe-gtk/banlist.c:388 +msgid "Copy mask" +msgstr "" + +#: src/fe-gtk/banlist.c:357 +#, c-format +msgid "%s on %s by %s" +msgstr "" + +#: src/fe-gtk/banlist.c:389 +msgid "Copy entry" +msgstr "" + +#: src/fe-gtk/banlist.c:459 src/fe-gtk/chanlist.c:292 +#: src/fe-gtk/plugin-tray.c:180 +msgid "Not connected." +msgstr "並未連線。" + +#: src/fe-gtk/banlist.c:538 src/fe-gtk/banlist.c:621 +msgid "You must select some bans." +msgstr "您必須選擇一些被封禁者。" + +#: src/fe-gtk/banlist.c:568 +#, c-format +msgid "Are you sure you want to remove all listed items in %s?" +msgstr "" + +#: src/fe-gtk/banlist.c:726 +msgid "Type" +msgstr "" + +#: src/fe-gtk/banlist.c:727 src/fe-gtk/ignoregui.c:158 +msgid "Mask" +msgstr "遮罩" + +#: src/fe-gtk/banlist.c:728 +msgid "From" +msgstr "從" + +#: src/fe-gtk/banlist.c:729 +msgid "Date" +msgstr "日期" + +#: src/fe-gtk/banlist.c:785 +msgid "You can only open the Ban List window while in a channel tab." +msgstr "在聊天室分頁中您只能開啟封禁清單視窗。" + +#: src/fe-gtk/banlist.c:808 +#, c-format +msgid "Ban List (%s) - %s" +msgstr "" + +#: src/fe-gtk/banlist.c:843 src/fe-gtk/notifygui.c:429 +msgid "Remove" +msgstr "刪除" + +#: src/fe-gtk/banlist.c:845 +msgid "Crop" +msgstr "剪切" + +#: src/fe-gtk/banlist.c:849 +msgid "Refresh" +msgstr "刷新" + +#: src/fe-gtk/chanlist.c:98 +#, c-format +msgid "Displaying %d/%d users on %d/%d channels." +msgstr "" + +#: src/fe-gtk/chanlist.c:515 src/fe-gtk/menu.c:1347 src/fe-gtk/urlgrab.c:148 +msgid "Select an output filename" +msgstr "選擇輸出檔名" + +#: src/fe-gtk/chanlist.c:624 src/fe-gtk/chanlist.c:812 +msgid "_Join Channel" +msgstr "" + +#: src/fe-gtk/chanlist.c:626 +msgid "_Copy Channel Name" +msgstr "" + +#: src/fe-gtk/chanlist.c:628 +msgid "Copy _Topic Text" +msgstr "" + +#: src/fe-gtk/chanlist.c:720 +#, c-format +msgid "Channel List (%s) - %s" +msgstr "" + +#: src/fe-gtk/chanlist.c:794 +msgid "_Search" +msgstr "" + +#: src/fe-gtk/chanlist.c:800 +msgid "_Download List" +msgstr "" + +#: src/fe-gtk/chanlist.c:806 +msgid "Save _List..." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:819 +msgid "Show only:" +msgstr "" + +#: src/fe-gtk/chanlist.c:831 +msgid "channels with" +msgstr "" + +#: src/fe-gtk/chanlist.c:844 +msgid "to" +msgstr "" + +#: src/fe-gtk/chanlist.c:856 +msgid "users." +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:862 +msgid "Look in:" +msgstr "" + +#: src/fe-gtk/chanlist.c:874 +msgid "Channel name" +msgstr "頻道名稱" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:894 +msgid "Search type:" +msgstr "" + +#: src/fe-gtk/chanlist.c:901 +msgid "Simple Search" +msgstr "簡易搜尋" + +#: src/fe-gtk/chanlist.c:902 +msgid "Pattern Match (Wildcards)" +msgstr "" + +#: src/fe-gtk/chanlist.c:903 +msgid "Regular Expression" +msgstr "" + +#. ============================================================= +#: src/fe-gtk/chanlist.c:913 src/fe-gtk/maingui.c:2888 +msgid "Find:" +msgstr "尋找:" + +#: src/fe-gtk/dccgui.c:141 +#, c-format +msgid "Send file to %s" +msgstr "給 %s 發送檔案" + +#. unknown error +#: src/fe-gtk/dccgui.c:525 +msgid "That file is not resumable." +msgstr "該檔案不可續傳。" + +#: src/fe-gtk/dccgui.c:529 +#, c-format +msgid "" +"Cannot access file: %s\n" +"%s.\n" +"Resuming not possible." +msgstr "不能存取檔案:%s\n%s。\n無法續傳。" + +#: src/fe-gtk/dccgui.c:536 +msgid "" +"File in download directory is larger than file offered. Resuming not " +"possible." +msgstr "下載目錄中的檔案比提供的檔案大,無法續傳。" + +#: src/fe-gtk/dccgui.c:540 +msgid "Cannot resume the same file from two people." +msgstr "不能從兩人那裡續傳同一檔案" + +#: src/fe-gtk/dccgui.c:803 +#, c-format +msgid "Uploads and Downloads - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:820 src/fe-gtk/dccgui.c:1063 src/fe-gtk/notifygui.c:124 +msgid "Status" +msgstr "狀態" + +#: src/fe-gtk/dccgui.c:821 src/fe-gtk/plugingui.c:66 +msgid "File" +msgstr "檔案" + +#: src/fe-gtk/dccgui.c:826 +msgid "ETA" +msgstr "ETA" + +#: src/fe-gtk/dccgui.c:851 src/fe-gtk/menu.c:1796 src/fe-gtk/setup.c:217 +msgid "Both" +msgstr "兩者" + +#: src/fe-gtk/dccgui.c:857 +msgid "Uploads" +msgstr "上傳" + +#: src/fe-gtk/dccgui.c:863 +msgid "Downloads" +msgstr "下載" + +#: src/fe-gtk/dccgui.c:868 +msgid "Details" +msgstr "詳細資訊" + +#: src/fe-gtk/dccgui.c:879 +msgid "File:" +msgstr "檔案:" + +#: src/fe-gtk/dccgui.c:880 +msgid "Address:" +msgstr "位址:" + +#: src/fe-gtk/dccgui.c:886 src/fe-gtk/dccgui.c:1087 +msgid "Abort" +msgstr "中止" + +#: src/fe-gtk/dccgui.c:887 src/fe-gtk/dccgui.c:1088 +msgid "Accept" +msgstr "接受" + +#: src/fe-gtk/dccgui.c:888 +msgid "Resume" +msgstr "續傳" + +#: src/fe-gtk/dccgui.c:890 +msgid "Open Folder..." +msgstr "開啟文件夾..." + +#: src/fe-gtk/dccgui.c:1050 +#, c-format +msgid "DCC Chat List - %s" +msgstr "" + +#: src/fe-gtk/dccgui.c:1065 +msgid "Recv" +msgstr "接收" + +#: src/fe-gtk/dccgui.c:1066 +msgid "Sent" +msgstr "已發送" + +#: src/fe-gtk/dccgui.c:1067 +msgid "Start Time" +msgstr "開始時間" + +#: src/fe-gtk/editlist.c:358 src/fe-gtk/fkeys.c:830 +msgid "Add" +msgstr "" + +#: src/fe-gtk/editlist.c:360 src/fe-gtk/fkeys.c:832 src/fe-gtk/ignoregui.c:385 +msgid "Delete" +msgstr "刪除" + +#: src/fe-gtk/editlist.c:362 src/fe-gtk/fkeys.c:834 +msgid "Cancel" +msgstr "取消" + +#: src/fe-gtk/editlist.c:364 src/fe-gtk/fkeys.c:836 +msgid "Save" +msgstr "儲存" + +#: src/fe-gtk/fe-gtk.c:81 src/fe-text/fe-text.c:467 +msgid "Don't auto connect to servers" +msgstr "不要自動與伺服器連線" + +#: src/fe-gtk/fe-gtk.c:82 src/fe-text/fe-text.c:468 +msgid "Use a different config directory" +msgstr "使用不同的設定目錄" + +#: src/fe-gtk/fe-gtk.c:83 src/fe-text/fe-text.c:469 +msgid "Don't auto load any plugins" +msgstr "不自動載入任何外掛程式" + +#: src/fe-gtk/fe-gtk.c:84 src/fe-text/fe-text.c:470 +msgid "Show plugin/script auto-load directory" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:85 src/fe-text/fe-text.c:471 +msgid "Show user config directory" +msgstr "顯示使用者設定目錄" + +#: src/fe-gtk/fe-gtk.c:86 src/fe-gtk/fe-gtk.c:93 src/fe-text/fe-text.c:474 +msgid "Open an irc://server:port/channel?key URL" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:87 src/fe-gtk/setup.c:268 +msgid "Execute command:" +msgstr "執行命令:" + +#: src/fe-gtk/fe-gtk.c:89 +msgid "Open URL or execute command in an existing HexChat" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "Begin minimized. Level 0=Normal 1=Iconified 2=Tray" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:91 +msgid "level" +msgstr "" + +#: src/fe-gtk/fe-gtk.c:92 src/fe-text/fe-text.c:473 +msgid "Show version information" +msgstr "顯示版本資訊" + +#: src/fe-gtk/fe-gtk.c:285 +#, c-format +msgid "" +"Failed to open font:\n" +"\n" +"%s" +msgstr "開啟字型失敗:\n\n%s" + +#: src/fe-gtk/fe-gtk.c:715 +msgid "Search buffer is empty.\n" +msgstr "搜索緩衝區目前無內容。\n" + +#: src/fe-gtk/fe-gtk.c:826 +#, c-format +msgid "%d bytes" +msgstr "%d 位元組" + +#: src/fe-gtk/fe-gtk.c:827 +#, c-format +msgid "Network send queue: %d bytes" +msgstr "網路傳送佇列: %d 位元組" + +#: src/fe-gtk/fkeys.c:141 +msgid "" +"The Run Command action runs the data in Data 1 as if it had been typed " +"into the entry box where you pressed the key sequence. Thus it can contain " +"text (which will be sent to the channel/person), commands or user commands. " +"When run all \\n characters in Data 1 are used to deliminate separate " +"commands so it is possible to run more than one command. If you want a \\ " +"in the actual text run then enter \\\\" +msgstr "" + +#: src/fe-gtk/fkeys.c:143 +msgid "" +"The Change Page command switches between pages in the notebook. Set Data 1" +" to the page you want to switch to. If Data 2 is set to anything then the " +"switch will be relative to the current position. Set Data 1 to auto to " +"switch to the page with the most recent and important activity (queries " +"first, then channels with hilight, channels with dialogue, channels with " +"other data)" +msgstr "" + +#: src/fe-gtk/fkeys.c:145 +msgid "" +"The Insert in Buffer command will insert the contents of Data 1 into the " +"entry where the key sequence was pressed at the current cursor position" +msgstr "「Insert in Buffer」命令在目前游標處把資料 1 中的內容插入到接受按鍵序列的輸入格中" + +#: src/fe-gtk/fkeys.c:147 +msgid "" +"The Scroll Page command scrolls the text widget up or down one page or one" +" line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1." +msgstr "" + +#: src/fe-gtk/fkeys.c:149 +msgid "" +"The Set Buffer command sets the entry where the key sequence was entered " +"to the contents of Data 1" +msgstr "「Set Buffer」命令把接受按鍵序列後的輸入格設定成資料 1 中的內容" + +#: src/fe-gtk/fkeys.c:151 +msgid "" +"The Last Command command sets the entry to contain the last command " +"entered - the same as pressing up in a shell" +msgstr "「Last Command」命令把輸入格設為前一個命令 - 和在終端中按向上箭頭效果相同" + +#: src/fe-gtk/fkeys.c:153 +msgid "" +"The Next Command command sets the entry to contain the next command " +"entered - the same as pressing down in a shell" +msgstr "「Next Command」命令把輸入格設為下一個命令 - 和在終端中按向下箭頭效果相同" + +#: src/fe-gtk/fkeys.c:155 +msgid "" +"This command changes the text in the entry to finish an incomplete nickname " +"or command. If Data 1 is set then double-tabbing in a string will select the" +" last nick, not the next" +msgstr "該命令改變輸入格中文字,來完成未輸入完畢的使用者暱稱或命令。如果資料 1 被設定,那麼,雙擊 tab 鍵會選擇最後一個暱稱,而非下一個" + +#: src/fe-gtk/fkeys.c:157 +msgid "" +"This command scrolls up and down through the list of nicks. If Data 1 is set" +" to anything it will scroll up, else it scrolls down" +msgstr "該命令在暱稱清單中上下移動。如果資料 1 被設定成任意值,它會上移,否則下移" + +#: src/fe-gtk/fkeys.c:159 +msgid "" +"This command checks the last word entered in the entry against the replace " +"list and replaces it if it finds a match" +msgstr "該命令對照替換清單來檢查輸入的最後一詞,若找到符合者就代替它" + +#: src/fe-gtk/fkeys.c:161 +msgid "This command moves the front tab left by one" +msgstr "該命令把最上面的分頁向左移一格" + +#: src/fe-gtk/fkeys.c:163 +msgid "This command moves the front tab right by one" +msgstr "該命令把最上面的分頁向右移一格" + +#: src/fe-gtk/fkeys.c:165 +msgid "This command moves the current tab family to the left" +msgstr "該命令把目前分頁向左移一格" + +#: src/fe-gtk/fkeys.c:167 +msgid "This command moves the current tab family to the right" +msgstr "該命令把目前分頁向右移一格" + +#: src/fe-gtk/fkeys.c:169 +msgid "Push input line into history but doesn't send to server" +msgstr "把輸入列存到歷史中,但不發送給伺服器" + +#: src/fe-gtk/fkeys.c:218 +msgid "There was an error loading key bindings configuration" +msgstr "載入鍵盤映射配置時出錯" + +#: src/fe-gtk/fkeys.c:540 +msgid "Select a row to get help information on its Action." +msgstr "" + +#: src/fe-gtk/fkeys.c:812 +#, c-format +msgid "Keyboard Shortcuts - %s" +msgstr "" + +#: src/fe-gtk/gtkutil.c:130 +msgid "Cannot write to that file." +msgstr "無法寫入該檔案。" + +#: src/fe-gtk/gtkutil.c:134 +msgid "Cannot read that file." +msgstr "無法讀取該檔案。" + +#. duplicate, ignore +#: src/fe-gtk/ignoregui.c:100 src/fe-gtk/ignoregui.c:243 +msgid "That mask already exists." +msgstr "該遮罩已存在。" + +#: src/fe-gtk/ignoregui.c:160 +msgid "Private" +msgstr "私人" + +#: src/fe-gtk/ignoregui.c:161 +msgid "Notice" +msgstr "通知" + +#: src/fe-gtk/ignoregui.c:162 +msgid "CTCP" +msgstr "CTCP" + +#: src/fe-gtk/ignoregui.c:163 +msgid "DCC" +msgstr "DCC" + +#: src/fe-gtk/ignoregui.c:165 +msgid "Unignore" +msgstr "取消忽略" + +#: src/fe-gtk/ignoregui.c:293 +msgid "Are you sure you want to remove all ignores?" +msgstr "" + +#: src/fe-gtk/ignoregui.c:303 +msgid "Enter mask to ignore:" +msgstr "輸入要忽略的遮罩:" + +#: src/fe-gtk/ignoregui.c:350 +#, c-format +msgid "Ignore list - %s" +msgstr "" + +#: src/fe-gtk/ignoregui.c:360 +msgid "Ignore Stats:" +msgstr "忽略統計:" + +#: src/fe-gtk/ignoregui.c:368 +msgid "Channel:" +msgstr "聊天室:" + +#: src/fe-gtk/ignoregui.c:369 +msgid "Private:" +msgstr "私人:" + +#: src/fe-gtk/ignoregui.c:370 +msgid "Notice:" +msgstr "通知:" + +#: src/fe-gtk/ignoregui.c:371 +msgid "CTCP:" +msgstr "CTCP:" + +#: src/fe-gtk/ignoregui.c:372 +msgid "Invite:" +msgstr "邀請:" + +#: src/fe-gtk/ignoregui.c:383 src/fe-gtk/notifygui.c:425 +msgid "Add..." +msgstr "加入..." + +#: src/fe-gtk/joind.c:91 +msgid "Channel name too short, try again." +msgstr "聊天室名稱太短,再試一次。" + +#: src/fe-gtk/joind.c:133 +#, c-format +msgid "Connection Complete - %s" +msgstr "" + +#: src/fe-gtk/joind.c:162 +#, c-format +msgid "Connection to %s complete." +msgstr "完成到 %s 的連線。" + +#: src/fe-gtk/joind.c:171 +msgid "" +"In the server list window, no channel (chat room) has been entered to be " +"automatically joined for this network." +msgstr "" + +#: src/fe-gtk/joind.c:177 +msgid "What would you like to do next?" +msgstr "您接下來想要做什麼?" + +#: src/fe-gtk/joind.c:182 +msgid "_Nothing, I'll join a channel later." +msgstr "沒事,我稍後再加入聊天室。(_N)" + +#: src/fe-gtk/joind.c:191 +msgid "_Join this channel:" +msgstr "加入此聊天室(_J):" + +#: src/fe-gtk/joind.c:203 +msgid "If you know the name of the channel you want to join, enter it here." +msgstr "如果您知道想要加入的聊天室名稱,在這裡輸入它。" + +#: src/fe-gtk/joind.c:210 +msgid "O_pen the channel list." +msgstr "" + +#: src/fe-gtk/joind.c:216 +msgid "Retrieving the channel list may take a minute or two." +msgstr "" + +#: src/fe-gtk/joind.c:223 +msgid "_Always show this dialog after connecting." +msgstr "總是在連線之後顯示此對話框。(_A)" + +#: src/fe-gtk/maingui.c:386 +msgid "Dialog with" +msgstr "交談與" + +#: src/fe-gtk/maingui.c:682 +#, c-format +msgid "Topic for %s is: %s" +msgstr "%s 的話題是:%s" + +#: src/fe-gtk/maingui.c:687 +msgid "No topic is set" +msgstr "沒有設定話題" + +#: src/fe-gtk/maingui.c:1076 +#, c-format +msgid "" +"This server still has %d channels or dialogs associated with it. Close them " +"all?" +msgstr "這台伺服器仍然有 %d 個與它相關的聊天室或對話。要全部關閉它們嗎?" + +#: src/fe-gtk/maingui.c:1177 +msgid "Quit HexChat?" +msgstr "您要結束 HexChat 嗎?" + +#: src/fe-gtk/maingui.c:1197 +msgid "Don't ask next time." +msgstr "不要再詢問" + +#: src/fe-gtk/maingui.c:1203 +#, c-format +msgid "You are connected to %i IRC networks." +msgstr "" + +#: src/fe-gtk/maingui.c:1205 +msgid "Are you sure you want to quit?" +msgstr "您確定要結束嗎?" + +#: src/fe-gtk/maingui.c:1207 +msgid "Some file transfers are still active." +msgstr "還有檔案傳送在進行" + +#: src/fe-gtk/maingui.c:1225 +msgid "_Minimize to Tray" +msgstr "_最小化至工作列" + +#: src/fe-gtk/maingui.c:1441 +msgid "Insert Attribute or Color Code" +msgstr "插入屬性或顏色代碼" + +#: src/fe-gtk/maingui.c:1443 +msgid "<b>Bold</b>" +msgstr "<b>粗體</b>" + +#: src/fe-gtk/maingui.c:1444 +msgid "<u>Underline</u>" +msgstr "<u>底線</u>" + +#: src/fe-gtk/maingui.c:1445 +msgid "<i>Italic</i>" +msgstr "" + +#: src/fe-gtk/maingui.c:1446 +msgid "Normal" +msgstr "正常" + +#: src/fe-gtk/maingui.c:1448 +msgid "Colors 0-7" +msgstr "顏色 0-7" + +#: src/fe-gtk/maingui.c:1458 +msgid "Colors 8-15" +msgstr "顏色 8-15" + +#: src/fe-gtk/maingui.c:1504 +msgid "_Settings" +msgstr "_設定" + +#: src/fe-gtk/maingui.c:1506 +msgid "_Log to Disk" +msgstr "" + +#: src/fe-gtk/maingui.c:1507 +msgid "_Reload Scrollback" +msgstr "" + +#: src/fe-gtk/maingui.c:1510 +msgid "Strip _Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:1511 +msgid "_Hide Join/Part Messages" +msgstr "" + +#: src/fe-gtk/maingui.c:1520 +msgid "_Extra Alerts" +msgstr "" + +#: src/fe-gtk/maingui.c:1522 +msgid "Beep on _Message" +msgstr "" + +#: src/fe-gtk/maingui.c:1524 +msgid "Blink Tray _Icon" +msgstr "" + +#: src/fe-gtk/maingui.c:1526 +msgid "Blink Task _Bar" +msgstr "" + +#: src/fe-gtk/maingui.c:1566 src/fe-gtk/menu.c:2351 +msgid "_Detach" +msgstr "" + +#: src/fe-gtk/maingui.c:1568 src/fe-gtk/menu.c:2352 src/fe-gtk/menu.c:2357 +msgid "_Close" +msgstr "關閉(_C)" + +#: src/fe-gtk/maingui.c:1908 src/fe-gtk/maingui.c:2021 +msgid "User limit must be a number!\n" +msgstr "使用者限額必須是數字!\n" + +#: src/fe-gtk/maingui.c:2043 +msgid "Filter Colors" +msgstr "" + +#: src/fe-gtk/maingui.c:2044 +msgid "No outside messages" +msgstr "無室外訊息" + +#: src/fe-gtk/maingui.c:2045 +msgid "Topic Protection" +msgstr "話題保護" + +#: src/fe-gtk/maingui.c:2046 +msgid "Invite Only" +msgstr "僅邀請" + +#: src/fe-gtk/maingui.c:2047 +msgid "Moderated" +msgstr "監管的" + +#: src/fe-gtk/maingui.c:2048 +msgid "Ban List" +msgstr "封禁清單" + +#: src/fe-gtk/maingui.c:2050 +msgid "Keyword" +msgstr "密碼" + +#: src/fe-gtk/maingui.c:2062 +msgid "User Limit" +msgstr "使用者限額" + +#: src/fe-gtk/maingui.c:2579 +msgid "Enter new nickname:" +msgstr "輸入新暱稱:" + +#: src/fe-gtk/maingui.c:2802 +msgid "No results found." +msgstr "" + +#: src/fe-gtk/maingui.c:2898 +msgid "Search hit end or not found." +msgstr "" + +#: src/fe-gtk/maingui.c:2914 +msgid "_Highlight all" +msgstr "" + +#: src/fe-gtk/maingui.c:2920 +msgid "Highlight all occurrences, and underline the current occurrence." +msgstr "" + +#: src/fe-gtk/maingui.c:2922 +msgid "Mat_ch case" +msgstr "" + +#: src/fe-gtk/maingui.c:2927 +msgid "Perform a case-sensitive search." +msgstr "" + +#: src/fe-gtk/maingui.c:2929 +msgid "_Regex" +msgstr "" + +#: src/fe-gtk/maingui.c:2934 +msgid "Regard search string as a regular expression." +msgstr "" + +#: src/fe-gtk/menu.c:115 +msgid "Host unknown" +msgstr "未知主機" + +#: src/fe-gtk/menu.c:116 +msgid "Account unknown" +msgstr "" + +#. let the translators tweak this if need be +#: src/fe-gtk/menu.c:614 +#, c-format +msgid "<tt><b>%-11s</b></tt> %s" +msgstr "<tt><b>%-11s</b></tt> %s" + +#: src/fe-gtk/menu.c:615 +msgid "Unknown" +msgstr "未知" + +#: src/fe-gtk/menu.c:620 src/fe-gtk/menu.c:624 +msgid "Real Name:" +msgstr "真實名稱:" + +#: src/fe-gtk/menu.c:631 +msgid "User:" +msgstr "使用者:" + +#: src/fe-gtk/menu.c:638 +msgid "Account:" +msgstr "" + +#: src/fe-gtk/menu.c:648 +msgid "Country:" +msgstr "國家:" + +#: src/fe-gtk/menu.c:654 +msgid "Server:" +msgstr "伺服器:" + +#: src/fe-gtk/menu.c:665 +#, c-format +msgid "%u minutes ago" +msgstr "%u 分鐘之前" + +#: src/fe-gtk/menu.c:667 src/fe-gtk/menu.c:670 +msgid "Last Msg:" +msgstr "最後訊息:" + +#: src/fe-gtk/menu.c:680 +msgid "Away Msg:" +msgstr "離開訊息:" + +#: src/fe-gtk/menu.c:737 +#, c-format +msgid "%d nicks selected." +msgstr "" + +#: src/fe-gtk/menu.c:862 +msgid "" +"The Menubar is now hidden. You can show it again by pressing Control+F9 or " +"right-clicking in a blank part of the main text area." +msgstr "" + +#: src/fe-gtk/menu.c:972 +msgid "Open Link in Browser" +msgstr "在瀏覽器中開啟連結" + +#: src/fe-gtk/menu.c:973 +msgid "Copy Selected Link" +msgstr "複製選取的連結" + +#: src/fe-gtk/menu.c:1034 src/fe-gtk/menu.c:1394 +msgid "Join Channel" +msgstr "加入聊天室" + +#: src/fe-gtk/menu.c:1038 +msgid "Part Channel" +msgstr "離開聊天室" + +#: src/fe-gtk/menu.c:1040 +msgid "Cycle Channel" +msgstr "離開聊天室,而後立即加入" + +#: src/fe-gtk/menu.c:1077 +msgid "_Autojoin" +msgstr "" + +#: src/fe-gtk/menu.c:1079 +msgid "Autojoin Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1113 src/fe-gtk/menu.c:1117 +msgid "_Auto-Connect" +msgstr "" + +#: src/fe-gtk/menu.c:1138 +#, c-format +msgid "User menu - %s" +msgstr "" + +#. sep +#: src/fe-gtk/menu.c:1147 +msgid "Edit This Menu" +msgstr "" + +#: src/fe-gtk/menu.c:1293 +msgid "Marker line disabled." +msgstr "" + +#: src/fe-gtk/menu.c:1299 +msgid "Marker line never set." +msgstr "" + +#: src/fe-gtk/menu.c:1303 +msgid "Marker line reset manually." +msgstr "" + +#: src/fe-gtk/menu.c:1305 +msgid "Marker line reset because exceeded scrollback limit." +msgstr "" + +#: src/fe-gtk/menu.c:1307 +msgid "Marker line reset by CLEAR command." +msgstr "" + +#: src/fe-gtk/menu.c:1309 +msgid "Marker line state unknown." +msgstr "" + +#: src/fe-gtk/menu.c:1396 +msgid "Retrieve channel list" +msgstr "" + +#: src/fe-gtk/menu.c:1462 +msgid " has been build without plugin support." +msgstr "" + +#: src/fe-gtk/menu.c:1470 +msgid "" +"User Commands - Special codes:\n" +"\n" +"%c = current channel\n" +"%e = current network name\n" +"%m = machine info\n" +"%n = your nick\n" +"%t = time/date\n" +"%v = HexChat version\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +"eg:\n" +"/cmd john hello\n" +"\n" +"%2 would be \"john\"\n" +"&2 would be \"john hello\"." +msgstr "" + +#: src/fe-gtk/menu.c:1486 +msgid "" +"Userlist Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1497 +msgid "" +"Dialog Buttons - Special codes:\n" +"\n" +"%a = all selected nicks\n" +"%c = current channel\n" +"%e = current network name\n" +"%h = selected nick's hostname\n" +"%m = machine info\n" +"%n = your nick\n" +"%s = selected nick\n" +"%t = time/date\n" +"%u = selected users account" +msgstr "" + +#: src/fe-gtk/menu.c:1508 +msgid "" +"CTCP Replies - Special codes:\n" +"\n" +"%d = data (the whole ctcp)\n" +"%e = current network name\n" +"%m = machine info\n" +"%s = nick who sent the ctcp\n" +"%t = time/date\n" +"%2 = word 2\n" +"%3 = word 3\n" +"&2 = word 2 to the end of line\n" +"&3 = word 3 to the end of line\n" +"\n" +msgstr "" + +#: src/fe-gtk/menu.c:1519 +#, c-format +msgid "" +"URL Handlers - Special codes:\n" +"\n" +"%s = the URL string\n" +"\n" +"Putting a ! in front of the command\n" +"indicates it should be sent to a\n" +"shell instead of HexChat" +msgstr "" + +#: src/fe-gtk/menu.c:1529 +#, c-format +msgid "User Defined Commands - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1538 +#, c-format +msgid "Userlist Popup menu - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1546 +#, c-format +msgid "Replace - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1547 +msgid "Replace with" +msgstr "以...替換" + +#: src/fe-gtk/menu.c:1554 +#, c-format +msgid "URL Handlers - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1574 +#, c-format +msgid "Userlist buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1582 +#, c-format +msgid "Dialog buttons - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1591 +#, c-format +msgid "CTCP Replies - %s" +msgstr "" + +#: src/fe-gtk/menu.c:1757 +msgid "He_xChat" +msgstr "" + +#: src/fe-gtk/menu.c:1758 +msgid "Network Li_st" +msgstr "" + +#: src/fe-gtk/menu.c:1761 +msgid "_New" +msgstr "新增(_N)" + +#: src/fe-gtk/menu.c:1762 +msgid "Server Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1763 +msgid "Channel Tab" +msgstr "" + +#: src/fe-gtk/menu.c:1764 +msgid "Server Window" +msgstr "" + +#: src/fe-gtk/menu.c:1765 +msgid "Channel Window" +msgstr "" + +#: src/fe-gtk/menu.c:1769 +msgid "_Load Plugin or Script" +msgstr "" + +#: src/fe-gtk/menu.c:1776 src/fe-gtk/plugin-tray.c:579 +msgid "_Quit" +msgstr "離開(_Q)" + +#. 15 +#: src/fe-gtk/menu.c:1778 +msgid "_View" +msgstr "檢視(_V)" + +#: src/fe-gtk/menu.c:1780 +msgid "_Menu Bar" +msgstr "_選單列" + +#: src/fe-gtk/menu.c:1781 +msgid "_Topic Bar" +msgstr "" + +#: src/fe-gtk/menu.c:1782 +msgid "_User List" +msgstr "" + +#: src/fe-gtk/menu.c:1783 +msgid "U_ser List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1784 +msgid "M_ode Buttons" +msgstr "模式按鈕(_O)" + +#: src/fe-gtk/menu.c:1786 +msgid "_Channel Switcher" +msgstr "" + +#: src/fe-gtk/menu.c:1788 +msgid "_Tabs" +msgstr "分頁(_T)" + +#: src/fe-gtk/menu.c:1789 +msgid "T_ree" +msgstr "樹狀圖(_R)" + +#: src/fe-gtk/menu.c:1791 +msgid "_Network Meters" +msgstr "網路流量(_N)" + +#: src/fe-gtk/menu.c:1793 src/fe-gtk/setup.c:214 +msgid "Off" +msgstr "離線" + +#: src/fe-gtk/menu.c:1794 +msgid "Graph" +msgstr "圖形" + +#: src/fe-gtk/menu.c:1799 +msgid "_Fullscreen" +msgstr "" + +#: src/fe-gtk/menu.c:1801 +msgid "_Server" +msgstr "伺服器(_S)" + +#: src/fe-gtk/menu.c:1802 +msgid "_Disconnect" +msgstr "切斷連接(_D)" + +#: src/fe-gtk/menu.c:1803 +msgid "_Reconnect" +msgstr "重新連接(_R)" + +#: src/fe-gtk/menu.c:1804 +msgid "_Join a Channel" +msgstr "" + +#: src/fe-gtk/menu.c:1805 +msgid "Channel _List" +msgstr "" + +#: src/fe-gtk/menu.c:1808 +msgid "Marked _Away" +msgstr "" + +#: src/fe-gtk/menu.c:1810 +msgid "_Usermenu" +msgstr "使用者選單(_U)" + +#. 40 +#: src/fe-gtk/menu.c:1812 +msgid "S_ettings" +msgstr "設定(_E)" + +#: src/fe-gtk/menu.c:1813 src/fe-gtk/plugin-tray.c:577 +msgid "_Preferences" +msgstr "偏好設定(_P)..." + +#: src/fe-gtk/menu.c:1815 +msgid "Auto Replace" +msgstr "" + +#: src/fe-gtk/menu.c:1816 +msgid "CTCP Replies" +msgstr "" + +#: src/fe-gtk/menu.c:1817 +msgid "Dialog Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1818 +msgid "Keyboard Shortcuts" +msgstr "" + +#: src/fe-gtk/menu.c:1819 +msgid "Text Events" +msgstr "" + +#: src/fe-gtk/menu.c:1820 +msgid "URL Handlers" +msgstr "" + +#: src/fe-gtk/menu.c:1821 +msgid "User Commands" +msgstr "" + +#: src/fe-gtk/menu.c:1822 +msgid "User List Buttons" +msgstr "" + +#: src/fe-gtk/menu.c:1823 +msgid "User List Popup" +msgstr "" + +#. 52 +#: src/fe-gtk/menu.c:1825 +msgid "_Window" +msgstr "視窗(_W)" + +#: src/fe-gtk/menu.c:1826 +msgid "_Ban List" +msgstr "" + +#: src/fe-gtk/menu.c:1828 +msgid "Direct Chat" +msgstr "" + +#: src/fe-gtk/menu.c:1829 +msgid "File _Transfers" +msgstr "" + +#: src/fe-gtk/menu.c:1830 +msgid "Friends List" +msgstr "" + +#: src/fe-gtk/menu.c:1831 +msgid "Ignore List" +msgstr "" + +#: src/fe-gtk/menu.c:1832 +msgid "_Plugins and Scripts" +msgstr "" + +#: src/fe-gtk/menu.c:1833 +msgid "_Raw Log" +msgstr "" + +#. 61 +#: src/fe-gtk/menu.c:1834 +msgid "_URL Grabber" +msgstr "" + +#: src/fe-gtk/menu.c:1836 +msgid "Reset Marker Line" +msgstr "重置標記線" + +#: src/fe-gtk/menu.c:1837 +msgid "Move to Marker Line" +msgstr "" + +#: src/fe-gtk/menu.c:1838 +msgid "_Copy Selection" +msgstr "" + +#: src/fe-gtk/menu.c:1839 +msgid "C_lear Text" +msgstr "清空文字(_L)" + +#: src/fe-gtk/menu.c:1840 +msgid "Save Text" +msgstr "" + +#: src/fe-gtk/menu.c:1842 +msgid "Search" +msgstr "搜尋" + +#: src/fe-gtk/menu.c:1843 +msgid "Search Text" +msgstr "" + +#: src/fe-gtk/menu.c:1844 +msgid "Search Next" +msgstr "" + +#: src/fe-gtk/menu.c:1845 +msgid "Search Previous" +msgstr "" + +#: src/fe-gtk/menu.c:1848 src/fe-gtk/menu.c:2343 +msgid "_Help" +msgstr "求助(_H)" + +#. 74 +#: src/fe-gtk/menu.c:1849 +msgid "_Contents" +msgstr "內容(_C)" + +#: src/fe-gtk/menu.c:1850 +msgid "_About" +msgstr "關於(_A)" + +#: src/fe-gtk/menu.c:2356 +msgid "_Attach" +msgstr "" + +#: src/fe-gtk/notifygui.c:123 src/fe-gtk/plugingui.c:64 +msgid "Name" +msgstr "名稱" + +#: src/fe-gtk/notifygui.c:126 +msgid "Last Seen" +msgstr "最後一次看到" + +#: src/fe-gtk/notifygui.c:168 +msgid "Offline" +msgstr "離線" + +#: src/fe-gtk/notifygui.c:188 src/fe-gtk/setup.c:286 +msgid "Never" +msgstr "從不" + +#: src/fe-gtk/notifygui.c:193 src/fe-gtk/notifygui.c:222 +#, c-format +msgid "%d minutes ago" +msgstr "%d 分鐘前" + +#: src/fe-gtk/notifygui.c:195 +msgid "An hour ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:197 +#, c-format +msgid "%d hours ago" +msgstr "" + +#: src/fe-gtk/notifygui.c:212 +msgid "Online" +msgstr "上線" + +#: src/fe-gtk/notifygui.c:343 +msgid "Enter nickname to add:" +msgstr "輸入要新增的暱稱:" + +#: src/fe-gtk/notifygui.c:372 +msgid "Notify on these networks:" +msgstr "" + +#: src/fe-gtk/notifygui.c:383 +msgid "Comma separated list of networks is accepted." +msgstr "" + +#: src/fe-gtk/notifygui.c:409 +#, c-format +msgid "Friends List - %s" +msgstr "" + +#: src/fe-gtk/notifygui.c:433 +msgid "Open Dialog" +msgstr "打開對話視窗" + +#: src/fe-gtk/plugin-notification.c:111 +#, c-format +msgid "Highlighted message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:123 +#, c-format +msgid "Channel message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:144 +#, c-format +msgid "File offer from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:149 +#, c-format +msgid "Invited to channel by: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:154 +#, c-format +msgid "Notice from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-notification.c:158 +#, c-format +msgid "Private message from: %s (%s)" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:177 +#, c-format +msgid "Connected to %u networks and %u channels - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:549 +msgid "_Restore Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:551 +msgid "_Hide Window" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:555 +msgid "_Blink on" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:556 src/fe-gtk/setup.c:705 +msgid "Channel Message" +msgstr "頻道訊息" + +#: src/fe-gtk/plugin-tray.c:557 src/fe-gtk/setup.c:706 +msgid "Private Message" +msgstr "私人訊息" + +#: src/fe-gtk/plugin-tray.c:558 src/fe-gtk/setup.c:707 +msgid "Highlighted Message" +msgstr "" + +#. blink_item (BIT_FILEOFFER, submenu, _("File Offer")); +#: src/fe-gtk/plugin-tray.c:561 +msgid "_Change status" +msgstr "_更改狀態" + +#: src/fe-gtk/plugin-tray.c:567 +msgid "_Away" +msgstr "_暫離" + +#: src/fe-gtk/plugin-tray.c:570 +msgid "_Back" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:634 +#, c-format +msgid "Highlighted message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:637 +#, c-format +msgid "%u highlighted messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:657 +#, c-format +msgid "Channel message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:660 +#, c-format +msgid "%u channel messages. - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:684 +#, c-format +msgid "Private message from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:687 +#, c-format +msgid "%u private messages, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:727 +#, c-format +msgid "File offer from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugin-tray.c:730 +#, c-format +msgid "%u file offers, latest from: %s (%s) - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:65 +msgid "Version" +msgstr "版本" + +#: src/fe-gtk/plugingui.c:67 src/fe-gtk/textgui.c:424 +msgid "Description" +msgstr "描述" + +#: src/fe-gtk/plugingui.c:164 +msgid "Select a Plugin or Script to load" +msgstr "選擇要載入的外掛程式或命令稿" + +#: src/fe-gtk/plugingui.c:241 +#, c-format +msgid "Plugins and Scripts - %s" +msgstr "" + +#: src/fe-gtk/plugingui.c:256 +msgid "_Load..." +msgstr "載入(_L)..." + +#: src/fe-gtk/plugingui.c:259 +msgid "_Unload" +msgstr "" + +#: src/fe-gtk/plugingui.c:262 +msgid "_Reload" +msgstr "" + +#: src/fe-gtk/rawlog.c:80 src/fe-gtk/rawlog.c:136 src/fe-gtk/textgui.c:475 +#: src/fe-gtk/urlgrab.c:218 +msgid "Save As..." +msgstr "另存為..." + +#: src/fe-gtk/rawlog.c:112 +#, c-format +msgid "Raw Log (%s) - %s" +msgstr "" + +#: src/fe-gtk/rawlog.c:133 +msgid "Clear Raw Log" +msgstr "" + +#: src/fe-gtk/servlistgui.c:301 src/fe-gtk/servlistgui.c:499 +msgid "New Network" +msgstr "新網路" + +#: src/fe-gtk/servlistgui.c:756 +#, c-format +msgid "Really remove network \"%s\" and all its servers?" +msgstr "一定要刪除網路「%s」以及它所有的伺服器嗎?" + +#: src/fe-gtk/servlistgui.c:1125 src/fe-gtk/servlistgui.c:1556 +msgid "User name cannot be left blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1578 +msgid "You cannot have an empty nick name." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1585 +msgid "You must have two unique nick names." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1636 +msgid "" +"The way you identify yourself to the server. For custom login methods use " +"connect commands." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1710 +#, c-format +msgid "Edit %s - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1731 +msgid "Servers" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1732 +msgid "Autojoin channels" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1733 +msgid "Connect commands" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1745 +msgid "" +"%n=Nick name\n" +"%p=Password\n" +"%r=Real name\n" +"%u=User name" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1801 +msgid "Key (Password)" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1853 +msgid "_Edit" +msgstr "編輯(_E)" + +#: src/fe-gtk/servlistgui.c:1866 +msgid "Connect to selected server only" +msgstr "只連接到選取的伺服器" + +#: src/fe-gtk/servlistgui.c:1867 +msgid "Don't cycle through all the servers when the connection fails." +msgstr "當連線失敗時不要輪詢所有的伺服器" + +#: src/fe-gtk/servlistgui.c:1868 +msgid "Connect to this network automatically" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1869 +msgid "Bypass proxy server" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1870 +msgid "Use SSL for all the servers on this network" +msgstr "在本網路的所有伺服器使用 SSL" + +#: src/fe-gtk/servlistgui.c:1874 +msgid "Accept invalid SSL certificates" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1878 +msgid "Use global user information" +msgstr "使用廣域使用者資訊" + +#: src/fe-gtk/servlistgui.c:1880 src/fe-gtk/servlistgui.c:1999 +msgid "_Nick name:" +msgstr "暱稱(_N):" + +#: src/fe-gtk/servlistgui.c:1881 src/fe-gtk/servlistgui.c:2006 +msgid "Second choice:" +msgstr "第二選擇:" + +#: src/fe-gtk/servlistgui.c:1882 +msgid "Rea_l name:" +msgstr "真實名稱(_L):" + +#: src/fe-gtk/servlistgui.c:1883 src/fe-gtk/servlistgui.c:2020 +msgid "_User name:" +msgstr "使用者名(_U):" + +#: src/fe-gtk/servlistgui.c:1885 +msgid "Login method:" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1891 src/fe-gtk/setup.c:655 +msgid "Password:" +msgstr "密碼:" + +#: src/fe-gtk/servlistgui.c:1891 +msgid "Password used for login. If in doubt, leave blank." +msgstr "" + +#: src/fe-gtk/servlistgui.c:1896 +msgid "Character set:" +msgstr "字元設定:" + +#: src/fe-gtk/servlistgui.c:1977 +#, c-format +msgid "Network List - %s" +msgstr "" + +#: src/fe-gtk/servlistgui.c:1989 +msgid "User Information" +msgstr "使用者資訊" + +#: src/fe-gtk/servlistgui.c:2013 +msgid "Third choice:" +msgstr "第三選擇:" + +#: src/fe-gtk/servlistgui.c:2073 +msgid "Networks" +msgstr "網路" + +#: src/fe-gtk/servlistgui.c:2121 +msgid "Skip network list on startup" +msgstr "啟動時跳過網路清單" + +#: src/fe-gtk/servlistgui.c:2130 +msgid "Show favorites only" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2160 +msgid "_Edit..." +msgstr "編輯(_E)..." + +#: src/fe-gtk/servlistgui.c:2167 +msgid "_Sort" +msgstr "排序(_S)" + +#: src/fe-gtk/servlistgui.c:2168 +msgid "" +"Sorts the network list in alphabetical order. Use Shift+Up and Shift+Down " +"keys to move a row." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2176 +msgid "_Favor" +msgstr "" + +#: src/fe-gtk/servlistgui.c:2177 +msgid "Mark or unmark this network as a favorite." +msgstr "" + +#: src/fe-gtk/servlistgui.c:2201 +msgid "C_onnect" +msgstr "連接(_O)" + +#: src/fe-gtk/setup.c:90 +msgid "Afrikaans" +msgstr "" + +#: src/fe-gtk/setup.c:91 +msgid "Albanian" +msgstr "阿爾巴尼亞" + +#: src/fe-gtk/setup.c:92 +msgid "Amharic" +msgstr "" + +#: src/fe-gtk/setup.c:93 +msgid "Asturian" +msgstr "" + +#: src/fe-gtk/setup.c:94 +msgid "Azerbaijani" +msgstr "亞塞拜然" + +#: src/fe-gtk/setup.c:95 +msgid "Basque" +msgstr "" + +#: src/fe-gtk/setup.c:96 +msgid "Belarusian" +msgstr "白俄" + +#: src/fe-gtk/setup.c:97 +msgid "Bulgarian" +msgstr "保加利亞" + +#: src/fe-gtk/setup.c:99 +msgid "Chinese (Simplified)" +msgstr "" + +#: src/fe-gtk/setup.c:100 +msgid "Chinese (Traditional)" +msgstr "" + +#: src/fe-gtk/setup.c:101 +msgid "Czech" +msgstr "" + +#: src/fe-gtk/setup.c:102 +msgid "Danish" +msgstr "" + +#: src/fe-gtk/setup.c:103 +msgid "Dutch" +msgstr "" + +#: src/fe-gtk/setup.c:104 +msgid "English (British)" +msgstr "" + +#: src/fe-gtk/setup.c:105 +msgid "English" +msgstr "英文" + +#: src/fe-gtk/setup.c:106 +msgid "Estonian" +msgstr "愛沙尼亞" + +#: src/fe-gtk/setup.c:107 +msgid "Finnish" +msgstr "" + +#: src/fe-gtk/setup.c:108 +msgid "French" +msgstr "" + +#: src/fe-gtk/setup.c:109 +msgid "Galician" +msgstr "" + +#: src/fe-gtk/setup.c:110 +msgid "German" +msgstr "" + +#: src/fe-gtk/setup.c:111 +msgid "Greek" +msgstr "" + +#: src/fe-gtk/setup.c:112 +msgid "Gujarati" +msgstr "" + +#: src/fe-gtk/setup.c:113 +msgid "Hindi" +msgstr "印度" + +#: src/fe-gtk/setup.c:114 +msgid "Hungarian" +msgstr "" + +#: src/fe-gtk/setup.c:115 +msgid "Indonesian" +msgstr "印尼語" + +#: src/fe-gtk/setup.c:116 +msgid "Italian" +msgstr "" + +#: src/fe-gtk/setup.c:117 +msgid "Japanese" +msgstr "" + +#: src/fe-gtk/setup.c:118 +msgid "Kannada" +msgstr "" + +#: src/fe-gtk/setup.c:119 +msgid "Kinyarwanda" +msgstr "" + +#: src/fe-gtk/setup.c:120 +msgid "Korean" +msgstr "" + +#: src/fe-gtk/setup.c:121 +msgid "Latvian" +msgstr "" + +#: src/fe-gtk/setup.c:122 +msgid "Lithuanian" +msgstr "" + +#: src/fe-gtk/setup.c:123 +msgid "Macedonian" +msgstr "" + +#: src/fe-gtk/setup.c:124 +msgid "Malay" +msgstr "馬來西亞" + +#: src/fe-gtk/setup.c:125 +msgid "Malayalam" +msgstr "" + +#: src/fe-gtk/setup.c:126 +msgid "Norwegian (Bokmal)" +msgstr "" + +#: src/fe-gtk/setup.c:127 +msgid "Norwegian (Nynorsk)" +msgstr "" + +#: src/fe-gtk/setup.c:128 +msgid "Polish" +msgstr "" + +#: src/fe-gtk/setup.c:129 +msgid "Portuguese" +msgstr "" + +#: src/fe-gtk/setup.c:130 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: src/fe-gtk/setup.c:131 +msgid "Punjabi" +msgstr "" + +#: src/fe-gtk/setup.c:132 +msgid "Russian" +msgstr "" + +#: src/fe-gtk/setup.c:133 +msgid "Serbian" +msgstr "" + +#: src/fe-gtk/setup.c:134 +msgid "Slovak" +msgstr "" + +#: src/fe-gtk/setup.c:135 +msgid "Slovenian" +msgstr "" + +#: src/fe-gtk/setup.c:136 +msgid "Spanish" +msgstr "" + +#: src/fe-gtk/setup.c:137 +msgid "Swedish" +msgstr "" + +#: src/fe-gtk/setup.c:138 +msgid "Thai" +msgstr "泰國" + +#: src/fe-gtk/setup.c:139 +msgid "Turkish" +msgstr "" + +#: src/fe-gtk/setup.c:140 +msgid "Ukrainian" +msgstr "" + +#: src/fe-gtk/setup.c:141 +msgid "Vietnamese" +msgstr "越南" + +#: src/fe-gtk/setup.c:142 +msgid "Walloon" +msgstr "" + +#: src/fe-gtk/setup.c:149 src/fe-gtk/setup.c:1880 +msgid "General" +msgstr "一般" + +#: src/fe-gtk/setup.c:151 +msgid "Language:" +msgstr "" + +#: src/fe-gtk/setup.c:152 +msgid "Main font:" +msgstr "" + +#: src/fe-gtk/setup.c:154 +msgid "Font:" +msgstr "字型:" + +#: src/fe-gtk/setup.c:157 +msgid "Text Box" +msgstr "" + +#: src/fe-gtk/setup.c:158 +msgid "Colored nick names" +msgstr "彩色暱稱" + +#: src/fe-gtk/setup.c:158 +msgid "Give each person on IRC a different color" +msgstr "給 IRC 上的每名使用者一種不同的顏色" + +#: src/fe-gtk/setup.c:159 +msgid "Indent nick names" +msgstr "縮格暱稱" + +#: src/fe-gtk/setup.c:159 +msgid "Make nick names right-justified" +msgstr "讓暱稱右側對齊" + +#: src/fe-gtk/setup.c:160 +msgid "Show marker line" +msgstr "顯示標記線" + +#: src/fe-gtk/setup.c:160 +msgid "Insert a red line after the last read text." +msgstr "在最後讀取的文字後添加一條紅線。" + +#: src/fe-gtk/setup.c:161 +msgid "Background image:" +msgstr "背景圖像:" + +#: src/fe-gtk/setup.c:163 +msgid "Transparency Settings" +msgstr "透明度設定" + +#: src/fe-gtk/setup.c:164 +msgid "Window opacity:" +msgstr "" + +#: src/fe-gtk/setup.c:166 src/fe-gtk/setup.c:593 +msgid "Timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:167 +msgid "Enable timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:168 +msgid "Timestamp format:" +msgstr "" + +#: src/fe-gtk/setup.c:170 src/fe-gtk/setup.c:597 +msgid "See the strftime MSDN article for details." +msgstr "" + +#: src/fe-gtk/setup.c:172 src/fe-gtk/setup.c:599 +msgid "See the strftime manpage for details." +msgstr "" + +#: src/fe-gtk/setup.c:175 +msgid "Title Bar" +msgstr "標題列" + +#: src/fe-gtk/setup.c:176 +msgid "Show channel modes" +msgstr "" + +#: src/fe-gtk/setup.c:177 +msgid "Show number of users" +msgstr "" + +#: src/fe-gtk/setup.c:184 src/fe-gtk/setup.c:224 +msgid "A-Z" +msgstr "A-Z" + +#: src/fe-gtk/setup.c:185 +msgid "Last-spoke order" +msgstr "" + +#: src/fe-gtk/setup.c:191 +msgid "Input Box" +msgstr "" + +#: src/fe-gtk/setup.c:192 +msgid "Use the text box font and colors" +msgstr "" + +#: src/fe-gtk/setup.c:193 +msgid "Render colors and attributes" +msgstr "" + +#: src/fe-gtk/setup.c:194 +msgid "Show nick box" +msgstr "" + +#: src/fe-gtk/setup.c:195 +msgid "Show user mode icon in nick box" +msgstr "" + +#: src/fe-gtk/setup.c:196 +msgid "Spell checking" +msgstr "拼寫檢查" + +#: src/fe-gtk/setup.c:197 +msgid "Dictionaries to use:" +msgstr "" + +#: src/fe-gtk/setup.c:199 +msgid "" +"Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\n" +"Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:201 +msgid "Use language codes. Separate multiple entries with commas." +msgstr "" + +#: src/fe-gtk/setup.c:204 +msgid "Nick Completion" +msgstr "暱稱自動補齊" + +#: src/fe-gtk/setup.c:205 +msgid "Nick completion suffix:" +msgstr "暱稱自動補齊後綴:" + +#: src/fe-gtk/setup.c:206 +msgid "Nick completion sorted:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Nick completion amount:" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "Threshold of nicks to start listing instead of completing" +msgstr "" + +#: src/fe-gtk/setup.c:207 +msgid "nicks." +msgstr "" + +#: src/fe-gtk/setup.c:215 +msgid "Graphical" +msgstr "" + +#: src/fe-gtk/setup.c:223 +msgid "A-Z, ops first" +msgstr "" + +#: src/fe-gtk/setup.c:225 +msgid "Z-A, ops last" +msgstr "" + +#: src/fe-gtk/setup.c:226 +msgid "Z-A" +msgstr "Z-A" + +#: src/fe-gtk/setup.c:227 +msgid "Unsorted" +msgstr "未排序" + +#: src/fe-gtk/setup.c:233 src/fe-gtk/setup.c:245 +msgid "Left (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:234 src/fe-gtk/setup.c:246 +msgid "Left (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:235 src/fe-gtk/setup.c:247 +msgid "Right (upper)" +msgstr "" + +#: src/fe-gtk/setup.c:236 src/fe-gtk/setup.c:248 +msgid "Right (lower)" +msgstr "" + +#: src/fe-gtk/setup.c:237 +msgid "Top" +msgstr "頂部" + +#: src/fe-gtk/setup.c:238 +msgid "Bottom" +msgstr "底部" + +#: src/fe-gtk/setup.c:239 +msgid "Hidden" +msgstr "隱藏" + +#: src/fe-gtk/setup.c:254 +msgid "User List" +msgstr "使用者清單" + +#: src/fe-gtk/setup.c:255 +msgid "Show hostnames in user list" +msgstr "在使用者清單中顯示主機名" + +#: src/fe-gtk/setup.c:256 +msgid "Use the Text box font and colors" +msgstr "使用文字框字型及顏色" + +#: src/fe-gtk/setup.c:257 +msgid "Show icons for user modes" +msgstr "" + +#: src/fe-gtk/setup.c:257 +msgid "Use graphical icons instead of text symbols in the user list." +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Color nicknames in userlist" +msgstr "" + +#: src/fe-gtk/setup.c:258 +msgid "Will color nicknames the same as in chat." +msgstr "" + +#: src/fe-gtk/setup.c:259 +msgid "Show user count in channels" +msgstr "" + +#: src/fe-gtk/setup.c:260 +msgid "User list sorted by:" +msgstr "使用者清單排列方式:" + +#: src/fe-gtk/setup.c:261 +msgid "Show user list at:" +msgstr "" + +#: src/fe-gtk/setup.c:263 +msgid "Away Tracking" +msgstr "" + +#: src/fe-gtk/setup.c:264 +msgid "Track the away status of users and mark them in a different color" +msgstr "" + +#: src/fe-gtk/setup.c:265 +msgid "On channels smaller than:" +msgstr "在小於此值的聊天室裡:" + +#: src/fe-gtk/setup.c:267 +msgid "Action Upon Double Click" +msgstr "雙擊時的動作" + +#: src/fe-gtk/setup.c:270 +msgid "Extra Gadgets" +msgstr "" + +#: src/fe-gtk/setup.c:271 +msgid "Lag meter:" +msgstr "" + +#: src/fe-gtk/setup.c:272 +msgid "Throttle meter:" +msgstr "" + +#: src/fe-gtk/setup.c:279 +msgid "Windows" +msgstr "視窗" + +#: src/fe-gtk/setup.c:280 src/fe-gtk/setup.c:302 +msgid "Tabs" +msgstr "分頁" + +#: src/fe-gtk/setup.c:287 +msgid "Always" +msgstr "總是" + +#: src/fe-gtk/setup.c:288 +msgid "Only requested tabs" +msgstr "只有請求的分頁" + +#: src/fe-gtk/setup.c:294 +msgid "Automatic" +msgstr "" + +#: src/fe-gtk/setup.c:295 +msgid "In an extra tab" +msgstr "" + +#: src/fe-gtk/setup.c:296 +msgid "In the front tab" +msgstr "" + +#. 0 tabs +#. 1 reserved +#: src/fe-gtk/setup.c:304 +msgid "Tree" +msgstr "" + +#. {ST_HEADER, N_("Channel Switcher"),0,0,0}, +#: src/fe-gtk/setup.c:311 +msgid "Switcher type:" +msgstr "" + +#: src/fe-gtk/setup.c:312 +msgid "Open an extra tab for server messages" +msgstr "打開額外的分頁存放伺服器訊息" + +#: src/fe-gtk/setup.c:313 +msgid "Open a new tab when you receive a private message" +msgstr "" + +#: src/fe-gtk/setup.c:314 +msgid "Sort tabs in alphabetical order" +msgstr "按字母表順序排序分頁" + +#: src/fe-gtk/setup.c:315 +msgid "Show icons in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:316 +msgid "Show dotted lines in the channel tree" +msgstr "" + +#: src/fe-gtk/setup.c:317 +msgid "Scroll mouse-wheel to change tabs" +msgstr "" + +#: src/fe-gtk/setup.c:318 +msgid "Middle click to close tab" +msgstr "" + +#: src/fe-gtk/setup.c:319 +msgid "Smaller text" +msgstr "" + +#: src/fe-gtk/setup.c:320 +msgid "Focus new tabs:" +msgstr "聚焦到新分頁:" + +#: src/fe-gtk/setup.c:321 +msgid "Placement of notices:" +msgstr "" + +#: src/fe-gtk/setup.c:322 +msgid "Show channel switcher at:" +msgstr "" + +#: src/fe-gtk/setup.c:323 +msgid "Shorten tab labels to:" +msgstr "縮短分頁標籤至:" + +#: src/fe-gtk/setup.c:323 +msgid "letters." +msgstr "字母。" + +#: src/fe-gtk/setup.c:325 +msgid "Tabs or Windows" +msgstr "分頁或視窗" + +#: src/fe-gtk/setup.c:326 +msgid "Open channels in:" +msgstr "打開聊天室於:" + +#: src/fe-gtk/setup.c:327 +msgid "Open dialogs in:" +msgstr "打開對話框於:" + +#: src/fe-gtk/setup.c:328 +msgid "Open utilities in:" +msgstr "打開工具於:" + +#: src/fe-gtk/setup.c:328 +msgid "Open DCC, Ignore, Notify etc, in tabs or windows?" +msgstr "打開 DCC、忽略、通知等動作,使用分頁還是視窗?" + +#: src/fe-gtk/setup.c:335 +msgid "Messages" +msgstr "" + +#: src/fe-gtk/setup.c:336 +msgid "Scrollback" +msgstr "" + +#: src/fe-gtk/setup.c:344 +msgid "Ask for confirmation" +msgstr "" + +#: src/fe-gtk/setup.c:345 +msgid "Ask for download folder" +msgstr "" + +#: src/fe-gtk/setup.c:346 +msgid "Save without interaction" +msgstr "" + +#: src/fe-gtk/setup.c:352 +msgid "Files and Directories" +msgstr "檔案和目錄" + +#: src/fe-gtk/setup.c:353 +msgid "Auto accept file offers:" +msgstr "自動接受所提供的檔案:" + +#: src/fe-gtk/setup.c:354 +msgid "Download files to:" +msgstr "把檔案下載到:" + +#: src/fe-gtk/setup.c:355 +msgid "Move completed files to:" +msgstr "移動完成下載的檔案到:" + +#: src/fe-gtk/setup.c:356 +msgid "Save nick name in filenames" +msgstr "把暱稱存入檔名" + +#: src/fe-gtk/setup.c:358 +msgid "Auto Open DCC Windows" +msgstr "自動打開 DDC 視窗" + +#: src/fe-gtk/setup.c:359 +msgid "Send window" +msgstr "發送視窗" + +#: src/fe-gtk/setup.c:360 +msgid "Receive window" +msgstr "接收視窗" + +#: src/fe-gtk/setup.c:361 +msgid "Chat window" +msgstr "聊天視窗" + +#: src/fe-gtk/setup.c:363 +msgid "Maximum File Transfer Speeds (Byte per Second)" +msgstr "" + +#: src/fe-gtk/setup.c:364 +msgid "One upload:" +msgstr "一次上傳" + +#: src/fe-gtk/setup.c:365 src/fe-gtk/setup.c:367 +msgid "Maximum speed for one transfer" +msgstr "一個傳送行程的最大速度" + +#: src/fe-gtk/setup.c:366 +msgid "One download:" +msgstr "一次下載:" + +#: src/fe-gtk/setup.c:368 +msgid "All uploads combined:" +msgstr "所有上傳:" + +#: src/fe-gtk/setup.c:369 src/fe-gtk/setup.c:371 +msgid "Maximum speed for all files" +msgstr "所有檔案的最大速度" + +#: src/fe-gtk/setup.c:370 +msgid "All downloads combined:" +msgstr "所有下載" + +#: src/fe-gtk/setup.c:398 src/fe-gtk/setup.c:439 src/fe-gtk/setup.c:482 +#: src/fe-gtk/setup.c:505 src/fe-gtk/setup.c:1881 +msgid "Alerts" +msgstr "警報" + +#: src/fe-gtk/setup.c:403 src/fe-gtk/setup.c:485 +msgid "Show notifications on:" +msgstr "" + +#: src/fe-gtk/setup.c:404 src/fe-gtk/setup.c:442 +msgid "Blink tray icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:405 src/fe-gtk/setup.c:447 src/fe-gtk/setup.c:486 +#: src/fe-gtk/setup.c:508 +msgid "Blink task bar on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:412 +#: src/fe-gtk/setup.c:451 src/fe-gtk/setup.c:454 src/fe-gtk/setup.c:456 +#: src/fe-gtk/setup.c:487 src/fe-gtk/setup.c:509 +msgid "Make a beep sound on:" +msgstr "" + +#: src/fe-gtk/setup.c:407 src/fe-gtk/setup.c:451 +msgid "" +"Play the \"Instant Message Notification\" system sound upon the selected " +"events" +msgstr "" + +#: src/fe-gtk/setup.c:410 src/fe-gtk/setup.c:454 +msgid "" +"Play \"message-new-instant\" from the freedesktop.org sound theme upon the " +"selected events" +msgstr "" + +#: src/fe-gtk/setup.c:412 src/fe-gtk/setup.c:456 +msgid "Play a GTK beep upon the selected events" +msgstr "" + +#: src/fe-gtk/setup.c:416 src/fe-gtk/setup.c:460 src/fe-gtk/setup.c:489 +#: src/fe-gtk/setup.c:511 +msgid "Omit alerts when marked as being away" +msgstr "" + +#: src/fe-gtk/setup.c:417 src/fe-gtk/setup.c:461 src/fe-gtk/setup.c:490 +#: src/fe-gtk/setup.c:512 +msgid "Omit alerts while the window is focused" +msgstr "" + +#: src/fe-gtk/setup.c:419 src/fe-gtk/setup.c:463 +msgid "Tray Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:420 src/fe-gtk/setup.c:464 +msgid "Enable system tray icon" +msgstr "" + +#: src/fe-gtk/setup.c:421 src/fe-gtk/setup.c:465 +msgid "Minimize to tray" +msgstr "" + +#: src/fe-gtk/setup.c:422 src/fe-gtk/setup.c:466 +msgid "Close to tray" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically mark away/back" +msgstr "" + +#: src/fe-gtk/setup.c:423 src/fe-gtk/setup.c:467 +msgid "Automatically change status when hiding to tray." +msgstr "" + +#: src/fe-gtk/setup.c:424 +msgid "Only show notifications when hidden or iconified" +msgstr "" + +#: src/fe-gtk/setup.c:426 src/fe-gtk/setup.c:469 src/fe-gtk/setup.c:492 +#: src/fe-gtk/setup.c:514 +msgid "Highlighted Messages" +msgstr "" + +#: src/fe-gtk/setup.c:427 src/fe-gtk/setup.c:470 src/fe-gtk/setup.c:493 +#: src/fe-gtk/setup.c:515 +msgid "" +"Highlighted messages are ones where your nickname is mentioned, but also:" +msgstr "" + +#: src/fe-gtk/setup.c:429 src/fe-gtk/setup.c:472 src/fe-gtk/setup.c:495 +#: src/fe-gtk/setup.c:517 +msgid "Extra words to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:430 src/fe-gtk/setup.c:473 src/fe-gtk/setup.c:496 +#: src/fe-gtk/setup.c:518 +msgid "Nick names not to highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:431 src/fe-gtk/setup.c:474 src/fe-gtk/setup.c:497 +#: src/fe-gtk/setup.c:519 +msgid "Nick names to always highlight:" +msgstr "" + +#: src/fe-gtk/setup.c:432 src/fe-gtk/setup.c:475 src/fe-gtk/setup.c:498 +#: src/fe-gtk/setup.c:520 +msgid "" +"Separate multiple words with commas.\n" +"Wildcards are accepted." +msgstr "" + +#: src/fe-gtk/setup.c:444 +msgid "Bounce dock icon on:" +msgstr "" + +#: src/fe-gtk/setup.c:527 +msgid "Default Messages" +msgstr "預設訊息" + +#: src/fe-gtk/setup.c:528 +msgid "Quit:" +msgstr "離開:" + +#: src/fe-gtk/setup.c:529 +msgid "Leave channel:" +msgstr "離開聊天室:" + +#: src/fe-gtk/setup.c:530 +msgid "Away:" +msgstr "離開:" + +#: src/fe-gtk/setup.c:532 +msgid "Away" +msgstr "離開" + +#: src/fe-gtk/setup.c:533 +msgid "Show away once" +msgstr "只顯示暫離一次" + +#: src/fe-gtk/setup.c:533 +msgid "Show identical away messages only once." +msgstr "" + +#: src/fe-gtk/setup.c:534 +msgid "Automatically unmark away" +msgstr "自動取消暫離狀態" + +#: src/fe-gtk/setup.c:534 +msgid "Unmark yourself as away before sending messages." +msgstr "" + +#: src/fe-gtk/setup.c:536 src/fe-gtk/setup.c:569 +msgid "Miscellaneous" +msgstr "" + +#: src/fe-gtk/setup.c:537 +msgid "Display MODEs in raw form" +msgstr "使用原始格式顯示模式" + +#: src/fe-gtk/setup.c:538 +msgid "WHOIS on notify" +msgstr "" + +#: src/fe-gtk/setup.c:538 +msgid "Sends a /WHOIS when a user comes online in your notify list." +msgstr "" + +#: src/fe-gtk/setup.c:539 +msgid "Hide join and part messages" +msgstr "隱藏加入/離開訊息" + +#: src/fe-gtk/setup.c:539 +msgid "Hide channel join/part messages by default." +msgstr "" + +#: src/fe-gtk/setup.c:540 +msgid "Hide nick change messages" +msgstr "" + +#: src/fe-gtk/setup.c:547 +msgid "*!*@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:548 +msgid "*!*@domain" +msgstr "" + +#: src/fe-gtk/setup.c:549 +msgid "*!*user@*.host" +msgstr "" + +#: src/fe-gtk/setup.c:550 +msgid "*!*user@domain" +msgstr "" + +#: src/fe-gtk/setup.c:556 +msgid "Auto Copy Behavior" +msgstr "" + +#: src/fe-gtk/setup.c:557 +msgid "Automatically copy selected text" +msgstr "" + +#: src/fe-gtk/setup.c:558 +msgid "" +"Copy selected text to clipboard when left mouse button is released. " +"Otherwise, Ctrl+Shift+C will copy the selected text to the clipboard." +msgstr "" + +#: src/fe-gtk/setup.c:561 +msgid "Automatically include timestamps" +msgstr "" + +#: src/fe-gtk/setup.c:562 +msgid "" +"Automatically include timestamps in copied lines of text. Otherwise, include" +" timestamps if the Shift key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:564 +msgid "Automatically include color information" +msgstr "" + +#: src/fe-gtk/setup.c:565 +msgid "" +"Automatically include color information in copied lines of text. Otherwise," +" include color information if the Ctrl key is held down while selecting." +msgstr "" + +#: src/fe-gtk/setup.c:570 +msgid "Real name:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Alternative fonts:" +msgstr "" + +#: src/fe-gtk/setup.c:572 +msgid "Separate multiple entries with commas without spaces before or after." +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Display lists in compact mode" +msgstr "" + +#: src/fe-gtk/setup.c:574 +msgid "Use less spacing between user list/channel tree rows." +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "Use server time if supported" +msgstr "" + +#: src/fe-gtk/setup.c:575 +msgid "" +"Display timestamps obtained from server if it supports the time-server " +"extension." +msgstr "" + +#: src/fe-gtk/setup.c:576 +msgid "Automatically reconnect to servers on disconnect" +msgstr "" + +#: src/fe-gtk/setup.c:577 +msgid "Auto reconnect delay:" +msgstr "自動重連間隔:" + +#: src/fe-gtk/setup.c:578 +msgid "Auto join delay:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "Ban Type:" +msgstr "" + +#: src/fe-gtk/setup.c:579 +msgid "" +"Attempt to use this banmask when banning or quieting. (requires " +"irc_who_join)" +msgstr "" + +#: src/fe-gtk/setup.c:586 src/fe-gtk/setup.c:1883 +msgid "Logging" +msgstr "日誌" + +#: src/fe-gtk/setup.c:587 +msgid "Display scrollback from previous session" +msgstr "" + +#: src/fe-gtk/setup.c:588 +msgid "Scrollback lines:" +msgstr "回滾列數:" + +#: src/fe-gtk/setup.c:589 +msgid "Enable logging of conversations to disk" +msgstr "" + +#: src/fe-gtk/setup.c:590 +msgid "Log filename:" +msgstr "記錄檔案名稱:" + +#: src/fe-gtk/setup.c:591 +#, c-format +msgid "%s=Server %c=Channel %n=Network." +msgstr "%s=伺服器 %c=聊天室 %n=網路。" + +#: src/fe-gtk/setup.c:594 +msgid "Insert timestamps in logs" +msgstr "在日誌中加入時間戳記" + +#: src/fe-gtk/setup.c:595 +msgid "Log timestamp format:" +msgstr "日誌時間戳記格式:" + +#: src/fe-gtk/setup.c:602 +msgid "URLs" +msgstr "URL" + +#: src/fe-gtk/setup.c:603 +msgid "Enable logging of URLs to disk" +msgstr "" + +#: src/fe-gtk/setup.c:604 +msgid "Enable URL grabber" +msgstr "" + +#: src/fe-gtk/setup.c:605 +msgid "Maximum number of URLs to grab:" +msgstr "" + +#: src/fe-gtk/setup.c:612 +msgid "(Disabled)" +msgstr "(停用)" + +#: src/fe-gtk/setup.c:613 +msgid "Wingate" +msgstr "Wingate" + +#: src/fe-gtk/setup.c:614 +msgid "SOCKS4" +msgstr "" + +#: src/fe-gtk/setup.c:615 +msgid "SOCKS5" +msgstr "" + +#: src/fe-gtk/setup.c:616 +msgid "HTTP" +msgstr "HTTP" + +#: src/fe-gtk/setup.c:618 +msgid "Auto" +msgstr "自動" + +#: src/fe-gtk/setup.c:625 +msgid "All connections" +msgstr "" + +#: src/fe-gtk/setup.c:626 +msgid "IRC server only" +msgstr "" + +#: src/fe-gtk/setup.c:627 +msgid "DCC only" +msgstr "" + +#: src/fe-gtk/setup.c:633 +msgid "Your Address" +msgstr "您的位址" + +#: src/fe-gtk/setup.c:634 +msgid "Bind to:" +msgstr "綁定於:" + +#: src/fe-gtk/setup.c:635 +msgid "Only useful for computers with multiple addresses." +msgstr "只對有多個位址的電腦有用。" + +#: src/fe-gtk/setup.c:637 +msgid "File Transfers" +msgstr "" + +#: src/fe-gtk/setup.c:638 +msgid "Get my address from the IRC server" +msgstr "從 IRC 伺服器獲取我的位址" + +#: src/fe-gtk/setup.c:639 +msgid "" +"Asks the IRC server for your real address. Use this if you have a " +"192.168.*.* address!" +msgstr "向 IRC 伺服器查詢您的真實位址。如果您具有 192.168.*.* 這樣的位址時,請使用此命令。" + +#: src/fe-gtk/setup.c:640 +msgid "DCC IP address:" +msgstr "DCC IP 位址:" + +#: src/fe-gtk/setup.c:641 +msgid "Claim you are at this address when offering files." +msgstr "發送檔案時聲稱您是這個位址。" + +#: src/fe-gtk/setup.c:642 +msgid "First DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:643 +msgid "Last DCC listen port:" +msgstr "" + +#: src/fe-gtk/setup.c:644 +msgid "!Leave ports at zero for full range." +msgstr "!輸出入埠保留為 0 表示允許所有範圍。" + +#: src/fe-gtk/setup.c:646 +msgid "Proxy Server" +msgstr "代理伺服器" + +#: src/fe-gtk/setup.c:647 +msgid "Hostname:" +msgstr "主機名:" + +#: src/fe-gtk/setup.c:648 src/fe-gtk/setup.c:664 +msgid "Port:" +msgstr "輸出入埠:" + +#: src/fe-gtk/setup.c:649 +msgid "Type:" +msgstr "類型:" + +#: src/fe-gtk/setup.c:650 +msgid "Use proxy for:" +msgstr "使用代理伺服器於:" + +#: src/fe-gtk/setup.c:652 +msgid "Proxy Authentication" +msgstr "代理伺服器驗證" + +#: src/fe-gtk/setup.c:653 +msgid "Use authentication (HTTP or SOCKS5 only)" +msgstr "" + +#: src/fe-gtk/setup.c:654 +msgid "Username:" +msgstr "使用者名:" + +#: src/fe-gtk/setup.c:662 +msgid "Identd Server" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Enabled" +msgstr "" + +#: src/fe-gtk/setup.c:663 +msgid "Server will respond with the networks username" +msgstr "" + +#: src/fe-gtk/setup.c:664 +msgid "" +"You must have permissions to listen on this port. If not 113 (0 defaults to " +"this) then you must configure port-forwarding." +msgstr "" + +#: src/fe-gtk/setup.c:1110 +msgid "Select an Image File" +msgstr "選擇一個圖像檔案" + +#: src/fe-gtk/setup.c:1146 +msgid "Select Download Folder" +msgstr "選擇下載文件夾" + +#: src/fe-gtk/setup.c:1156 +msgid "Select font" +msgstr "選擇字型" + +#: src/fe-gtk/setup.c:1257 +msgid "Browse..." +msgstr "瀏覽..." + +#: src/fe-gtk/setup.c:1395 +msgid "Open Data Folder" +msgstr "" + +#: src/fe-gtk/setup.c:1446 +msgid "Select color" +msgstr "選擇顏色" + +#: src/fe-gtk/setup.c:1534 +msgid "Text Colors" +msgstr "文字顏色" + +#: src/fe-gtk/setup.c:1536 +msgid "mIRC colors:" +msgstr "mIRC 顏色:" + +#: src/fe-gtk/setup.c:1544 +msgid "Local colors:" +msgstr "本地的顏色:" + +#: src/fe-gtk/setup.c:1552 src/fe-gtk/setup.c:1557 +msgid "Foreground:" +msgstr "前景:" + +#: src/fe-gtk/setup.c:1553 src/fe-gtk/setup.c:1558 +msgid "Background:" +msgstr "背景:" + +#: src/fe-gtk/setup.c:1555 +msgid "Selected Text" +msgstr "" + +#: src/fe-gtk/setup.c:1560 +msgid "Interface Colors" +msgstr "介面顏色" + +#: src/fe-gtk/setup.c:1562 +msgid "New data:" +msgstr "新資料:" + +#: src/fe-gtk/setup.c:1563 +msgid "Marker line:" +msgstr "標記線:" + +#: src/fe-gtk/setup.c:1564 +msgid "New message:" +msgstr "新訊息:" + +#: src/fe-gtk/setup.c:1565 +msgid "Away user:" +msgstr "離開的使用者:" + +#: src/fe-gtk/setup.c:1566 +msgid "Highlight:" +msgstr "高亮度顯示:" + +#: src/fe-gtk/setup.c:1567 +msgid "Spell checker:" +msgstr "拼字檢查:" + +#: src/fe-gtk/setup.c:1569 +msgid "Color Stripping" +msgstr "" + +#: src/fe-gtk/setup.c:1666 src/fe-gtk/textgui.c:368 +msgid "Event" +msgstr "事件" + +#: src/fe-gtk/setup.c:1672 +msgid "Sound file" +msgstr "音效檔案" + +#: src/fe-gtk/setup.c:1716 +msgid "Select a sound file" +msgstr "選擇聲音檔案" + +#: src/fe-gtk/setup.c:1800 +msgid "Sound file:" +msgstr "音效檔案:" + +#: src/fe-gtk/setup.c:1815 +msgid "_Browse..." +msgstr "瀏覽(_B)..." + +#: src/fe-gtk/setup.c:1826 +msgid "_Play" +msgstr "播放(_P)" + +#: src/fe-gtk/setup.c:1872 +msgid "Interface" +msgstr "介面" + +#: src/fe-gtk/setup.c:1873 +msgid "Appearance" +msgstr "外觀" + +#: src/fe-gtk/setup.c:1874 +msgid "Input box" +msgstr "輸入框" + +#: src/fe-gtk/setup.c:1875 +msgid "User list" +msgstr "使用者清單" + +#: src/fe-gtk/setup.c:1876 +msgid "Channel switcher" +msgstr "" + +#: src/fe-gtk/setup.c:1877 +msgid "Colors" +msgstr "顏色" + +#: src/fe-gtk/setup.c:1879 +msgid "Chatting" +msgstr "聊天" + +#: src/fe-gtk/setup.c:1882 +msgid "Sounds" +msgstr "" + +#: src/fe-gtk/setup.c:1884 +msgid "Advanced" +msgstr "進階" + +#: src/fe-gtk/setup.c:1887 +msgid "Network setup" +msgstr "網路設定" + +#: src/fe-gtk/setup.c:1888 +msgid "File transfers" +msgstr "檔案傳輸" + +#: src/fe-gtk/setup.c:1889 +msgid "Identd" +msgstr "" + +#: src/fe-gtk/setup.c:2019 +msgid "Categories" +msgstr "類別" + +#: src/fe-gtk/setup.c:2222 +msgid "" +"You cannot place the tree on the top or bottom!\n" +"Please change to the <b>Tabs</b> layout in the <b>View</b> menu first." +msgstr "" + +#: src/fe-gtk/setup.c:2254 +msgid "The Real name option cannot be left blank. Falling back to \"realname\"." +msgstr "" + +#: src/fe-gtk/setup.c:2261 +msgid "Some settings were changed that require a restart to take full effect." +msgstr "有些設定需要重新啟動 xchat 才會生效。" + +#: src/fe-gtk/setup.c:2269 +msgid "" +"*WARNING*\n" +"Auto accepting DCC to your home directory\n" +"can be dangerous and is exploitable. Eg:\n" +"Someone could send you a .bash_profile" +msgstr "*警告*\n自動接收 DCC 到您的主目錄中是危險之舉,\n且有被盜用的可能性。例如:\n某人可能會給您發送一份 .bash_profile 檔案" + +#: src/fe-gtk/setup.c:2293 +#, c-format +msgid "Preferences - %s" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:571 +msgid "<i>(no suggestions)</i>" +msgstr "" + +#: src/fe-gtk/sexy-spell-entry.c:585 +msgid "More..." +msgstr "更多..." + +#. + Add to Dictionary +#: src/fe-gtk/sexy-spell-entry.c:657 +#, c-format +msgid "Add \"%s\" to Dictionary" +msgstr "" + +#. - Ignore All +#: src/fe-gtk/sexy-spell-entry.c:702 +msgid "Ignore All" +msgstr "全部忽略" + +#: src/fe-gtk/sexy-spell-entry.c:737 +msgid "Spelling Suggestions" +msgstr "拼字建議" + +#: src/fe-gtk/sexy-spell-entry.c:1310 +#, c-format +msgid "enchant error for language: %s" +msgstr "" + +#: src/fe-gtk/textgui.c:171 +msgid "There was an error parsing the string" +msgstr "解析字串時出錯" + +#: src/fe-gtk/textgui.c:178 +#, c-format +msgid "This signal is only passed %d args, $%d is invalid" +msgstr "該信號只接受 %d 個引數,$%d 無效" + +#: src/fe-gtk/textgui.c:285 src/fe-gtk/textgui.c:307 +msgid "Print Texts File" +msgstr "列印文字檔案" + +#: src/fe-gtk/textgui.c:417 +msgid "$ Number" +msgstr "$ 數字" + +#: src/fe-gtk/textgui.c:449 +msgid "Edit Events" +msgstr "編輯事件" + +#: src/fe-gtk/textgui.c:477 +msgid "Load From..." +msgstr "從...載入" + +#: src/fe-gtk/textgui.c:479 +msgid "Test All" +msgstr "測試全部" + +#: src/fe-gtk/textgui.c:481 +msgid "OK" +msgstr "" + +#: src/fe-gtk/urlgrab.c:198 +#, c-format +msgid "URL Grabber - %s" +msgstr "" + +#: src/fe-gtk/urlgrab.c:214 +msgid "Clear list" +msgstr "清空清單" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy selected URL" +msgstr "複製選取的 URL" + +#: src/fe-gtk/urlgrab.c:216 +msgid "Copy" +msgstr "複製" + +#: src/fe-gtk/urlgrab.c:218 +msgid "Save list to a file" +msgstr "儲存清單到檔案" + +#: src/fe-gtk/userlistgui.c:108 +#, c-format +msgid "%d ops, %d total" +msgstr "%d 個管理員,共 %d 人" + +#: src/fe-text/fe-text.c:472 +msgid "Open an irc://server:port/channel URL" +msgstr "開啟一個 irc://server:port/channel URL" + +#: plugins/sysinfo/sysinfo.c:128 +msgid "Sysinfo: Failed to get info. Either not supported or error." +msgstr "" + +#: plugins/sysinfo/sysinfo.c:133 +msgid "Sysinfo: No info by that name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:154 plugins/sysinfo/sysinfo.c:158 +#, c-format +msgid "Sysinfo: %s is set to: %d\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:168 +msgid "" +"Sysinfo: Valid settings are: announce and hide_* for each piece of " +"information. e.g. hide_os. Without a value it will show current (or default)" +" setting.\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:190 +msgid "Sysinfo: Invalid variable name\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:239 +#, c-format +msgid "%s plugin loaded\n" +msgstr "" + +#: plugins/sysinfo/sysinfo.c:247 +#, c-format +msgid "%s plugin unloaded\n" +msgstr "" diff --git a/readme.md b/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..35a0e99b462f03d991ea206be81826705e19b01e --- /dev/null +++ b/readme.md @@ -0,0 +1,25 @@ +# HexChat + +HexChat is an IRC client for Windows and UNIX-like operating systems. +See [IRCHelp.org](http://irchelp.org) for information about IRC in general. +For more information on HexChat please read our [documentation](https://hexchat.readthedocs.org/en/latest/index.html): +- [Downloads](http://hexchat.github.io/downloads.html) +- [FAQ](https://hexchat.readthedocs.org/en/latest/faq.html) +- [Changelog](https://hexchat.readthedocs.org/en/latest/changelog.html) +- [Python API](https://hexchat.readthedocs.org/en/latest/script_python.html) +- [Perl API](https://hexchat.readthedocs.org/en/latest/script_perl.html) + +--- + +<sub> +X-Chat ("xchat") Copyright (c) 1998-2010 By Peter Zelezny. +HexChat ("hexchat") Copyright (c) 2009-2014 By Berke Viktor. +</sub> + +<sub> +This program is released under the GPL v2 with the additional exemption +that compiling, linking, and/or using OpenSSL is allowed. You may +provide binary packages linked to the OpenSSL libraries, provided that +all other requirements of the GPL are met. +See file COPYING for details. +</sub> diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c new file mode 100644 index 0000000000000000000000000000000000000000..f0799de931a8533c12b5866a696a41bd6b894e2b --- /dev/null +++ b/src/common/cfgfiles.c @@ -0,0 +1,1373 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <fcntl.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include "hexchat.h" +#include "cfgfiles.h" +#include "util.h" +#include "fe.h" +#include "text.h" +#include "hexchatc.h" +#include "typedef.h" + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#define HEXCHAT_DIR "hexchat" +#endif + +#define DEF_FONT "Monospace 9" +#define DEF_FONT_ALTER "Arial Unicode MS,Segoe UI Emoji,Lucida Sans Unicode,Meiryo,Symbola,Unifont" + +const char * const languages[LANGUAGES_LENGTH] = { + "af", "sq", "am", "ast", "az", "eu", "be", "bg", "ca", "zh_CN", /* 0 .. 9 */ + "zh_TW", "cs", "da", "nl", "en_GB", "en", "et", "fi", "fr", "gl", /* 10 .. 19 */ + "de", "el", "gu", "hi", "hu", "id", "it", "ja_JP", "kn", "rw", /* 20 .. 29 */ + "ko", "lv", "lt", "mk", "ml", "ms", "nb", "no", "pl", "pt", /* 30 .. 39 */ + "pt_BR", "pa", "ru", "sr", "sk", "sl", "es", "sv", "th", "tr", /* 40 .. 49 */ + "uk", "vi", "wa" /* 50 .. */ +}; + +void +list_addentry (GSList ** list, char *cmd, char *name) +{ + struct popup *pop; + size_t name_len; + size_t cmd_len = 1; + + if (cmd) + cmd_len = strlen (cmd) + 1; + name_len = strlen (name) + 1; + + pop = g_malloc (sizeof (struct popup) + cmd_len + name_len); + pop->name = (char *) pop + sizeof (struct popup); + pop->cmd = pop->name + name_len; + + memcpy (pop->name, name, name_len); + if (cmd) + memcpy (pop->cmd, cmd, cmd_len); + else + pop->cmd[0] = 0; + + *list = g_slist_append (*list, pop); +} + +/* read it in from a buffer to our linked list */ + +static void +list_load_from_data (GSList ** list, char *ibuf, int size) +{ + char cmd[384]; + char name[128]; + char *buf; + int pnt = 0; + + cmd[0] = 0; + name[0] = 0; + + while (buf_get_line (ibuf, &buf, &pnt, size)) + { + if (*buf != '#') + { + if (!g_ascii_strncasecmp (buf, "NAME ", 5)) + { + safe_strcpy (name, buf + 5, sizeof (name)); + } + else if (!g_ascii_strncasecmp (buf, "CMD ", 4)) + { + safe_strcpy (cmd, buf + 4, sizeof (cmd)); + if (*name) + { + list_addentry (list, cmd, name); + cmd[0] = 0; + name[0] = 0; + } + } + } + } +} + +void +list_loadconf (char *file, GSList ** list, char *defaultconf) +{ + char *filebuf; + char *ibuf; + int fd; + struct stat st; + + filebuf = g_build_filename (get_xdir (), file, NULL); + fd = g_open (filebuf, O_RDONLY | OFLAGS, 0); + g_free (filebuf); + + if (fd == -1) + { + if (defaultconf) + list_load_from_data (list, defaultconf, strlen (defaultconf)); + return; + } + if (fstat (fd, &st) != 0) + { + perror ("fstat"); + abort (); + } + + ibuf = g_malloc (st.st_size); + read (fd, ibuf, st.st_size); + close (fd); + + list_load_from_data (list, ibuf, st.st_size); + + g_free (ibuf); +} + +void +list_free (GSList ** list) +{ + void *data; + while (*list) + { + data = (void *) (*list)->data; + g_free (data); + *list = g_slist_remove (*list, data); + } +} + +int +list_delentry (GSList ** list, char *name) +{ + struct popup *pop; + GSList *alist = *list; + + while (alist) + { + pop = (struct popup *) alist->data; + if (!g_ascii_strcasecmp (name, pop->name)) + { + *list = g_slist_remove (*list, pop); + g_free (pop); + return 1; + } + alist = alist->next; + } + return 0; +} + +char * +cfg_get_str (char *cfg, const char *var, char *dest, int dest_len) +{ + char buffer[128]; /* should be plenty for a variable name */ + + sprintf (buffer, "%s ", var); /* add one space, this way it works against var - var2 checks too */ + + while (1) + { + if (!g_ascii_strncasecmp (buffer, cfg, strlen (var) + 1)) + { + char *value, t; + cfg += strlen (var); + while (*cfg == ' ') + cfg++; + if (*cfg == '=') + cfg++; + while (*cfg == ' ') + cfg++; + /*while (*cfg == ' ' || *cfg == '=') + cfg++; */ + value = cfg; + while (*cfg != 0 && *cfg != '\n') + cfg++; + t = *cfg; + *cfg = 0; + safe_strcpy (dest, value, dest_len); + *cfg = t; + return cfg; + } + while (*cfg != 0 && *cfg != '\n') + cfg++; + if (*cfg == 0) + return NULL; + cfg++; + if (*cfg == 0) + return NULL; + } +} + +static int +cfg_put_str (int fh, char *var, char *value) +{ + char buf[512]; + int len; + + g_snprintf (buf, sizeof buf, "%s = %s\n", var, value); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_put_color (int fh, guint16 r, guint16 g, guint16 b, char *var) +{ + char buf[400]; + int len; + + g_snprintf (buf, sizeof buf, "%s = %04hx %04hx %04hx\n", var, r, g, b); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_put_int (int fh, int value, char *var) +{ + char buf[400]; + int len; + + if (value == -1) + value = 1; + + g_snprintf (buf, sizeof buf, "%s = %d\n", var, value); + len = strlen (buf); + return (write (fh, buf, len) == len); +} + +int +cfg_get_color (char *cfg, char *var, guint16 *r, guint16 *g, guint16 *b) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + return 0; + + sscanf (str, "%04hx %04hx %04hx", r, g, b); + return 1; +} + +int +cfg_get_int_with_result (char *cfg, char *var, int *result) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + { + *result = 0; + return 0; + } + + *result = 1; + return atoi (str); +} + +int +cfg_get_int (char *cfg, char *var) +{ + char str[128]; + + if (!cfg_get_str (cfg, var, str, sizeof (str))) + return 0; + + return atoi (str); +} + +char *xdir = NULL; /* utf-8 encoding */ + +#ifdef WIN32 +#include <windows.h> +#include <shlobj.h> +#endif + +char * +get_xdir (void) +{ + if (!xdir) + { +#ifndef WIN32 + xdir = g_build_filename (g_get_user_config_dir (), HEXCHAT_DIR, NULL); +#else + wchar_t* roaming_path_wide; + gchar* roaming_path; + + if (portable_mode () || SHGetKnownFolderPath (&FOLDERID_RoamingAppData, 0, NULL, &roaming_path_wide) != S_OK) + { + char *path = g_win32_get_package_installation_directory_of_module (NULL); + if (path) + { + xdir = g_build_filename (path, "config", NULL); + g_free (path); + } + else + xdir = g_strdup (".\\config"); + } + else + { + roaming_path = g_utf16_to_utf8 (roaming_path_wide, -1, NULL, NULL, NULL); + CoTaskMemFree (roaming_path_wide); + + xdir = g_build_filename (roaming_path, "HexChat", NULL); + + g_free (roaming_path); + } +#endif + } + + return xdir; +} + +int +check_config_dir (void) +{ + return g_access (get_xdir (), F_OK); +} + +static char * +default_file (void) +{ + static char *dfile = NULL; + + if (!dfile) + { + dfile = g_build_filename (get_xdir (), "hexchat.conf", NULL); + } + return dfile; +} + +/* Keep these sorted!! */ + +const struct prefs vars[] = +{ + {"away_auto_unmark", P_OFFINT (hex_away_auto_unmark), TYPE_BOOL}, + {"away_omit_alerts", P_OFFINT (hex_away_omit_alerts), TYPE_BOOL}, + {"away_reason", P_OFFSET (hex_away_reason), TYPE_STR}, + {"away_show_once", P_OFFINT (hex_away_show_once), TYPE_BOOL}, + {"away_size_max", P_OFFINT (hex_away_size_max), TYPE_INT}, + {"away_timeout", P_OFFINT (hex_away_timeout), TYPE_INT}, + {"away_track", P_OFFINT (hex_away_track), TYPE_BOOL}, + + {"completion_amount", P_OFFINT (hex_completion_amount), TYPE_INT}, + {"completion_auto", P_OFFINT (hex_completion_auto), TYPE_BOOL}, + {"completion_sort", P_OFFINT (hex_completion_sort), TYPE_INT}, + {"completion_suffix", P_OFFSET (hex_completion_suffix), TYPE_STR}, + + {"dcc_auto_chat", P_OFFINT (hex_dcc_auto_chat), TYPE_BOOL}, + {"dcc_auto_recv", P_OFFINT (hex_dcc_auto_recv), TYPE_INT}, + {"dcc_auto_resume", P_OFFINT (hex_dcc_auto_resume), TYPE_BOOL}, + {"dcc_blocksize", P_OFFINT (hex_dcc_blocksize), TYPE_INT}, + {"dcc_completed_dir", P_OFFSET (hex_dcc_completed_dir), TYPE_STR}, + {"dcc_dir", P_OFFSET (hex_dcc_dir), TYPE_STR}, +#ifndef WIN32 + {"dcc_fast_send", P_OFFINT (hex_dcc_fast_send), TYPE_BOOL}, +#endif + {"dcc_global_max_get_cps", P_OFFINT (hex_dcc_global_max_get_cps), TYPE_INT}, + {"dcc_global_max_send_cps", P_OFFINT (hex_dcc_global_max_send_cps), TYPE_INT}, + {"dcc_ip", P_OFFSET (hex_dcc_ip), TYPE_STR}, + {"dcc_ip_from_server", P_OFFINT (hex_dcc_ip_from_server), TYPE_BOOL}, + {"dcc_max_get_cps", P_OFFINT (hex_dcc_max_get_cps), TYPE_INT}, + {"dcc_max_send_cps", P_OFFINT (hex_dcc_max_send_cps), TYPE_INT}, + {"dcc_permissions", P_OFFINT (hex_dcc_permissions), TYPE_INT}, + {"dcc_port_first", P_OFFINT (hex_dcc_port_first), TYPE_INT}, + {"dcc_port_last", P_OFFINT (hex_dcc_port_last), TYPE_INT}, + {"dcc_remove", P_OFFINT (hex_dcc_remove), TYPE_BOOL}, + {"dcc_save_nick", P_OFFINT (hex_dcc_save_nick), TYPE_BOOL}, + {"dcc_send_fillspaces", P_OFFINT (hex_dcc_send_fillspaces), TYPE_BOOL}, + {"dcc_stall_timeout", P_OFFINT (hex_dcc_stall_timeout), TYPE_INT}, + {"dcc_timeout", P_OFFINT (hex_dcc_timeout), TYPE_INT}, + + {"flood_ctcp_num", P_OFFINT (hex_flood_ctcp_num), TYPE_INT}, + {"flood_ctcp_time", P_OFFINT (hex_flood_ctcp_time), TYPE_INT}, + {"flood_msg_num", P_OFFINT (hex_flood_msg_num), TYPE_INT}, + {"flood_msg_time", P_OFFINT (hex_flood_msg_time), TYPE_INT}, + + {"gui_autoopen_chat", P_OFFINT (hex_gui_autoopen_chat), TYPE_BOOL}, + {"gui_autoopen_dialog", P_OFFINT (hex_gui_autoopen_dialog), TYPE_BOOL}, + {"gui_autoopen_recv", P_OFFINT (hex_gui_autoopen_recv), TYPE_BOOL}, + {"gui_autoopen_send", P_OFFINT (hex_gui_autoopen_send), TYPE_BOOL}, + {"gui_chanlist_maxusers", P_OFFINT (hex_gui_chanlist_maxusers), TYPE_INT}, + {"gui_chanlist_minusers", P_OFFINT (hex_gui_chanlist_minusers), TYPE_INT}, + {"gui_compact", P_OFFINT (hex_gui_compact), TYPE_BOOL}, + {"gui_dialog_height", P_OFFINT (hex_gui_dialog_height), TYPE_INT}, + {"gui_dialog_left", P_OFFINT (hex_gui_dialog_left), TYPE_INT}, + {"gui_dialog_top", P_OFFINT (hex_gui_dialog_top), TYPE_INT}, + {"gui_dialog_width", P_OFFINT (hex_gui_dialog_width), TYPE_INT}, + {"gui_filesize_iec", P_OFFINT (hex_gui_filesize_iec), TYPE_BOOL}, + {"gui_focus_omitalerts", P_OFFINT (hex_gui_focus_omitalerts), TYPE_BOOL}, + {"gui_hide_menu", P_OFFINT (hex_gui_hide_menu), TYPE_BOOL}, + {"gui_input_attr", P_OFFINT (hex_gui_input_attr), TYPE_BOOL}, + {"gui_input_icon", P_OFFINT (hex_gui_input_icon), TYPE_BOOL}, + {"gui_input_nick", P_OFFINT (hex_gui_input_nick), TYPE_BOOL}, + {"gui_input_spell", P_OFFINT (hex_gui_input_spell), TYPE_BOOL}, + {"gui_input_style", P_OFFINT (hex_gui_input_style), TYPE_BOOL}, + {"gui_join_dialog", P_OFFINT (hex_gui_join_dialog), TYPE_BOOL}, + {"gui_lagometer", P_OFFINT (hex_gui_lagometer), TYPE_INT}, + {"gui_lang", P_OFFINT (hex_gui_lang), TYPE_INT}, + {"gui_mode_buttons", P_OFFINT (hex_gui_mode_buttons), TYPE_BOOL}, + {"gui_pane_divider_position", P_OFFINT (hex_gui_pane_divider_position), TYPE_INT}, + {"gui_pane_left_size", P_OFFINT (hex_gui_pane_left_size), TYPE_INT}, + {"gui_pane_right_size", P_OFFINT (hex_gui_pane_right_size), TYPE_INT}, + {"gui_pane_right_size_min", P_OFFINT (hex_gui_pane_right_size_min), TYPE_INT}, + {"gui_quit_dialog", P_OFFINT (hex_gui_quit_dialog), TYPE_BOOL}, + {"gui_search_pos", P_OFFINT (hex_gui_search_pos), TYPE_INT}, + /* {"gui_single", P_OFFINT (hex_gui_single), TYPE_BOOL}, */ + {"gui_slist_fav", P_OFFINT (hex_gui_slist_fav), TYPE_BOOL}, + {"gui_slist_select", P_OFFINT (hex_gui_slist_select), TYPE_INT}, + {"gui_slist_skip", P_OFFINT (hex_gui_slist_skip), TYPE_BOOL}, + {"gui_tab_chans", P_OFFINT (hex_gui_tab_chans), TYPE_BOOL}, + {"gui_tab_dialogs", P_OFFINT (hex_gui_tab_dialogs), TYPE_BOOL}, + {"gui_tab_dots", P_OFFINT (hex_gui_tab_dots), TYPE_BOOL}, + {"gui_tab_icons", P_OFFINT (hex_gui_tab_icons), TYPE_BOOL}, + {"gui_tab_layout", P_OFFINT (hex_gui_tab_layout), TYPE_INT}, + {"gui_tab_middleclose", P_OFFINT (hex_gui_tab_middleclose), TYPE_BOOL}, + {"gui_tab_newtofront", P_OFFINT (hex_gui_tab_newtofront), TYPE_INT}, + {"gui_tab_pos", P_OFFINT (hex_gui_tab_pos), TYPE_INT}, + {"gui_tab_scrollchans", P_OFFINT (hex_gui_tab_scrollchans), TYPE_BOOL}, + {"gui_tab_server", P_OFFINT (hex_gui_tab_server), TYPE_BOOL}, + {"gui_tab_small", P_OFFINT (hex_gui_tab_small), TYPE_INT}, + {"gui_tab_sort", P_OFFINT (hex_gui_tab_sort), TYPE_BOOL}, + {"gui_tab_trunc", P_OFFINT (hex_gui_tab_trunc), TYPE_INT}, + {"gui_tab_utils", P_OFFINT (hex_gui_tab_utils), TYPE_BOOL}, + {"gui_throttlemeter", P_OFFINT (hex_gui_throttlemeter), TYPE_INT}, + {"gui_topicbar", P_OFFINT (hex_gui_topicbar), TYPE_BOOL}, + {"gui_transparency", P_OFFINT (hex_gui_transparency), TYPE_INT}, + {"gui_tray", P_OFFINT (hex_gui_tray), TYPE_BOOL}, + {"gui_tray_away", P_OFFINT (hex_gui_tray_away), TYPE_BOOL}, + {"gui_tray_blink", P_OFFINT (hex_gui_tray_blink), TYPE_BOOL}, + {"gui_tray_close", P_OFFINT (hex_gui_tray_close), TYPE_BOOL}, + {"gui_tray_minimize", P_OFFINT (hex_gui_tray_minimize), TYPE_BOOL}, + {"gui_tray_quiet", P_OFFINT (hex_gui_tray_quiet), TYPE_BOOL}, + {"gui_ulist_buttons", P_OFFINT (hex_gui_ulist_buttons), TYPE_BOOL}, + {"gui_ulist_color", P_OFFINT (hex_gui_ulist_color), TYPE_BOOL}, + {"gui_ulist_count", P_OFFINT (hex_gui_ulist_count), TYPE_BOOL}, + {"gui_ulist_doubleclick", P_OFFSET (hex_gui_ulist_doubleclick), TYPE_STR}, + {"gui_ulist_hide", P_OFFINT (hex_gui_ulist_hide), TYPE_BOOL}, + {"gui_ulist_icons", P_OFFINT (hex_gui_ulist_icons), TYPE_BOOL}, + {"gui_ulist_pos", P_OFFINT (hex_gui_ulist_pos), TYPE_INT}, + {"gui_ulist_show_hosts", P_OFFINT(hex_gui_ulist_show_hosts), TYPE_BOOL}, + {"gui_ulist_sort", P_OFFINT (hex_gui_ulist_sort), TYPE_INT}, + {"gui_ulist_style", P_OFFINT (hex_gui_ulist_style), TYPE_BOOL}, + {"gui_url_mod", P_OFFINT (hex_gui_url_mod), TYPE_INT}, + {"gui_usermenu", P_OFFINT (hex_gui_usermenu), TYPE_BOOL}, + {"gui_win_height", P_OFFINT (hex_gui_win_height), TYPE_INT}, + {"gui_win_fullscreen", P_OFFINT (hex_gui_win_fullscreen), TYPE_INT}, + {"gui_win_left", P_OFFINT (hex_gui_win_left), TYPE_INT}, + {"gui_win_modes", P_OFFINT (hex_gui_win_modes), TYPE_BOOL}, + {"gui_win_nick", P_OFFINT (hex_gui_win_nick), TYPE_BOOL}, + {"gui_win_save", P_OFFINT (hex_gui_win_save), TYPE_BOOL}, + {"gui_win_state", P_OFFINT (hex_gui_win_state), TYPE_INT}, + {"gui_win_swap", P_OFFINT (hex_gui_win_swap), TYPE_BOOL}, + {"gui_win_top", P_OFFINT (hex_gui_win_top), TYPE_INT}, + {"gui_win_ucount", P_OFFINT (hex_gui_win_ucount), TYPE_BOOL}, + {"gui_win_width", P_OFFINT (hex_gui_win_width), TYPE_INT}, + + {"identd_server", P_OFFINT (hex_identd_server), TYPE_BOOL}, + {"identd_port", P_OFFINT (hex_identd_port), TYPE_INT}, + + {"input_balloon_chans", P_OFFINT (hex_input_balloon_chans), TYPE_BOOL}, + {"input_balloon_hilight", P_OFFINT (hex_input_balloon_hilight), TYPE_BOOL}, + {"input_balloon_priv", P_OFFINT (hex_input_balloon_priv), TYPE_BOOL}, + {"input_beep_chans", P_OFFINT (hex_input_beep_chans), TYPE_BOOL}, + {"input_beep_hilight", P_OFFINT (hex_input_beep_hilight), TYPE_BOOL}, + {"input_beep_priv", P_OFFINT (hex_input_beep_priv), TYPE_BOOL}, + {"input_command_char", P_OFFSET (hex_input_command_char), TYPE_STR}, + {"input_filter_beep", P_OFFINT (hex_input_filter_beep), TYPE_BOOL}, + {"input_flash_chans", P_OFFINT (hex_input_flash_chans), TYPE_BOOL}, + {"input_flash_hilight", P_OFFINT (hex_input_flash_hilight), TYPE_BOOL}, + {"input_flash_priv", P_OFFINT (hex_input_flash_priv), TYPE_BOOL}, + {"input_perc_ascii", P_OFFINT (hex_input_perc_ascii), TYPE_BOOL}, + {"input_perc_color", P_OFFINT (hex_input_perc_color), TYPE_BOOL}, + {"input_tray_chans", P_OFFINT (hex_input_tray_chans), TYPE_BOOL}, + {"input_tray_hilight", P_OFFINT (hex_input_tray_hilight), TYPE_BOOL}, + {"input_tray_priv", P_OFFINT (hex_input_tray_priv), TYPE_BOOL}, + + {"irc_auto_rejoin", P_OFFINT (hex_irc_auto_rejoin), TYPE_BOOL}, + {"irc_reconnect_rejoin", P_OFFINT (hex_irc_reconnect_rejoin), TYPE_BOOL}, + {"irc_ban_type", P_OFFINT (hex_irc_ban_type), TYPE_INT}, + {"irc_cap_server_time", P_OFFINT (hex_irc_cap_server_time), TYPE_BOOL}, + {"irc_conf_mode", P_OFFINT (hex_irc_conf_mode), TYPE_BOOL}, + {"irc_extra_hilight", P_OFFSET (hex_irc_extra_hilight), TYPE_STR}, + {"irc_hide_nickchange", P_OFFINT (hex_irc_hide_nickchange), TYPE_BOOL}, + {"irc_hide_version", P_OFFINT (hex_irc_hide_version), TYPE_BOOL}, + {"irc_hidehost", P_OFFINT (hex_irc_hidehost), TYPE_BOOL}, + {"irc_id_ntext", P_OFFSET (hex_irc_id_ntext), TYPE_STR}, + {"irc_id_ytext", P_OFFSET (hex_irc_id_ytext), TYPE_STR}, + {"irc_invisible", P_OFFINT (hex_irc_invisible), TYPE_BOOL}, + {"irc_join_delay", P_OFFINT (hex_irc_join_delay), TYPE_INT}, + {"irc_logging", P_OFFINT (hex_irc_logging), TYPE_BOOL}, + {"irc_logmask", P_OFFSET (hex_irc_logmask), TYPE_STR}, + {"irc_nick1", P_OFFSET (hex_irc_nick1), TYPE_STR}, + {"irc_nick2", P_OFFSET (hex_irc_nick2), TYPE_STR}, + {"irc_nick3", P_OFFSET (hex_irc_nick3), TYPE_STR}, + {"irc_nick_hilight", P_OFFSET (hex_irc_nick_hilight), TYPE_STR}, + {"irc_no_hilight", P_OFFSET (hex_irc_no_hilight), TYPE_STR}, + {"irc_notice_pos", P_OFFINT (hex_irc_notice_pos), TYPE_INT}, + {"irc_part_reason", P_OFFSET (hex_irc_part_reason), TYPE_STR}, + {"irc_quit_reason", P_OFFSET (hex_irc_quit_reason), TYPE_STR}, + {"irc_raw_modes", P_OFFINT (hex_irc_raw_modes), TYPE_BOOL}, + {"irc_real_name", P_OFFSET (hex_irc_real_name), TYPE_STR}, + {"irc_servernotice", P_OFFINT (hex_irc_servernotice), TYPE_BOOL}, + {"irc_skip_motd", P_OFFINT (hex_irc_skip_motd), TYPE_BOOL}, + {"irc_user_name", P_OFFSET (hex_irc_user_name), TYPE_STR}, + {"irc_wallops", P_OFFINT (hex_irc_wallops), TYPE_BOOL}, + {"irc_who_join", P_OFFINT (hex_irc_who_join), TYPE_BOOL}, + {"irc_whois_front", P_OFFINT (hex_irc_whois_front), TYPE_BOOL}, + + {"net_auto_reconnect", P_OFFINT (hex_net_auto_reconnect), TYPE_BOOL}, +#ifndef WIN32 /* FIXME fix reconnect crashes and remove this ifdef! */ + {"net_auto_reconnectonfail", P_OFFINT (hex_net_auto_reconnectonfail), TYPE_BOOL}, +#endif + {"net_bind_host", P_OFFSET (hex_net_bind_host), TYPE_STR}, + {"net_ping_timeout", P_OFFINT (hex_net_ping_timeout), TYPE_INT, hexchat_reinit_timers}, + {"net_proxy_auth", P_OFFINT (hex_net_proxy_auth), TYPE_BOOL}, + {"net_proxy_host", P_OFFSET (hex_net_proxy_host), TYPE_STR}, + {"net_proxy_pass", P_OFFSET (hex_net_proxy_pass), TYPE_STR}, + {"net_proxy_port", P_OFFINT (hex_net_proxy_port), TYPE_INT}, + {"net_proxy_type", P_OFFINT (hex_net_proxy_type), TYPE_INT}, + {"net_proxy_use", P_OFFINT (hex_net_proxy_use), TYPE_INT}, + {"net_proxy_user", P_OFFSET (hex_net_proxy_user), TYPE_STR}, + {"net_reconnect_delay", P_OFFINT (hex_net_reconnect_delay), TYPE_INT}, + {"net_throttle", P_OFFINT (hex_net_throttle), TYPE_BOOL}, + + {"notify_timeout", P_OFFINT (hex_notify_timeout), TYPE_INT}, + {"notify_whois_online", P_OFFINT (hex_notify_whois_online), TYPE_BOOL}, + + {"perl_warnings", P_OFFINT (hex_perl_warnings), TYPE_BOOL}, + + {"stamp_log", P_OFFINT (hex_stamp_log), TYPE_BOOL}, + {"stamp_log_format", P_OFFSET (hex_stamp_log_format), TYPE_STR}, + {"stamp_text", P_OFFINT (hex_stamp_text), TYPE_BOOL}, + {"stamp_text_format", P_OFFSET (hex_stamp_text_format), TYPE_STR}, + + {"text_autocopy_color", P_OFFINT (hex_text_autocopy_color), TYPE_BOOL}, + {"text_autocopy_stamp", P_OFFINT (hex_text_autocopy_stamp), TYPE_BOOL}, + {"text_autocopy_text", P_OFFINT (hex_text_autocopy_text), TYPE_BOOL}, + {"text_background", P_OFFSET (hex_text_background), TYPE_STR}, + {"text_color_nicks", P_OFFINT (hex_text_color_nicks), TYPE_BOOL}, + {"text_font", P_OFFSET (hex_text_font), TYPE_STR}, + {"text_font_main", P_OFFSET (hex_text_font_main), TYPE_STR}, + {"text_font_alternative", P_OFFSET (hex_text_font_alternative), TYPE_STR}, + {"text_indent", P_OFFINT (hex_text_indent), TYPE_BOOL}, + {"text_max_indent", P_OFFINT (hex_text_max_indent), TYPE_INT}, + {"text_max_lines", P_OFFINT (hex_text_max_lines), TYPE_INT}, + {"text_replay", P_OFFINT (hex_text_replay), TYPE_BOOL}, + {"text_search_case_match", P_OFFINT (hex_text_search_case_match), TYPE_BOOL}, + {"text_search_highlight_all", P_OFFINT (hex_text_search_highlight_all), TYPE_BOOL}, + {"text_search_follow", P_OFFINT (hex_text_search_follow), TYPE_BOOL}, + {"text_search_regexp", P_OFFINT (hex_text_search_regexp), TYPE_BOOL}, + {"text_show_marker", P_OFFINT (hex_text_show_marker), TYPE_BOOL}, + {"text_show_sep", P_OFFINT (hex_text_show_sep), TYPE_BOOL}, + {"text_spell_langs", P_OFFSET (hex_text_spell_langs), TYPE_STR}, + {"text_stripcolor_msg", P_OFFINT (hex_text_stripcolor_msg), TYPE_BOOL}, + {"text_stripcolor_replay", P_OFFINT (hex_text_stripcolor_replay), TYPE_BOOL}, + {"text_stripcolor_topic", P_OFFINT (hex_text_stripcolor_topic), TYPE_BOOL}, + {"text_thin_sep", P_OFFINT (hex_text_thin_sep), TYPE_BOOL}, + {"text_transparent", P_OFFINT (hex_text_transparent), TYPE_BOOL}, + {"text_wordwrap", P_OFFINT (hex_text_wordwrap), TYPE_BOOL}, + + {"url_grabber", P_OFFINT (hex_url_grabber), TYPE_BOOL}, + {"url_grabber_limit", P_OFFINT (hex_url_grabber_limit), TYPE_INT}, + {"url_logging", P_OFFINT (hex_url_logging), TYPE_BOOL}, + {0, 0, 0}, +}; + + +static char * +convert_with_fallback (char *str, const char *fallback) +{ + char *utf; + +#ifndef WIN32 + /* On non-Windows, g_get_user_name and g_get_real_name return a string in system locale, so convert it to utf-8. */ + utf = g_locale_to_utf8 (str, -1, NULL, NULL, 0); + + g_free (str); + + /* The returned string is NULL if conversion from locale to utf-8 failed for any reason. Return the fallback. */ + if (!utf) + utf = g_strdup (fallback); +#else + /* On Windows, they return a string in utf-8, so don't do anything to it. The fallback isn't needed. */ + utf = str; +#endif + + return utf; +} + +static int +find_language_number (const char * const lang) +{ + int i; + + for (i = 0; i < LANGUAGES_LENGTH; i++) + if (!strcmp (lang, languages[i])) + return i; + + return -1; +} + +/* Return the number of the system language if found, or english otherwise. + */ +static int +get_default_language (void) +{ + const char *locale; + char *lang; + char *p; + int lang_no; + + /* LC_ALL overrides LANG, so we must check it first */ + locale = g_getenv ("LC_ALL"); + + if (!locale) + locale = g_getenv ("LANG") ? g_getenv ("LANG") : "en"; + + /* we might end up with something like "en_US.UTF-8". We will try to + * search for "en_US"; if it fails we search for "en". + */ + lang = g_strdup (locale); + + if ((p = strchr (lang, '.'))) + *p='\0'; + + lang_no = find_language_number (lang); + + if (lang_no >= 0) + { + g_free (lang); + return lang_no; + } + + if ((p = strchr (lang, '_'))) + *p='\0'; + + lang_no = find_language_number (lang); + + g_free (lang); + + return lang_no >= 0 ? lang_no : find_language_number ("en"); +} + +static char * +get_default_spell_languages (void) +{ + const gchar* const *langs = g_get_language_names (); + char *last = NULL; + char *p; + char lang_list[64]; + char *ret = lang_list; + int i; + + if (langs != NULL) + { + memset (lang_list, 0, sizeof(lang_list)); + + for (i = 0; langs[i]; i++) + { + if (g_ascii_strncasecmp (langs[i], "C", 1) != 0 && strlen (langs[i]) >= 2) + { + /* Avoid duplicates */ + if (!last || !g_str_has_prefix (langs[i], last)) + { + if (last != NULL) + { + g_free(last); + g_strlcat (lang_list, ",", sizeof(lang_list)); + } + + /* ignore .utf8 */ + if ((p = strchr (langs[i], '.'))) + *p='\0'; + + last = g_strndup (langs[i], 2); + + g_strlcat (lang_list, langs[i], sizeof(lang_list)); + } + } + } + + g_free (last); + + if (lang_list[0]) + return g_strdup (ret); + } + + return g_strdup ("en"); +} + +void +load_default_config(void) +{ + char *username, *realname, *langs; + const char *font; + char *sp; +#ifdef WIN32 + wchar_t* roaming_path_wide; + gchar* roaming_path; +#endif + + username = g_strdup(g_get_user_name ()); + if (!username) + username = g_strdup ("root"); + + /* We hid Real name from the Network List, so don't use the user's name unnoticeably */ + /* realname = g_get_real_name (); + if ((realname && realname[0] == 0) || !realname) + realname = username; */ + realname = g_strdup ("realname"); + + username = convert_with_fallback (username, "username"); + realname = convert_with_fallback (realname, "realname"); + + memset (&prefs, 0, sizeof (struct hexchatprefs)); + + /* put in default values, anything left out is automatically zero */ + + /* BOOLEANS */ + prefs.hex_away_show_once = 1; + prefs.hex_away_track = 1; + prefs.hex_dcc_auto_resume = 1; +#ifndef WIN32 + prefs.hex_dcc_fast_send = 1; +#endif + prefs.hex_gui_autoopen_chat = 1; + prefs.hex_gui_autoopen_dialog = 1; + prefs.hex_gui_autoopen_recv = 1; + prefs.hex_gui_autoopen_send = 1; +#ifdef HAVE_GTK_MAC + prefs.hex_gui_hide_menu = 1; +#endif + prefs.hex_gui_input_attr = 1; + prefs.hex_gui_input_icon = 1; + prefs.hex_gui_input_nick = 1; + prefs.hex_gui_input_spell = 1; + prefs.hex_gui_input_style = 1; + prefs.hex_gui_join_dialog = 1; + prefs.hex_gui_quit_dialog = 1; + /* prefs.hex_gui_slist_skip = 1; */ + prefs.hex_gui_tab_chans = 1; + prefs.hex_gui_tab_dialogs = 1; + prefs.hex_gui_tab_icons = 1; + prefs.hex_gui_tab_middleclose = 1; + prefs.hex_gui_tab_server = 1; + prefs.hex_gui_tab_sort = 1; + prefs.hex_gui_topicbar = 1; + prefs.hex_gui_transparency = 255; + prefs.hex_gui_tray = 1; + prefs.hex_gui_tray_blink = 1; + prefs.hex_gui_ulist_count = 1; + prefs.hex_gui_ulist_icons = 1; + prefs.hex_gui_ulist_style = 1; + prefs.hex_gui_win_nick = 1; + prefs.hex_gui_win_save = 1; + prefs.hex_input_filter_beep = 1; + prefs.hex_input_flash_hilight = 1; + prefs.hex_input_flash_priv = 1; + prefs.hex_input_tray_hilight = 1; + prefs.hex_input_tray_priv = 1; + prefs.hex_irc_reconnect_rejoin = 1; + prefs.hex_irc_cap_server_time = 1; + prefs.hex_irc_logging = 1; + prefs.hex_irc_who_join = 1; /* Can kick with inordinate amount of channels, required for some of our features though, TODO: add cap like away check? */ + prefs.hex_irc_whois_front = 1; + prefs.hex_net_auto_reconnect = 1; + prefs.hex_net_throttle = 1; + prefs.hex_stamp_log = 1; + prefs.hex_stamp_text = 1; + prefs.hex_text_autocopy_text = 1; + prefs.hex_text_indent = 1; + prefs.hex_text_replay = 1; + prefs.hex_text_search_follow = 1; + prefs.hex_text_show_marker = 1; + prefs.hex_text_show_sep = 1; + prefs.hex_text_stripcolor_replay = 1; + prefs.hex_text_stripcolor_topic = 1; + prefs.hex_text_thin_sep = 1; + prefs.hex_text_wordwrap = 1; + prefs.hex_url_grabber = 1; + + /* NUMBERS */ + prefs.hex_away_size_max = 300; + prefs.hex_away_timeout = 60; + prefs.hex_completion_amount = 5; + prefs.hex_completion_sort = 1; + prefs.hex_dcc_auto_recv = 1; /* browse mode */ + prefs.hex_dcc_blocksize = 1024; + prefs.hex_dcc_permissions = 0600; + prefs.hex_dcc_stall_timeout = 60; + prefs.hex_dcc_timeout = 180; + prefs.hex_flood_ctcp_num = 5; + prefs.hex_flood_ctcp_time = 30; + prefs.hex_flood_msg_num = 5; + /*FIXME*/ prefs.hex_flood_msg_time = 30; + prefs.hex_gui_chanlist_maxusers = 9999; + prefs.hex_gui_chanlist_minusers = 5; + prefs.hex_gui_dialog_height = 256; + prefs.hex_gui_dialog_width = 500; + prefs.hex_gui_lagometer = 1; + prefs.hex_gui_lang = get_default_language(); + prefs.hex_gui_pane_left_size = 128; /* with treeview icons we need a bit bigger space */ + prefs.hex_gui_pane_right_size = 100; + prefs.hex_gui_pane_right_size_min = 80; + prefs.hex_gui_tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */ + prefs.hex_gui_tab_newtofront = 2; + prefs.hex_gui_tab_pos = 1; + prefs.hex_gui_tab_trunc = 20; + prefs.hex_gui_throttlemeter = 1; + prefs.hex_gui_ulist_pos = 3; + prefs.hex_gui_win_height = 400; + prefs.hex_gui_win_width = 640; + prefs.hex_irc_ban_type = 1; + prefs.hex_irc_join_delay = 5; + prefs.hex_net_ping_timeout = 60; + prefs.hex_net_reconnect_delay = 10; + prefs.hex_notify_timeout = 15; + prefs.hex_text_max_indent = 256; + prefs.hex_text_max_lines = 5000; + prefs.hex_url_grabber_limit = 100; /* 0 means unlimited */ + + /* STRINGS */ + strcpy (prefs.hex_away_reason, _("I'm busy")); + strcpy (prefs.hex_completion_suffix, ","); +#ifdef WIN32 + if (portable_mode () || SHGetKnownFolderPath (&FOLDERID_Downloads, 0, NULL, &roaming_path_wide) != S_OK) + { + g_snprintf (prefs.hex_dcc_dir, sizeof (prefs.hex_dcc_dir), "%s\\downloads", get_xdir ()); + } + else + { + roaming_path = g_utf16_to_utf8 (roaming_path_wide, -1, NULL, NULL, NULL); + CoTaskMemFree (roaming_path_wide); + + g_strlcpy (prefs.hex_dcc_dir, roaming_path, sizeof (prefs.hex_dcc_dir)); + + g_free (roaming_path); + } +#else + if (g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD)) + { + safe_strcpy (prefs.hex_dcc_dir, g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD), sizeof(prefs.hex_dcc_dir)); + } + else + { + char *download_dir = g_build_filename (g_get_home_dir (), "Downloads", NULL); + safe_strcpy (prefs.hex_dcc_dir, download_dir, sizeof(prefs.hex_dcc_dir)); + g_free (download_dir); + } +#endif + strcpy (prefs.hex_gui_ulist_doubleclick, "QUERY %s"); + strcpy (prefs.hex_input_command_char, "/"); + strcpy (prefs.hex_irc_logmask, "%n"G_DIR_SEPARATOR_S"%c.log"); + safe_strcpy (prefs.hex_irc_nick1, username, sizeof(prefs.hex_irc_nick1)); + safe_strcpy (prefs.hex_irc_nick2, username, sizeof(prefs.hex_irc_nick2)); + g_strlcat (prefs.hex_irc_nick2, "_", sizeof(prefs.hex_irc_nick2)); + safe_strcpy (prefs.hex_irc_nick3, username, sizeof(prefs.hex_irc_nick3)); + g_strlcat (prefs.hex_irc_nick3, "__", sizeof(prefs.hex_irc_nick3)); + strcpy (prefs.hex_irc_no_hilight, "NickServ,ChanServ,InfoServ,N,Q"); + safe_strcpy (prefs.hex_irc_part_reason, _("Leaving"), sizeof(prefs.hex_irc_part_reason)); + safe_strcpy (prefs.hex_irc_quit_reason, prefs.hex_irc_part_reason, sizeof(prefs.hex_irc_quit_reason)); + safe_strcpy (prefs.hex_irc_real_name, realname, sizeof(prefs.hex_irc_real_name)); + safe_strcpy (prefs.hex_irc_user_name, username, sizeof(prefs.hex_irc_user_name)); + strcpy (prefs.hex_stamp_log_format, "%b %d %H:%M:%S "); + strcpy (prefs.hex_stamp_text_format, "[%H:%M:%S] "); + + font = fe_get_default_font (); + if (font) + { + safe_strcpy (prefs.hex_text_font, font, sizeof(prefs.hex_text_font)); + safe_strcpy (prefs.hex_text_font_main, font, sizeof(prefs.hex_text_font_main)); + } + else + { + strcpy (prefs.hex_text_font, DEF_FONT); + strcpy (prefs.hex_text_font_main, DEF_FONT); + } + + strcpy (prefs.hex_text_font_alternative, DEF_FONT_ALTER); + langs = get_default_spell_languages (); + safe_strcpy (prefs.hex_text_spell_langs, langs, sizeof(prefs.hex_text_spell_langs)); + + + /* private variables */ + prefs.local_ip = 0xffffffff; + + sp = strchr (prefs.hex_irc_user_name, ' '); + if (sp) + sp[0] = 0; /* spaces in username would break the login */ + + g_free (username); + g_free (realname); + g_free (langs); +} + +int +make_config_dirs (void) +{ + char *buf; + + if (g_mkdir_with_parents (get_xdir (), 0700) != 0) + return -1; + + buf = g_build_filename (get_xdir (), "addons", NULL); + if (g_mkdir (buf, 0700) != 0) + { + g_free (buf); + return -1; + } + g_free (buf); + + buf = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL); + if (g_mkdir (buf, 0700) != 0) + { + g_free (buf); + return -1; + } + g_free (buf); + + return 0; +} + +int +make_dcc_dirs (void) +{ + if (g_mkdir (prefs.hex_dcc_dir, 0700) != 0) + return -1; + + if (g_mkdir (prefs.hex_dcc_completed_dir, 0700) != 0) + return -1; + + return 0; +} + +int +load_config (void) +{ + char *cfg, *sp; + int res, val, i; + + g_assert(check_config_dir () == 0); + + if (!g_file_get_contents (default_file (), &cfg, NULL, NULL)) + return -1; + + /* If the config is incomplete we have the default values loaded */ + load_default_config(); + + i = 0; + do + { + switch (vars[i].type) + { + case TYPE_STR: + cfg_get_str (cfg, vars[i].name, (char *) &prefs + vars[i].offset, + vars[i].len); + break; + case TYPE_BOOL: + case TYPE_INT: + val = cfg_get_int_with_result (cfg, vars[i].name, &res); + if (res) + *((int *) &prefs + vars[i].offset) = val; + break; + } + i++; + } + while (vars[i].name); + + g_free (cfg); + + if (prefs.hex_gui_win_height < 138) + prefs.hex_gui_win_height = 138; + if (prefs.hex_gui_win_width < 106) + prefs.hex_gui_win_width = 106; + + sp = strchr (prefs.hex_irc_user_name, ' '); + if (sp) + sp[0] = 0; /* spaces in username would break the login */ + + return 0; +} + +int +save_config (void) +{ + int fh, i; + char *config, *new_config; + + if (check_config_dir () != 0) + make_config_dirs (); + + config = default_file (); + new_config = g_strconcat (config, ".new", NULL); + + fh = g_open (new_config, OFLAGS | O_TRUNC | O_WRONLY | O_CREAT, 0600); + if (fh == -1) + { + g_free (new_config); + return 0; + } + + if (!cfg_put_str (fh, "version", PACKAGE_VERSION)) + { + close (fh); + g_free (new_config); + return 0; + } + + i = 0; + do + { + switch (vars[i].type) + { + case TYPE_STR: + if (!cfg_put_str (fh, vars[i].name, (char *) &prefs + vars[i].offset)) + { + close (fh); + g_free (new_config); + return 0; + } + break; + case TYPE_INT: + case TYPE_BOOL: + if (!cfg_put_int (fh, *((int *) &prefs + vars[i].offset), vars[i].name)) + { + close (fh); + g_free (new_config); + return 0; + } + } + + if (vars[i].after_update != NULL) + { + vars[i].after_update(); + } + i++; + } + while (vars[i].name); + + if (close (fh) == -1) + { + g_free (new_config); + return 0; + } + +#ifdef WIN32 + g_unlink (config); /* win32 can't rename to an existing file */ +#endif + if (g_rename (new_config, config) == -1) + { + g_free (new_config); + return 0; + } + g_free (new_config); + + return 1; +} + +static void +set_showval (session *sess, const struct prefs *var, char *tbuf) +{ + size_t len; + size_t dots; + size_t j; + + len = strlen (var->name); + memcpy (tbuf, var->name, len); + if (len > 29) + dots = 0; + else + dots = 29 - len; + + tbuf[len++] = '\003'; + tbuf[len++] = '2'; + + for (j = 0; j < dots; j++) + { + tbuf[j + len] = '.'; + } + + len += j; + + switch (var->type) + { + case TYPE_STR: + sprintf (tbuf + len, "\0033:\017 %s\n", (char *) &prefs + var->offset); + break; + case TYPE_INT: + sprintf (tbuf + len, "\0033:\017 %d\n", *((int *) &prefs + var->offset)); + break; + case TYPE_BOOL: + if (*((int *) &prefs + var->offset)) + { + sprintf (tbuf + len, "\0033:\017 %s\n", "ON"); + } + else + { + sprintf (tbuf + len, "\0033:\017 %s\n", "OFF"); + } + break; + } + + PrintText (sess, tbuf); +} + +static void +set_list (session * sess, char *tbuf) +{ + int i; + + i = 0; + do + { + set_showval (sess, &vars[i], tbuf); + i++; + } + while (vars[i].name); +} + +int +cfg_get_bool (char *var) +{ + int i = 0; + + do + { + if (!g_ascii_strcasecmp (var, vars[i].name)) + { + return *((int *) &prefs + vars[i].offset); + } + i++; + } + while (vars[i].name); + + return -1; +} + +int +cmd_set (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int wild = FALSE; + int or = FALSE; + int off = FALSE; + int quiet = FALSE; + int erase = FALSE; + int i = 0, finds = 0, found; + int idx = 2; + int prev_numeric; + char *var, *val, *prev_string; + + if (g_ascii_strcasecmp (word[2], "-e") == 0) + { + idx++; + erase = TRUE; + } + + /* turn a bit OFF */ + if (g_ascii_strcasecmp (word[idx], "-off") == 0) + { + idx++; + off = TRUE; + } + + /* turn a bit ON */ + if (g_ascii_strcasecmp (word[idx], "-or") == 0 || g_ascii_strcasecmp (word[idx], "-on") == 0) + { + idx++; + or = TRUE; + } + + if (g_ascii_strcasecmp (word[idx], "-quiet") == 0) + { + idx++; + quiet = TRUE; + } + + var = word[idx]; + val = word_eol[idx+1]; + + if (!*var) + { + set_list (sess, tbuf); + return TRUE; + } + + if ((strchr (var, '*') || strchr (var, '?')) && !*val) + { + wild = TRUE; + } + + if (*val == '=') + { + val++; + } + + do + { + if (wild) + { + found = !match (var, vars[i].name); + } + else + { + found = g_ascii_strcasecmp (var, vars[i].name); + } + + if (found == 0) + { + finds++; + switch (vars[i].type) + { + case TYPE_STR: + if (erase || *val) + { + /* save the previous value until we print it out */ + prev_string = g_malloc (vars[i].len + 1); + strncpy (prev_string, (char *) &prefs + vars[i].offset, vars[i].len); + + /* update the variable */ + strncpy ((char *) &prefs + vars[i].offset, val, vars[i].len); + ((char *) &prefs)[vars[i].offset + vars[i].len - 1] = 0; + + if (!quiet) + { + PrintTextf (sess, "%s set to: %s (was: %s)\n", var, (char *) &prefs + vars[i].offset, prev_string); + } + + g_free (prev_string); + } + else + { + set_showval (sess, &vars[i], tbuf); + } + break; + case TYPE_INT: + case TYPE_BOOL: + if (*val) + { + prev_numeric = *((int *) &prefs + vars[i].offset); + if (vars[i].type == TYPE_BOOL) + { + if (atoi (val)) + { + *((int *) &prefs + vars[i].offset) = 1; + } + else + { + *((int *) &prefs + vars[i].offset) = 0; + } + if (!g_ascii_strcasecmp (val, "YES") || !g_ascii_strcasecmp (val, "ON")) + { + *((int *) &prefs + vars[i].offset) = 1; + } + if (!g_ascii_strcasecmp (val, "NO") || !g_ascii_strcasecmp (val, "OFF")) + { + *((int *) &prefs + vars[i].offset) = 0; + } + } + else + { + if (or) + { + *((int *) &prefs + vars[i].offset) |= atoi (val); + } + else if (off) + { + *((int *) &prefs + vars[i].offset) &= ~(atoi (val)); + } + else + { + *((int *) &prefs + vars[i].offset) = atoi (val); + } + } + if (!quiet) + { + PrintTextf (sess, "%s set to: %d (was: %d)\n", var, *((int *) &prefs + vars[i].offset), prev_numeric); + } + } + else + { + set_showval (sess, &vars[i], tbuf); + } + + if (vars[i].after_update != NULL) + { + vars[i].after_update(); + } + break; + } + } + i++; + } + while (vars[i].name); + + if (!finds && !quiet) + { + PrintText (sess, "No such variable.\n"); + } + else if (!save_config ()) + { + PrintText (sess, "Error saving changes to disk.\n"); + } + + return TRUE; +} + +int +hexchat_open_file (const char *file, int flags, int mode, int xof_flags) +{ + char *buf; + int fd; + + if (xof_flags & XOF_FULLPATH) + { + if (xof_flags & XOF_DOMODE) + return g_open (file, flags | OFLAGS, mode); + else + return g_open (file, flags | OFLAGS, 0); + } + + buf = g_build_filename (get_xdir (), file, NULL); + + if (xof_flags & XOF_DOMODE) + { + fd = g_open (buf, flags | OFLAGS, mode); + } + else + { + fd = g_open (buf, flags | OFLAGS, 0); + } + + g_free (buf); + + return fd; +} + +FILE * +hexchat_fopen_file (const char *file, const char *mode, int xof_flags) +{ + char *buf; + FILE *fh; + + if (xof_flags & XOF_FULLPATH) + return g_fopen (file, mode); + + buf = g_build_filename (get_xdir (), file, NULL); + fh = g_fopen (buf, mode); + g_free (buf); + + return fh; +} diff --git a/src/common/cfgfiles.h b/src/common/cfgfiles.h new file mode 100644 index 0000000000000000000000000000000000000000..b0d57519dad87f7f1e33134466789bd5a11f861c --- /dev/null +++ b/src/common/cfgfiles.h @@ -0,0 +1,87 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* cfgfiles.h */ + +#ifndef HEXCHAT_CFGFILES_H +#define HEXCHAT_CFGFILES_H + +#include "hexchat.h" + +#define LANGUAGES_LENGTH 53 + +extern char *xdir; +extern const char * const languages[LANGUAGES_LENGTH]; + +char *cfg_get_str (char *cfg, const char *var, char *dest, int dest_len); +int cfg_get_bool (char *var); +int cfg_get_int_with_result (char *cfg, char *var, int *result); +int cfg_get_int (char *cfg, char *var); +int cfg_put_int (int fh, int value, char *var); +int cfg_get_color (char *cfg, char *var, guint16 *r, guint16 *g, guint16 *b); +int cfg_put_color (int fh, guint16 r, guint16 g, guint16 b, char *var); +char *get_xdir (void); +int check_config_dir (void); +void load_default_config (void); +int make_config_dirs (void); +int make_dcc_dirs (void); +int load_config (void); +int save_config (void); +void list_free (GSList ** list); +void list_loadconf (char *file, GSList ** list, char *defaultconf); +int list_delentry (GSList ** list, char *name); +void list_addentry (GSList ** list, char *cmd, char *name); +int cmd_set (session *sess, char *tbuf, char *word[], char *word_eol[]); +int hexchat_open_file (const char *file, int flags, int mode, int xof_flags); +FILE *hexchat_fopen_file (const char *file, const char *mode, int xof_flags); + +#define XOF_DOMODE 1 +#define XOF_FULLPATH 2 + +#define STRUCT_OFFSET_STR(type,field) \ +( (unsigned int) (((char *) (&(((type *) NULL)->field)))- ((char *) NULL)) ) + +#define STRUCT_OFFSET_INT(type,field) \ +( (unsigned int) (((int *) (&(((type *) NULL)->field)))- ((int *) NULL)) ) + +#define P_OFFSET(field) STRUCT_OFFSET_STR(struct hexchatprefs, field),sizeof(prefs.field) +#define P_OFFSETNL(field) STRUCT_OFFSET_STR(struct hexchatprefs, field) +#define P_OFFINT(field) STRUCT_OFFSET_INT(struct hexchatprefs, field),0 +#define P_OFFINTNL(field) STRUCT_OFFSET_INT(struct hexchatprefs, field) + +struct prefs +{ + char *name; + unsigned short offset; + unsigned short len; + unsigned short type; + /* + * an optional function which will be called after the preference value has + * been updated. + */ + void (*after_update)(void); +}; + +#define TYPE_STR 0 +#define TYPE_INT 1 +#define TYPE_BOOL 2 + +#define HEXCHAT_SOUND_DIR "sounds" + +#endif diff --git a/src/common/chanopt.c b/src/common/chanopt.c new file mode 100644 index 0000000000000000000000000000000000000000..67cb46cf50ae331231b31d4bff67abd33bb34e6a --- /dev/null +++ b/src/common/chanopt.c @@ -0,0 +1,462 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* per-channel/dialog settings :: /CHANOPT */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "hexchat.h" + +#include "cfgfiles.h" +#include "server.h" +#include "text.h" +#include "util.h" +#include "hexchatc.h" + + +static GSList *chanopt_list = NULL; +static gboolean chanopt_open = FALSE; +static gboolean chanopt_changed = FALSE; + + +typedef struct +{ + char *name; + char *alias; /* old names from 2.8.4 */ + int offset; +} channel_options; + +#define S_F(xx) STRUCT_OFFSET_STR(struct session,xx) + +static const channel_options chanopt[] = +{ + {"alert_balloon", NULL, S_F(alert_balloon)}, + {"alert_beep", "BEEP", S_F(alert_beep)}, + {"alert_taskbar", NULL, S_F(alert_taskbar)}, + {"alert_tray", "TRAY", S_F(alert_tray)}, + + {"text_hidejoinpart", "CONFMODE", S_F(text_hidejoinpart)}, + {"text_logging", NULL, S_F(text_logging)}, + {"text_scrollback", NULL, S_F(text_scrollback)}, + {"text_strip", NULL, S_F(text_strip)}, +}; + +#undef S_F + +static char * +chanopt_value (guint8 val) +{ + switch (val) + { + case SET_OFF: + return _("OFF"); + case SET_ON: + return _("ON"); + case SET_DEFAULT: + return _("{unset}"); + default: + g_assert_not_reached (); + return NULL; + } +} + +static guint8 +str_to_chanopt (const char *str) +{ + if (!g_ascii_strcasecmp (str, "ON") || !strcmp (str, "1")) + return SET_ON; + else if (!g_ascii_strcasecmp (str, "OFF") || !strcmp (str, "0")) + return SET_OFF; + else + return SET_DEFAULT; +} + +/* handle the /CHANOPT command */ + +int +chanopt_command (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int dots, i = 0, j, p = 0; + guint8 val; + int offset = 2; + char *find; + gboolean quiet = FALSE; + int newval = -1; + + if (!strcmp (word[2], "-quiet")) + { + quiet = TRUE; + offset++; + } + + find = word[offset++]; + + if (word[offset][0]) + { + newval = str_to_chanopt (word[offset]); + } + + if (!quiet) + PrintTextf (sess, "\002%s\002: %s \002%s\002: %s\n", + _("Network"), + sess->server->network ? server_get_network (sess->server, TRUE) : _("<none>"), + _("Channel"), + sess->session_name[0] ? sess->session_name : _("<none>")); + + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + if (find[0] == 0 || match (find, chanopt[i].name) || (chanopt[i].alias && match (find, chanopt[i].alias))) + { + if (newval != -1) /* set new value */ + { + *(guint8 *)G_STRUCT_MEMBER_P(sess, chanopt[i].offset) = newval; + chanopt_changed = TRUE; + } + + if (!quiet) /* print value */ + { + strcpy (tbuf, chanopt[i].name); + p = strlen (tbuf); + + tbuf[p++] = 3; + tbuf[p++] = '2'; + + dots = 20 - strlen (chanopt[i].name); + + for (j = 0; j < dots; j++) + tbuf[p++] = '.'; + tbuf[p++] = 0; + + val = G_STRUCT_MEMBER (guint8, sess, chanopt[i].offset); + PrintTextf (sess, "%s\0033:\017 %s", tbuf, chanopt_value (val)); + } + } + i++; + } + + return TRUE; +} + +/* is a per-channel setting set? Or is it UNSET and + * the global version is set? */ + +gboolean +chanopt_is_set (unsigned int global, guint8 per_chan_setting) +{ + if (per_chan_setting == SET_ON || per_chan_setting == SET_OFF) + return per_chan_setting; + else + return global; +} + +/* === below is LOADING/SAVING stuff only === */ + +typedef struct +{ + /* Per-Channel Alerts */ + /* use a byte, because we need a pointer to each element */ + guint8 alert_balloon; + guint8 alert_beep; + guint8 alert_taskbar; + guint8 alert_tray; + + /* Per-Channel Settings */ + guint8 text_hidejoinpart; + guint8 text_logging; + guint8 text_scrollback; + guint8 text_strip; + + char *network; + char *channel; + +} chanopt_in_memory; + + +static chanopt_in_memory * +chanopt_find (char *network, char *channel, gboolean add_new) +{ + GSList *list; + chanopt_in_memory *co; + int i; + + for (list = chanopt_list; list; list = list->next) + { + co = list->data; + if (!g_ascii_strcasecmp (co->channel, channel) && + !g_ascii_strcasecmp (co->network, network)) + return co; + } + + if (!add_new) + return NULL; + + /* allocate a new one */ + co = g_new0 (chanopt_in_memory, 1); + co->channel = g_strdup (channel); + co->network = g_strdup (network); + + /* set all values to SET_DEFAULT */ + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = SET_DEFAULT; + i++; + } + + chanopt_list = g_slist_prepend (chanopt_list, co); + chanopt_changed = TRUE; + + return co; +} + +static void +chanopt_add_opt (chanopt_in_memory *co, char *var, int new_value) +{ + int i; + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + if (!strcmp (var, chanopt[i].name)) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = new_value; + + } + i++; + } +} + +/* load chanopt.conf from disk into our chanopt_list GSList */ + +static void +chanopt_load_all (void) +{ + int fh; + char buf[256]; + char *eq; + char *network = NULL; + chanopt_in_memory *current = NULL; + + /* 1. load the old file into our GSList */ + fh = hexchat_open_file ("chanopt.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + while (waitline (fh, buf, sizeof buf, FALSE) != -1) + { + eq = strchr (buf, '='); + if (!eq) + continue; + eq[0] = 0; + + if (eq != buf && eq[-1] == ' ') + eq[-1] = 0; + + if (!strcmp (buf, "network")) + { + g_free (network); + network = g_strdup (eq + 2); + } + else if (!strcmp (buf, "channel")) + { + current = chanopt_find (network, eq + 2, TRUE); + chanopt_changed = FALSE; + } + else + { + if (current) + chanopt_add_opt (current, buf, str_to_chanopt (eq + 2)); + } + + } + close (fh); + g_free (network); + } +} + +void +chanopt_load (session *sess) +{ + int i; + guint8 val; + chanopt_in_memory *co; + char *network; + + if (sess->session_name[0] == 0) + return; + + network = server_get_network (sess->server, FALSE); + if (!network) + return; + + if (!chanopt_open) + { + chanopt_open = TRUE; + chanopt_load_all (); + } + + co = chanopt_find (network, sess->session_name, FALSE); + if (!co) + return; + + /* fill in all the sess->xxxxx fields */ + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER(guint8, co, chanopt[i].offset); + *(guint8 *)G_STRUCT_MEMBER_P(sess, chanopt[i].offset) = val; + i++; + } +} + +void +chanopt_save (session *sess) +{ + int i; + guint8 vals; + guint8 valm; + chanopt_in_memory *co; + char *network; + + if (sess->session_name[0] == 0) + return; + + network = server_get_network (sess->server, FALSE); + if (!network) + return; + + /* 2. reconcile sess with what we loaded from disk */ + + co = chanopt_find (network, sess->session_name, TRUE); + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + vals = G_STRUCT_MEMBER(guint8, sess, chanopt[i].offset); + valm = G_STRUCT_MEMBER(guint8, co, chanopt[i].offset); + + if (vals != valm) + { + *(guint8 *)G_STRUCT_MEMBER_P(co, chanopt[i].offset) = vals; + chanopt_changed = TRUE; + } + + i++; + } +} + +static void +chanopt_save_one_channel (chanopt_in_memory *co, int fh) +{ + int i; + char buf[256]; + guint8 val; + + g_snprintf (buf, sizeof (buf), "%s = %s\n", "network", co->network); + write (fh, buf, strlen (buf)); + + g_snprintf (buf, sizeof (buf), "%s = %s\n", "channel", co->channel); + write (fh, buf, strlen (buf)); + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER (guint8, co, chanopt[i].offset); + if (val != SET_DEFAULT) + { + g_snprintf (buf, sizeof (buf), "%s = %d\n", chanopt[i].name, val); + write (fh, buf, strlen (buf)); + } + i++; + } +} + +void +chanopt_save_all (gboolean flush) +{ + int i; + int num_saved; + int fh; + GSList *list; + chanopt_in_memory *co; + guint8 val; + + if (!chanopt_list || !chanopt_changed) + { + return; + } + + fh = hexchat_open_file ("chanopt.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh == -1) + { + return; + } + + for (num_saved = 0, list = chanopt_list; list; list = list->next) + { + co = list->data; + + i = 0; + while (i < sizeof (chanopt) / sizeof (channel_options)) + { + val = G_STRUCT_MEMBER (guint8, co, chanopt[i].offset); + /* not using global/default setting, must save */ + if (val != SET_DEFAULT) + { + if (num_saved != 0) + write (fh, "\n", 1); + + chanopt_save_one_channel (co, fh); + num_saved++; + goto cont; + } + i++; + } + +cont: + if (flush) + { + g_free (co->network); + g_free (co->channel); + g_free (co); + } + } + + close (fh); + + if (flush) + { + g_slist_free (chanopt_list); + chanopt_list = NULL; + } + + chanopt_open = FALSE; + chanopt_changed = FALSE; +} diff --git a/src/common/chanopt.h b/src/common/chanopt.h new file mode 100644 index 0000000000000000000000000000000000000000..a5494605cc1bbf8f475a8797e536c4513160cea3 --- /dev/null +++ b/src/common/chanopt.h @@ -0,0 +1,29 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_CHANOPT_H +#define HEXCHAT_CHANOPT_H + +int chanopt_command (session *sess, char *tbuf, char *word[], char *word_eol[]); +gboolean chanopt_is_set (unsigned int global, guint8 per_chan_setting); +void chanopt_save_all (gboolean flush); +void chanopt_save (session *sess); +void chanopt_load (session *sess); + +#endif diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..c91d8cbbca9dc613aa69b2c80ee0c6d336d6a800 --- /dev/null +++ b/src/common/common.vcxproj @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>StaticLibrary</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <ItemGroup> + <ClInclude Include="cfgfiles.h" /> + <ClInclude Include="chanopt.h" /> + <ClInclude Include="ctcp.h" /> + <ClInclude Include="dcc.h" /> + <ClInclude Include="fe.h" /> + <ClInclude Include="history.h" /> + <ClInclude Include="ignore.h" /> + <ClInclude Include="inbound.h" /> + <ClInclude Include="inet.h" /> + <ClInclude Include="$(HexChatLib)marshal.h" /> + <ClInclude Include="modes.h" /> + <ClInclude Include="network.h" /> + <ClInclude Include="notify.h" /> + <ClInclude Include="outbound.h" /> + <ClInclude Include="plugin-identd.h" /> + <ClInclude Include="plugin-timer.h" /> + <ClInclude Include="plugin.h" /> + <ClInclude Include="proto-irc.h" /> + <ClInclude Include="server.h" /> + <ClInclude Include="servlist.h" /> + <ClInclude Include="ssl.h" /> + <ClInclude Include="scram.h" /> + <ClInclude Include="sysinfo\sysinfo.h" /> + <ClInclude Include="text.h" /> + <ClInclude Include="$(HexChatLib)textenums.h" /> + <ClInclude Include="$(HexChatLib)textevents.h" /> + <ClInclude Include="tree.h" /> + <ClInclude Include="typedef.h" /> + <ClInclude Include="url.h" /> + <ClInclude Include="userlist.h" /> + <ClInclude Include="util.h" /> + <ClInclude Include="hexchat-plugin.h" /> + <ClInclude Include="hexchat.h" /> + <ClInclude Include="hexchatc.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="cfgfiles.c" /> + <ClCompile Include="chanopt.c" /> + <ClCompile Include="ctcp.c" /> + <ClCompile Include="dcc.c" /> + <ClCompile Include="history.c" /> + <ClCompile Include="plugin-identd.c" /> + <ClCompile Include="ignore.c" /> + <ClCompile Include="inbound.c" /> + <ClCompile Include="$(HexChatLib)marshal.c" /> + <ClCompile Include="modes.c" /> + <ClCompile Include="network.c" /> + <ClCompile Include="notify.c" /> + <ClCompile Include="outbound.c" /> + <ClCompile Include="plugin-timer.c" /> + <ClCompile Include="plugin.c" /> + <ClCompile Include="proto-irc.c" /> + <ClCompile Include="server.c" /> + <ClCompile Include="servlist.c" /> + <ClCompile Include="ssl.c" /> + <ClCompile Include="scram.c" /> + <ClCompile Include="sysinfo\win32\backend.c" /> + <ClCompile Include="text.c" /> + <ClCompile Include="tree.c" /> + <ClCompile Include="url.c" /> + <ClCompile Include="userlist.c" /> + <ClCompile Include="util.c" /> + <ClCompile Include="hexchat.c" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\win32\config.h.tt" /> + <ClInclude Include="$(HexChatLib)config.h" /> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{87554B59-006C-4D94-9714-897B27067BA3}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>common</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\..\win32\hexchat.props" /> + <PropertyGroup> + <OutDir>$(HexChatLib)</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(HexChatLib);$(DepsRoot)\include;$(Glib);$(Gtk);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(HexChatLib);$(DepsRoot)\include;$(Glib);$(Gtk);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + </ItemDefinitionGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ItemDefinitionGroup> + <PreBuildEvent> + <Command><![CDATA[ +SET SOLUTIONDIR=$(SolutionDir)..\ +"$(Python3Path)\python.exe" $(ProjectDir)make-te.py "$(ProjectDir)textevents.in" "$(HexChatLib)textevents.h" "$(HexChatLib)textenums.h" +powershell -File "$(SolutionDir)..\win32\version-template.ps1" "$(SolutionDir)..\win32\config.h.tt" "$(HexChatLib)config.h" +"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_hexchat_marshal --header "$(ProjectDir)marshalers.list" --output "$(HexChatLib)marshal.h" +"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_hexchat_marshal --body "$(ProjectDir)marshalers.list" --output "$(HexChatLib)marshal.c" + ]]></Command> + </PreBuildEvent> + </ItemDefinitionGroup> +</Project> diff --git a/src/common/common.vcxproj.filters b/src/common/common.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..db696eb978687823f3403944b7c17d46fc43f4f4 --- /dev/null +++ b/src/common/common.vcxproj.filters @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Source Files\sysinfo"> + <UniqueIdentifier>{d5a3d281-8400-4663-b60d-036ade5fbff7}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\sysinfo\win32"> + <UniqueIdentifier>{a6d80da7-bc0a-4f1f-a156-c8cdafb7831d}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="cfgfiles.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="chanopt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ctcp.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="dcc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="fe.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="history.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ignore.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="inbound.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="inet.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="modes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="network.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="notify.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="outbound.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="plugin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="plugin-timer.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="proto-irc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="server.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="servlist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ssl.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="text.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="$(HexChatLib)textenums.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="$(HexChatLib)textevents.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="tree.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="url.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="userlist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="util.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="hexchat.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="hexchatc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="hexchat-plugin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="$(HexChatLib)config.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="typedef.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="$(HexChatLib)marshal.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="plugin-identd.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sysinfo\sysinfo.h"> + <Filter>Source Files\sysinfo</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="cfgfiles.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="chanopt.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="ctcp.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="dcc.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="history.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="ignore.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="inbound.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="modes.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="network.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="notify.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="outbound.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugin.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugin-timer.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="proto-irc.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="server.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="servlist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="ssl.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="text.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="tree.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="url.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="userlist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="util.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="hexchat.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="$(HexChatLib)marshal.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugin-identd.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sysinfo\win32\backend.c"> + <Filter>Source Files\sysinfo\win32</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <None Include="..\..\win32\config.h.tt" /> + </ItemGroup> +</Project> diff --git a/src/common/ctcp.c b/src/common/ctcp.c new file mode 100644 index 0000000000000000000000000000000000000000..f9c054404640499c3fa2c49a611107743c33d3ee --- /dev/null +++ b/src/common/ctcp.c @@ -0,0 +1,202 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "cfgfiles.h" +#include "util.h" +#include "modes.h" +#include "outbound.h" +#include "ignore.h" +#include "inbound.h" +#include "dcc.h" +#include "text.h" +#include "ctcp.h" +#include "server.h" +#include "hexchatc.h" + + +static void +ctcp_reply (session *sess, char *nick, char *word[], char *word_eol[], + char *conf) +{ + char tbuf[4096]; /* can receive 2048 from IRC, so this is enough */ + + conf = g_strdup (conf); + /* process %C %B etc */ + check_special_chars (conf, TRUE); + auto_insert (tbuf, sizeof (tbuf), conf, word, word_eol, "", "", word_eol[5], + server_get_network (sess->server, TRUE), "", "", nick, ""); + g_free (conf); + handle_command (sess, tbuf, FALSE); +} + +static int +ctcp_check (session *sess, char *nick, char *word[], char *word_eol[], + char *ctcp) +{ + int ret = 0; + char *po; + struct popup *pop; + GSList *list = ctcp_list; + + po = strchr (ctcp, '\001'); + if (po) + *po = 0; + + po = strchr (word_eol[5], '\001'); + if (po) + *po = 0; + + while (list) + { + pop = (struct popup *) list->data; + if (!g_ascii_strcasecmp (ctcp, pop->name)) + { + ctcp_reply (sess, nick, word, word_eol, pop->cmd); + ret = 1; + } + list = list->next; + } + return ret; +} + +void +ctcp_handle (session *sess, char *to, char *nick, char *ip, + char *msg, char *word[], char *word_eol[], int id, + const message_tags_data *tags_data) +{ + char *po; + session *chansess; + server *serv = sess->server; + char outbuf[1024]; + int ctcp_offset = 2; + + /* consider DCC to be different from other CTCPs */ + if (!g_ascii_strncasecmp (msg, "DCC", 3)) + { + /* but still let CTCP replies override it */ + if (!ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + { + if (!ignore_check (word[1], IG_DCC)) + handle_dcc (sess, nick, word, word_eol, tags_data); + } + return; + } + + /* consider ACTION to be different from other CTCPs. Check + ignore as if it was a PRIV/CHAN. */ + if (!g_ascii_strncasecmp (msg, "ACTION ", 7)) + { + if (is_channel (serv, to)) + { + /* treat a channel action as a CHAN */ + if (ignore_check (word[1], IG_CHAN)) + return; + } else + { + /* treat a private action as a PRIV */ + if (ignore_check (word[1], IG_PRIV)) + return; + } + + /* but still let CTCP replies override it */ + if (ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + goto generic; + + inbound_action (sess, to, nick, ip, msg + 7, FALSE, tags_data->identified, tags_data); + return; + } + + if (ignore_check (word[1], IG_CTCP)) + return; + + if (!g_ascii_strcasecmp (msg, "VERSION") && !prefs.hex_irc_hide_version) + { +#ifdef WIN32 + g_snprintf (outbuf, sizeof (outbuf), "VERSION HexChat "PACKAGE_VERSION" [x%d] / %s", + get_cpu_arch (), get_sys_str (1)); +#else + g_snprintf (outbuf, sizeof (outbuf), "VERSION HexChat "PACKAGE_VERSION" / %s", + get_sys_str (1)); +#endif + serv->p_nctcp (serv, nick, outbuf); + } + + if (word[4][1] == '\0') + return; + + if (!ctcp_check (sess, nick, word, word_eol, word[4] + ctcp_offset)) + { + if (!g_ascii_strncasecmp (msg, "SOUND", 5)) + { + po = strchr (word[5], '\001'); + if (po) + po[0] = 0; + + if (is_channel (sess->server, to)) + { + chansess = find_channel (sess->server, to); + if (!chansess) + chansess = sess; + + EMIT_SIGNAL_TIMESTAMP (XP_TE_CTCPSNDC, chansess, word[5], + nick, to, NULL, 0, tags_data->timestamp); + } else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CTCPSND, sess->server->front_session, + word[5], nick, NULL, NULL, 0, + tags_data->timestamp); + } + + /* don't let IRCers specify path */ +#ifdef WIN32 + if (strchr (word[5], '/') == NULL && strchr (word[5], '\\') == NULL) +#else + if (strchr (word[5], '/') == NULL) +#endif + sound_play (word[5], TRUE); + return; + } + } + +generic: + po = strchr (msg, '\001'); + if (po) + po[0] = 0; + + if (!is_channel (sess->server, to)) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CTCPGEN, sess->server->front_session, msg, + nick, NULL, NULL, 0, tags_data->timestamp); + } else + { + chansess = find_channel (sess->server, to); + if (!chansess) + chansess = sess; + EMIT_SIGNAL_TIMESTAMP (XP_TE_CTCPGENC, chansess, msg, nick, to, NULL, 0, + tags_data->timestamp); + } +} diff --git a/src/common/ctcp.h b/src/common/ctcp.h new file mode 100644 index 0000000000000000000000000000000000000000..9d811e57798a5a1564af137b12349a43115c214a --- /dev/null +++ b/src/common/ctcp.h @@ -0,0 +1,27 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_CTCP_H +#define HEXCHAT_CTCP_H + +void ctcp_handle (session *sess, char *to, char *nick, char *ip, char *msg, + char *word[], char *word_eol[], int id, + const message_tags_data *tags_data); + +#endif diff --git a/src/common/dbus/dbus-client.c b/src/common/dbus/dbus-client.c new file mode 100644 index 0000000000000000000000000000000000000000..e70a49a918101fc2e161d107a20ee068749b32fa --- /dev/null +++ b/src/common/dbus/dbus-client.c @@ -0,0 +1,179 @@ +/* dbus-client.c - HexChat command-line options for D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#include "config.h" + +#include "dbus-client.h" +#include <stdlib.h> +#include <gio/gio.h> +#include "hexchat.h" +#include "hexchatc.h" + +#define DBUS_REMOTE_PATH "/org/hexchat/Remote" +#define DBUS_REMOTE_INTERFACE "org.hexchat.plugin" + +#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" +#define DBUS_PATH_DBUS "/org/freedesktop/DBus" +#define DBUS_INTERFACE_DBUS "org.freedesktop.DBus" + +static void +write_error (char *message, GError **error) +{ + if (error == NULL || *error == NULL) { + return; + } + g_printerr ("%s: %s\n", message, (*error)->message); + g_clear_error (error); +} + +static inline GVariant * +new_param_variant (const char *arg) +{ + GVariant * const args[1] = { + g_variant_new_string (arg) + }; + return g_variant_new_tuple (args, 1); +} + +void +hexchat_remote (void) +/* TODO: dbus_g_connection_unref (connection) are commented because it makes + * dbus to crash. Fixed in dbus >=0.70 ?!? + * https://launchpad.net/distros/ubuntu/+source/dbus/+bug/54375 + */ +{ + GDBusConnection *connection; + GDBusProxy *dbus = NULL; + GVariant *ret; + GDBusProxy *remote_object = NULL; + gboolean hexchat_running; + GError *error = NULL; + char *command = NULL; + guint i; + + /* if there is nothing to do, return now. */ + if (!arg_existing || !(arg_url || arg_urls || arg_command)) { + return; + } + + arg_dont_autoconnect = TRUE; + + connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); + if (!connection) + { + write_error (_("Couldn't connect to session bus"), &error); + return; + } + + /* Checks if HexChat is already running */ + dbus = g_dbus_proxy_new_sync (connection, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS, + NULL, + &error); + + ret = g_dbus_proxy_call_sync (dbus, "NameHasOwner", + new_param_variant (DBUS_SERVICE), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + if (!ret) + { + write_error (_("Failed to complete NameHasOwner"), &error); + hexchat_running = FALSE; + } + else + { + GVariant *child = g_variant_get_child_value (ret, 0); + hexchat_running = g_variant_get_boolean (child); + g_variant_unref (ret); + g_variant_unref (child); + } + g_object_unref (dbus); + + if (!hexchat_running) { + g_object_unref (connection); + return; + } + + remote_object = g_dbus_proxy_new_sync (connection, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + DBUS_SERVICE, + DBUS_REMOTE_PATH, + DBUS_REMOTE_INTERFACE, + NULL, + &error); + + if (!remote_object) + { + write_error("Failed to connect to HexChat", &error); + g_object_unref (connection); + exit (0); + } + + if (arg_url) { + command = g_strdup_printf ("url %s", arg_url); + } else if (arg_command) { + command = g_strdup (arg_command); + } + + if (command) + { + g_dbus_proxy_call_sync (remote_object, "Command", + new_param_variant (command), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + + if (error) + write_error (_("Failed to complete Command"), &error); + g_free (command); + } + + if (arg_urls) + { + for (i = 0; i < g_strv_length(arg_urls); i++) + { + command = g_strdup_printf ("url %s", arg_urls[i]); + + g_dbus_proxy_call_sync (remote_object, "Command", + new_param_variant (command), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + &error); + if (error) + write_error (_("Failed to complete Command"), &error); + g_free (command); + } + g_strfreev (arg_urls); + } + + g_object_unref (remote_object); + g_object_unref (connection); + exit (0); +} diff --git a/src/common/dbus/dbus-client.h b/src/common/dbus/dbus-client.h new file mode 100644 index 0000000000000000000000000000000000000000..1ca5713e8989b9bcfc4a590c29107de2c9863adb --- /dev/null +++ b/src/common/dbus/dbus-client.h @@ -0,0 +1,27 @@ +/* dbus-client.h - HexChat command-line options for D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#ifndef __DBUS_PLUGIN_H__ +#define __DBUS_PLUGIN_H__ + +void hexchat_remote (void); + +#endif /* __DBUS_PLUGIN_H__ */ diff --git a/src/common/dbus/dbus-plugin.c b/src/common/dbus/dbus-plugin.c new file mode 100644 index 0000000000000000000000000000000000000000..e0c722378ac31a39fa26a76b6424f3599ce75df4 --- /dev/null +++ b/src/common/dbus/dbus-plugin.c @@ -0,0 +1,1089 @@ +/* dbus-plugin.c - hexchat plugin for remote access using D-Bus + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#define DBUS_API_SUBJECT_TO_CHANGE + +#include <config.h> +#include <dbus/dbus-glib.h> +#include <dbus/dbus-glib-lowlevel.h> +#include <glib/gi18n.h> +#include "hexchat-plugin.h" +#include "dbus-plugin.h" + +#define PNAME _("remote access") +#define PDESC _("plugin for remote access using DBUS") +#define PVERSION "" + +#define DBUS_OBJECT_PATH "/org/hexchat" + +static hexchat_plugin *ph; +static guint last_context_id = 0; +static GList *contexts = NULL; +static GHashTable *clients = NULL; +static DBusGConnection *connection; + +typedef struct RemoteObject RemoteObject; +typedef struct RemoteObjectClass RemoteObjectClass; + +GType Remote_object_get_type (void); + +struct RemoteObject +{ + GObject parent; + + guint last_hook_id; + guint last_list_id; + hexchat_context *context; + char *dbus_path; + char *filename; + GHashTable *hooks; + GHashTable *lists; + void *handle; +}; + +struct RemoteObjectClass +{ + GObjectClass parent; +}; + +typedef struct +{ + guint id; + int return_value; + hexchat_hook *hook; + RemoteObject *obj; +} HookInfo; + +typedef struct +{ + guint id; + hexchat_context *context; +} ContextInfo; + +enum +{ + SERVER_SIGNAL, + COMMAND_SIGNAL, + PRINT_SIGNAL, + UNLOAD_SIGNAL, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +#define REMOTE_TYPE_OBJECT (remote_object_get_type ()) +#define REMOTE_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REMOTE_TYPE_OBJECT, RemoteObject)) +#define REMOTE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), REMOTE_TYPE_OBJECT, RemoteObjectClass)) +#define REMOTE_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REMOTE_TYPE_OBJECT)) +#define REMOTE_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), REMOTE_TYPE_OBJECT)) +#define REMOTE_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), REMOTE_TYPE_OBJECT, RemoteObjectClass)) +#define REMOTE_OBJECT_ERROR (remote_object_error_quark ()) +#define REMOTE_TYPE_ERROR (remote_object_error_get_type ()) + +G_DEFINE_TYPE (RemoteObject, remote_object, G_TYPE_OBJECT) + +/* Available services */ + +static gboolean remote_object_connect (RemoteObject *obj, + const char *filename, + const char *name, + const char *desc, + const char *version, + DBusGMethodInvocation *context); + +static gboolean remote_object_disconnect (RemoteObject *obj, + DBusGMethodInvocation *context); + +static gboolean remote_object_command (RemoteObject *obj, + const char *command, + GError **error); + +static gboolean remote_object_print (RemoteObject *obj, + const char *text, + GError **error); + +static gboolean remote_object_find_context (RemoteObject *obj, + const char *server, + const char *channel, + guint *ret_id, + GError **error); + +static gboolean remote_object_get_context (RemoteObject *obj, + guint *ret_id, + GError **error); + +static gboolean remote_object_set_context (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error); + +static gboolean remote_object_print (RemoteObject *obj, + const char *text, + GError **error); + +static gboolean remote_object_get_info (RemoteObject *obj, + const char *id, + char **ret_info, + GError **error); + +static gboolean remote_object_get_prefs (RemoteObject *obj, + const char *name, + int *ret_type, + char **ret_str, + int *ret_int, + GError **error); + +static gboolean remote_object_hook_command (RemoteObject *obj, + const char *name, + int pri, + const char *help_text, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_hook_server (RemoteObject *obj, + const char *name, + int pri, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_hook_print (RemoteObject *obj, + const char *name, + int pri, + int return_value, + guint *ret_id, + GError **error); + +static gboolean remote_object_unhook (RemoteObject *obj, + guint id, + GError **error); + +static gboolean remote_object_list_get (RemoteObject *obj, + const char *name, + guint *ret_id, + GError **error); + +static gboolean remote_object_list_next (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error); + +static gboolean remote_object_list_str (RemoteObject *obj, + guint id, + const char *name, + char **ret_str, + GError **error); + +static gboolean remote_object_list_int (RemoteObject *obj, + guint id, + const char *name, + int *ret_int, + GError **error); + +static gboolean remote_object_list_time (RemoteObject *obj, + guint id, + const char *name, + guint64 *ret_time, + GError **error); + +static gboolean remote_object_list_fields (RemoteObject *obj, + const char *name, + char ***ret, + GError **error); + +static gboolean remote_object_list_free (RemoteObject *obj, + guint id, + GError **error); + +static gboolean remote_object_emit_print (RemoteObject *obj, + const char *event_name, + const char *args[], + gboolean *ret, + GError **error); + +static gboolean remote_object_nickcmp (RemoteObject *obj, + const char *nick1, + const char *nick2, + int *ret, + GError **error); + +static gboolean remote_object_strip (RemoteObject *obj, + const char *str, + int len, + int flag, + char **ret_str, + GError **error); + +static gboolean remote_object_send_modes (RemoteObject *obj, + const char *targets[], + int modes_per_line, + char sign, + char mode, + GError **error); + +#include "remote-object-glue.h" +#include "../marshal.h" + +/* Useful functions */ + +static char** build_list (char *word[]); +static guint context_list_find_id (hexchat_context *context); +static hexchat_context* context_list_find_context (guint id); + +/* Remote Object */ + +static void +hook_info_destroy (gpointer data) +{ + HookInfo *info = (HookInfo*)data; + + if (info == NULL) { + return; + } + hexchat_unhook (ph, info->hook); + g_free (info); +} + +static void +list_info_destroy (gpointer data) +{ + hexchat_list_free (ph, (hexchat_list*)data); +} + +static void +remote_object_finalize (GObject *obj) +{ + RemoteObject *self = (RemoteObject*)obj; + + g_hash_table_destroy (self->lists); + g_hash_table_destroy (self->hooks); + g_free (self->dbus_path); + g_free (self->filename); + hexchat_plugingui_remove (ph, self->handle); + + G_OBJECT_CLASS (remote_object_parent_class)->finalize (obj); +} + +static void +remote_object_init (RemoteObject *obj) +{ + obj->hooks = + g_hash_table_new_full (g_int_hash, + g_int_equal, + NULL, + hook_info_destroy); + + obj->lists = + g_hash_table_new_full (g_int_hash, + g_int_equal, + g_free, + list_info_destroy); + obj->dbus_path = NULL; + obj->filename = NULL; + obj->last_hook_id = 0; + obj->last_list_id = 0; + obj->context = hexchat_get_context (ph); +} + +static void +remote_object_class_init (RemoteObjectClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = remote_object_finalize; + + signals[SERVER_SIGNAL] = + g_signal_new ("server_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[COMMAND_SIGNAL] = + g_signal_new ("command_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 4, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[PRINT_SIGNAL] = + g_signal_new ("print_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + 3, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT); + + signals[UNLOAD_SIGNAL] = + g_signal_new ("unload_signal", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); +} + +/* Implementation of services */ + +static gboolean +remote_object_connect (RemoteObject *obj, + const char *filename, + const char *name, + const char *desc, + const char *version, + DBusGMethodInvocation *context) +{ + static guint count = 0; + char *sender, *path; + RemoteObject *remote_object; + gchar count_buffer[15]; + + sender = dbus_g_method_get_sender (context); + remote_object = g_hash_table_lookup (clients, sender); + if (remote_object != NULL) { + dbus_g_method_return (context, remote_object->dbus_path); + g_free (sender); + return TRUE; + } + g_snprintf(count_buffer, sizeof(count_buffer), "%u", count++); + path = g_build_filename (DBUS_OBJECT_PATH, count_buffer, NULL); + remote_object = g_object_new (REMOTE_TYPE_OBJECT, NULL); + remote_object->dbus_path = path; + remote_object->filename = g_path_get_basename (filename); + remote_object->handle = hexchat_plugingui_add (ph, + remote_object->filename, + name, + desc, + version, NULL); + dbus_g_connection_register_g_object (connection, + path, + G_OBJECT (remote_object)); + + g_hash_table_insert (clients, + sender, + remote_object); + + dbus_g_method_return (context, path); + return TRUE; +} + +static gboolean +remote_object_disconnect (RemoteObject *obj, + DBusGMethodInvocation *context) +{ + char *sender; + + sender = dbus_g_method_get_sender (context); + g_hash_table_remove (clients, sender); + g_free (sender); + + dbus_g_method_return (context); + return TRUE; +} + +static gboolean +remote_object_command (RemoteObject *obj, + const char *command, + GError **error) +{ + if (hexchat_set_context (ph, obj->context)) { + hexchat_command (ph, command); + } + return TRUE; +} + +static gboolean +remote_object_print (RemoteObject *obj, + const char *text, + GError **error) +{ + if (hexchat_set_context (ph, obj->context)) { + hexchat_print (ph, text); + } + return TRUE; +} + +static gboolean +remote_object_find_context (RemoteObject *obj, + const char *server, + const char *channel, + guint *ret_id, + GError **error) +{ + hexchat_context *context; + + if (*server == '\0') { + server = NULL; + } + if (*channel == '\0') { + channel = NULL; + } + context = hexchat_find_context (ph, server, channel); + *ret_id = context_list_find_id (context); + + return TRUE; +} + +static gboolean +remote_object_get_context (RemoteObject *obj, + guint *ret_id, + GError **error) +{ + *ret_id = context_list_find_id (obj->context); + return TRUE; +} + +static gboolean +remote_object_set_context (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error) +{ + hexchat_context *context; + + context = context_list_find_context (id); + if (context == NULL) { + *ret = FALSE; + return TRUE; + } + obj->context = context; + *ret = TRUE; + + return TRUE; +} + +static gboolean +remote_object_get_info (RemoteObject *obj, + const char *id, + char **ret_info, + GError **error) +{ + /* win_ptr is a GtkWindow* casted to char* and will crash + * D-Bus if we send it as a string */ + if (!hexchat_set_context (ph, obj->context) || + g_str_equal (id, "win_ptr")) { + *ret_info = NULL; + return TRUE; + } + *ret_info = g_strdup (hexchat_get_info (ph, id)); + return TRUE; +} + +static gboolean +remote_object_get_prefs (RemoteObject *obj, + const char *name, + int *ret_type, + char **ret_str, + int *ret_int, + GError **error) +{ + const char *str; + + if (!hexchat_set_context (ph, obj->context)) { + *ret_type = 0; + return TRUE; + } + *ret_type = hexchat_get_prefs (ph, name, &str, ret_int); + *ret_str = g_strdup (str); + + return TRUE; +} + +static int +server_hook_cb (char *word[], + char *word_eol[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + char **arg2; + + arg1 = build_list (word + 1); + arg2 = build_list (word_eol + 1); + info->obj->context = hexchat_get_context (ph); + g_signal_emit (info->obj, + signals[SERVER_SIGNAL], + 0, + arg1, arg2, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + g_strfreev (arg2); + + return info->return_value; +} + +static int +command_hook_cb (char *word[], + char *word_eol[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + char **arg2; + + arg1 = build_list (word + 1); + arg2 = build_list (word_eol + 1); + info->obj->context = hexchat_get_context (ph); + g_signal_emit (info->obj, + signals[COMMAND_SIGNAL], + 0, + arg1, arg2, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + g_strfreev (arg2); + + return info->return_value; +} + +static int +print_hook_cb (char *word[], + void *userdata) +{ + HookInfo *info = (HookInfo*)userdata; + char **arg1; + + arg1 = build_list (word + 1); + info->obj->context = hexchat_get_context (ph); + g_signal_emit (info->obj, + signals[PRINT_SIGNAL], + 0, + arg1, info->id, + context_list_find_id (info->obj->context)); + g_strfreev (arg1); + + return info->return_value; +} + +static gboolean +remote_object_hook_command (RemoteObject *obj, + const char *name, + int priority, + const char *help_text, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = hexchat_hook_command (ph, + name, + priority, + command_hook_cb, + help_text, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_hook_server (RemoteObject *obj, + const char *name, + int priority, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = hexchat_hook_server (ph, + name, + priority, + server_hook_cb, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_hook_print (RemoteObject *obj, + const char *name, + int priority, + int return_value, + guint *ret_id, + GError **error) +{ + HookInfo *info; + + info = g_new0 (HookInfo, 1); + info->obj = obj; + info->return_value = return_value; + info->id = ++obj->last_hook_id; + info->hook = hexchat_hook_print (ph, + name, + priority, + print_hook_cb, + info); + g_hash_table_insert (obj->hooks, &info->id, info); + *ret_id = info->id; + + return TRUE; +} + +static gboolean +remote_object_unhook (RemoteObject *obj, + guint id, + GError **error) +{ + g_hash_table_remove (obj->hooks, &id); + return TRUE; +} + +static gboolean +remote_object_list_get (RemoteObject *obj, + const char *name, + guint *ret_id, + GError **error) +{ + hexchat_list *xlist; + guint *id; + + if (!hexchat_set_context (ph, obj->context)) { + *ret_id = 0; + return TRUE; + } + xlist = hexchat_list_get (ph, name); + if (xlist == NULL) { + *ret_id = 0; + return TRUE; + } + id = g_new (guint, 1); + *id = ++obj->last_list_id; + *ret_id = *id; + g_hash_table_insert (obj->lists, + id, + xlist); + + return TRUE; +} + +static gboolean +remote_object_list_next (RemoteObject *obj, + guint id, + gboolean *ret, + GError **error) +{ + hexchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL) { + *ret = FALSE; + return TRUE; + } + *ret = hexchat_list_next (ph, xlist); + + return TRUE; +} + +static gboolean +remote_object_list_str (RemoteObject *obj, + guint id, + const char *name, + char **ret_str, + GError **error) +{ + hexchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL && !hexchat_set_context (ph, obj->context)) { + *ret_str = NULL; + return TRUE; + } + if (g_str_equal (name, "context")) { + *ret_str = NULL; + return TRUE; + } + *ret_str = g_strdup (hexchat_list_str (ph, xlist, name)); + + return TRUE; +} + +static gboolean +remote_object_list_int (RemoteObject *obj, + guint id, + const char *name, + int *ret_int, + GError **error) +{ + hexchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL && !hexchat_set_context (ph, obj->context)) { + *ret_int = -1; + return TRUE; + } + if (g_str_equal (name, "context")) { + hexchat_context *context; + context = (hexchat_context*)hexchat_list_str (ph, xlist, name); + *ret_int = context_list_find_id (context); + } else { + *ret_int = hexchat_list_int (ph, xlist, name); + } + + return TRUE; +} + +static gboolean +remote_object_list_time (RemoteObject *obj, + guint id, + const char *name, + guint64 *ret_time, + GError **error) +{ + hexchat_list *xlist; + + xlist = g_hash_table_lookup (obj->lists, &id); + if (xlist == NULL) { + *ret_time = (guint64) -1; + return TRUE; + } + *ret_time = hexchat_list_time (ph, xlist, name); + + return TRUE; +} + +static gboolean +remote_object_list_fields (RemoteObject *obj, + const char *name, + char ***ret, + GError **error) +{ + *ret = g_strdupv ((char**)hexchat_list_fields (ph, name)); + if (*ret == NULL) { + *ret = g_new0 (char*, 1); + } + return TRUE; +} + +static gboolean +remote_object_list_free (RemoteObject *obj, + guint id, + GError **error) +{ + g_hash_table_remove (obj->lists, &id); + return TRUE; +} + +static gboolean +remote_object_emit_print (RemoteObject *obj, + const char *event_name, + const char *args[], + gboolean *ret, + GError **error) +{ + const char *argv[4] = {NULL, NULL, NULL, NULL}; + int i; + + for (i = 0; i < 4 && args[i] != NULL; i++) { + argv[i] = args[i]; + } + + *ret = hexchat_set_context (ph, obj->context); + if (*ret) { + *ret = hexchat_emit_print (ph, event_name, argv[0], argv[1], + argv[2], argv[3]); + } + + return TRUE; +} + +static gboolean +remote_object_nickcmp (RemoteObject *obj, + const char *nick1, + const char *nick2, + int *ret, + GError **error) +{ + hexchat_set_context (ph, obj->context); + *ret = hexchat_nickcmp (ph, nick1, nick2); + return TRUE; +} + +static gboolean +remote_object_strip (RemoteObject *obj, + const char *str, + int len, + int flag, + char **ret_str, + GError **error) +{ + *ret_str = hexchat_strip (ph, str, len, flag); + return TRUE; +} + +static gboolean +remote_object_send_modes (RemoteObject *obj, + const char *targets[], + int modes_per_line, + char sign, + char mode, + GError **error) +{ + if (hexchat_set_context (ph, obj->context)) { + hexchat_send_modes (ph, targets, + g_strv_length ((char**)targets), + modes_per_line, + sign, mode); + } + return TRUE; +} + +/* DBUS stuffs */ + +static void +name_owner_changed (DBusGProxy *driver_proxy, + const char *name, + const char *old_owner, + const char *new_owner, + void *user_data) +{ + if (*new_owner == '\0') { + /* this name has vanished */ + g_hash_table_remove (clients, name); + } +} + +static gboolean +init_dbus (void) +{ + DBusGProxy *proxy; + RemoteObject *remote; + guint request_name_result; + GError *error = NULL; + + dbus_g_object_type_install_info (REMOTE_TYPE_OBJECT, + &dbus_glib_remote_object_object_info); + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (connection == NULL) { + hexchat_printf (ph, _("Couldn't connect to session bus: %s\n"), + error->message); + g_error_free (error); + return FALSE; + } + + proxy = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + + if (!dbus_g_proxy_call (proxy, "RequestName", &error, + G_TYPE_STRING, DBUS_SERVICE, + G_TYPE_UINT, DBUS_NAME_FLAG_ALLOW_REPLACEMENT, + G_TYPE_INVALID, + G_TYPE_UINT, &request_name_result, + G_TYPE_INVALID)) { + hexchat_printf (ph, _("Failed to acquire %s: %s\n"), + DBUS_SERVICE, + error->message); + g_error_free (error); + + return FALSE; + } + + dbus_g_proxy_add_signal (proxy, "NameOwnerChanged", + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (proxy, "NameOwnerChanged", + G_CALLBACK (name_owner_changed), + NULL, NULL); + + remote = g_object_new (REMOTE_TYPE_OBJECT, NULL); + dbus_g_connection_register_g_object (connection, + DBUS_OBJECT_PATH"/Remote", + G_OBJECT (remote)); + + return TRUE; +} + +/* hexchat_plugin stuffs */ + +static char** +build_list (char *word[]) +{ + guint i; + guint num = 0; + char **result; + + if (word == NULL) { + return NULL; + } + + while (word[num] && word[num][0]) { + num++; + } + + result = g_new0 (char*, num + 1); + for (i = 0; i < num; i++) { + result[i] = g_strdup (word[i]); + } + + return result; +} + +static guint +context_list_find_id (hexchat_context *context) +{ + GList *l = NULL; + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->context == context) { + return ((ContextInfo*)l->data)->id; + } + } + + return 0; +} + +static hexchat_context* +context_list_find_context (guint id) +{ + GList *l = NULL; + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->id == id) { + return ((ContextInfo*)l->data)->context; + } + } + + return NULL; +} + +static int +open_context_cb (char *word[], + void *userdata) +{ + ContextInfo *info; + + info = g_new0 (ContextInfo, 1); + info->id = ++last_context_id; + info->context = hexchat_get_context (ph); + contexts = g_list_prepend (contexts, info); + + return HEXCHAT_EAT_NONE; +} + +static int +close_context_cb (char *word[], + void *userdata) +{ + GList *l; + hexchat_context *context = hexchat_get_context (ph); + + for (l = contexts; l != NULL; l = l->next) { + if (((ContextInfo*)l->data)->context == context) { + g_free (l->data); + contexts = g_list_delete_link (contexts, l); + break; + } + } + + return HEXCHAT_EAT_NONE; +} + +static gboolean +clients_find_filename_foreach (gpointer key, + gpointer value, + gpointer user_data) +{ + RemoteObject *obj = REMOTE_OBJECT (value); + return g_str_equal (obj->filename, (char*)user_data); +} + +static int +unload_plugin_cb (char *word[], char *word_eol[], void *userdata) +{ + RemoteObject *obj; + + obj = g_hash_table_find (clients, + clients_find_filename_foreach, + word[2]); + if (obj != NULL) { + g_signal_emit (obj, + signals[UNLOAD_SIGNAL], + 0); + return HEXCHAT_EAT_ALL; + } + + return HEXCHAT_EAT_NONE; +} + +int +dbus_plugin_init (hexchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + ph = plugin_handle; + *plugin_name = PNAME; + *plugin_desc = PDESC; + *plugin_version = PVERSION; + + if (init_dbus()) { + /*hexchat_printf (ph, _("%s loaded successfully!\n"), PNAME);*/ + + clients = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + g_object_unref); + + hexchat_hook_print (ph, "Open Context", + HEXCHAT_PRI_NORM, + open_context_cb, + NULL); + + hexchat_hook_print (ph, "Close Context", + HEXCHAT_PRI_NORM, + close_context_cb, + NULL); + + hexchat_hook_command (ph, "unload", + HEXCHAT_PRI_HIGHEST, + unload_plugin_cb, NULL, NULL); + } + + return TRUE; +} diff --git a/src/common/dbus/dbus-plugin.h b/src/common/dbus/dbus-plugin.h new file mode 100644 index 0000000000000000000000000000000000000000..a28d16fbfe218b5015b9fc3a7ae01163d17a187e --- /dev/null +++ b/src/common/dbus/dbus-plugin.h @@ -0,0 +1,31 @@ +/* dbus-plugin.c - hexchat plugin for remote access using DBUS + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#ifndef HEXCHAT_DBUS_PLUGIN_H +#define HEXCHAT_DBUS_PLUGIN_H + +int dbus_plugin_init (hexchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg); + +#endif diff --git a/src/common/dbus/example.c b/src/common/dbus/example.c new file mode 100644 index 0000000000000000000000000000000000000000..0228b88472df60990efce65ab8c485678aa73674 --- /dev/null +++ b/src/common/dbus/example.c @@ -0,0 +1,203 @@ +/* example.c - program to demonstrate some D-BUS stuffs. + * Copyright (C) 2006 Claessens Xavier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Claessens Xavier + * xclaesse@gmail.com + */ + +#include <config.h> +#include <dbus/dbus-glib.h> +#include <stdlib.h> +#include "../marshal.c" + +#define DBUS_SERVICE "org.hexchat.service" +#define DBUS_REMOTE "/org/hexchat/Remote" +#define DBUS_REMOTE_CONNECTION_INTERFACE "org.hexchat.connection" +#define DBUS_REMOTE_PLUGIN_INTERFACE "org.hexchat.plugin" + +guint command_id; +guint server_id; + +static void +write_error (const char *message, + GError **error) +{ + if (error == NULL || *error == NULL) { + return; + } + g_printerr ("%s: %s\n", message, (*error)->message); + g_clear_error (error); +} + +static void +test_server_cb (DBusGProxy *proxy, + char *word[], + char *word_eol[], + guint hook_id, + guint context_id, + gpointer user_data) +{ + if (hook_id == server_id) { + g_print ("message: %s\n", word_eol[0]); + } +} + +static void +test_command_cb (DBusGProxy *proxy, + char *word[], + char *word_eol[], + guint hook_id, + guint context_id, + gpointer user_data) +{ + GError *error = NULL; + + if (hook_id == command_id) { + if (!dbus_g_proxy_call (proxy, "Unhook", + &error, + G_TYPE_UINT, hook_id, + G_TYPE_INVALID, G_TYPE_INVALID)) { + write_error ("Failed to complete unhook", &error); + } + /* Now if you write "/test blah" again in the HexChat window + * you'll get a "Unknown command" error message */ + g_print ("test command received: %s\n", word_eol[1]); + if (!dbus_g_proxy_call (proxy, "Print", + &error, + G_TYPE_STRING, "test command succeed", + G_TYPE_INVALID, + G_TYPE_INVALID)) { + write_error ("Failed to complete Print", &error); + } + } +} + +static void +unload_cb (void) +{ + g_print ("Good bye !\n"); + exit (EXIT_SUCCESS); +} + +int +main (int argc, char **argv) +{ + DBusGConnection *connection; + DBusGProxy *remote_object; + GMainLoop *mainloop; + gchar *path; + GError *error = NULL; + +#if ! GLIB_CHECK_VERSION (2, 36, 0) + g_type_init (); +#endif + + connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (connection == NULL) { + write_error ("Couldn't connect to session bus", &error); + return EXIT_FAILURE; + } + + remote_object = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE, + DBUS_REMOTE, + DBUS_REMOTE_CONNECTION_INTERFACE); + if (!dbus_g_proxy_call (remote_object, "Connect", + &error, + G_TYPE_STRING, argv[0], + G_TYPE_STRING, "example", + G_TYPE_STRING, "Example of a D-Bus client", + G_TYPE_STRING, "1.0", + G_TYPE_INVALID, + G_TYPE_STRING, &path, G_TYPE_INVALID)) { + write_error ("Failed to complete Connect", &error); + return EXIT_FAILURE; + } + g_object_unref (remote_object); + + remote_object = dbus_g_proxy_new_for_name (connection, + DBUS_SERVICE, + path, + DBUS_REMOTE_PLUGIN_INTERFACE); + g_free (path); + + if (!dbus_g_proxy_call (remote_object, "HookCommand", + &error, + G_TYPE_STRING, "test", + G_TYPE_INT, 0, + G_TYPE_STRING, "Simple D-BUS example", + G_TYPE_INT, 1, G_TYPE_INVALID, + G_TYPE_UINT, &command_id, G_TYPE_INVALID)) { + write_error ("Failed to complete HookCommand", &error); + return EXIT_FAILURE; + } + g_print ("Command hook id=%d\n", command_id); + + if (!dbus_g_proxy_call (remote_object, "HookServer", + &error, + G_TYPE_STRING, "RAW LINE", + G_TYPE_INT, 0, + G_TYPE_INT, 0, G_TYPE_INVALID, + G_TYPE_UINT, &server_id, G_TYPE_INVALID)) { + write_error ("Failed to complete HookServer", &error); + return EXIT_FAILURE; + } + g_print ("Server hook id=%d\n", server_id); + + dbus_g_object_register_marshaller ( + _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, + G_TYPE_NONE, + G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, + G_TYPE_INVALID); + + dbus_g_object_register_marshaller ( + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + G_TYPE_INVALID); + + dbus_g_proxy_add_signal (remote_object, "CommandSignal", + G_TYPE_STRV, + G_TYPE_STRV, + G_TYPE_UINT, + G_TYPE_UINT, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "CommandSignal", + G_CALLBACK (test_command_cb), + NULL, NULL); + + dbus_g_proxy_add_signal (remote_object, "ServerSignal", + G_TYPE_STRV, + G_TYPE_STRV, + G_TYPE_UINT, + G_TYPE_UINT, + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "ServerSignal", + G_CALLBACK (test_server_cb), + NULL, NULL); + + dbus_g_proxy_add_signal (remote_object, "UnloadSignal", + G_TYPE_INVALID); + dbus_g_proxy_connect_signal (remote_object, "UnloadSignal", + G_CALLBACK (unload_cb), + NULL, NULL); + + /* Now you can write on the HexChat windows: "/test arg1 arg2 ..." */ + mainloop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (mainloop); + + return EXIT_SUCCESS; +} diff --git a/src/common/dbus/example.py b/src/common/dbus/example.py new file mode 100644 index 0000000000000000000000000000000000000000..4f141034c9edd959c0cbb2f42da6fe9ddb60c8cb --- /dev/null +++ b/src/common/dbus/example.py @@ -0,0 +1,51 @@ +#!/usr/bin/python + +# HexChat +# Copyright (C) 1998-2010 Peter Zelezny. +# Copyright (C) 2009-2013 Berke Viktor. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA +# + +from gi.repository import Gio + +bus = Gio.bus_get_sync(Gio.BusType.SESSION, None) +connection = Gio.DBusProxy.new_sync(bus, Gio.DBusProxyFlags.NONE, None, + 'org.hexchat.service', '/org/hexchat/Remote', 'org.hexchat.connection', None) +path = connection.Connect('(ssss)', + 'example.py', + 'Python example', + 'Example of a D-Bus client written in python', + '1.0') +hexchat = Gio.DBusProxy.new_sync(bus, Gio.DBusProxyFlags.NONE, None, + 'org.hexchat.service', path, 'org.hexchat.plugin', None) + +# Note the type before every arguement, this must be done. +# Type requirements are listed in our docs and characters are listed in the dbus docs. +# s = string, u = uint, i = int, etc. + +channels = hexchat.ListGet ('(s)', "channels") +while hexchat.ListNext ('(u)', channels): + name = hexchat.ListStr ('(us)', channels, "channel") + print("------- " + name + " -------") + hexchat.SetContext ('(u)', hexchat.ListInt ('(us)', channels, "context")) + hexchat.EmitPrint ('(sas)', "Channel Message", ["John", "Hi there", "@"]) + users = hexchat.ListGet ('(s)', "users") + while hexchat.ListNext ('(u)', users): + print("Nick: " + hexchat.ListStr ('(us)', users, "nick")) + hexchat.ListFree ('(u)', users) +hexchat.ListFree ('(u)', channels) + +print(hexchat.Strip ('(sii)', "\00312Blue\003 \002Bold!\002", -1, 1|2)) diff --git a/src/common/dbus/meson.build b/src/common/dbus/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..856bbe550b76b569d25e94ca4a781057ee88cc66 --- /dev/null +++ b/src/common/dbus/meson.build @@ -0,0 +1,56 @@ +dbus_deps = [ + dbus_glib_dep +] + +dbus_sources = [ + 'dbus-plugin.c', + 'dbus-client.c' +] + +dbus_includes = [ + include_directories('..'), + config_h_include +] + +dbus_service_dir = join_paths(get_option('datadir'), 'dbus-1/services') + +if get_option('dbus-service-use-appid') + dbus_service_name = 'io.github.Hexchat' + dbus_output_file = 'io.github.Hexchat.service' + dbus_cargs = '-DDBUS_SERVICE="io.github.Hexchat"' +else + dbus_service_name = 'org.hexchat.service' + dbus_output_file = 'org.hexchat.service.service' + dbus_cargs = '-DDBUS_SERVICE="org.hexchat.service"' +endif + +dbus_conf = configuration_data() +dbus_conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) +dbus_conf.set('service_name', dbus_service_name) +configure_file( + input: 'org.hexchat.service.service.in', + output: dbus_output_file, + configuration: dbus_conf, + install: true, + install_dir: dbus_service_dir +) + +dbus_binding_tool = find_program('dbus-binding-tool') +dbus_remote_object = custom_target('remote-object-glue', + input: 'remote-object.xml', + output: 'remote-object-glue.h', + command: [dbus_binding_tool, '--prefix=remote_object', '--mode=glib-server', + '--output=@OUTPUT@', '@INPUT@'] +) + +hexchat_dbus = static_library('hexchatdbus', + sources: [dbus_remote_object, marshal] + dbus_sources, + c_args: dbus_cargs, + dependencies: common_deps + dbus_deps, + include_directories: dbus_includes, + pic: true +) + +hexchat_dbus_dep = declare_dependency( + link_with: hexchat_dbus +) diff --git a/src/common/dbus/org.hexchat.service.service.in b/src/common/dbus/org.hexchat.service.service.in new file mode 100644 index 0000000000000000000000000000000000000000..44493a5435161238539af168fe917161388f5856 --- /dev/null +++ b/src/common/dbus/org.hexchat.service.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@service_name@ +Exec=@bindir@/hexchat diff --git a/src/common/dbus/remote-object.xml b/src/common/dbus/remote-object.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b80f0e70e97a96c65c69550c35f0c55684cdd85 --- /dev/null +++ b/src/common/dbus/remote-object.xml @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/"> + + <interface name="org.hexchat.connection"> + <method name="Connect"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg type="s" name="filename" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="s" name="desc" direction="in"/> + <arg type="s" name="version" direction="in"/> + <arg type="s" name="path" direction="out"/> + </method> + <method name="Disconnect"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + </method> + </interface> + + <interface name="org.hexchat.plugin"> + <method name="Command"> + <arg type="s" name="command" direction="in"/> + </method> + <method name="Print"> + <arg type="s" name="text" direction="in"/> + </method> + <method name="FindContext"> + <arg type="s" name="server" direction="in"/> + <arg type="s" name="channel" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="GetContext"> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="SetContext"> + <arg type="u" name="id" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="GetInfo"> + <arg type="s" name="id" direction="in"/> + <arg type="s" name="ret_info" direction="out"/> + </method> + <method name="GetPrefs"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="ret_type" direction="out"/> + <arg type="s" name="ret_str" direction="out"/> + <arg type="i" name="ret_int" direction="out"/> + </method> + <method name="HookCommand"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="s" name="help_text" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="HookServer"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="HookPrint"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="priority" direction="in"/> + <arg type="i" name="return_value" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="Unhook"> + <arg type="u" name="id" direction="in"/> + </method> + <method name="ListGet"> + <arg type="s" name="name" direction="in"/> + <arg type="u" name="ret_id" direction="out"/> + </method> + <method name="ListNext"> + <arg type="u" name="id" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="ListStr"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="s" name="ret_str" direction="out"/> + </method> + <method name="ListInt"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="ret_int" direction="out"/> + </method> + <method name="ListTime"> + <arg type="u" name="id" direction="in"/> + <arg type="s" name="name" direction="in"/> + <arg type="t" name="ret_time" direction="out"/> + </method> + <method name="ListFields"> + <arg type="s" name="name" direction="in"/> + <arg type="as" name="ret" direction="out"/> + </method> + <method name="ListFree"> + <arg type="u" name="id" direction="in"/> + </method> + <method name="EmitPrint"> + <arg type="s" name="event_name" direction="in"/> + <arg type="as" name="args" direction="in"/> + <arg type="b" name="ret" direction="out"/> + </method> + <method name="Nickcmp"> + <arg type="s" name="nick1" direction="in"/> + <arg type="s" name="nick2" direction="in"/> + <arg type="i" name="ret" direction="out"/> + </method> + <method name="Strip"> + <arg type="s" name="str" direction="in"/> + <arg type="i" name="len" direction="in"/> + <arg type="i" name="flag" direction="in"/> + <arg type="s" name="ret_str" direction="out"/> + </method> + <method name="SendModes"> + <arg type="as" name="targets" direction="in"/> + <arg type="i" name="modes_per_line" direction="in"/> + <arg type="y" name="sign" direction="in"/> + <arg type="y" name="mode" direction="in"/> + </method> + + <signal name="CommandSignal"> + <arg type="as" name="word"/> + <arg type="as" name="word_eol"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="ServerSignal"> + <arg type="as" name="word"/> + <arg type="as" name="word_eol"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="PrintSignal"> + <arg type="as" name="word"/> + <arg type="u" name="hook_id"/> + <arg type="u" name="context_id"/> + </signal> + <signal name="UnloadSignal"/> + </interface> +</node> diff --git a/src/common/dcc.c b/src/common/dcc.c new file mode 100644 index 0000000000000000000000000000000000000000..df129e68de7058586a8326339809b90bcfb2a991 --- /dev/null +++ b/src/common/dcc.c @@ -0,0 +1,2705 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * Copyright (C) 2006 Damjan Jovanovic + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * Wayne Conrad, 3 Apr 1999: Color-coded DCC file transfer status windows + * Bernhard Valenti <bernhard.valenti@gmx.net> 2000-11-21: Fixed DCC send behind nat + * + * 2001-03-08 Added support for getting "dcc_ip" config parameter. + * Jim Seymour (jseymour@LinxNet.com) + */ + +/* Required to make lseek use off64_t, but doesn't work on Windows */ +#define _FILE_OFFSET_BITS 64 + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <errno.h> +#include <sys/stat.h> +#include <fcntl.h> + +#define WANTSOCKET +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#ifdef WIN32 +#include <windows.h> +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "util.h" +#include "fe.h" +#include "outbound.h" +#include "inbound.h" +#include "network.h" +#include "plugin.h" +#include "server.h" +#include "text.h" +#include "url.h" +#include "hexchatc.h" + +/* Setting _FILE_OFFSET_BITS to 64 doesn't change lseek to use off64_t on Windows, so override lseek to the version that does */ +#if defined(WIN32) && (!defined(__MINGW32__) && !defined(__MINGW64__)) + #define lseek _lseeki64 +#endif + +/* interval timer to detect timeouts */ +static int timeout_timer = 0; + +static char *dcctypes[] = { "SEND", "RECV", "CHAT", "CHAT" }; + +struct dccstat_info dccstat[] = { + {N_("Waiting"), 1 /*black */ }, + {N_("Active"), 12 /*cyan */ }, + {N_("Failed"), 4 /*red */ }, + {N_("Done"), 3 /*green */ }, + {N_("Connect"), 1 /*black */ }, + {N_("Aborted"), 4 /*red */ }, +}; + +static int dcc_global_throttle; /* 0x1 = sends, 0x2 = gets */ +static gint64 dcc_sendcpssum, dcc_getcpssum; + +static struct DCC *new_dcc (void); +static void dcc_close (struct DCC *dcc, enum dcc_state dccstat, int destroy); +static gboolean dcc_send_data (GIOChannel *, GIOCondition, struct DCC *); +static gboolean dcc_read (GIOChannel *, GIOCondition, struct DCC *); +static gboolean dcc_read_ack (GIOChannel *source, GIOCondition condition, struct DCC *dcc); +static int dcc_check_timeouts (void); + +static int new_id(void) +{ + static int id = 0; + if (id == 0) + { + /* start the first ID at a random number for pseudo security */ + /* 1 - 255 */ + id = RAND_INT(255) + 1; + /* ignore overflows, since it can go to 2 billion */ + } + return id++; +} + +static double +timeval_diff (GTimeVal *greater, + GTimeVal *less) +{ + long usecdiff; + double result; + + result = greater->tv_sec - less->tv_sec; + usecdiff = (long) greater->tv_usec - less->tv_usec; + result += (double) usecdiff / 1000000; + + return result; +} + +static void +dcc_unthrottle (struct DCC *dcc) +{ + /* don't unthrottle here, but delegate to funcs */ + if (dcc->type == TYPE_RECV) + dcc_read (NULL, 0, dcc); + else + dcc_send_data (NULL, 0, dcc); +} + +static void +dcc_calc_cps (struct DCC *dcc) +{ + GTimeVal now; + gint64 oldcps; + double timediff, startdiff; + int glob_throttle_bit, wasthrottled; + gint64 *cpssum; + int glob_limit; + goffset pos, posdiff; + + g_get_current_time (&now); + + /* the pos we use for sends is an average + between pos and ack */ + if (dcc->type == TYPE_SEND) + { + /* carefull to avoid 32bit overflow */ + pos = dcc->pos - ((dcc->pos - dcc->ack) / 2); + glob_throttle_bit = 0x1; + cpssum = &dcc_sendcpssum; + glob_limit = prefs.hex_dcc_global_max_send_cps; + } + else + { + pos = dcc->pos; + glob_throttle_bit = 0x2; + cpssum = &dcc_getcpssum; + glob_limit = prefs.hex_dcc_global_max_get_cps; + } + + if (!dcc->firstcpstv.tv_sec && !dcc->firstcpstv.tv_usec) + dcc->firstcpstv = now; + else + { + startdiff = timeval_diff (&now, &dcc->firstcpstv); + if (startdiff < 1) + startdiff = 1; + else if (startdiff > CPS_AVG_WINDOW) + startdiff = CPS_AVG_WINDOW; + + timediff = timeval_diff (&now, &dcc->lastcpstv); + if (timediff > startdiff) + timediff = startdiff = 1; + + posdiff = pos - dcc->lastcpspos; + oldcps = dcc->cps; + dcc->cps = (gint64) ((posdiff / timediff) * (timediff / startdiff) + dcc->cps * (1.0 - (timediff / startdiff))); + + *cpssum += dcc->cps - oldcps; + } + + dcc->lastcpspos = pos; + dcc->lastcpstv = now; + + /* now check cps against set limits... */ + wasthrottled = dcc->throttled; + + /* check global limits first */ + dcc->throttled &= ~0x2; + if (glob_limit > 0 && *cpssum >= glob_limit) + { + dcc_global_throttle |= glob_throttle_bit; + if (dcc->maxcps >= 0) + dcc->throttled |= 0x2; + } + else + dcc_global_throttle &= ~glob_throttle_bit; + + /* now check per-connection limit */ + if (dcc->maxcps > 0 && dcc->cps > dcc->maxcps) + dcc->throttled |= 0x1; + else + dcc->throttled &= ~0x1; + + /* take action */ + if (wasthrottled && !dcc->throttled) + dcc_unthrottle (dcc); +} + +static void +dcc_remove_from_sum (struct DCC *dcc) +{ + if (dcc->dccstat != STAT_ACTIVE) + return; + if (dcc->type == TYPE_SEND) + dcc_sendcpssum -= dcc->cps; + else if (dcc->type == TYPE_RECV) + dcc_getcpssum -= dcc->cps; +} + +gboolean +is_dcc (struct DCC *dcc) +{ + GSList *list = dcc_list; + while (list) + { + if (list->data == dcc) + return TRUE; + list = list->next; + } + return FALSE; +} + +gboolean +is_dcc_completed (struct DCC *dcc) +{ + if (dcc != NULL) + return (dcc->dccstat == STAT_FAILED || dcc->dccstat == STAT_DONE || dcc->dccstat == STAT_ABORTED); + + return FALSE; +} + +/* this is called by timeout_timer every 1 second. */ + +int +dcc_check_timeouts (void) +{ + struct DCC *dcc; + time_t tim = time (0); + GSList *next, *list = dcc_list; + + while (list) + { + dcc = (struct DCC *) list->data; + next = list->next; + + switch (dcc->dccstat) + { + case STAT_ACTIVE: + dcc_calc_cps (dcc); + fe_dcc_update (dcc); + + if (dcc->type == TYPE_SEND || dcc->type == TYPE_RECV) + { + if (prefs.hex_dcc_stall_timeout > 0) + { + if (!dcc->throttled + && tim - dcc->lasttime > prefs.hex_dcc_stall_timeout) + { + EMIT_SIGNAL (XP_TE_DCCSTALL, dcc->serv->front_session, + dcctypes[dcc->type], + file_part (dcc->file), dcc->nick, NULL, 0); + dcc_close (dcc, STAT_ABORTED, FALSE); + } + } + } + break; + case STAT_QUEUED: + if (dcc->type == TYPE_SEND || dcc->type == TYPE_CHATSEND) + { + if (tim - dcc->offertime > prefs.hex_dcc_timeout) + { + if (prefs.hex_dcc_timeout > 0) + { + EMIT_SIGNAL (XP_TE_DCCTOUT, dcc->serv->front_session, + dcctypes[dcc->type], + file_part (dcc->file), dcc->nick, NULL, 0); + dcc_close (dcc, STAT_ABORTED, FALSE); + } + } + } + break; + case STAT_DONE: + case STAT_FAILED: + case STAT_ABORTED: + if (prefs.hex_dcc_remove) + dcc_close (dcc, 0, TRUE); + break; + default: + break; + } + list = next; + } + return 1; +} + +static int +dcc_lookup_proxy (char *host, struct sockaddr_in *addr) +{ + struct hostent *h; + static char *cache_host = NULL; + static guint32 cache_addr; + + /* too lazy to thread this, so we cache results */ + if (cache_host) + { + if (strcmp (host, cache_host) == 0) + { + memcpy (&addr->sin_addr, &cache_addr, 4); + return TRUE; + } + g_free (cache_host); + cache_host = NULL; + } + + h = gethostbyname (host); + if (h != NULL && h->h_length == 4 && h->h_addr_list[0] != NULL) + { + memcpy (&addr->sin_addr, h->h_addr, 4); + memcpy (&cache_addr, h->h_addr, 4); + cache_host = g_strdup (host); + /* cppcheck-suppress memleak */ + return TRUE; + } + + return FALSE; +} + +#define DCC_USE_PROXY() (prefs.hex_net_proxy_host[0] && prefs.hex_net_proxy_type>0 && prefs.hex_net_proxy_type<5 && prefs.hex_net_proxy_use!=1) + +static int +dcc_connect_sok (struct DCC *dcc) +{ + int sok; + struct sockaddr_in addr; + + sok = socket (AF_INET, SOCK_STREAM, 0); + if (sok == -1) + return -1; + + memset (&addr, 0, sizeof (addr)); + addr.sin_family = AF_INET; + if (DCC_USE_PROXY ()) + { + if (!dcc_lookup_proxy (prefs.hex_net_proxy_host, &addr)) + { + closesocket (sok); + return -1; + } + addr.sin_port = htons (prefs.hex_net_proxy_port); + } + else + { + addr.sin_port = htons (dcc->port); + addr.sin_addr.s_addr = htonl (dcc->addr); + } + + set_nonblocking (sok); + connect (sok, (struct sockaddr *) &addr, sizeof (addr)); + + return sok; +} + +static void +dcc_close (struct DCC *dcc, enum dcc_state dccstat, int destroy) +{ + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + + if (dcc->sok != -1) + { + closesocket (dcc->sok); + dcc->sok = -1; + } + + dcc_remove_from_sum (dcc); + + if (dcc->fp != -1) + { + close (dcc->fp); + dcc->fp = -1; + + if(dccstat == STAT_DONE) + { + /* if we just completed a dcc receive, move the */ + /* completed file to the completed directory */ + if(dcc->type == TYPE_RECV) + { + /* mgl: change this to handle the case where dccwithnick is set */ + move_file (prefs.hex_dcc_dir, prefs.hex_dcc_completed_dir, + file_part (dcc->destfile), prefs.hex_dcc_permissions); + } + + } + } + + dcc->dccstat = dccstat; + if (dcc->dccchat) + { + g_free (dcc->dccchat); + dcc->dccchat = NULL; + } + + if (destroy) + { + dcc_list = g_slist_remove (dcc_list, dcc); + fe_dcc_remove (dcc); + g_free (dcc->proxy); + g_free (dcc->file); + g_free (dcc->destfile); + g_free (dcc->nick); + g_free (dcc); + if (dcc_list == NULL && timeout_timer != 0) + { + fe_timeout_remove (timeout_timer); + timeout_timer = 0; + } + return; + } + + fe_dcc_update (dcc); +} + +void +dcc_abort (session *sess, struct DCC *dcc) +{ + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_QUEUED: + case STAT_CONNECTING: + case STAT_ACTIVE: + dcc_close (dcc, STAT_ABORTED, FALSE); + switch (dcc->type) + { + case TYPE_CHATSEND: + case TYPE_CHATRECV: + EMIT_SIGNAL (XP_TE_DCCCHATABORT, sess, dcc->nick, NULL, NULL, + NULL, 0); + break; + case TYPE_SEND: + EMIT_SIGNAL (XP_TE_DCCSENDABORT, sess, dcc->nick, + file_part (dcc->file), NULL, NULL, 0); + break; + case TYPE_RECV: + EMIT_SIGNAL (XP_TE_DCCRECVABORT, sess, dcc->nick, + dcc->file, NULL, NULL, 0); + } + break; + default: + dcc_close (dcc, 0, TRUE); + } + } +} + +void +dcc_notify_kill (struct server *serv) +{ + struct server *replaceserv = 0; + struct DCC *dcc; + GSList *list = dcc_list; + if (serv_list) + replaceserv = (struct server *) serv_list->data; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->serv == serv) + dcc->serv = replaceserv; + list = list->next; + } +} + +struct DCC * +dcc_write_chat (char *nick, char *text) +{ + struct DCC *dcc; + int len; + + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (!dcc) + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc && dcc->dccstat == STAT_ACTIVE) + { + len = strlen (text); + tcp_send_real (NULL, dcc->sok, dcc->serv->write_converter, text, len); + send (dcc->sok, "\n", 1, 0); + dcc->size += len; + fe_dcc_update (dcc); + return dcc; + } + return NULL; +} + +/* returns: 0 - ok + 1 - the dcc is closed! */ + +static int +dcc_chat_line (struct DCC *dcc, char *line) +{ + session *sess; + char *word[PDIWORDS]; + char *po; + int ret, i; + char portbuf[32]; + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + line = text_convert_invalid (line, -1, dcc->serv->read_converter, unicode_fallback_string, NULL); + + sess = find_dialog (dcc->serv, dcc->nick); + if (!sess) + sess = dcc->serv->front_session; + + sprintf (portbuf, "%d", dcc->port); + + word[0] = "DCC Chat Text"; + word[1] = net_ip (dcc->addr); + word[2] = portbuf; + word[3] = dcc->nick; + word[4] = line; + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + ret = plugin_emit_print (sess, word, 0); + + /* did the plugin close it? */ + if (!g_slist_find (dcc_list, dcc)) + { + g_free (line); + return 1; + } + + /* did the plugin eat the event? */ + if (ret) + { + g_free (line); + return 0; + } + + url_check_line (line); + + if (line[0] == 1 && !g_ascii_strncasecmp (line + 1, "ACTION", 6)) + { + po = strchr (line + 8, '\001'); + if (po) + po[0] = 0; + inbound_action (sess, dcc->serv->nick, dcc->nick, "", line + 8, FALSE, + FALSE, &no_tags); + } else + { + inbound_privmsg (dcc->serv, dcc->nick, "", line, FALSE, &no_tags); + } + g_free (line); + return 0; +} + +static gboolean +dcc_read_chat (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int i, len, dead; + char portbuf[32]; + char lbuf[2050]; + + while (1) + { + if (dcc->throttled) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + return FALSE; + } + + if (!dcc->iotag) + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + + len = recv (dcc->sok, lbuf, sizeof (lbuf) - 2, 0); + if (len < 1) + { + if (len < 0) + { + if (would_block ()) + return TRUE; + } + sprintf (portbuf, "%d", dcc->port); + EMIT_SIGNAL (XP_TE_DCCCHATF, dcc->serv->front_session, dcc->nick, + net_ip (dcc->addr), portbuf, + errorstring ((len < 0) ? sock_error () : 0), 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + i = 0; + lbuf[len] = 0; + while (i < len) + { + switch (lbuf[i]) + { + case '\r': + break; + case '\n': + dcc->dccchat->linebuf[dcc->dccchat->pos] = 0; + dead = dcc_chat_line (dcc, dcc->dccchat->linebuf); + + if (dead || !dcc->dccchat) /* the dcc has been closed, don't use (DCC *)! */ + return TRUE; + + dcc->pos += dcc->dccchat->pos; + dcc->dccchat->pos = 0; + fe_dcc_update (dcc); + break; + default: + dcc->dccchat->linebuf[dcc->dccchat->pos] = lbuf[i]; + if (dcc->dccchat->pos < (sizeof (dcc->dccchat->linebuf) - 1)) + dcc->dccchat->pos++; + } + i++; + } + } +} + +static void +dcc_calc_average_cps (struct DCC *dcc) +{ + time_t sec; + + sec = time (0) - dcc->starttime; + if (sec < 1) + sec = 1; + if (dcc->type == TYPE_SEND) + dcc->cps = (dcc->ack - dcc->resumable) / sec; + else + dcc->cps = (dcc->pos - dcc->resumable) / sec; +} + +static void +dcc_send_ack (struct DCC *dcc) +{ + /* send in 32-bit big endian */ + guint32 pos = htonl (dcc->pos & 0xffffffff); + send (dcc->sok, (char *) &pos, 4, 0); +} + +static gboolean +dcc_read (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char *old; + char buf[4096]; + int n; + gboolean need_ack = FALSE; + + if (dcc->fp == -1) + { + + /* try to create the download dir (even if it exists, no harm) */ + g_mkdir (prefs.hex_dcc_dir, 0700); + + if (dcc->resumable) + { + gchar *filename_fs = g_filename_from_utf8(dcc->destfile, -1, NULL, NULL, NULL); + dcc->fp = g_open(dcc->destfile, O_WRONLY | O_APPEND | OFLAGS, 0); + g_free (filename_fs); + + dcc->pos = dcc->resumable; + dcc->ack = dcc->resumable; + } + else + { + gchar *filename_fs; + + if (g_access (dcc->destfile, F_OK) == 0) + { + n = 0; + do + { + n++; + g_snprintf (buf, sizeof (buf), "%s.%d", dcc->destfile, n); + } + while (g_access (buf, F_OK) == 0); + + old = dcc->destfile; + dcc->destfile = g_strdup (buf); + + EMIT_SIGNAL (XP_TE_DCCRENAME, dcc->serv->front_session, + old, dcc->destfile, NULL, NULL, 0); + g_free (old); + } + + filename_fs = g_filename_from_utf8 (dcc->destfile, -1, NULL, NULL, NULL); + dcc->fp = g_open (filename_fs, OFLAGS | O_TRUNC | O_WRONLY | O_CREAT, prefs.hex_dcc_permissions); + g_free (filename_fs); + } + } + if (dcc->fp == -1) + { + /* the last executed function is open(), errno should be valid */ + EMIT_SIGNAL (XP_TE_DCCFILEERR, dcc->serv->front_session, dcc->destfile, + errorstring (errno), NULL, NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + while (1) + { + if (dcc->throttled) + { + if (need_ack) + dcc_send_ack (dcc); + + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + return FALSE; + } + + if (!dcc->iotag) + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read, dcc); + + n = recv (dcc->sok, buf, sizeof (buf), 0); + if (n < 1) + { + if (n < 0) + { + if (would_block ()) + { + if (need_ack) + dcc_send_ack (dcc); + return TRUE; + } + } + EMIT_SIGNAL (XP_TE_DCCRECVERR, dcc->serv->front_session, dcc->file, + dcc->destfile, dcc->nick, + errorstring ((n < 0) ? sock_error () : 0), 0); + /* send ack here? but the socket is dead */ + /*if (need_ack) + dcc_send_ack (dcc);*/ + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + if (write (dcc->fp, buf, n) == -1) /* could be out of hdd space */ + { + EMIT_SIGNAL (XP_TE_DCCRECVERR, dcc->serv->front_session, dcc->file, + dcc->destfile, dcc->nick, errorstring (errno), 0); + if (need_ack) + dcc_send_ack (dcc); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + dcc->lasttime = time (0); + dcc->pos += n; + need_ack = TRUE; /* send ack when we're done recv()ing */ + + if (dcc->pos >= dcc->size) + { + dcc_send_ack (dcc); + dcc_close (dcc, STAT_DONE, FALSE); + dcc_calc_average_cps (dcc); /* this must be done _after_ dcc_close, or dcc_remove_from_sum will see the wrong value in dcc->cps */ + /* cppcheck-suppress deallocuse */ + sprintf (buf, "%" G_GINT64_FORMAT, dcc->cps); + EMIT_SIGNAL (XP_TE_DCCRECVCOMP, dcc->serv->front_session, + dcc->file, dcc->destfile, dcc->nick, buf, 0); + return TRUE; + } + } +} + +static void +dcc_open_query (server *serv, char *nick) +{ + if (prefs.hex_gui_autoopen_dialog) + open_query (serv, nick, FALSE); +} + +static gboolean +dcc_did_connect (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int er; + +#ifdef WIN32 + if (condition & G_IO_ERR) + { + int len; + + /* find the last errno for this socket */ + len = sizeof (er); + getsockopt (dcc->sok, SOL_SOCKET, SO_ERROR, (char *)&er, &len); + EMIT_SIGNAL (XP_TE_DCCCONFAIL, dcc->serv->front_session, + dcctypes[dcc->type], dcc->nick, errorstring (er), + NULL, 0); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return FALSE; + } + +#else + struct sockaddr_in addr; + + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (dcc->port); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl (dcc->addr); + + /* check if it's already connected; This always fails on winXP */ + if (connect (dcc->sok, (struct sockaddr *) &addr, sizeof (addr)) != 0) + { + er = sock_error (); + if (er != EISCONN) + { + EMIT_SIGNAL (XP_TE_DCCCONFAIL, dcc->serv->front_session, + dcctypes[dcc->type], dcc->nick, errorstring (er), + NULL, 0); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return FALSE; + } + } +#endif + + return TRUE; +} + +static gboolean +dcc_connect_finished (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char host[128]; + + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + + if (!dcc_did_connect (source, condition, dcc)) + return TRUE; + + dcc->dccstat = STAT_ACTIVE; + g_snprintf (host, sizeof host, "%s:%d", net_ip (dcc->addr), dcc->port); + + switch (dcc->type) + { + case TYPE_RECV: + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read, dcc); + EMIT_SIGNAL (XP_TE_DCCCONRECV, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + case TYPE_SEND: + /* passive send */ + dcc->fastsend = prefs.hex_dcc_fast_send; + if (dcc->fastsend) + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE, dcc_send_data, dcc); + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_ack, dcc); + dcc_send_data (NULL, 0, (gpointer)dcc); + EMIT_SIGNAL (XP_TE_DCCCONSEND, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + case TYPE_CHATSEND: /* pchat */ + dcc_open_query (dcc->serv, dcc->nick); + case TYPE_CHATRECV: /* normal chat */ + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + dcc->dccchat = g_new0 (struct dcc_chat, 1); + EMIT_SIGNAL (XP_TE_DCCCONCHAT, dcc->serv->front_session, + dcc->nick, host, NULL, NULL, 0); + break; + } + dcc->starttime = time (0); + dcc->lasttime = dcc->starttime; + fe_dcc_update (dcc); + + return TRUE; +} + +static gboolean +read_proxy (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (proxy->bufferused < proxy->buffersize) + { + int ret = recv (dcc->sok, &proxy->buffer[proxy->bufferused], + proxy->buffersize - proxy->bufferused, 0); + if (ret > 0) + proxy->bufferused += ret; + else + { + if (would_block ()) + return FALSE; + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + return FALSE; + } + } + } + return TRUE; +} + +static gboolean +write_proxy (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (proxy->bufferused < proxy->buffersize) + { + int ret = send (dcc->sok, &proxy->buffer[proxy->bufferused], + proxy->buffersize - proxy->bufferused, 0); + if (ret >= 0) + proxy->bufferused += ret; + else + { + if (would_block ()) + return FALSE; + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + return FALSE; + } + } + } + return TRUE; +} + +static gboolean +proxy_read_line (struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + while (1) + { + proxy->buffersize = proxy->bufferused + 1; + if (!read_proxy (dcc)) + return FALSE; + if (proxy->buffer[proxy->bufferused - 1] == '\n' + || proxy->bufferused == MAX_PROXY_BUFFER) + { + proxy->buffer[proxy->bufferused - 1] = 0; + return TRUE; + } + } +} + +static gboolean +dcc_wingate_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + if (proxy->phase == 0) + { + proxy->buffersize = g_snprintf ((char*) proxy->buffer, MAX_PROXY_BUFFER, + "%s %d\r\n", net_ip(dcc->addr), + dcc->port); + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_wingate_proxy_traverse, dcc); + ++proxy->phase; + } + if (proxy->phase == 1) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + dcc_connect_finished (source, 0, dcc); + } + return TRUE; +} + +struct sock_connect +{ + char version; + char type; + guint16 port; + guint32 address; + char username[10]; +}; +static gboolean +dcc_socks_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + + if (proxy->phase == 0) + { + struct sock_connect sc; + sc.version = 4; + sc.type = 1; + sc.port = htons (dcc->port); + sc.address = htonl (dcc->addr); + g_strlcpy (sc.username, prefs.hex_irc_user_name, sizeof (sc.username)); + memcpy (proxy->buffer, &sc, sizeof (sc)); + proxy->buffersize = 8 + strlen (sc.username) + 1; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + proxy->buffersize = 8; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + if (proxy->buffer[1] == 90) + dcc_connect_finished (source, 0, dcc); + else + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + } + } + + return TRUE; +} + +struct sock5_connect1 +{ + char version; + char nmethods; + char method; +}; +static gboolean +dcc_socks5_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + int auth = prefs.hex_net_proxy_auth && prefs.hex_net_proxy_user[0] && prefs.hex_net_proxy_pass[0]; + + if (proxy->phase == 0) + { + struct sock5_connect1 sc1; + + sc1.version = 5; + sc1.nmethods = 1; + sc1.method = 0; + if (auth) + sc1.method = 2; + memcpy (proxy->buffer, &sc1, 3); + proxy->buffersize = 3; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + proxy->buffersize = 2; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!read_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + + /* did the server say no auth required? */ + if (proxy->buffer[0] == 5 && proxy->buffer[1] == 0) + auth = 0; + + /* Set up authentication I/O */ + if (auth) + { + int len_u=0, len_p=0; + + /* authentication sub-negotiation (RFC1929) */ + if ( proxy->buffer[0] != 5 || proxy->buffer[1] != 2 ) /* UPA not supported by server */ + { + PrintText (dcc->serv->front_session, "SOCKS\tServer doesn't support UPA authentication.\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + + memset (proxy->buffer, 0, MAX_PROXY_BUFFER); + + /* form the UPA request */ + len_u = strlen (prefs.hex_net_proxy_user); + len_p = strlen (prefs.hex_net_proxy_pass); + proxy->buffer[0] = 1; + proxy->buffer[1] = len_u; + memcpy (proxy->buffer + 2, prefs.hex_net_proxy_user, len_u); + proxy->buffer[2 + len_u] = len_p; + memcpy (proxy->buffer + 3 + len_u, prefs.hex_net_proxy_pass, len_p); + + proxy->buffersize = 3 + len_u + len_p; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + else + { + if (proxy->buffer[0] != 5 || proxy->buffer[1] != 0) + { + PrintText (dcc->serv->front_session, "SOCKS\tAuthentication required but disabled in settings.\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + proxy->phase += 2; + } + } + + if (proxy->phase == 3) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->buffersize = 2; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 4) + { + if (!read_proxy (dcc)) + return TRUE; + if (dcc->iotag) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + } + if (proxy->buffer[1] != 0) + { + PrintText (dcc->serv->front_session, "SOCKS\tAuthentication failed. " + "Is username and password correct?\n"); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + ++proxy->phase; + } + + if (proxy->phase == 5) + { + proxy->buffer[0] = 5; /* version (socks 5) */ + proxy->buffer[1] = 1; /* command (connect) */ + proxy->buffer[2] = 0; /* reserved */ + proxy->buffer[3] = 1; /* address type (IPv4) */ + proxy->buffer[4] = (dcc->addr >> 24) & 0xFF; /* IP address */ + proxy->buffer[5] = (dcc->addr >> 16) & 0xFF; + proxy->buffer[6] = (dcc->addr >> 8) & 0xFF; + proxy->buffer[7] = (dcc->addr & 0xFF); + proxy->buffer[8] = (dcc->port >> 8) & 0xFF; /* port */ + proxy->buffer[9] = (dcc->port & 0xFF); + proxy->buffersize = 10; + proxy->bufferused = 0; + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 6) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->buffersize = 4; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_socks5_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 7) + { + if (!read_proxy (dcc)) + return TRUE; + if (proxy->buffer[0] != 5 || proxy->buffer[1] != 0) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + if (proxy->buffer[1] == 2) + PrintText (dcc->serv->front_session, "SOCKS\tProxy refused to connect to host (not allowed).\n"); + else + PrintTextf (dcc->serv->front_session, "SOCKS\tProxy failed to connect to host (error %d).\n", proxy->buffer[1]); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + switch (proxy->buffer[3]) + { + case 1: proxy->buffersize += 6; break; + case 3: proxy->buffersize += 1; break; + case 4: proxy->buffersize += 18; break; + }; + ++proxy->phase; + } + + if (proxy->phase == 8) + { + if (!read_proxy (dcc)) + return TRUE; + /* handle domain name case */ + if (proxy->buffer[3] == 3) + { + proxy->buffersize = 5 + proxy->buffer[4] + 2; + } + /* everything done? */ + if (proxy->bufferused == proxy->buffersize) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + dcc_connect_finished (source, 0, dcc); + } + } + return TRUE; +} + +static gboolean +dcc_http_proxy_traverse (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + struct proxy_state *proxy = dcc->proxy; + + if (proxy->phase == 0) + { + char buf[256]; + char auth_data[128]; + char auth_data2[68]; + int n, n2; + + n = g_snprintf (buf, sizeof (buf), "CONNECT %s:%d HTTP/1.0\r\n", + net_ip(dcc->addr), dcc->port); + if (prefs.hex_net_proxy_auth) + { + n2 = g_snprintf (auth_data2, sizeof (auth_data2), "%s:%s", + prefs.hex_net_proxy_user, prefs.hex_net_proxy_pass); + base64_encode (auth_data, auth_data2, n2); + n += g_snprintf (buf+n, sizeof (buf)-n, "Proxy-Authorization: Basic %s\r\n", auth_data); + } + n += g_snprintf (buf+n, sizeof (buf)-n, "\r\n"); + proxy->buffersize = n; + proxy->bufferused = 0; + memcpy (proxy->buffer, buf, proxy->buffersize); + dcc->wiotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, + dcc_http_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 1) + { + if (!write_proxy (dcc)) + return TRUE; + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + proxy->bufferused = 0; + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, + dcc_http_proxy_traverse, dcc); + ++proxy->phase; + } + + if (proxy->phase == 2) + { + if (!proxy_read_line (dcc)) + return TRUE; + /* "HTTP/1.0 200 OK" */ + if (proxy->bufferused < 12 || + memcmp (proxy->buffer, "HTTP/", 5) || memcmp (proxy->buffer + 9, "200", 3)) + { + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + PrintText (dcc->serv->front_session, proxy->buffer); + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return TRUE; + } + proxy->bufferused = 0; + ++proxy->phase; + } + + if (proxy->phase == 3) + { + while (1) + { + /* read until blank line */ + if (proxy_read_line (dcc)) + { + if (proxy->bufferused < 1 || + (proxy->bufferused == 2 && proxy->buffer[0] == '\r')) + { + break; + } + if (proxy->bufferused > 1) + PrintText (dcc->serv->front_session, proxy->buffer); + proxy->bufferused = 0; + } + else + return TRUE; + } + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + dcc_connect_finished (source, 0, dcc); + } + + return TRUE; +} + +static gboolean +dcc_proxy_connect (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + + if (!dcc_did_connect (source, condition, dcc)) + return TRUE; + + dcc->proxy = g_new0 (struct proxy_state, 1); + + switch (prefs.hex_net_proxy_type) + { + case 1: return dcc_wingate_proxy_traverse (source, condition, dcc); + case 2: return dcc_socks_proxy_traverse (source, condition, dcc); + case 3: return dcc_socks5_proxy_traverse (source, condition, dcc); + case 4: return dcc_http_proxy_traverse (source, condition, dcc); + } + return TRUE; +} + +static int dcc_listen_init (struct DCC *, struct session *); + +static void +dcc_connect (struct DCC *dcc) +{ + int ret; + char tbuf[400]; + + if (dcc->dccstat == STAT_CONNECTING) + return; + dcc->dccstat = STAT_CONNECTING; + + if (dcc->pasvid && dcc->port == 0) + { + /* accepted a passive dcc send */ + ret = dcc_listen_init (dcc, dcc->serv->front_session); + if (!ret) + { + dcc_close (dcc, STAT_FAILED, FALSE); + return; + } + /* possible problems with filenames containing spaces? */ + if (dcc->type == TYPE_RECV) + g_snprintf (tbuf, sizeof (tbuf), strchr (dcc->file, ' ') ? + "DCC SEND \"%s\" %u %d %" G_GUINT64_FORMAT " %d" : + "DCC SEND %s %u %d %" G_GUINT64_FORMAT " %d", dcc->file, + dcc->addr, dcc->port, dcc->size, dcc->pasvid); + else + g_snprintf (tbuf, sizeof (tbuf), "DCC CHAT chat %u %d %d", + dcc->addr, dcc->port, dcc->pasvid); + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + } + else + { + dcc->sok = dcc_connect_sok (dcc); + if (dcc->sok == -1) + { + dcc->dccstat = STAT_FAILED; + fe_dcc_update (dcc); + return; + } + if (DCC_USE_PROXY ()) + dcc->iotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, dcc_proxy_connect, dcc); + else + dcc->iotag = fe_input_add (dcc->sok, FIA_WRITE|FIA_EX, dcc_connect_finished, dcc); + } + + fe_dcc_update (dcc); +} + +static gboolean +dcc_send_data (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char *buf; + int len, sent, sok = dcc->sok; + + if (prefs.hex_dcc_blocksize < 1) /* this is too little! */ + prefs.hex_dcc_blocksize = 1024; + + if (prefs.hex_dcc_blocksize > 102400) /* this is too much! */ + prefs.hex_dcc_blocksize = 102400; + + if (dcc->throttled) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + return FALSE; + } + + if (!dcc->fastsend) + { + if (dcc->ack < (dcc->pos & 0xFFFFFFFF)) + return TRUE; + } + else if (!dcc->wiotag) + dcc->wiotag = fe_input_add (sok, FIA_WRITE, dcc_send_data, dcc); + + buf = g_malloc (prefs.hex_dcc_blocksize); + + lseek (dcc->fp, dcc->pos, SEEK_SET); + len = read (dcc->fp, buf, prefs.hex_dcc_blocksize); + if (len < 1) + goto abortit; + sent = send (sok, buf, len, 0); + + if (sent < 0 && !(would_block ())) + { +abortit: + g_free (buf); + EMIT_SIGNAL (XP_TE_DCCSENDFAIL, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, + errorstring (sock_error ()), NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + if (sent > 0) + { + dcc->pos += sent; + dcc->lasttime = time (0); + } + + /* have we sent it all yet? */ + if (dcc->pos >= dcc->size) + { + /* it's all sent now, so remove the WRITE/SEND handler */ + if (dcc->wiotag) + { + fe_input_remove (dcc->wiotag); + dcc->wiotag = 0; + } + } + + g_free (buf); + + return TRUE; +} + +static gboolean +dcc_handle_new_ack (struct DCC *dcc) +{ + guint32 ack; + char buf[16]; + gboolean done = FALSE; + + memcpy (&ack, dcc->ack_buf, 4); + dcc->ack = ntohl (ack); + + /* this could mess up when xfering >32bit files */ + if (dcc->size <= 0xffffffff) + { + /* fix for BitchX */ + if (dcc->ack < dcc->resumable) + dcc->ackoffset = TRUE; + if (dcc->ackoffset) + dcc->ack += dcc->resumable; + } + + /* DCC complete check */ + if (dcc->pos >= dcc->size && dcc->ack >= (dcc->size & 0xffffffff)) + { + dcc->ack = dcc->size; /* force 100% ack for >4 GB */ + dcc_close (dcc, STAT_DONE, FALSE); + dcc_calc_average_cps (dcc); /* this must be done _after_ dcc_close, or dcc_remove_from_sum will see the wrong value in dcc->cps */ + /* cppcheck-suppress deallocuse */ + sprintf (buf, "%" G_GINT64_FORMAT, dcc->cps); + EMIT_SIGNAL (XP_TE_DCCSENDCOMP, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, buf, NULL, 0); + done = TRUE; + } + else if ((!dcc->fastsend) && (dcc->ack >= (dcc->pos & 0xffffffff))) + { + dcc_send_data (NULL, 0, (gpointer)dcc); + } + + /* take the top 32 of "bytes send" and bottom 32 of "ack" */ + dcc->ack = (dcc->pos & G_GINT64_CONSTANT (0xffffffff00000000)) | + (dcc->ack & 0xffffffff); + /* dcc->ack is only used for CPS and PERCENTAGE calcs from now on... */ + + return done; +} + +static gboolean +dcc_read_ack (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + int len; + + while (1) + { + /* try to fill up 4 bytes */ + len = recv (dcc->sok, dcc->ack_buf, 4 - dcc->ack_pos, 0); + if (len < 1) + { + if (len < 0) + { + if (would_block ()) /* ok - keep waiting */ + return TRUE; + } + EMIT_SIGNAL (XP_TE_DCCSENDFAIL, dcc->serv->front_session, + file_part (dcc->file), dcc->nick, + errorstring ((len < 0) ? sock_error () : 0), NULL, 0); + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + + dcc->ack_pos += len; + if (dcc->ack_pos >= 4) + { + dcc->ack_pos = 0; + if (dcc_handle_new_ack (dcc)) + return TRUE; + } + /* loop again until would_block() returns true */ + } +} + +static gboolean +dcc_accept (GIOChannel *source, GIOCondition condition, struct DCC *dcc) +{ + char host[128]; + struct sockaddr_in CAddr; + int sok; + socklen_t len; + + len = sizeof (CAddr); + sok = accept (dcc->sok, (struct sockaddr *) &CAddr, &len); + fe_input_remove (dcc->iotag); + dcc->iotag = 0; + closesocket (dcc->sok); + if (sok < 0) + { + dcc->sok = -1; + dcc_close (dcc, STAT_FAILED, FALSE); + return TRUE; + } + set_nonblocking (sok); + dcc->sok = sok; + dcc->addr = ntohl (CAddr.sin_addr.s_addr); + + if (dcc->pasvid) + return dcc_connect_finished (NULL, 0, dcc); + + dcc->dccstat = STAT_ACTIVE; + dcc->lasttime = dcc->starttime = time (0); + dcc->fastsend = prefs.hex_dcc_fast_send; + + g_snprintf (host, sizeof (host), "%s:%d", net_ip (dcc->addr), dcc->port); + + switch (dcc->type) + { + case TYPE_SEND: + if (dcc->fastsend) + dcc->wiotag = fe_input_add (sok, FIA_WRITE, dcc_send_data, dcc); + dcc->iotag = fe_input_add (sok, FIA_READ|FIA_EX, dcc_read_ack, dcc); + dcc_send_data (NULL, 0, (gpointer)dcc); + EMIT_SIGNAL (XP_TE_DCCCONSEND, dcc->serv->front_session, + dcc->nick, host, dcc->file, NULL, 0); + break; + + case TYPE_CHATSEND: + dcc_open_query (dcc->serv, dcc->nick); + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_read_chat, dcc); + dcc->dccchat = g_new0 (struct dcc_chat, 1); + EMIT_SIGNAL (XP_TE_DCCCONCHAT, dcc->serv->front_session, + dcc->nick, host, NULL, NULL, 0); + break; + default: + break; + } + + fe_dcc_update (dcc); + + return TRUE; +} + +guint32 +dcc_get_my_address (session *sess) /* the address we'll tell the other person */ +{ + struct hostent *dns_query; + guint32 addr = 0; + + if (prefs.hex_dcc_ip_from_server && sess->server->dcc_ip) + addr = sess->server->dcc_ip; + else if (prefs.hex_dcc_ip[0]) + { + dns_query = gethostbyname ((const char *) prefs.hex_dcc_ip); + + if (dns_query != NULL && + dns_query->h_length == 4 && + dns_query->h_addr_list[0] != NULL) + { + /*we're offered at least one IPv4 address: we take the first*/ + addr = *((guint32*) dns_query->h_addr_list[0]); + } + } + + return addr; +} + +static int +dcc_listen_init (struct DCC *dcc, session *sess) +{ + guint32 my_addr; + struct sockaddr_in SAddr; + int i, bindretval = -1; + socklen_t len; + + dcc->sok = socket (AF_INET, SOCK_STREAM, 0); + if (dcc->sok == -1) + return FALSE; + + memset (&SAddr, 0, sizeof (struct sockaddr_in)); + + len = sizeof (SAddr); + getsockname (dcc->serv->sok, (struct sockaddr *) &SAddr, &len); + + SAddr.sin_family = AF_INET; + + /*if local_ip is specified use that*/ + if (prefs.local_ip != 0xffffffff) + { + my_addr = prefs.local_ip; + SAddr.sin_addr.s_addr = prefs.local_ip; + } + /*otherwise use the default*/ + else + my_addr = SAddr.sin_addr.s_addr; + + /*if we have a valid portrange try to use that*/ + if (prefs.hex_dcc_port_first > 0) + { + SAddr.sin_port = 0; + i = 0; + while ((prefs.hex_dcc_port_last > ntohs(SAddr.sin_port)) && + (bindretval == -1)) + { + SAddr.sin_port = htons (prefs.hex_dcc_port_first + i); + i++; + /*printf("Trying to bind against port: %d\n",ntohs(SAddr.sin_port));*/ + bindretval = bind (dcc->sok, (struct sockaddr *) &SAddr, sizeof (SAddr)); + } + + /* with a small port range, reUseAddr is needed */ + len = 1; + setsockopt (dcc->sok, SOL_SOCKET, SO_REUSEADDR, (char *) &len, sizeof (len)); + + } else + { + /* try random port */ + SAddr.sin_port = 0; + bindretval = bind (dcc->sok, (struct sockaddr *) &SAddr, sizeof (SAddr)); + } + + if (bindretval == -1) + { + /* failed to bind */ + PrintText (sess, "Failed to bind to any address or port.\n"); + return FALSE; + } + + len = sizeof (SAddr); + getsockname (dcc->sok, (struct sockaddr *) &SAddr, &len); + + dcc->port = ntohs (SAddr.sin_port); + + /*if we have a dcc_ip, we use that, so the remote client can connect*/ + /*else we try to take an address from hex_dcc_ip*/ + /*if something goes wrong we tell the client to connect to our LAN ip*/ + dcc->addr = dcc_get_my_address (sess); + + /*if nothing else worked we use the address we bound to*/ + if (dcc->addr == 0) + dcc->addr = my_addr; + + dcc->addr = ntohl (dcc->addr); + + set_nonblocking (dcc->sok); + listen (dcc->sok, 1); + set_blocking (dcc->sok); + + dcc->iotag = fe_input_add (dcc->sok, FIA_READ|FIA_EX, dcc_accept, dcc); + + return TRUE; +} + +static struct session *dccsess; +static char *dccto; /* lame!! */ +static gint64 dccmaxcps; +static int recursive = FALSE; + +static void +dcc_send_wild (char *file) +{ + dcc_send (dccsess, dccto, file, dccmaxcps, 0); +} + +void +dcc_send (struct session *sess, char *to, char *filename, gint64 maxcps, int passive) +{ + char outbuf[512]; + GFileInfo *file_info; + GFile *file; + struct DCC *dcc; + gchar *filename_fs; + GFileType file_type; + goffset file_size; + + filename = expand_homedir (filename); + + if (!recursive && (strchr (filename, '*') || strchr (filename, '?'))) + { + char path[256]; + char wild[256]; + + safe_strcpy (wild, file_part (filename), sizeof (wild)); + path_part (filename, path, sizeof (path)); + if (path[0] != '/' || path[1] != '\0') + path[strlen (path) - 1] = 0; /* remove trailing slash */ + + dccsess = sess; + dccto = to; + dccmaxcps = maxcps; + + g_free (filename); + + recursive = TRUE; + for_files (path, wild, dcc_send_wild); + recursive = FALSE; + + return; + } + + dcc = new_dcc (); + if (!dcc) + { + g_free (filename); + return; + } + + dcc->file = filename; + dcc->maxcps = maxcps; + + filename_fs = g_filename_from_utf8 (filename, -1, NULL, NULL, NULL); + if (filename_fs == NULL) + { + PrintTextf (sess, _("Cannot access %s\n"), dcc->file); + PrintTextf (sess, "%s %d: %s\n", _("Error"), errno, errorstring (errno)); + + dcc_close (dcc, 0, TRUE); /* dcc_close will free dcc->file */ + + return; + } + + file = g_file_new_for_path (filename_fs); + if (file == NULL) + { + PrintTextf (sess, _("Cannot access %s\n"), dcc->file); + PrintTextf (sess, "%s %d: %s\n", _("Error"), errno, errorstring (errno)); + + dcc_close (dcc, 0, TRUE); /* dcc_close will free dcc->file */ + + g_free (filename_fs); + + return; + } + + file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_SIZE "," G_FILE_ATTRIBUTE_STANDARD_TYPE, G_FILE_QUERY_INFO_NONE, NULL, NULL); + + g_object_unref (file); + + if (file_info == NULL) + { + PrintTextf (sess, _("Cannot access %s\n"), dcc->file); + PrintTextf (sess, "%s %d: %s\n", _("Error"), errno, errorstring (errno)); + + dcc_close (dcc, 0, TRUE); /* dcc_close will free dcc->file */ + + g_free (filename_fs); + + return; + } + + file_type = g_file_info_get_file_type (file_info); + file_size = g_file_info_get_size (file_info); + + g_object_unref (file_info); + + if (*file_part (filename) == '\0' || file_type == G_FILE_TYPE_DIRECTORY || file_size <= 0) + { + PrintText (sess, "Cannot send directories or empty files.\n"); + + dcc_close (dcc, 0, TRUE); /* dcc_close will free dcc->file */ + + g_free (filename_fs); + + return; + } + + dcc->starttime = dcc->offertime = time (0); + dcc->serv = sess->server; + dcc->dccstat = STAT_QUEUED; + dcc->size = file_size; + dcc->type = TYPE_SEND; + dcc->fp = g_open (filename_fs, OFLAGS | O_RDONLY, 0); + + g_free (filename_fs); + + if (dcc->fp == -1) + { + PrintText (sess, "Cannot send directories or empty files.\n"); + + dcc_close (dcc, 0, TRUE); /* dcc_close will free dcc->file */ + + return; + } + + if (passive || dcc_listen_init (dcc, sess)) + { + char havespaces = 0; + while (*filename) + { + if (*filename == ' ') + { + if (prefs.hex_dcc_send_fillspaces) + *filename = '_'; + else + havespaces = 1; + } + filename++; + } + dcc->nick = g_strdup (to); + if (prefs.hex_gui_autoopen_send) + { + if (fe_dcc_open_send_win (TRUE)) /* already open? add */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (passive) + { + dcc->pasvid = new_id(); + g_snprintf (outbuf, sizeof (outbuf), (havespaces) ? + "DCC SEND \"%s\" 199 0 %" G_GUINT64_FORMAT " %d" : + "DCC SEND %s 199 0 %" G_GUINT64_FORMAT " %d", + file_part (dcc->file), + dcc->size, dcc->pasvid); + } + else + { + g_snprintf (outbuf, sizeof (outbuf), (havespaces) ? + "DCC SEND \"%s\" %u %d %" G_GUINT64_FORMAT : + "DCC SEND %s %u %d %" G_GUINT64_FORMAT, + file_part (dcc->file), dcc->addr, + dcc->port, dcc->size); + } + sess->server->p_ctcp (sess->server, to, outbuf); + + EMIT_SIGNAL (XP_TE_DCCOFFER, sess, file_part (dcc->file), + to, dcc->file, NULL, 0); + } + else + { + dcc_close (dcc, 0, TRUE); + } +} + +static struct DCC * +find_dcc_from_id (int id, int type) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->pasvid == id && + dcc->dccstat == STAT_QUEUED && dcc->type == type) + return dcc; + list = list->next; + } + return NULL; +} + +static struct DCC * +find_dcc_from_port (int port, int type) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->port == port && + dcc->dccstat == STAT_QUEUED && dcc->type == type) + return dcc; + list = list->next; + } + return NULL; +} + +struct DCC * +find_dcc (char *nick, char *file, int type) +{ + GSList *list = dcc_list; + struct DCC *dcc; + while (list) + { + dcc = (struct DCC *) list->data; + if (nick == NULL || !rfc_casecmp (nick, dcc->nick)) + { + if (type == -1 || dcc->type == type) + { + if (!file[0]) + return dcc; + if (!g_ascii_strcasecmp (file, file_part (dcc->file))) + return dcc; + if (!g_ascii_strcasecmp (file, dcc->file)) + return dcc; + } + } + list = list->next; + } + return NULL; +} + +/* called when we receive a NICK change from server */ + +void +dcc_change_nick (struct server *serv, char *oldnick, char *newnick) +{ + struct DCC *dcc; + GSList *list = dcc_list; + + while (list) + { + dcc = (struct DCC *) list->data; + if (dcc->serv == serv) + { + if (!serv->p_cmp (dcc->nick, oldnick)) + { + g_free (dcc->nick); + dcc->nick = g_strdup (newnick); + } + } + list = list->next; + } +} + +/* is the destination file the same? new_dcc is not opened yet */ + +static gboolean +is_same_file (struct DCC *dcc, struct DCC *new_dcc) +{ + gboolean result = FALSE; + gchar *filename_fs = NULL, *new_filename_fs = NULL; + GFile *file = NULL, *new_file = NULL; + GFileInfo *file_info = NULL, *new_file_info = NULL; + char *file_id = NULL, *new_file_id = NULL; + char *filesystem_id = NULL, *new_filesystem_id = NULL; + + /* if it's the same filename, must be same */ + if (strcmp (dcc->destfile, new_dcc->destfile) == 0) + { + return TRUE; + } + + filename_fs = g_filename_from_utf8 (dcc->file, -1, NULL, NULL, NULL); + if (filename_fs == NULL) + { + goto exit; + } + + new_filename_fs = g_filename_from_utf8 (new_dcc->file, -1, NULL, NULL, NULL); + if (new_filename_fs == NULL) + { + goto exit; + } + + file = g_file_new_for_path (filename_fs); + if (file == NULL) + { + goto exit; + } + + new_file = g_file_new_for_path (new_filename_fs); + if (new_file == NULL) + { + goto exit; + } + + file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_ID_FILE "," G_FILE_ATTRIBUTE_ID_FILESYSTEM, G_FILE_QUERY_INFO_NONE, NULL, NULL); + if (file_info == NULL) + { + goto exit; + } + + new_file_info = g_file_query_info (new_file, G_FILE_ATTRIBUTE_ID_FILE "," G_FILE_ATTRIBUTE_ID_FILESYSTEM, G_FILE_QUERY_INFO_NONE, NULL, NULL); + if (new_file_info == NULL) + { + goto exit; + } + + file_id = g_file_info_get_attribute_as_string (file_info, G_FILE_ATTRIBUTE_ID_FILE); + new_file_id = g_file_info_get_attribute_as_string (new_file_info, G_FILE_ATTRIBUTE_ID_FILE); + + filesystem_id = g_file_info_get_attribute_as_string (file_info, G_FILE_ATTRIBUTE_ID_FILE); + new_filesystem_id = g_file_info_get_attribute_as_string (new_file_info, G_FILE_ATTRIBUTE_ID_FILE); + + if (file_id != NULL && new_file_id != NULL && filesystem_id != NULL && new_filesystem_id != NULL && strcmp (file_id, new_file_id) == 0 && strcmp (filesystem_id, new_filesystem_id) == 0) + { + result = TRUE; + } + +exit: + g_free (filename_fs); + g_free (new_filename_fs); + + if (file != NULL) + { + g_object_unref (file); + } + + if (new_file != NULL) + { + g_object_unref (new_file); + } + + if (file_info != NULL) + { + g_object_unref (file_info); + } + + if (new_file_info != NULL) + { + g_object_unref (new_file_info); + } + + g_free (file_id); + g_free (new_file_id); + g_free(filesystem_id); + g_free(new_filesystem_id); + + return result; +} + +static void +update_is_resumable (struct DCC *dcc) +{ + gchar *filename_fs = g_filename_from_utf8 (dcc->destfile, -1, NULL, NULL, NULL); + + dcc->resumable = 0; + + /* Check the file size */ + if (filename_fs != NULL && g_access(filename_fs, W_OK) == 0) + { + GFile *file = g_file_new_for_path (filename_fs); + if (file != NULL) + { + GFileInfo *file_info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_SIZE "," G_FILE_ATTRIBUTE_STANDARD_TYPE, G_FILE_QUERY_INFO_NONE, NULL, NULL); + + if (file_info != NULL) + { + goffset file_size_offset = g_file_info_get_size (file_info); + guint64 file_size = (file_size_offset >= 0) ? (guint64) file_size_offset : 0; + if (file_size < dcc->size) + { + dcc->resumable = file_size; + dcc->pos = file_size; + } + else + { + dcc->resume_error = 2; + } + + g_object_unref (file_info); + } + else + { + dcc->resume_errno = errno; + dcc->resume_error = 1; + } + + g_object_unref(file); + } + else + { + dcc->resume_errno = errno; + dcc->resume_error = 1; + } + } + else + { + dcc->resume_errno = errno; + dcc->resume_error = 1; + } + + g_free (filename_fs); + + /* Now verify that this DCC is not already in progress from someone else */ + if (dcc->resumable) + { + GSList *list = dcc_list; + struct DCC *d; + while (list) + { + d = list->data; + if (d->type == TYPE_RECV && d->dccstat != STAT_ABORTED && + d->dccstat != STAT_DONE && d->dccstat != STAT_FAILED && + d->dccstat != STAT_QUEUED) + { + if (d != dcc && is_same_file (d, dcc)) + { + dcc->resume_error = 3; /* dccgui.c uses it */ + dcc->resumable = 0; + dcc->pos = 0; + break; + } + } + list = list->next; + } + } +} + +void +dcc_get (struct DCC *dcc) +{ + switch (dcc->dccstat) + { + case STAT_QUEUED: + if (dcc->type != TYPE_CHATSEND) + { + if (dcc->type == TYPE_RECV && prefs.hex_dcc_auto_resume && dcc->resumable) + { + dcc_resume (dcc); + } + else + { + dcc->resumable = 0; + dcc->pos = 0; + dcc_connect (dcc); + } + } + break; + case STAT_DONE: + case STAT_FAILED: + case STAT_ABORTED: + dcc_close (dcc, 0, TRUE); + break; + default: + break; + } +} + +/* for "Save As..." dialog */ + +void +dcc_get_with_destfile (struct DCC *dcc, char *file) +{ + g_free (dcc->destfile); + dcc->destfile = g_strdup (file); /* utf-8 */ + + /* since destfile changed, must check resumability again */ + update_is_resumable (dcc); + + dcc_get (dcc); +} + +void +dcc_get_nick (struct session *sess, char *nick) +{ + struct DCC *dcc; + GSList *list = dcc_list; + while (list) + { + dcc = (struct DCC *) list->data; + if (!sess->server->p_cmp (nick, dcc->nick)) + { + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_RECV) + { + update_is_resumable (dcc); + if (prefs.hex_dcc_auto_resume && dcc->resumable) + { + dcc_resume (dcc); + } + else + { + dcc->pos = 0; + dcc->ack = 0; + dcc_connect (dcc); + } + return; + } + } + list = list->next; + } + if (sess) + EMIT_SIGNAL (XP_TE_DCCIVAL, sess, NULL, NULL, NULL, NULL, 0); +} + +static struct DCC * +new_dcc (void) +{ + struct DCC *dcc = g_new0 (struct DCC, 1); + dcc->sok = -1; + dcc->fp = -1; + dcc_list = g_slist_prepend (dcc_list, dcc); + if (timeout_timer == 0) + { + timeout_timer = fe_timeout_add_seconds (1, dcc_check_timeouts, NULL); + } + return dcc; +} + +void +dcc_chat (struct session *sess, char *nick, int passive) +{ + char outbuf[512]; + struct DCC *dcc; + + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_ACTIVE: + case STAT_QUEUED: + case STAT_CONNECTING: + EMIT_SIGNAL (XP_TE_DCCCHATREOFFER, sess, nick, NULL, NULL, NULL, 0); + return; + case STAT_ABORTED: + case STAT_FAILED: + dcc_close (dcc, 0, TRUE); + break; + case STAT_DONE: + break; + } + } + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (dcc) + { + switch (dcc->dccstat) + { + case STAT_QUEUED: + dcc_connect (dcc); + break; + case STAT_FAILED: + case STAT_ABORTED: + dcc_close (dcc, 0, TRUE); + break; + default: + break; + } + return; + } + /* offer DCC CHAT */ + + dcc = new_dcc (); + if (!dcc) + return; + dcc->starttime = dcc->offertime = time (0); + dcc->serv = sess->server; + dcc->dccstat = STAT_QUEUED; + dcc->type = TYPE_CHATSEND; + dcc->nick = g_strdup (nick); + if (passive || dcc_listen_init (dcc, sess)) + { + if (prefs.hex_gui_autoopen_chat) + { + if (fe_dcc_open_chat_win (TRUE)) /* already open? add only */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (passive) + { + dcc->pasvid = new_id (); + g_snprintf (outbuf, sizeof (outbuf), "DCC CHAT chat 199 %d %d", + dcc->port, dcc->pasvid); + } else + { + g_snprintf (outbuf, sizeof (outbuf), "DCC CHAT chat %u %d", + dcc->addr, dcc->port); + } + dcc->serv->p_ctcp (dcc->serv, nick, outbuf); + EMIT_SIGNAL (XP_TE_DCCCHATOFFERING, sess, nick, NULL, NULL, NULL, 0); + } else + { + dcc_close (dcc, 0, TRUE); + } +} + +static void +dcc_malformed (struct session *sess, char *nick, char *data) +{ + EMIT_SIGNAL (XP_TE_MALFORMED, sess, nick, data, NULL, NULL, 0); +} + +int +dcc_resume (struct DCC *dcc) +{ + char tbuf[500]; + + update_is_resumable (dcc); + + if (dcc->dccstat == STAT_QUEUED && dcc->resumable) + { + dcc->resume_sent = 1; + /* filename contains spaces? Quote them! */ + g_snprintf (tbuf, sizeof (tbuf) - 10, strchr (dcc->file, ' ') ? + "DCC RESUME \"%s\" %d %" G_GUINT64_FORMAT : + "DCC RESUME %s %d %" G_GUINT64_FORMAT, + dcc->file, dcc->port, dcc->resumable); + + if (dcc->pasvid) + sprintf (tbuf + strlen (tbuf), " %d", dcc->pasvid); + + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + return 1; + } + + return 0; +} + +static void +dcc_confirm_send (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_get (dcc); +} + +static void +dcc_deny_send (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_abort (dcc->serv->front_session, dcc); +} + +static void +dcc_confirm_chat (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_connect (dcc); +} + +static void +dcc_deny_chat (void *ud) +{ + struct DCC *dcc = (struct DCC *) ud; + dcc_abort (dcc->serv->front_session, dcc); +} + +static struct DCC * +dcc_add_chat (session *sess, char *nick, int port, guint32 addr, int pasvid) +{ + struct DCC *dcc; + + dcc = new_dcc (); + if (dcc) + { + dcc->serv = sess->server; + dcc->type = TYPE_CHATRECV; + dcc->dccstat = STAT_QUEUED; + dcc->addr = addr; + dcc->port = port; + dcc->pasvid = pasvid; + dcc->nick = g_strdup (nick); + dcc->starttime = time (0); + + EMIT_SIGNAL (XP_TE_DCCCHATOFFER, sess->server->front_session, nick, + NULL, NULL, NULL, 0); + + if (prefs.hex_gui_autoopen_chat) + { + if (fe_dcc_open_chat_win (TRUE)) /* already open? add only */ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + + if (prefs.hex_dcc_auto_chat) + { + dcc_connect (dcc); + } + else + { + char buff[128]; + g_snprintf (buff, sizeof (buff), "%s is offering DCC Chat. Do you want to accept?", nick); + fe_confirm (buff, dcc_confirm_chat, dcc_deny_chat, dcc); + } + } + + return dcc; +} + +static struct DCC * +dcc_add_file (session *sess, char *file, guint64 size, int port, char *nick, guint32 addr, int pasvid) +{ + struct DCC *dcc; + char tbuf[512]; + + dcc = new_dcc (); + if (dcc) + { + dcc->file = g_strdup (file); + + dcc->destfile = g_malloc (strlen (prefs.hex_dcc_dir) + strlen (nick) + + strlen (file) + 4); + + strcpy (dcc->destfile, prefs.hex_dcc_dir); + if (prefs.hex_dcc_dir[strlen (prefs.hex_dcc_dir) - 1] != G_DIR_SEPARATOR) + strcat (dcc->destfile, G_DIR_SEPARATOR_S); + if (prefs.hex_dcc_save_nick) + { +#ifdef WIN32 + char *t = strlen (dcc->destfile) + dcc->destfile; + strcpy (t, nick); + while (*t) + { + if (*t == '\\' || *t == '|') + *t = '_'; + t++; + } +#else + strcat (dcc->destfile, nick); +#endif + strcat (dcc->destfile, "."); + } + strcat (dcc->destfile, file); + + dcc->resumable = 0; + dcc->pos = 0; + dcc->serv = sess->server; + dcc->type = TYPE_RECV; + dcc->dccstat = STAT_QUEUED; + dcc->addr = addr; + dcc->port = port; + dcc->pasvid = pasvid; + dcc->size = size; + dcc->nick = g_strdup (nick); + dcc->maxcps = prefs.hex_dcc_max_get_cps; + + update_is_resumable (dcc); + + if (prefs.hex_dcc_auto_recv == 1) + { + g_snprintf (tbuf, sizeof (tbuf), _("%s is offering \"%s\". Do you want to accept?"), nick, file); + fe_confirm (tbuf, dcc_confirm_send, dcc_deny_send, dcc); + } + else if (prefs.hex_dcc_auto_recv == 2) + { + dcc_get (dcc); + } + if (prefs.hex_gui_autoopen_recv) + { + if (fe_dcc_open_recv_win (TRUE)) /* was already open? just add*/ + fe_dcc_add (dcc); + } else + fe_dcc_add (dcc); + } + sprintf (tbuf, "%" G_GUINT64_FORMAT, size); + g_snprintf (tbuf + 24, 300, "%s:%d", net_ip (addr), port); + EMIT_SIGNAL (XP_TE_DCCSENDOFFER, sess->server->front_session, nick, + file, tbuf, tbuf + 24, 0); + + return dcc; +} + +void +handle_dcc (struct session *sess, char *nick, char *word[], char *word_eol[], + const message_tags_data *tags_data) +{ + char tbuf[512]; + struct DCC *dcc; + char *type = word[5]; + int port, pasvid = 0; + guint32 addr; + guint64 size; + int psend = 0; + + if (!g_ascii_strcasecmp (type, "CHAT")) + { + port = atoi (word[8]); + addr = strtoul (word[7], NULL, 10); + + if (port == 0) + pasvid = atoi (word[9]); + else if (word[9][0] != 0) + { + pasvid = atoi (word[9]); + psend = 1; + } + + if (!addr /*|| (port < 1024 && port != 0)*/ + || port > 0xffff || (port == 0 && pasvid == 0)) + { + dcc_malformed (sess, nick, word_eol[4] + 2); + return; + } + + if (psend) + { + dcc = find_dcc_from_id (pasvid, TYPE_CHATSEND); + if (dcc) + { + dcc->addr = addr; + dcc->port = port; + dcc_connect (dcc); + } else + { + dcc_malformed (sess, nick, word_eol[4] + 2); + } + return; + } + + dcc = find_dcc (nick, "", TYPE_CHATSEND); + if (dcc) + dcc_close (dcc, 0, TRUE); + + dcc = find_dcc (nick, "", TYPE_CHATRECV); + if (dcc) + dcc_close (dcc, 0, TRUE); + + dcc_add_chat (sess, nick, port, addr, pasvid); + return; + } + + if (!g_ascii_strcasecmp (type, "Resume")) + { + port = atoi (word[7]); + + if (port == 0) + { /* PASSIVE */ + pasvid = atoi(word[9]); + dcc = find_dcc_from_id(pasvid, TYPE_SEND); + } else + { + dcc = find_dcc_from_port (port, TYPE_SEND); + } + if (!dcc) + dcc = find_dcc (nick, word[6], TYPE_SEND); + if (dcc) + { + size = g_ascii_strtoull (word[8], NULL, 10); + dcc->resumable = size; + if (dcc->resumable < dcc->size) + { + dcc->pos = dcc->resumable; + dcc->ack = dcc->resumable; + lseek (dcc->fp, dcc->pos, SEEK_SET); + + /* Checking if dcc is passive and if filename contains spaces */ + if (dcc->pasvid) + g_snprintf (tbuf, sizeof (tbuf), strchr (file_part (dcc->file), ' ') ? + "DCC ACCEPT \"%s\" %d %" G_GUINT64_FORMAT " %d" : + "DCC ACCEPT %s %d %" G_GUINT64_FORMAT " %d", + file_part (dcc->file), port, dcc->resumable, dcc->pasvid); + else + g_snprintf (tbuf, sizeof (tbuf), strchr (file_part (dcc->file), ' ') ? + "DCC ACCEPT \"%s\" %d %" G_GUINT64_FORMAT : + "DCC ACCEPT %s %d %" G_GUINT64_FORMAT, + file_part (dcc->file), port, dcc->resumable); + + dcc->serv->p_ctcp (dcc->serv, dcc->nick, tbuf); + } + sprintf (tbuf, "%" G_GUINT64_FORMAT, dcc->pos); + EMIT_SIGNAL_TIMESTAMP (XP_TE_DCCRESUMEREQUEST, sess, nick, + file_part (dcc->file), tbuf, NULL, 0, + tags_data->timestamp); + } + return; + } + if (!g_ascii_strcasecmp (type, "Accept")) + { + port = atoi (word[7]); + dcc = find_dcc_from_port (port, TYPE_RECV); + if (dcc && dcc->dccstat == STAT_QUEUED) + { + dcc_connect (dcc); + } + return; + } + if (!g_ascii_strcasecmp (type, "SEND")) + { + char *file = file_part (word[6]); + + port = atoi (word[8]); + addr = strtoul (word[7], NULL, 10); + size = g_ascii_strtoull (word[9], NULL, 10); + + if (port == 0) /* Passive dcc requested */ + pasvid = atoi (word[10]); + else if (word[10][0] != 0) + { + /* Requesting passive dcc. + * Destination user of an active dcc is giving his + * TRUE address/port/pasvid data. + * This information will be used later to + * establish the connection to the user. + * We can recognize this type of dcc using word[10] + * because this field is always null (no pasvid) + * in normal dcc sends. + */ + pasvid = atoi (word[10]); + psend = 1; + } + + + if (!addr || !size /*|| (port < 1024 && port != 0)*/ + || port > 0xffff || (port == 0 && pasvid == 0)) + { + dcc_malformed (sess, nick, word_eol[4] + 2); + return; + } + + if (psend) + { + /* Third Step of Passive send. + * Connecting to the destination and finally + * sending file. + */ + dcc = find_dcc_from_id (pasvid, TYPE_SEND); + if (dcc) + { + dcc->addr = addr; + dcc->port = port; + dcc_connect (dcc); + } else + { + dcc_malformed (sess, nick, word_eol[4] + 2); + } + return; + } + + dcc_add_file (sess, file, size, port, nick, addr, pasvid); + + } else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_DCCGENERICOFFER, sess->server->front_session, + word_eol[4] + 2, nick, NULL, NULL, 0, + tags_data->timestamp); + } +} + +void +dcc_show_list (struct session *sess) +{ + int i = 0; + struct DCC *dcc; + GSList *list = dcc_list; + + EMIT_SIGNAL (XP_TE_DCCHEAD, sess, NULL, NULL, NULL, NULL, 0); + while (list) + { + dcc = (struct DCC *) list->data; + i++; + PrintTextf (sess, " %s %-10.10s %-7.7s %-7" G_GUINT64_FORMAT " %-7" G_GUINT64_FORMAT " %s\n", + dcctypes[dcc->type], dcc->nick, + _(dccstat[dcc->dccstat].name), dcc->size, dcc->pos, + file_part (dcc->file)); + list = list->next; + } + if (!i) + PrintText (sess, _("No active DCCs\n")); +} diff --git a/src/common/dcc.h b/src/common/dcc.h new file mode 100644 index 0000000000000000000000000000000000000000..74028205b3e05dc999e955ed98c85e9562f2d7ce --- /dev/null +++ b/src/common/dcc.h @@ -0,0 +1,130 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* dcc.h */ + +#include <time.h> /* for time_t */ +#include "proto-irc.h" + +#ifndef HEXCHAT_DCC_H +#define HEXCHAT_DCC_H + +enum dcc_state { + STAT_QUEUED = 0, + STAT_ACTIVE, + STAT_FAILED, + STAT_DONE, + STAT_CONNECTING, + STAT_ABORTED +}; + +enum dcc_type { + TYPE_SEND = 0, + TYPE_RECV, + TYPE_CHATRECV, + TYPE_CHATSEND +}; + +#define CPS_AVG_WINDOW 10 + +struct DCC +{ + struct server *serv; + struct dcc_chat *dccchat; + struct proxy_state *proxy; + guint32 addr; /* the 32bit IP number, host byte order */ + int fp; /* file pointer */ + int sok; + int iotag; /* reading io tag */ + int wiotag; /* writing/sending io tag */ + int port; + int pasvid; /* mIRC's passive DCC id */ + gint64 cps; + int resume_error; + int resume_errno; + + GTimeVal lastcpstv, firstcpstv; + goffset lastcpspos; + gint64 maxcps; + + unsigned char ack_buf[4]; /* buffer for reading 4-byte ack */ + int ack_pos; + + guint64 size; + guint64 resumable; + guint64 ack; + guint64 pos; + time_t starttime; + time_t offertime; + time_t lasttime; + char *file; /* utf8 */ + char *destfile; /* utf8 */ + char *nick; + enum dcc_type type; + enum dcc_state dccstat; + unsigned int resume_sent:1; /* resume request sent */ + unsigned int fastsend:1; + unsigned int ackoffset:1; /* is receiver sending acks as an offset from */ + /* the resume point? */ + unsigned int throttled:2; /* 0x1 = per send/get throttle + 0x2 = global throttle */ +}; + +#define MAX_PROXY_BUFFER 1024 +struct proxy_state +{ + int phase; + unsigned char buffer[MAX_PROXY_BUFFER]; + int buffersize; + int bufferused; +}; + +struct dcc_chat +{ + char linebuf[2048]; + int pos; +}; + +struct dccstat_info +{ + char *name; /* Display name */ + int color; /* Display color (index into colors[] ) */ +}; + +extern struct dccstat_info dccstat[]; + +gboolean is_dcc (struct DCC *dcc); +gboolean is_dcc_completed (struct DCC *dcc); +void dcc_abort (session *sess, struct DCC *dcc); +void dcc_get (struct DCC *dcc); +int dcc_resume (struct DCC *dcc); +void dcc_change_nick (server *serv, char *oldnick, char *newnick); +void dcc_notify_kill (struct server *serv); +struct DCC *dcc_write_chat (char *nick, char *text); +void dcc_send (struct session *sess, char *to, char *file, gint64 maxcps, int passive); +struct DCC *find_dcc (char *nick, char *file, int type); +void dcc_get_nick (struct session *sess, char *nick); +void dcc_chat (session *sess, char *nick, int passive); +void handle_dcc (session *sess, char *nick, char *word[], char *word_eol[], + const message_tags_data *tags_data); +void dcc_show_list (session *sess); +guint32 dcc_get_my_address (session *sess); +void dcc_get_with_destfile (struct DCC *dcc, char *utf8file); + +#endif diff --git a/src/common/fe.h b/src/common/fe.h new file mode 100644 index 0000000000000000000000000000000000000000..b8a6279e055969ae81011215d6513b9b079f02e2 --- /dev/null +++ b/src/common/fe.h @@ -0,0 +1,194 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "userlist.h" +#include "dcc.h" + +#ifndef HEXCHAT_FE_H +#define HEXCHAT_FE_H + +/* for storage of /menu entries */ +typedef struct +{ + gint32 pos; /* position */ + gint16 modifier; /* keybinding */ + gint16 root_offset; /* bytes to offset ->path */ + + char is_main; /* is part of the Main menu? (not a popup) */ + char state; /* state of toggle items */ + char markup; /* use pango markup? */ + char enable; /* enabled? sensitivity */ + + int key; + char *path; + char *label; + char *cmd; + char *ucmd; /* unselect command (toggles) */ + char *group; /* for radio items or NULL */ + char *icon; /* filename */ +} menu_entry; + +int fe_args (int argc, char *argv[]); +void fe_init (void); +void fe_main (void); +void fe_cleanup (void); +void fe_exit (void); +int fe_timeout_add (int interval, void *callback, void *userdata); +int fe_timeout_add_seconds (int interval, void *callback, void *userdata); +void fe_timeout_remove (int tag); +void fe_new_window (struct session *sess, int focus); +void fe_new_server (struct server *serv); +void fe_add_rawlog (struct server *serv, char *text, int len, int outbound); +#define FE_MSG_WAIT 1 +#define FE_MSG_INFO 2 +#define FE_MSG_WARN 4 +#define FE_MSG_ERROR 8 +#define FE_MSG_MARKUP 16 +void fe_message (char *msg, int flags); +#define FIA_READ 1 +#define FIA_WRITE 2 +#define FIA_EX 4 +#define FIA_FD 8 +int fe_input_add (int sok, int flags, void *func, void *data); +void fe_input_remove (int tag); +void fe_idle_add (void *func, void *data); +void fe_set_topic (struct session *sess, char *topic, char *stripped_topic); +typedef enum +{ + FE_COLOR_NONE = 0, + FE_COLOR_NEW_DATA = 1, + FE_COLOR_NEW_MSG = 2, + FE_COLOR_NEW_HILIGHT = 3, + FE_COLOR_FLAG_NOOVERRIDE = 8, +} tabcolor; +#define FE_COLOR_ALLFLAGS (FE_COLOR_FLAG_NOOVERRIDE) +void fe_set_tab_color (struct session *sess, tabcolor col); +void fe_flash_window (struct session *sess); +void fe_update_mode_buttons (struct session *sess, char mode, char sign); +void fe_update_channel_key (struct session *sess); +void fe_update_channel_limit (struct session *sess); +int fe_is_chanwindow (struct server *serv); +void fe_add_chan_list (struct server *serv, char *chan, char *users, + char *topic); +void fe_chan_list_end (struct server *serv); +gboolean fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int rplcode); +gboolean fe_ban_list_end (struct session *sess, int rplcode); +void fe_notify_update (char *name); +void fe_notify_ask (char *name, char *networks); +void fe_text_clear (struct session *sess, int lines); +void fe_close_window (struct session *sess); +void fe_progressbar_start (struct session *sess); +void fe_progressbar_end (struct server *serv); +void fe_print_text (struct session *sess, char *text, time_t stamp, + gboolean no_activity); +void fe_userlist_insert (struct session *sess, struct User *newuser, gboolean sel); +int fe_userlist_remove (struct session *sess, struct User *user); +void fe_userlist_rehash (struct session *sess, struct User *user); +void fe_userlist_update (struct session *sess, struct User *user); +void fe_userlist_numbers (struct session *sess); +void fe_userlist_clear (struct session *sess); +void fe_userlist_set_selected (struct session *sess); +void fe_uselect (session *sess, char *word[], int do_clear, int scroll_to); +void fe_dcc_add (struct DCC *dcc); +void fe_dcc_update (struct DCC *dcc); +void fe_dcc_remove (struct DCC *dcc); +int fe_dcc_open_recv_win (int passive); +int fe_dcc_open_send_win (int passive); +int fe_dcc_open_chat_win (int passive); +void fe_clear_channel (struct session *sess); +void fe_session_callback (struct session *sess); +void fe_server_callback (struct server *serv); +void fe_url_add (const char *text); +void fe_pluginlist_update (void); +void fe_buttons_update (struct session *sess); +void fe_dlgbuttons_update (struct session *sess); +void fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive); +void fe_set_channel (struct session *sess); +void fe_set_title (struct session *sess); +void fe_set_nonchannel (struct session *sess, int state); +void fe_set_nick (struct server *serv, char *newnick); +void fe_ignore_update (int level); +void fe_beep (session *sess); +void fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_flags flags); +void fe_set_lag (server *serv, long lag); +void fe_set_throttle (server *serv); +void fe_set_away (server *serv); +void fe_serverlist_open (session *sess); +void fe_get_bool (char *title, char *prompt, void *callback, void *userdata); +void fe_get_str (char *prompt, char *def, void *callback, void *ud); +void fe_get_int (char *prompt, int def, void *callback, void *ud); +#define FRF_WRITE 1 /* save file */ +#define FRF_MULTIPLE 2 /* multi-select */ +#define FRF_RECENTLYUSED 4 /* let gtk decide start dir instead of our config */ +#define FRF_CHOOSEFOLDER 8 /* choosing a folder only */ +#define FRF_FILTERISINITIAL 16 /* filter is initial directory */ +#define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */ +#define FRF_EXTENSIONS 64 /* specify file extensions to be displayed */ +#define FRF_MIMETYPES 128 /* specify file mimetypes to be displayed */ +#define FRF_MODAL 256 /* dialog should be modal to parent */ +void fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags); +typedef enum { + FE_GUI_HIDE, + FE_GUI_SHOW, + FE_GUI_FOCUS, + FE_GUI_FLASH, + FE_GUI_COLOR, + FE_GUI_ICONIFY, + FE_GUI_MENU, + FE_GUI_ATTACH, + FE_GUI_APPLY, +} fe_gui_action; +void fe_ctrl_gui (session *sess, fe_gui_action action, int arg); +int fe_gui_info (session *sess, int info_type); +void *fe_gui_info_ptr (session *sess, int info_type); +void fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud); +char *fe_get_inputbox_contents (struct session *sess); +int fe_get_inputbox_cursor (struct session *sess); +void fe_set_inputbox_contents (struct session *sess, char *text); +void fe_set_inputbox_cursor (struct session *sess, int delta, int pos); +void fe_open_url (const char *url); +void fe_menu_del (menu_entry *); +char *fe_menu_add (menu_entry *); +void fe_menu_update (menu_entry *); +#define FE_SE_CONNECT 0 +#define FE_SE_LOGGEDIN 1 +#define FE_SE_DISCONNECT 2 +#define FE_SE_RECONDELAY 3 +#define FE_SE_CONNECTING 4 +void fe_server_event (server *serv, int type, int arg); +/* pass NULL filename2 for default HexChat icon */ +void fe_tray_set_flash (const char *filename1, const char *filename2, int timeout); +/* pass NULL filename for default HexChat icon */ +void fe_tray_set_file (const char *filename); +typedef enum +{ + FE_ICON_NORMAL = 0, + FE_ICON_MESSAGE = 2, + FE_ICON_HIGHLIGHT = 5, + FE_ICON_PRIVMSG = 8, + FE_ICON_FILEOFFER = 11 +} feicon; +void fe_tray_set_icon (feicon icon); +void fe_tray_set_tooltip (const char *text); +void fe_open_chan_list (server *serv, char *filter, int do_refresh); +const char *fe_get_default_font (void); + +#endif diff --git a/src/common/hexchat-plugin.h b/src/common/hexchat-plugin.h new file mode 100644 index 0000000000000000000000000000000000000000..f5f04b194c494c9892c5af6fdd7f8f3005eefa21 --- /dev/null +++ b/src/common/hexchat-plugin.h @@ -0,0 +1,459 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* You can distribute this header with your plugins for easy compilation */ +#ifndef HEXCHAT_PLUGIN_H +#define HEXCHAT_PLUGIN_H + +#include <time.h> + +#define HEXCHAT_PRI_HIGHEST 127 +#define HEXCHAT_PRI_HIGH 64 +#define HEXCHAT_PRI_NORM 0 +#define HEXCHAT_PRI_LOW (-64) +#define HEXCHAT_PRI_LOWEST (-128) + +#define HEXCHAT_FD_READ 1 +#define HEXCHAT_FD_WRITE 2 +#define HEXCHAT_FD_EXCEPTION 4 +#define HEXCHAT_FD_NOTSOCKET 8 + +#define HEXCHAT_EAT_NONE 0 /* pass it on through! */ +#define HEXCHAT_EAT_HEXCHAT 1 /* don't let HexChat see this event */ +#define HEXCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */ +#define HEXCHAT_EAT_ALL (HEXCHAT_EAT_HEXCHAT|HEXCHAT_EAT_PLUGIN) /* don't let anything see this event */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _hexchat_plugin hexchat_plugin; +typedef struct _hexchat_list hexchat_list; +typedef struct _hexchat_hook hexchat_hook; +#ifndef PLUGIN_C +typedef struct _hexchat_context hexchat_context; +#endif +typedef struct +{ + time_t server_time_utc; /* 0 if not used */ +} hexchat_event_attrs; + +#ifndef PLUGIN_C +struct _hexchat_plugin +{ + /* these are only used on win32 */ + hexchat_hook *(*hexchat_hook_command) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + hexchat_hook *(*hexchat_hook_server) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_print) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_timer) (hexchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_fd) (hexchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*hexchat_unhook) (hexchat_plugin *ph, + hexchat_hook *hook); + void (*hexchat_print) (hexchat_plugin *ph, + const char *text); + void (*hexchat_printf) (hexchat_plugin *ph, + const char *format, ...) +#ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif + ; + void (*hexchat_command) (hexchat_plugin *ph, + const char *command); + void (*hexchat_commandf) (hexchat_plugin *ph, + const char *format, ...) +#ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif + ; + int (*hexchat_nickcmp) (hexchat_plugin *ph, + const char *s1, + const char *s2); + int (*hexchat_set_context) (hexchat_plugin *ph, + hexchat_context *ctx); + hexchat_context *(*hexchat_find_context) (hexchat_plugin *ph, + const char *servname, + const char *channel); + hexchat_context *(*hexchat_get_context) (hexchat_plugin *ph); + const char *(*hexchat_get_info) (hexchat_plugin *ph, + const char *id); + int (*hexchat_get_prefs) (hexchat_plugin *ph, + const char *name, + const char **string, + int *integer); + hexchat_list * (*hexchat_list_get) (hexchat_plugin *ph, + const char *name); + void (*hexchat_list_free) (hexchat_plugin *ph, + hexchat_list *xlist); + const char * const * (*hexchat_list_fields) (hexchat_plugin *ph, + const char *name); + int (*hexchat_list_next) (hexchat_plugin *ph, + hexchat_list *xlist); + const char * (*hexchat_list_str) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + int (*hexchat_list_int) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + void * (*hexchat_plugingui_add) (hexchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*hexchat_plugingui_remove) (hexchat_plugin *ph, + void *handle); + int (*hexchat_emit_print) (hexchat_plugin *ph, + const char *event_name, ...); + int (*hexchat_read_fd) (hexchat_plugin *ph, + void *src, + char *buf, + int *len); + time_t (*hexchat_list_time) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + char *(*hexchat_gettext) (hexchat_plugin *ph, + const char *msgid); + void (*hexchat_send_modes) (hexchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*hexchat_strip) (hexchat_plugin *ph, + const char *str, + int len, + int flags); + void (*hexchat_free) (hexchat_plugin *ph, + void *ptr); + int (*hexchat_pluginpref_set_str) (hexchat_plugin *ph, + const char *var, + const char *value); + int (*hexchat_pluginpref_get_str) (hexchat_plugin *ph, + const char *var, + char *dest); + int (*hexchat_pluginpref_set_int) (hexchat_plugin *ph, + const char *var, + int value); + int (*hexchat_pluginpref_get_int) (hexchat_plugin *ph, + const char *var); + int (*hexchat_pluginpref_delete) (hexchat_plugin *ph, + const char *var); + int (*hexchat_pluginpref_list) (hexchat_plugin *ph, + char *dest); + hexchat_hook *(*hexchat_hook_server_attrs) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], + hexchat_event_attrs *attrs, void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_print_attrs) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], hexchat_event_attrs *attrs, + void *user_data), + void *userdata); + int (*hexchat_emit_print_attrs) (hexchat_plugin *ph, hexchat_event_attrs *attrs, + const char *event_name, ...); + hexchat_event_attrs *(*hexchat_event_attrs_create) (hexchat_plugin *ph); + void (*hexchat_event_attrs_free) (hexchat_plugin *ph, + hexchat_event_attrs *attrs); +}; +#endif + + +hexchat_hook * +hexchat_hook_command (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + +hexchat_event_attrs *hexchat_event_attrs_create (hexchat_plugin *ph); + +void hexchat_event_attrs_free (hexchat_plugin *ph, hexchat_event_attrs *attrs); + +hexchat_hook * +hexchat_hook_server (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + +hexchat_hook * +hexchat_hook_server_attrs (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], + hexchat_event_attrs *attrs, void *user_data), + void *userdata); + +hexchat_hook * +hexchat_hook_print (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + +hexchat_hook * +hexchat_hook_print_attrs (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], hexchat_event_attrs *attrs, + void *user_data), + void *userdata); + +hexchat_hook * +hexchat_hook_timer (hexchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + +hexchat_hook * +hexchat_hook_fd (hexchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + +void * +hexchat_unhook (hexchat_plugin *ph, + hexchat_hook *hook); + +void +hexchat_print (hexchat_plugin *ph, + const char *text); + +void +hexchat_printf (hexchat_plugin *ph, + const char *format, ...) +#ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif +; + +void +hexchat_command (hexchat_plugin *ph, + const char *command); + +void +hexchat_commandf (hexchat_plugin *ph, + const char *format, ...) +#ifdef __GNUC__ + __attribute__((format(printf, 2, 3))) +#endif +; + +int +hexchat_nickcmp (hexchat_plugin *ph, + const char *s1, + const char *s2); + +int +hexchat_set_context (hexchat_plugin *ph, + hexchat_context *ctx); + +hexchat_context * +hexchat_find_context (hexchat_plugin *ph, + const char *servname, + const char *channel); + +hexchat_context * +hexchat_get_context (hexchat_plugin *ph); + +const char * +hexchat_get_info (hexchat_plugin *ph, + const char *id); + +int +hexchat_get_prefs (hexchat_plugin *ph, + const char *name, + const char **string, + int *integer); + +hexchat_list * +hexchat_list_get (hexchat_plugin *ph, + const char *name); + +void +hexchat_list_free (hexchat_plugin *ph, + hexchat_list *xlist); + +const char * const * +hexchat_list_fields (hexchat_plugin *ph, + const char *name); + +int +hexchat_list_next (hexchat_plugin *ph, + hexchat_list *xlist); + +const char * +hexchat_list_str (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + +int +hexchat_list_int (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + +time_t +hexchat_list_time (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + +void * +hexchat_plugingui_add (hexchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + +void +hexchat_plugingui_remove (hexchat_plugin *ph, + void *handle); + +int +hexchat_emit_print (hexchat_plugin *ph, + const char *event_name, ...); + +int +hexchat_emit_print_attrs (hexchat_plugin *ph, hexchat_event_attrs *attrs, + const char *event_name, ...); + +char * +hexchat_gettext (hexchat_plugin *ph, + const char *msgid); + +void +hexchat_send_modes (hexchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + +char * +hexchat_strip (hexchat_plugin *ph, + const char *str, + int len, + int flags); + +void +hexchat_free (hexchat_plugin *ph, + void *ptr); + +int +hexchat_pluginpref_set_str (hexchat_plugin *ph, + const char *var, + const char *value); + +int +hexchat_pluginpref_get_str (hexchat_plugin *ph, + const char *var, + char *dest); + +int +hexchat_pluginpref_set_int (hexchat_plugin *ph, + const char *var, + int value); +int +hexchat_pluginpref_get_int (hexchat_plugin *ph, + const char *var); + +int +hexchat_pluginpref_delete (hexchat_plugin *ph, + const char *var); + +int +hexchat_pluginpref_list (hexchat_plugin *ph, + char *dest); + +#if !defined(PLUGIN_C) && (defined(WIN32) || defined(__CYGWIN__)) +#ifndef HEXCHAT_PLUGIN_HANDLE +#define HEXCHAT_PLUGIN_HANDLE (ph) +#endif +#define hexchat_hook_command ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_command) +#define hexchat_event_attrs_create ((HEXCHAT_PLUGIN_HANDLE)->hexchat_event_attrs_create) +#define hexchat_event_attrs_free ((HEXCHAT_PLUGIN_HANDLE)->hexchat_event_attrs_free) +#define hexchat_hook_server ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_server) +#define hexchat_hook_server_attrs ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_server_attrs) +#define hexchat_hook_print ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_print) +#define hexchat_hook_print_attrs ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_print_attrs) +#define hexchat_hook_timer ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_timer) +#define hexchat_hook_fd ((HEXCHAT_PLUGIN_HANDLE)->hexchat_hook_fd) +#define hexchat_unhook ((HEXCHAT_PLUGIN_HANDLE)->hexchat_unhook) +#define hexchat_print ((HEXCHAT_PLUGIN_HANDLE)->hexchat_print) +#define hexchat_printf ((HEXCHAT_PLUGIN_HANDLE)->hexchat_printf) +#define hexchat_command ((HEXCHAT_PLUGIN_HANDLE)->hexchat_command) +#define hexchat_commandf ((HEXCHAT_PLUGIN_HANDLE)->hexchat_commandf) +#define hexchat_nickcmp ((HEXCHAT_PLUGIN_HANDLE)->hexchat_nickcmp) +#define hexchat_set_context ((HEXCHAT_PLUGIN_HANDLE)->hexchat_set_context) +#define hexchat_find_context ((HEXCHAT_PLUGIN_HANDLE)->hexchat_find_context) +#define hexchat_get_context ((HEXCHAT_PLUGIN_HANDLE)->hexchat_get_context) +#define hexchat_get_info ((HEXCHAT_PLUGIN_HANDLE)->hexchat_get_info) +#define hexchat_get_prefs ((HEXCHAT_PLUGIN_HANDLE)->hexchat_get_prefs) +#define hexchat_list_get ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_get) +#define hexchat_list_free ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_free) +#define hexchat_list_fields ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_fields) +#define hexchat_list_next ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_next) +#define hexchat_list_str ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_str) +#define hexchat_list_int ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_int) +#define hexchat_plugingui_add ((HEXCHAT_PLUGIN_HANDLE)->hexchat_plugingui_add) +#define hexchat_plugingui_remove ((HEXCHAT_PLUGIN_HANDLE)->hexchat_plugingui_remove) +#define hexchat_emit_print ((HEXCHAT_PLUGIN_HANDLE)->hexchat_emit_print) +#define hexchat_emit_print_attrs ((HEXCHAT_PLUGIN_HANDLE)->hexchat_emit_print_attrs) +#define hexchat_list_time ((HEXCHAT_PLUGIN_HANDLE)->hexchat_list_time) +#define hexchat_gettext ((HEXCHAT_PLUGIN_HANDLE)->hexchat_gettext) +#define hexchat_send_modes ((HEXCHAT_PLUGIN_HANDLE)->hexchat_send_modes) +#define hexchat_strip ((HEXCHAT_PLUGIN_HANDLE)->hexchat_strip) +#define hexchat_free ((HEXCHAT_PLUGIN_HANDLE)->hexchat_free) +#define hexchat_pluginpref_set_str ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_set_str) +#define hexchat_pluginpref_get_str ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_get_str) +#define hexchat_pluginpref_set_int ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_set_int) +#define hexchat_pluginpref_get_int ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_get_int) +#define hexchat_pluginpref_delete ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_delete) +#define hexchat_pluginpref_list ((HEXCHAT_PLUGIN_HANDLE)->hexchat_pluginpref_list) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/common/hexchat.c b/src/common/hexchat.c new file mode 100644 index 0000000000000000000000000000000000000000..3ba7ed6d5567937e7a448a8391000785c1aa1eb1 --- /dev/null +++ b/src/common/hexchat.c @@ -0,0 +1,1144 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <time.h> +#include <sys/types.h> +#include <sys/stat.h> + +#define WANTSOCKET +#include "inet.h" + +#ifdef WIN32 +#include <windows.h> +#else +#include <sys/wait.h> +#include <signal.h> +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "fe.h" +#include "util.h" +#include "cfgfiles.h" +#include "chanopt.h" +#include "ignore.h" +#include "hexchat-plugin.h" +#include "inbound.h" +#include "plugin.h" +#include "plugin-identd.h" +#include "plugin-timer.h" +#include "notify.h" +#include "server.h" +#include "servlist.h" +#include "outbound.h" +#include "text.h" +#include "url.h" +#include "hexchatc.h" + +#if ! GLIB_CHECK_VERSION (2, 36, 0) +#include <glib-object.h> /* for g_type_init() */ +#endif + +GSList *popup_list = 0; +GSList *button_list = 0; +GSList *dlgbutton_list = 0; +GSList *command_list = 0; +GSList *ctcp_list = 0; +GSList *replace_list = 0; +GSList *sess_list = 0; +GSList *dcc_list = 0; +GSList *ignore_list = 0; +GSList *usermenu_list = 0; +GSList *urlhandler_list = 0; +GSList *tabmenu_list = 0; + +/* + * This array contains 5 double linked lists, one for each priority in the + * "interesting session" queue ("channel" stands for everything but + * SESS_DIALOG): + * + * [0] queries with hilight + * [1] queries + * [2] channels with hilight + * [3] channels with dialogue + * [4] channels with other data + * + * Each time activity happens the corresponding session is put at the + * beginning of one of the lists. The aim is to be able to switch to the + * session with the most important/recent activity. + */ +GList *sess_list_by_lastact[5] = {NULL, NULL, NULL, NULL, NULL}; + + +static int in_hexchat_exit = FALSE; +int hexchat_is_quitting = FALSE; +/* command-line args */ +int arg_dont_autoconnect = FALSE; +int arg_skip_plugins = FALSE; +char *arg_url = NULL; +char **arg_urls = NULL; +char *arg_command = NULL; +gint arg_existing = FALSE; + +#ifdef USE_DBUS +#include "dbus/dbus-client.h" +#include "dbus/dbus-plugin.h" +#endif /* USE_DBUS */ + +struct session *current_tab; +struct session *current_sess = 0; +struct hexchatprefs prefs; + +/* + * Update the priority queue of the "interesting sessions" + * (sess_list_by_lastact). + */ +void +lastact_update(session *sess) +{ + int oldidx = sess->lastact_idx; + int newidx = LACT_NONE; + int dia = (sess->type == SESS_DIALOG); + + if (sess->tab_state & TAB_STATE_NEW_HILIGHT) + newidx = dia? LACT_QUERY_HI: LACT_CHAN_HI; + else if (sess->tab_state & TAB_STATE_NEW_MSG) + newidx = dia? LACT_QUERY: LACT_CHAN; + else if (sess->tab_state & TAB_STATE_NEW_DATA) + newidx = dia? LACT_QUERY: LACT_CHAN_DATA; + + /* If already first at the right position, just return */ + if (oldidx == newidx && + (newidx == LACT_NONE || g_list_index(sess_list_by_lastact[newidx], sess) == 0)) + return; + + /* Remove from the old position */ + if (oldidx != LACT_NONE) + sess_list_by_lastact[oldidx] = g_list_remove(sess_list_by_lastact[oldidx], sess); + + /* Add at the new position */ + sess->lastact_idx = newidx; + if (newidx != LACT_NONE) + sess_list_by_lastact[newidx] = g_list_prepend(sess_list_by_lastact[newidx], sess); + return; +} + +/* + * Extract the first session from the priority queue of sessions with recent + * activity. Return NULL if no such session can be found. + * + * If filter is specified, skip a session if filter(session) returns 0. This + * can be used for UI-specific needs, e.g. in fe-gtk we want to filter out + * detached sessions. + */ +session * +lastact_getfirst(int (*filter) (session *sess)) +{ + int i; + session *sess = NULL; + GList *curitem; + + /* 5 is the number of priority classes LACT_ */ + for (i = 0; i < 5 && !sess; i++) + { + curitem = sess_list_by_lastact[i]; + while (curitem && !sess) + { + sess = g_list_nth_data(curitem, 0); + if (!sess || (filter && !filter(sess))) + { + sess = NULL; + curitem = g_list_next(curitem); + } + } + + if (sess) + { + sess_list_by_lastact[i] = g_list_remove(sess_list_by_lastact[i], sess); + sess->lastact_idx = LACT_NONE; + } + } + + return sess; +} + +int +is_session (session * sess) +{ + return g_slist_find (sess_list, sess) ? 1 : 0; +} + +session * +find_dialog (server *serv, char *nick) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv && sess->type == SESS_DIALOG) + { + if (!serv->p_cmp (nick, sess->channel)) + return (sess); + } + list = list->next; + } + return NULL; +} + +session * +find_channel (server *serv, char *chan) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = list->data; + if ((serv == sess->server) && sess->type == SESS_CHANNEL) + { + if (!serv->p_cmp (chan, sess->channel)) + return sess; + } + list = list->next; + } + return NULL; +} + +static void +lagcheck_update (void) +{ + server *serv; + GSList *list = serv_list; + + if (!prefs.hex_gui_lagometer) + return; + + while (list) + { + serv = list->data; + if (serv->lag_sent) + fe_set_lag (serv, -1); + + list = list->next; + } +} + +void +lag_check (void) +{ + server *serv; + GSList *list = serv_list; + unsigned long tim; + char tbuf[128]; + time_t now = time (0); + time_t lag; + + tim = make_ping_time (); + + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd) + { + lag = now - serv->ping_recv; + if (prefs.hex_net_ping_timeout != 0 && lag > prefs.hex_net_ping_timeout && lag > 0) + { + sprintf (tbuf, "%" G_GINT64_FORMAT, (gint64) lag); + EMIT_SIGNAL (XP_TE_PINGTIMEOUT, serv->server_session, tbuf, NULL, + NULL, NULL, 0); + if (prefs.hex_net_auto_reconnect) + serv->auto_reconnect (serv, FALSE, -1); + } + else + { + g_snprintf (tbuf, sizeof (tbuf), "LAG%lu", tim); + serv->p_ping (serv, "", tbuf); + + if (!serv->lag_sent) + { + serv->lag_sent = tim; + fe_set_lag (serv, -1); + } + } + } + list = list->next; + } +} + +static int +away_check (void) +{ + session *sess; + GSList *list; + int full, sent, loop = 0; + + if (!prefs.hex_away_track) + return 1; + +doover: + /* request an update of AWAY status of 1 channel every 30 seconds */ + full = TRUE; + sent = 0; /* number of WHOs (users) requested */ + list = sess_list; + while (list) + { + sess = list->data; + + if (sess->server->connected && + sess->type == SESS_CHANNEL && + sess->channel[0] && + (sess->total <= prefs.hex_away_size_max || !prefs.hex_away_size_max)) + { + if (!sess->done_away_check) + { + full = FALSE; + + /* if we're under 31 WHOs, send another channels worth */ + if (sent < 31 && !sess->doing_who) + { + sess->done_away_check = TRUE; + sess->doing_who = TRUE; + /* this'll send a WHO #channel */ + sess->server->p_away_status (sess->server, sess->channel); + sent += sess->total; + } + } + } + + list = list->next; + } + + /* done them all, reset done_away_check to FALSE and start over unless we have away-notify */ + if (full) + { + list = sess_list; + while (list) + { + sess = list->data; + if (!sess->server->have_awaynotify) + sess->done_away_check = FALSE; + list = list->next; + } + loop++; + if (loop < 2) + goto doover; + } + + return 1; +} + +/* these are only run if the lagometer is enabled */ +static int +hexchat_lag_check (void) /* this gets called every 30 seconds */ +{ + lag_check (); + return 1; +} + +static int +hexchat_lag_check_update (void) /* this gets called every 0.5 seconds */ +{ + lagcheck_update (); + return 1; +} + +/* call whenever timeout intervals change */ +void +hexchat_reinit_timers (void) +{ + static int lag_check_update_tag = 0; + static int lag_check_tag = 0; + static int away_tag = 0; + + /* notify timeout */ + if (prefs.hex_notify_timeout && notify_tag == 0) + { + notify_tag = fe_timeout_add_seconds (prefs.hex_notify_timeout, + notify_checklist, NULL); + } + else if (!prefs.hex_notify_timeout && notify_tag != 0) + { + fe_timeout_remove (notify_tag); + notify_tag = 0; + } + + /* away status tracking */ + if (prefs.hex_away_track && away_tag == 0) + { + away_tag = fe_timeout_add_seconds (prefs.hex_away_timeout, away_check, NULL); + } + else if (!prefs.hex_away_track && away_tag != 0) + { + fe_timeout_remove (away_tag); + away_tag = 0; + } + + /* lag-o-meter */ + if (prefs.hex_gui_lagometer && lag_check_update_tag == 0) + { + lag_check_update_tag = fe_timeout_add (500, hexchat_lag_check_update, NULL); + } + else if (!prefs.hex_gui_lagometer && lag_check_update_tag != 0) + { + fe_timeout_remove (lag_check_update_tag); + lag_check_update_tag = 0; + } + + /* network timeouts and lag-o-meter */ + if ((prefs.hex_net_ping_timeout != 0 || prefs.hex_gui_lagometer) + && lag_check_tag == 0) + { + lag_check_tag = fe_timeout_add_seconds (30, hexchat_lag_check, NULL); + } + else if ((!prefs.hex_net_ping_timeout && !prefs.hex_gui_lagometer) + && lag_check_tag != 0) + { + fe_timeout_remove (lag_check_tag); + lag_check_tag = 0; + } +} + +/* executed when the first irc window opens */ + +static void +irc_init (session *sess) +{ + static int done_init = FALSE; + char *buf; + + if (done_init) + return; + + done_init = TRUE; + + plugin_add (sess, NULL, NULL, timer_plugin_init, NULL, NULL, FALSE); + plugin_add (sess, NULL, NULL, identd_plugin_init, identd_plugin_deinit, NULL, FALSE); + +#ifdef USE_PLUGIN + if (!arg_skip_plugins) + plugin_auto_load (sess); /* autoload ~/.xchat *.so */ +#endif + +#ifdef USE_DBUS + plugin_add (sess, NULL, NULL, dbus_plugin_init, NULL, NULL, FALSE); +#endif + + hexchat_reinit_timers (); + + if (arg_url != NULL) + { + buf = g_strdup_printf ("server %s", arg_url); + g_free (arg_url); /* from GOption */ + handle_command (sess, buf, FALSE); + g_free (buf); + } + + if (arg_urls != NULL) + { + guint i; + for (i = 0; i < g_strv_length (arg_urls); i++) + { + buf = g_strdup_printf ("%s %s", i==0? "server" : "newserver", arg_urls[i]); + handle_command (sess, buf, FALSE); + g_free (buf); + } + g_strfreev (arg_urls); + } + + if (arg_command != NULL) + { + handle_command (sess, arg_command, FALSE); + g_free (arg_command); + } + + /* load -e <xdir>/startup.txt */ + load_perform_file (sess, "startup.txt"); +} + +static session * +session_new (server *serv, char *from, int type, int focus) +{ + session *sess; + + sess = g_new0 (struct session, 1); + + sess->server = serv; + sess->logfd = -1; + sess->type = type; + + sess->alert_balloon = SET_DEFAULT; + sess->alert_beep = SET_DEFAULT; + sess->alert_taskbar = SET_DEFAULT; + sess->alert_tray = SET_DEFAULT; + + sess->text_hidejoinpart = SET_DEFAULT; + sess->text_logging = SET_DEFAULT; + sess->text_scrollback = SET_DEFAULT; + sess->text_strip = SET_DEFAULT; + + sess->lastact_idx = LACT_NONE; + + if (from != NULL) + { + safe_strcpy(sess->channel, from, CHANLEN); + safe_strcpy(sess->session_name, from, CHANLEN); + } + + sess_list = g_slist_prepend (sess_list, sess); + + fe_new_window (sess, focus); + + return sess; +} + +session * +new_ircwindow (server *serv, char *name, int type, int focus) +{ + session *sess; + + switch (type) + { + case SESS_SERVER: + serv = server_new (); + if (prefs.hex_gui_tab_server) + sess = session_new (serv, name, SESS_SERVER, focus); + else + sess = session_new (serv, name, SESS_CHANNEL, focus); + serv->server_session = sess; + serv->front_session = sess; + break; + case SESS_DIALOG: + sess = session_new (serv, name, type, focus); + break; + default: +/* case SESS_CHANNEL: + case SESS_NOTICES: + case SESS_SNOTICES:*/ + sess = session_new (serv, name, type, focus); + break; + } + + irc_init (sess); + chanopt_load (sess); + scrollback_load (sess); + if (sess->scrollwritten && sess->scrollback_replay_marklast) + sess->scrollback_replay_marklast (sess); + if (type == SESS_DIALOG) + { + struct User *user; + + log_open_or_close (sess); + + user = userlist_find_global (serv, name); + if (user && user->hostname) + set_topic (sess, user->hostname, user->hostname); + } + plugin_emit_dummy_print (sess, "Open Context"); + + return sess; +} + +static void +exec_notify_kill (session * sess) +{ +#ifndef WIN32 + struct nbexec *re; + if (sess->running_exec != NULL) + { + re = sess->running_exec; + sess->running_exec = NULL; + kill (re->childpid, SIGKILL); + waitpid (re->childpid, NULL, WNOHANG); + fe_input_remove (re->iotag); + close (re->myfd); + g_free (re->linebuf); + g_free (re); + } +#endif +} + +static void +send_quit_or_part (session * killsess) +{ + int willquit = TRUE; + GSList *list; + session *sess; + server *killserv = killsess->server; + + /* check if this is the last session using this server */ + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == killserv && sess != killsess) + { + willquit = FALSE; + list = 0; + } else + list = list->next; + } + + if (hexchat_is_quitting) + willquit = TRUE; + + if (killserv->connected) + { + if (willquit) + { + if (!killserv->sent_quit) + { + killserv->flush_queue (killserv); + server_sendquit (killsess); + killserv->sent_quit = TRUE; + } + } else + { + if (killsess->type == SESS_CHANNEL && killsess->channel[0] && + !killserv->sent_quit) + { + server_sendpart (killserv, killsess->channel, 0); + } + } + } +} + +void +session_free (session *killsess) +{ + server *killserv = killsess->server; + session *sess; + GSList *list; + int oldidx; + + plugin_emit_dummy_print (killsess, "Close Context"); + + if (current_tab == killsess) + current_tab = NULL; + + if (killserv->server_session == killsess) + killserv->server_session = NULL; + + if (killserv->front_session == killsess) + { + /* front_session is closed, find a valid replacement */ + killserv->front_session = NULL; + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess != killsess && sess->server == killserv) + { + killserv->front_session = sess; + if (!killserv->server_session) + killserv->server_session = sess; + break; + } + list = list->next; + } + } + + if (!killserv->server_session) + killserv->server_session = killserv->front_session; + + sess_list = g_slist_remove (sess_list, killsess); + + if (killsess->type == SESS_CHANNEL) + userlist_free (killsess); + + oldidx = killsess->lastact_idx; + if (oldidx != LACT_NONE) + sess_list_by_lastact[oldidx] = g_list_remove(sess_list_by_lastact[oldidx], killsess); + + exec_notify_kill (killsess); + + log_close (killsess); + scrollback_close (killsess); + chanopt_save (killsess); + + send_quit_or_part (killsess); + + history_free (&killsess->history); + g_free (killsess->topic); + g_free (killsess->current_modes); + + fe_session_callback (killsess); + + if (current_sess == killsess) + { + current_sess = NULL; + if (sess_list) + current_sess = sess_list->data; + } + + g_free (killsess); + + if (!sess_list && !in_hexchat_exit) + hexchat_exit (); /* sess_list is empty, quit! */ + + list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == killserv) + return; /* this server is still being used! */ + list = list->next; + } + + server_free (killserv); +} + +static void +free_sessions (void) +{ + GSList *list = sess_list; + + while (list) + { + fe_close_window (list->data); + list = sess_list; + } +} + + +static char defaultconf_ctcp[] = + "NAME TIME\n" "CMD nctcp %s TIME %t\n\n"\ + "NAME PING\n" "CMD nctcp %s PING %d\n\n"; + +static char defaultconf_replace[] = + "NAME teh\n" "CMD the\n\n"; +/* "NAME r\n" "CMD are\n\n"\ + "NAME u\n" "CMD you\n\n"*/ + +static char defaultconf_commands[] = + "NAME ACTION\n" "CMD me &2\n\n"\ + "NAME AME\n" "CMD allchan me &2\n\n"\ + "NAME ANICK\n" "CMD allserv nick &2\n\n"\ + "NAME AMSG\n" "CMD allchan say &2\n\n"\ + "NAME BANLIST\n" "CMD quote MODE %c +b\n\n"\ + "NAME CHAT\n" "CMD dcc chat %2\n\n"\ + "NAME DIALOG\n" "CMD query %2\n\n"\ + "NAME DMSG\n" "CMD msg =%2 &3\n\n"\ + "NAME EXIT\n" "CMD quit\n\n"\ + "NAME GREP\n" "CMD lastlog -r -- &2\n\n"\ + "NAME IGNALL\n" "CMD ignore %2!*@* ALL\n\n"\ + "NAME J\n" "CMD join &2\n\n"\ + "NAME KILL\n" "CMD quote KILL %2 :&3\n\n"\ + "NAME LEAVE\n" "CMD part &2\n\n"\ + "NAME M\n" "CMD msg &2\n\n"\ + "NAME OMSG\n" "CMD msg @%c &2\n\n"\ + "NAME ONOTICE\n" "CMD notice @%c &2\n\n"\ + "NAME RAW\n" "CMD quote &2\n\n"\ + "NAME SERVHELP\n" "CMD quote HELP\n\n"\ + "NAME SPING\n" "CMD ping\n\n"\ + "NAME SQUERY\n" "CMD quote SQUERY %2 :&3\n\n"\ + "NAME SSLSERVER\n" "CMD server -ssl &2\n\n"\ + "NAME SV\n" "CMD echo HexChat %v %m\n\n"\ + "NAME UMODE\n" "CMD mode %n &2\n\n"\ + "NAME UPTIME\n" "CMD quote STATS u\n\n"\ + "NAME VER\n" "CMD ctcp %2 VERSION\n\n"\ + "NAME VERSION\n" "CMD ctcp %2 VERSION\n\n"\ + "NAME WALLOPS\n" "CMD quote WALLOPS :&2\n\n"\ + "NAME WI\n" "CMD quote WHOIS %2\n\n"\ + "NAME WII\n" "CMD quote WHOIS %2 %2\n\n"; + +static char defaultconf_urlhandlers[] = + "NAME Open Link in a new Firefox Window\n" "CMD !firefox -new-window %s\n\n"; + +#ifdef USE_SIGACTION +/* Close and open log files on SIGUSR1. Usefull for log rotating */ + +static void +sigusr1_handler (int signal, siginfo_t *si, void *un) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + log_open_or_close (sess); + list = list->next; + } +} + +/* Execute /SIGUSR2 when SIGUSR2 received */ + +static void +sigusr2_handler (int signal, siginfo_t *si, void *un) +{ + session *sess = current_sess; + + if (sess) + handle_command (sess, "SIGUSR2", FALSE); +} +#endif + +static gint +xchat_auto_connect (gpointer userdata) +{ + servlist_auto_connect (NULL); + return 0; +} + +static void +xchat_init (void) +{ + char buf[3068]; + +#ifdef WIN32 + WSADATA wsadata; + + if (WSAStartup(0x0202, &wsadata) != 0) + { + MessageBox (NULL, "Cannot find winsock 2.2+", "Error", MB_OK); + exit (0); + } +#endif /* !WIN32 */ + +#ifdef USE_SIGACTION + struct sigaction act; + + /* ignore SIGPIPE's */ + act.sa_handler = SIG_IGN; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGPIPE, &act, NULL); + + /* Deal with SIGUSR1's & SIGUSR2's */ + act.sa_sigaction = sigusr1_handler; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGUSR1, &act, NULL); + + act.sa_sigaction = sigusr2_handler; + act.sa_flags = 0; + sigemptyset (&act.sa_mask); + sigaction (SIGUSR2, &act, NULL); +#else +#ifndef WIN32 + /* good enough for these old systems */ + signal (SIGPIPE, SIG_IGN); +#endif +#endif + + load_text_events (); + sound_load (); + notify_load (); + ignore_load (); + + g_snprintf (buf, sizeof (buf), + "NAME %s~%s~\n" "CMD query %%s\n\n"\ + "NAME %s~%s~\n" "CMD send %%s\n\n"\ + "NAME %s~%s~\n" "CMD whois %%s %%s\n\n"\ + "NAME %s~%s~\n" "CMD notify -n ASK %%s\n\n"\ + "NAME %s~%s~\n" "CMD ignore %%s!*@* ALL\n\n"\ + + "NAME SUB\n" "CMD %s\n\n"\ + "NAME %s\n" "CMD op %%a\n\n"\ + "NAME %s\n" "CMD deop %%a\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s\n" "CMD voice %%a\n\n"\ + "NAME %s\n" "CMD devoice %%a\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME SUB\n" "CMD %s\n\n"\ + "NAME %s\n" "CMD kick %%s\n\n"\ + "NAME %s\n" "CMD ban %%s\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s *!*@*.host\n""CMD ban %%s 0\n\n"\ + "NAME %s *!*@domain\n""CMD ban %%s 1\n\n"\ + "NAME %s *!*user@*.host\n""CMD ban %%s 2\n\n"\ + "NAME %s *!*user@domain\n""CMD ban %%s 3\n\n"\ + "NAME SEP\n" "CMD \n\n"\ + "NAME %s *!*@*.host\n""CMD kickban %%s 0\n\n"\ + "NAME %s *!*@domain\n""CMD kickban %%s 1\n\n"\ + "NAME %s *!*user@*.host\n""CMD kickban %%s 2\n\n"\ + "NAME %s *!*user@domain\n""CMD kickban %%s 3\n\n"\ + "NAME ENDSUB\n" "CMD \n\n"\ + "NAME ENDSUB\n" "CMD \n\n", + + _("_Open Dialog Window"), "gtk-go-up", + _("_Send a File" ELLIPSIS), "gtk-floppy", + _("_User Info (WhoIs)"), "gtk-info", + _("_Add to Friends List" ELLIPSIS), "gtk-add", + _("_Ignore"), "gtk-stop", + _("O_perator Actions"), + + _("Give Ops"), + _("Take Ops"), + _("Give Voice"), + _("Take Voice"), + + _("Kick/Ban"), + _("Kick"), + _("Ban"), + _("Ban"), + _("Ban"), + _("Ban"), + _("Ban"), + _("KickBan"), + _("KickBan"), + _("KickBan"), + _("KickBan")); + + list_loadconf ("popup.conf", &popup_list, buf); + + g_snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD part\n\n" + "NAME %s\n" "CMD getstr # join \"%s\"\n\n" + "NAME %s\n" "CMD quote LINKS\n\n" + "NAME %s\n" "CMD ping\n\n" + "NAME TOGGLE %s\n" "CMD irc_hide_version\n\n", + _("Leave Channel"), + _("Join Channel..."), + _("Enter Channel to Join:"), + _("Server Links"), + _("Ping Server"), + _("Hide Version")); + list_loadconf ("usermenu.conf", &usermenu_list, buf); + + g_snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD op %%a\n\n" + "NAME %s\n" "CMD deop %%a\n\n" + "NAME %s\n" "CMD ban %%s\n\n" + "NAME %s\n" "CMD getstr \"%s\" \"kick %%s\" \"%s\"\n\n" + "NAME %s\n" "CMD send %%s\n\n" + "NAME %s\n" "CMD query %%s\n\n", + _("Op"), + _("DeOp"), + _("Ban"), + _("Kick"), + _("bye"), + _("Enter reason to kick %s:"), + _("Send File"), + _("Dialog")); + list_loadconf ("buttons.conf", &button_list, buf); + + g_snprintf (buf, sizeof (buf), + "NAME %s\n" "CMD whois %%s %%s\n\n" + "NAME %s\n" "CMD send %%s\n\n" + "NAME %s\n" "CMD dcc chat %%s\n\n" + "NAME %s\n" "CMD clear\n\n" + "NAME %s\n" "CMD ping %%s\n\n", + _("WhoIs"), + _("Send"), + _("Chat"), + _("Clear"), + _("Ping")); + list_loadconf ("dlgbuttons.conf", &dlgbutton_list, buf); + + list_loadconf ("tabmenu.conf", &tabmenu_list, NULL); + list_loadconf ("ctcpreply.conf", &ctcp_list, defaultconf_ctcp); + list_loadconf ("commands.conf", &command_list, defaultconf_commands); + list_loadconf ("replace.conf", &replace_list, defaultconf_replace); + list_loadconf ("urlhandlers.conf", &urlhandler_list, + defaultconf_urlhandlers); + + servlist_init (); /* load server list */ + + /* if we got a URL, don't open the server list GUI */ + if (!prefs.hex_gui_slist_skip && !arg_url && !arg_urls) + fe_serverlist_open (NULL); + + /* turned OFF via -a arg or by passing urls */ + if (!arg_dont_autoconnect && !arg_urls && !arg_url) + { + /* do any auto connects */ + if (!servlist_have_auto ()) /* if no new windows open .. */ + { + /* and no serverlist gui ... */ + if (prefs.hex_gui_slist_skip || arg_url || arg_urls) + /* we'll have to open one. */ + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + } else + { + fe_idle_add (xchat_auto_connect, NULL); + } + } else + { + if (prefs.hex_gui_slist_skip || arg_url || arg_urls) + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + } +} + +void +hexchat_exit (void) +{ + hexchat_is_quitting = TRUE; + in_hexchat_exit = TRUE; + plugin_kill_all (); + fe_cleanup (); + + save_config (); + if (prefs.save_pevents) + { + pevent_save (NULL); + } + + sound_save (); + notify_save (); + ignore_save (); + free_sessions (); + chanopt_save_all (TRUE); + servlist_cleanup (); + fe_exit (); +} + +void +hexchat_exec (const char *cmd) +{ + util_exec (cmd); +} + + +static void +set_locale (void) +{ +#ifdef WIN32 + char hexchat_lang[13]; /* LC_ALL= plus 5 chars of hex_gui_lang and trailing \0 */ + + strcpy (hexchat_lang, "LC_ALL="); + + if (0 <= prefs.hex_gui_lang && prefs.hex_gui_lang < LANGUAGES_LENGTH) + strcat (hexchat_lang, languages[prefs.hex_gui_lang]); + else + strcat (hexchat_lang, "en"); + + putenv (hexchat_lang); +#endif +} + +int +main (int argc, char *argv[]) +{ + int i; + int ret; + +#ifdef WIN32 + HRESULT coinit_result; +#endif + + srand ((unsigned int) time (NULL)); /* CL: do this only once! */ + + /* We must check for the config dir parameter, otherwise load_config() will behave incorrectly. + * load_config() must come before fe_args() because fe_args() calls gtk_init() which needs to + * know the language which is set in the config. The code below is copy-pasted from fe_args() + * for the most part. */ + if (argc >= 2) + { + for (i = 1; i < argc; i++) + { + if ((strcmp (argv[i], "-d") == 0 || strcmp (argv[i], "--cfgdir") == 0) + && i + 1 < argc) + { + xdir = g_strdup (argv[i + 1]); + } + else if (strncmp (argv[i], "--cfgdir=", 9) == 0) + { + xdir = g_strdup (argv[i] + 9); + } + + if (xdir != NULL) + { + if (xdir[strlen (xdir) - 1] == G_DIR_SEPARATOR) + { + xdir[strlen (xdir) - 1] = 0; + } + break; + } + } + } + +#if ! GLIB_CHECK_VERSION (2, 36, 0) + g_type_init (); +#endif + + if (check_config_dir () == 0) + { + if (load_config () != 0) + load_default_config (); + } else + { + /* this is probably the first run */ + load_default_config (); + make_config_dirs (); + make_dcc_dirs (); + } + + /* we MUST do this after load_config () AND before fe_init (thus gtk_init) otherwise it will fail */ + set_locale (); + + ret = fe_args (argc, argv); + if (ret != -1) + return ret; + +#ifdef USE_DBUS + hexchat_remote (); +#endif + +#ifdef WIN32 + coinit_result = CoInitializeEx (NULL, COINIT_APARTMENTTHREADED); + if (SUCCEEDED (coinit_result)) + { + CoInitializeSecurity (NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL); + } +#endif + + fe_init (); + + /* This is done here because cfgfiles.c is too early in + * the startup process to use gtk functions. */ + if (g_access (get_xdir (), W_OK) != 0) + { + char buf[2048]; + + g_snprintf (buf, sizeof(buf), + _("You do not have write access to %s. Nothing from this session can be saved."), + get_xdir ()); + fe_message (buf, FE_MSG_ERROR); + } + +#ifndef WIN32 +#ifndef __EMX__ + /* OS/2 uses UID 0 all the time */ + if (getuid () == 0) + fe_message (_("* Running IRC as root is stupid! You should\n" + " create a User Account and use that to login.\n"), FE_MSG_WARN|FE_MSG_WAIT); +#endif +#endif /* !WIN32 */ + + xchat_init (); + + fe_main (); + +#ifdef WIN32 + if (SUCCEEDED (coinit_result)) + { + CoUninitialize (); + } +#endif + +#ifdef WIN32 + WSACleanup (); +#endif + + return 0; +} diff --git a/src/common/hexchat.h b/src/common/hexchat.h new file mode 100644 index 0000000000000000000000000000000000000000..5ead96d19f8736d5ba65300e4840337d086e4891 --- /dev/null +++ b/src/common/hexchat.h @@ -0,0 +1,628 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include <glib.h> +#include <glib/gstdio.h> +#include <glib/gi18n.h> +#include <gio/gio.h> + +#include <time.h> /* need time_t */ + +#ifndef HEXCHAT_H +#define HEXCHAT_H + +#ifdef USE_OPENSSL +#ifdef __APPLE__ +#define __AVAILABILITYMACROS__ +#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER +#endif +#endif + +#include "history.h" +#include "tree.h" + +#ifdef USE_OPENSSL +#include <openssl/ssl.h> /* SSL_() */ +#include "scram.h" +#endif + +#ifdef __EMX__ /* for o/s 2 */ +#define OFLAGS O_BINARY +#define g_ascii_strcasecmp stricmp +#define g_ascii_strncasecmp strnicmp +#define PATH_MAX MAXPATHLEN +#define FILEPATH_LEN_MAX MAXPATHLEN +#endif + +/* force a 32bit CMP.L */ +#define WORDL(c0, c1, c2, c3) (guint32)(c0 | (c1 << 8) | (c2 << 16) | (c3 << 24)) + +#ifdef WIN32 /* for win32 */ +#define OFLAGS O_BINARY +#define sleep(t) Sleep(t*1000) +#include <direct.h> +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 +#ifndef S_ISDIR +#define S_ISDIR(m) ((m) & _S_IFDIR) +#endif +#define NETWORK_PRIVATE +#else /* for unix */ +#define OFLAGS 0 +#endif + +#define FONTNAMELEN 127 +#define PATHLEN 255 +#define DOMAINLEN 100 +#define NICKLEN 64 /* including the NULL, so 63 really */ +#define CHANLEN 300 +#define PDIWORDS 32 +#define USERNAMELEN 10 +#define HIDDEN_CHAR 8 /* invisible character for xtext */ + +struct nbexec +{ + int myfd; + int childpid; + int tochannel; /* making this int keeps the struct 4-byte aligned */ + int iotag; + char *linebuf; + int buffill; + struct session *sess; +}; + +struct hexchatprefs +{ + /* these are the rebranded, consistent, sorted hexchat variables */ + + /* BOOLEANS */ + unsigned int hex_away_auto_unmark; + unsigned int hex_away_omit_alerts; + unsigned int hex_away_show_once; + unsigned int hex_away_track; + unsigned int hex_completion_auto; + unsigned int hex_dcc_auto_chat; + unsigned int hex_dcc_auto_resume; + unsigned int hex_dcc_fast_send; + unsigned int hex_dcc_ip_from_server; + unsigned int hex_dcc_remove; + unsigned int hex_dcc_save_nick; + unsigned int hex_dcc_send_fillspaces; + unsigned int hex_gui_autoopen_chat; + unsigned int hex_gui_autoopen_dialog; + unsigned int hex_gui_autoopen_recv; + unsigned int hex_gui_autoopen_send; + unsigned int hex_gui_compact; + unsigned int hex_gui_filesize_iec; + unsigned int hex_gui_focus_omitalerts; + unsigned int hex_gui_hide_menu; + unsigned int hex_gui_input_attr; + unsigned int hex_gui_input_icon; + unsigned int hex_gui_input_nick; + unsigned int hex_gui_input_spell; + unsigned int hex_gui_input_style; + unsigned int hex_gui_join_dialog; + unsigned int hex_gui_mode_buttons; + unsigned int hex_gui_quit_dialog; + /* unsigned int hex_gui_single; */ + unsigned int hex_gui_slist_fav; + unsigned int hex_gui_slist_skip; + unsigned int hex_gui_tab_chans; + unsigned int hex_gui_tab_dialogs; + unsigned int hex_gui_tab_dots; + unsigned int hex_gui_tab_icons; + unsigned int hex_gui_tab_scrollchans; + unsigned int hex_gui_tab_server; + unsigned int hex_gui_tab_sort; + unsigned int hex_gui_tab_utils; + unsigned int hex_gui_topicbar; + unsigned int hex_gui_tray; + unsigned int hex_gui_tray_away; + unsigned int hex_gui_tray_blink; + unsigned int hex_gui_tray_close; + unsigned int hex_gui_tray_minimize; + unsigned int hex_gui_tray_quiet; + unsigned int hex_gui_ulist_buttons; + unsigned int hex_gui_ulist_color; + unsigned int hex_gui_ulist_count; + unsigned int hex_gui_ulist_hide; + unsigned int hex_gui_ulist_icons; + unsigned int hex_gui_ulist_show_hosts; + unsigned int hex_gui_ulist_style; + unsigned int hex_gui_usermenu; + unsigned int hex_gui_win_modes; + unsigned int hex_gui_win_nick; + unsigned int hex_gui_win_save; + unsigned int hex_gui_win_swap; + unsigned int hex_gui_win_ucount; + unsigned int hex_identd_server; + unsigned int hex_input_balloon_chans; + unsigned int hex_input_balloon_hilight; + unsigned int hex_input_balloon_priv; + unsigned int hex_input_beep_chans; + unsigned int hex_input_beep_hilight; + unsigned int hex_input_beep_priv; + unsigned int hex_input_filter_beep; + unsigned int hex_input_flash_chans; + unsigned int hex_input_flash_hilight; + unsigned int hex_input_flash_priv; + unsigned int hex_input_perc_ascii; + unsigned int hex_input_perc_color; + unsigned int hex_input_tray_chans; + unsigned int hex_input_tray_hilight; + unsigned int hex_input_tray_priv; + unsigned int hex_irc_auto_rejoin; + unsigned int hex_irc_reconnect_rejoin; + unsigned int hex_irc_conf_mode; + unsigned int hex_irc_hidehost; + unsigned int hex_irc_hide_nickchange; + unsigned int hex_irc_hide_version; + unsigned int hex_irc_invisible; + unsigned int hex_irc_logging; + unsigned int hex_irc_raw_modes; + unsigned int hex_irc_servernotice; + unsigned int hex_irc_skip_motd; + unsigned int hex_irc_wallops; + unsigned int hex_irc_who_join; + unsigned int hex_irc_whois_front; + unsigned int hex_irc_cap_server_time; + unsigned int hex_net_auto_reconnect; + unsigned int hex_net_auto_reconnectonfail; + unsigned int hex_net_proxy_auth; + unsigned int hex_net_throttle; + unsigned int hex_notify_whois_online; + unsigned int hex_perl_warnings; + unsigned int hex_stamp_log; + unsigned int hex_stamp_text; + unsigned int hex_text_autocopy_color; + unsigned int hex_text_autocopy_stamp; + unsigned int hex_text_autocopy_text; + unsigned int hex_text_color_nicks; + unsigned int hex_text_indent; + unsigned int hex_text_replay; + unsigned int hex_text_search_case_match; + unsigned int hex_text_search_highlight_all; + unsigned int hex_text_search_follow; + unsigned int hex_text_search_regexp; + unsigned int hex_text_show_marker; + unsigned int hex_text_show_sep; + unsigned int hex_text_stripcolor_msg; + unsigned int hex_text_stripcolor_replay; + unsigned int hex_text_stripcolor_topic; + unsigned int hex_text_thin_sep; + unsigned int hex_text_transparent; + unsigned int hex_text_wordwrap; + unsigned int hex_url_grabber; + unsigned int hex_url_logging; + + /* NUMBERS */ + int hex_away_size_max; + int hex_away_timeout; + int hex_completion_amount; + int hex_completion_sort; + int hex_dcc_auto_recv; + int hex_dcc_blocksize; + int hex_dcc_global_max_get_cps; + int hex_dcc_global_max_send_cps; + int hex_dcc_max_get_cps; + int hex_dcc_max_send_cps; + int hex_dcc_permissions; + int hex_dcc_port_first; + int hex_dcc_port_last; + int hex_dcc_stall_timeout; + int hex_dcc_timeout; + int hex_flood_ctcp_num; /* flood */ + int hex_flood_ctcp_time; /* seconds of floods */ + int hex_flood_msg_num; /* same deal */ + int hex_flood_msg_time; + int hex_gui_chanlist_maxusers; + int hex_gui_chanlist_minusers; + int hex_gui_dialog_height; + int hex_gui_dialog_left; + int hex_gui_dialog_top; + int hex_gui_dialog_width; + int hex_gui_lagometer; + int hex_gui_lang; + int hex_gui_pane_divider_position; + int hex_gui_pane_left_size; + int hex_gui_pane_right_size; + int hex_gui_pane_right_size_min; + int hex_gui_search_pos; + int hex_gui_slist_select; + int hex_gui_tab_layout; + int hex_gui_tab_middleclose; + int hex_gui_tab_newtofront; + int hex_gui_tab_pos; + int hex_gui_tab_small; + int hex_gui_tab_trunc; + int hex_gui_transparency; + int hex_gui_throttlemeter; + int hex_gui_ulist_pos; + int hex_gui_ulist_sort; + int hex_gui_url_mod; + int hex_gui_win_height; + int hex_gui_win_fullscreen; + int hex_gui_win_left; + int hex_gui_win_state; + int hex_gui_win_top; + int hex_gui_win_width; + int hex_identd_port; + int hex_irc_ban_type; + int hex_irc_join_delay; + int hex_irc_notice_pos; + int hex_net_ping_timeout; + int hex_net_proxy_port; + int hex_net_proxy_type; /* 0=disabled, 1=wingate 2=socks4, 3=socks5, 4=http */ + int hex_net_proxy_use; /* 0=all 1=IRC_ONLY 2=DCC_ONLY */ + int hex_net_reconnect_delay; + int hex_notify_timeout; + int hex_text_max_indent; + int hex_text_max_lines; + int hex_url_grabber_limit; + + /* STRINGS */ + char hex_away_reason[256]; + char hex_completion_suffix[4]; /* Only ever holds a one-character string. */ + char hex_dcc_completed_dir[PATHLEN + 1]; + char hex_dcc_dir[PATHLEN + 1]; + char hex_dcc_ip[DOMAINLEN + 1]; + char hex_gui_ulist_doubleclick[256]; + char hex_input_command_char[4]; + char hex_irc_extra_hilight[300]; + char hex_irc_id_ntext[64]; + char hex_irc_id_ytext[64]; + char hex_irc_logmask[256]; + char hex_irc_nick1[NICKLEN]; + char hex_irc_nick2[NICKLEN]; + char hex_irc_nick3[NICKLEN]; + char hex_irc_nick_hilight[300]; + char hex_irc_no_hilight[300]; + char hex_irc_part_reason[256]; + char hex_irc_quit_reason[256]; + char hex_irc_real_name[127]; + char hex_irc_user_name[127]; + char hex_net_bind_host[127]; + char hex_net_proxy_host[64]; + char hex_net_proxy_pass[256]; + char hex_net_proxy_user[256]; + char hex_stamp_log_format[64]; + char hex_stamp_text_format[64]; + char hex_text_background[PATHLEN + 1]; + char hex_text_font[4 * FONTNAMELEN + 1]; + char hex_text_font_main[FONTNAMELEN + 1]; + char hex_text_font_alternative[3 * FONTNAMELEN + 1]; + char hex_text_spell_langs[64]; + + /* these are the private variables */ + guint32 local_ip; + + unsigned int wait_on_exit; /* wait for logs to be flushed to disk IF we're connected */ + + /* Tells us if we need to save, only when they've been edited. + This is so that we continue using internal defaults (which can + change in the next release) until the user edits them. */ + unsigned int save_pevents:1; +}; + +/* Session types */ +#define SESS_SERVER 1 +#define SESS_CHANNEL 2 +#define SESS_DIALOG 3 +#define SESS_NOTICES 4 +#define SESS_SNOTICES 5 + +/* Per-Channel Settings */ +#define SET_OFF 0 +#define SET_ON 1 +#define SET_DEFAULT 2 /* use global setting */ + +/* Priorities in the "interesting sessions" priority queue + * (see xchat.c:sess_list_by_lastact) */ +#define LACT_NONE -1 /* no queues */ +#define LACT_QUERY_HI 0 /* query with hilight */ +#define LACT_QUERY 1 /* query with messages */ +#define LACT_CHAN_HI 2 /* channel with hilight */ +#define LACT_CHAN 3 /* channel with messages */ +#define LACT_CHAN_DATA 4 /* channel with other data */ + +/* Moved from fe-gtk for use in outbound.c as well -- */ +typedef enum gtk_xtext_search_flags_e { + case_match = 1, + backward = 2, + highlight = 4, + follow = 8, + regexp = 16 +} gtk_xtext_search_flags; + +typedef enum { + TAB_STATE_NONE = 0, + TAB_STATE_NEW_DATA = (1 << 0), + TAB_STATE_NEW_MSG = (1 << 1), + TAB_STATE_NEW_HILIGHT = (1 << 2), +} tab_state_flags; + +typedef struct session +{ + /* Per-Channel Alerts */ + /* use a byte, because we need a pointer to each element */ + guint8 alert_balloon; + guint8 alert_beep; + guint8 alert_taskbar; + guint8 alert_tray; + + /* Per-Channel Settings */ + guint8 text_hidejoinpart; + guint8 text_logging; + guint8 text_scrollback; + guint8 text_strip; + + struct server *server; + tree *usertree; /* alphabetical tree */ + struct User *me; /* points to myself in the usertree */ + char channel[CHANLEN]; + char waitchannel[CHANLEN]; /* waiting to join channel (/join sent) */ + char willjoinchannel[CHANLEN]; /* will issue /join for this channel */ + char session_name[CHANLEN]; /* the name of the session, should not modified */ + char channelkey[64]; /* XXX correct max length? */ + int limit; /* channel user limit */ + int logfd; + + GFile *scrollfile; /* scrollback file */ + int scrollwritten; /* number of lines written */ + + char lastnick[NICKLEN]; /* last nick you /msg'ed */ + + struct history history; + + int ops; /* num. of ops in channel */ + int hops; /* num. of half-oped users */ + int voices; /* num. of voiced people */ + int total; /* num. of users in channel */ + + char *quitreason; + char *topic; + char *current_modes; /* free() me */ + + int mode_timeout_tag; + + struct session *lastlog_sess; + struct nbexec *running_exec; + + struct session_gui *gui; /* initialized by fe_new_window */ + struct restore_gui *res; + + int type; /* SESS_* */ + + int lastact_idx; /* the sess_list_by_lastact[] index of the list we're in. + * For valid values, see defines of LACT_*. */ + + int ignore_date:1; + int ignore_mode:1; + int ignore_names:1; + int end_of_names:1; + int doing_who:1; /* /who sent on this channel */ + int done_away_check:1; /* done checking for away status changes */ + tab_state_flags tab_state; + tab_state_flags last_tab_state; /* before event is handled */ + gtk_xtext_search_flags lastlog_flags; + void (*scrollback_replay_marklast) (struct session *sess); +} session; + +/* SASL Mechanisms */ +#define MECH_PLAIN 0 +#define MECH_EXTERNAL 1 +#define MECH_SCRAM_SHA_1 2 +#define MECH_SCRAM_SHA_256 3 +#define MECH_SCRAM_SHA_512 4 + +typedef struct server +{ + /* server control operations (in server*.c) */ + void (*connect)(struct server *, char *hostname, int port, int no_login); + void (*disconnect)(struct session *, int sendquit, int err); + int (*cleanup)(struct server *); + void (*flush_queue)(struct server *); + void (*auto_reconnect)(struct server *, int send_quit, int err); + /* irc protocol functions (in proto*.c) */ + void (*p_inline)(struct server *, char *buf, int len); + void (*p_invite)(struct server *, char *channel, char *nick); + void (*p_cycle)(struct server *, char *channel, char *key); + void (*p_ctcp)(struct server *, char *to, char *msg); + void (*p_nctcp)(struct server *, char *to, char *msg); + void (*p_quit)(struct server *, char *reason); + void (*p_kick)(struct server *, char *channel, char *nick, char *reason); + void (*p_part)(struct server *, char *channel, char *reason); + void (*p_ns_identify)(struct server *, char *pass); + void (*p_ns_ghost)(struct server *, char *usname, char *pass); + void (*p_join)(struct server *, char *channel, char *key); + void (*p_join_list)(struct server *, GSList *favorites); + void (*p_login)(struct server *, char *user, char *realname); + void (*p_join_info)(struct server *, char *channel); + void (*p_mode)(struct server *, char *target, char *mode); + void (*p_user_list)(struct server *, char *channel); + void (*p_away_status)(struct server *, char *channel); + void (*p_whois)(struct server *, char *nicks); + void (*p_get_ip)(struct server *, char *nick); + void (*p_get_ip_uh)(struct server *, char *nick); + void (*p_set_back)(struct server *); + void (*p_set_away)(struct server *, char *reason); + void (*p_message)(struct server *, char *channel, char *text); + void (*p_action)(struct server *, char *channel, char *act); + void (*p_notice)(struct server *, char *channel, char *text); + void (*p_topic)(struct server *, char *channel, char *topic); + void (*p_list_channels)(struct server *, char *arg, int min_users); + void (*p_change_nick)(struct server *, char *new_nick); + void (*p_names)(struct server *, char *channel); + void (*p_ping)(struct server *, char *to, char *timestring); +/* void (*p_set_away)(struct server *);*/ + int (*p_raw)(struct server *, char *raw); + int (*p_cmp)(const char *s1, const char *s2); + + int port; + int sok; /* is equal to sok4 or sok6 (the one we are using) */ + int sok4; /* tcp4 socket */ + int sok6; /* tcp6 socket */ + int proxy_type; + int proxy_sok; /* Additional information for MS Proxy beast */ + int proxy_sok4; + int proxy_sok6; + int id; /* unique ID number (for plugin API) */ + + /* dcc_ip moved from hexchatprefs to make it per-server */ + guint32 dcc_ip; + +#ifdef USE_OPENSSL + SSL_CTX *ctx; + SSL *ssl; + int ssl_do_connect_tag; +#else + void *ssl; +#endif + int childread; + int childwrite; + int childpid; + int iotag; + int recondelay_tag; /* reconnect delay timeout */ + int joindelay_tag; /* waiting before we send JOIN */ + char hostname[128]; /* real ip number */ + char servername[128]; /* what the server says is its name */ + char password[1024]; + char nick[NICKLEN]; + char linebuf[8704]; /* RFC says 512 chars including \r\n, IRCv3 message tags add 8191, plus the NUL byte */ + char *last_away_reason; + int pos; /* current position in linebuf */ + int nickcount; + int loginmethod; /* see login_types[] */ + + char *chantypes; /* for 005 numeric - free me */ + char *chanmodes; /* for 005 numeric - free me */ + char *nick_prefixes; /* e.g. "*@%+" */ + char *nick_modes; /* e.g. "aohv" */ + char *bad_nick_prefixes; /* for ircd that doesn't give the modes */ + int modes_per_line; /* 6 on undernet, 4 on efnet etc... */ + + void *network; /* points to entry in servlist.c or NULL! */ + + GSList *outbound_queue; + time_t next_send; /* cptr->since in ircu */ + time_t prev_now; /* previous now-time */ + int sendq_len; /* queue size */ + int lag; /* milliseconds */ + + struct session *front_session; /* front-most window/tab */ + struct session *server_session; /* server window/tab */ + + struct server_gui *gui; /* initialized by fe_new_server */ + + unsigned int ctcp_counter; /*flood */ + time_t ctcp_last_time; + + unsigned int msg_counter; /*counts the msg tab opened in a certain time */ + time_t msg_last_time; + + /*time_t connect_time;*/ /* when did it connect? */ + unsigned long lag_sent; /* we are still waiting for this ping response*/ + time_t ping_recv; /* when we last got a ping reply */ + time_t away_time; /* when we were marked away */ + + char *encoding; + GIConv read_converter; /* iconv converter for converting from server encoding to UTF-8. */ + GIConv write_converter; /* iconv converter for converting from UTF-8 to server encoding. */ + + GSList *favlist; /* list of channels & keys to join */ + + unsigned int motd_skipped:1; + unsigned int connected:1; + unsigned int connecting:1; + unsigned int no_login:1; + unsigned int skip_next_userhost:1;/* used for "get my ip from server" */ + unsigned int skip_next_whois:1; /* hide whois output */ + unsigned int inside_whois:1; + unsigned int doing_dns:1; /* /dns has been done */ + unsigned int end_of_motd:1; /* end of motd reached (logged in) */ + unsigned int sent_quit:1; /* sent a QUIT already? */ + unsigned int use_listargs:1; /* undernet and dalnet need /list >0,<10000 */ + unsigned int is_away:1; + unsigned int reconnect_away:1; /* whether to reconnect in is_away state */ + unsigned int dont_use_proxy:1; /* to proxy or not to proxy */ + unsigned int supports_watch:1; /* supports the WATCH command */ + unsigned int supports_monitor:1; /* supports the MONITOR command */ + unsigned int bad_prefix:1; /* gave us a bad PREFIX= 005 number */ + unsigned int have_namesx:1; /* 005 tokens NAMESX and UHNAMES */ + unsigned int have_awaynotify:1; + unsigned int have_uhnames:1; + unsigned int have_whox:1; /* have undernet's WHOX features */ + unsigned int have_idmsg:1; /* cap solanum.chat/identify-msg */ + unsigned int have_accnotify:1; /* cap account-notify */ + unsigned int have_extjoin:1; /* cap extended-join */ + unsigned int have_account_tag:1; /* cap account-tag */ + unsigned int have_server_time:1; /* cap server-time */ + unsigned int have_sasl:1; /* SASL capability */ + unsigned int have_except:1; /* ban exemptions +e */ + unsigned int have_invite:1; /* invite exemptions +I */ + unsigned int have_cert:1; /* have loaded a cert */ + unsigned int use_who:1; /* whether to use WHO command to get dcc_ip */ + unsigned int sasl_mech; /* mechanism for sasl auth */ + unsigned int sent_capend:1; /* have sent CAP END yet */ + unsigned int waiting_on_cap:1; /* waiting on another line of CAP LS */ + unsigned int waiting_on_sasl:1; /* waiting on sasl */ +#ifdef USE_OPENSSL + unsigned int use_ssl:1; /* is server SSL capable? */ + unsigned int accept_invalid_cert:1;/* ignore result of server's cert. verify */ + scram_session *scram_session; /* session for SASL SCRAM authentication */ +#endif +} server; + +typedef int (*cmd_callback) (struct session * sess, char *tbuf, char *word[], + char *word_eol[]); + +struct commands +{ + char *name; + cmd_callback callback; + char needserver; + char needchannel; + gint16 handle_quotes; + char *help; +}; + +struct away_msg +{ + struct server *server; + char nick[NICKLEN]; + char *message; +}; + +/* not just for popups, but used for usercommands, ctcp replies, + userlist buttons etc */ + +struct popup +{ + char *cmd; + char *name; +}; + +/* CL: get a random int in the range [0..n-1]. DON'T use rand() % n, it gives terrible results. */ +#define RAND_INT(n) ((int)(rand() / (RAND_MAX + 1.0) * (n))) + +#endif diff --git a/src/common/hexchatc.h b/src/common/hexchatc.h new file mode 100644 index 0000000000000000000000000000000000000000..ae1c540cb670b6f41c0fa43f0995d9a9a7e0438d --- /dev/null +++ b/src/common/hexchatc.h @@ -0,0 +1,62 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_C_H +#define HEXCHAT_C_H + +extern struct hexchatprefs prefs; + +extern int hexchat_is_quitting; +extern gint arg_skip_plugins; /* command-line args */ +extern gint arg_dont_autoconnect; +extern char *arg_url; +extern char **arg_urls; +extern char *arg_command; +extern gint arg_existing; + +extern session *current_sess; +extern session *current_tab; + +extern GSList *popup_list; +extern GSList *button_list; +extern GSList *dlgbutton_list; +extern GSList *command_list; +extern GSList *ctcp_list; +extern GSList *replace_list; +extern GSList *sess_list; +extern GSList *dcc_list; +extern GSList *ignore_list; +extern GSList *usermenu_list; +extern GSList *urlhandler_list; +extern GSList *tabmenu_list; +extern GList *sess_list_by_lastact[]; + +session * find_channel (server *serv, char *chan); +session * find_dialog (server *serv, char *nick); +session * new_ircwindow (server *serv, char *name, int type, int focus); +void hexchat_reinit_timers (void); +void lastact_update (session * sess); +session * lastact_getfirst (int (*filter) (session *sess)); +int is_session (session * sess); +void session_free (session *killsess); +void lag_check (void); +void hexchat_exit (void); +void hexchat_exec (const char *cmd); + +#endif diff --git a/src/common/history.c b/src/common/history.c new file mode 100644 index 0000000000000000000000000000000000000000..23a8463e550807b7f3b5e93b3fe3a0cd3288346e --- /dev/null +++ b/src/common/history.c @@ -0,0 +1,121 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include <stdlib.h> +#include <glib.h> +#include "history.h" + +void +history_add (struct history *his, char *text) +{ + g_free (his->lines[his->realpos]); + his->lines[his->realpos] = g_strdup (text); + his->realpos++; + if (his->realpos == HISTORY_SIZE) + his->realpos = 0; + his->pos = his->realpos; +} + +void +history_free (struct history *his) +{ + int i; + for (i = 0; i < HISTORY_SIZE; i++) + { + if (his->lines[i]) + { + g_free (his->lines[i]); + his->lines[i] = 0; + } + } +} + +char * +history_down (struct history *his) +{ + int next; + + if (his->pos == his->realpos) /* allow down only after up */ + return NULL; + if (his->realpos == 0) + { + if (his->pos == HISTORY_SIZE - 1) + { + his->pos = 0; + return ""; + } + } else + { + if (his->pos == his->realpos - 1) + { + his->pos++; + return ""; + } + } + + next = 0; + if (his->pos < HISTORY_SIZE - 1) + next = his->pos + 1; + + if (his->lines[next]) + { + his->pos = next; + return his->lines[his->pos]; + } + + return NULL; +} + +char * +history_up (struct history *his, char *current_text) +{ + int next; + + if (his->realpos == HISTORY_SIZE - 1) + { + if (his->pos == 0) + return NULL; + } else + { + if (his->pos == his->realpos + 1) + return NULL; + } + + next = HISTORY_SIZE - 1; + if (his->pos != 0) + next = his->pos - 1; + + if (his->lines[next]) + { + if + ( + current_text[0] && strcmp(current_text, his->lines[next]) && + (!his->lines[his->pos] || strcmp(current_text, his->lines[his->pos])) && + (!his->lines[his->realpos] || strcmp(current_text, his->lines[his->pos])) + ) + { + history_add (his, current_text); + } + + his->pos = next; + return his->lines[his->pos]; + } + + return NULL; +} diff --git a/src/common/history.h b/src/common/history.h new file mode 100644 index 0000000000000000000000000000000000000000..dc79192c26b285c30d167736e49dec7dd2903789 --- /dev/null +++ b/src/common/history.h @@ -0,0 +1,37 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_HISTORY_H +#define HEXCHAT_HISTORY_H + +#define HISTORY_SIZE 100 + +struct history +{ + char *lines[HISTORY_SIZE]; + int pos; + int realpos; +}; + +void history_add (struct history *his, char *text); +void history_free (struct history *his); +char *history_up (struct history *his, char *current_text); +char *history_down (struct history *his); + +#endif diff --git a/src/common/ignore.c b/src/common/ignore.c new file mode 100644 index 0000000000000000000000000000000000000000..8bf0d57fc3c668fccd7b3f869bc71b2643f87a1e --- /dev/null +++ b/src/common/ignore.c @@ -0,0 +1,416 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "ignore.h" +#include "cfgfiles.h" +#include "fe.h" +#include "text.h" +#include "util.h" +#include "hexchatc.h" +#include "typedef.h" + + +int ignored_ctcp = 0; /* keep a count of all we ignore */ +int ignored_priv = 0; +int ignored_chan = 0; +int ignored_noti = 0; +int ignored_invi = 0; +static int ignored_total = 0; + +/* ignore_exists (): + * returns: struct ig, if this mask is in the ignore list already + * NULL, otherwise + */ +struct ignore * +ignore_exists (char *mask) +{ + struct ignore *ig = NULL; + GSList *list; + + list = ignore_list; + while (list) + { + ig = (struct ignore *) list->data; + if (!rfc_casecmp (ig->mask, mask)) + return ig; + list = list->next; + } + return NULL; + +} + +/* ignore_add(...) + + * returns: + * 0 fail + * 1 success + * 2 success (old ignore has been changed) + */ + +int +ignore_add (char *mask, int type, gboolean overwrite) +{ + struct ignore *ig = NULL; + int change_only = FALSE; + + /* first check if it's already ignored */ + ig = ignore_exists (mask); + if (ig) + change_only = TRUE; + + if (!change_only) + ig = g_new (struct ignore, 1); + + ig->mask = g_strdup (mask); + + if (!overwrite && change_only) + ig->type |= type; + else + ig->type = type; + + if (!change_only) + ignore_list = g_slist_prepend (ignore_list, ig); + fe_ignore_update (1); + + if (change_only) + return 2; + + return 1; +} + +void +ignore_showlist (session *sess) +{ + struct ignore *ig; + GSList *list = ignore_list; + char tbuf[256]; + int i = 0; + + EMIT_SIGNAL (XP_TE_IGNOREHEADER, sess, 0, 0, 0, 0, 0); + + while (list) + { + ig = list->data; + i++; + + g_snprintf (tbuf, sizeof (tbuf), " %-25s ", ig->mask); + if (ig->type & IG_PRIV) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_NOTI) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_CHAN) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_CTCP) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_DCC) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_INVI) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + if (ig->type & IG_UNIG) + strcat (tbuf, _("YES ")); + else + strcat (tbuf, _("NO ")); + strcat (tbuf, "\n"); + PrintText (sess, tbuf); + /*EMIT_SIGNAL (XP_TE_IGNORELIST, sess, ig->mask, 0, 0, 0, 0); */ + /* use this later, when TE's support 7 args */ + list = list->next; + } + + if (!i) + EMIT_SIGNAL (XP_TE_IGNOREEMPTY, sess, 0, 0, 0, 0, 0); + + EMIT_SIGNAL (XP_TE_IGNOREFOOTER, sess, 0, 0, 0, 0, 0); +} + +/* ignore_del() + + * one of the args must be NULL, use mask OR *ig, not both + * + */ + +int +ignore_del (char *mask, struct ignore *ig) +{ + if (!ig) + { + GSList *list = ignore_list; + + while (list) + { + ig = (struct ignore *) list->data; + if (!rfc_casecmp (ig->mask, mask)) + break; + list = list->next; + ig = 0; + } + } + if (ig) + { + ignore_list = g_slist_remove (ignore_list, ig); + g_free (ig->mask); + g_free (ig); + fe_ignore_update (1); + return TRUE; + } + return FALSE; +} + +/* check if a msg should be ignored by browsing our ignore list */ + +int +ignore_check (char *host, int type) +{ + struct ignore *ig; + GSList *list = ignore_list; + + /* check if there's an UNIGNORE first, they take precendance. */ + while (list) + { + ig = (struct ignore *) list->data; + if (ig->type & IG_UNIG) + { + if (ig->type & type) + { + if (match (ig->mask, host)) + return FALSE; + } + } + list = list->next; + } + + list = ignore_list; + while (list) + { + ig = (struct ignore *) list->data; + + if (ig->type & type) + { + if (match (ig->mask, host)) + { + ignored_total++; + if (type & IG_PRIV) + ignored_priv++; + if (type & IG_NOTI) + ignored_noti++; + if (type & IG_CHAN) + ignored_chan++; + if (type & IG_CTCP) + ignored_ctcp++; + if (type & IG_INVI) + ignored_invi++; + fe_ignore_update (2); + return TRUE; + } + } + list = list->next; + } + + return FALSE; +} + +static char * +ignore_read_next_entry (char *my_cfg, struct ignore *ignore) +{ + char tbuf[1024]; + + /* Casting to char * done below just to satisfy compiler */ + + if (my_cfg) + { + my_cfg = cfg_get_str (my_cfg, "mask", tbuf, sizeof (tbuf)); + if (!my_cfg) + return NULL; + ignore->mask = g_strdup (tbuf); + } + if (my_cfg) + { + my_cfg = cfg_get_str (my_cfg, "type", tbuf, sizeof (tbuf)); + ignore->type = atoi (tbuf); + } + return my_cfg; +} + +void +ignore_load () +{ + struct ignore *ignore; + struct stat st; + char *cfg, *my_cfg; + int fh; + + fh = hexchat_open_file ("ignore.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + fstat (fh, &st); + if (st.st_size) + { + cfg = g_malloc0 (st.st_size + 1); + read (fh, cfg, st.st_size); + my_cfg = cfg; + while (my_cfg) + { + ignore = g_new0 (struct ignore, 1); + if ((my_cfg = ignore_read_next_entry (my_cfg, ignore))) + ignore_list = g_slist_prepend (ignore_list, ignore); + else + g_free (ignore); + } + g_free (cfg); + } + close (fh); + } +} + +void +ignore_save () +{ + char buf[1024]; + int fh; + GSList *temp = ignore_list; + struct ignore *ig; + + fh = hexchat_open_file ("ignore.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + while (temp) + { + ig = (struct ignore *) temp->data; + if (!(ig->type & IG_NOSAVE)) + { + g_snprintf (buf, sizeof (buf), "mask = %s\ntype = %u\n\n", + ig->mask, ig->type); + write (fh, buf, strlen (buf)); + } + temp = temp->next; + } + close (fh); + } + +} + +static gboolean +flood_autodialog_timeout (gpointer data) +{ + prefs.hex_gui_autoopen_dialog = 1; + return FALSE; +} + +int +flood_check (char *nick, char *ip, server *serv, session *sess, int what) /*0=ctcp 1=priv */ +{ + time_t current_time; + current_time = time (NULL); + + if (what == 0) + { + if (serv->ctcp_last_time == 0) /*first ctcp in this server */ + { + serv->ctcp_last_time = time (NULL); + serv->ctcp_counter++; + } else + { + if (difftime (current_time, serv->ctcp_last_time) < prefs.hex_flood_ctcp_time) /*if we got the ctcp in the seconds limit */ + { + serv->ctcp_counter++; + if (serv->ctcp_counter == prefs.hex_flood_ctcp_num) /*if we reached the maximun numbers of ctcp in the seconds limits */ + { + char *mask, *message, *real_ip; + + serv->ctcp_last_time = current_time; /*we got the flood, restore all the vars for next one */ + serv->ctcp_counter = 0; + + real_ip = strchr (ip, '@'); + if (real_ip != NULL) + mask = g_strdup_printf ("*!*%s", real_ip); + else + mask = g_strdup_printf ("%s!*", nick); + + message = g_strdup_printf (_("You are being CTCP flooded from %s, ignoring %s\n"), nick, mask); + + PrintText (sess, message); + ignore_add (mask, IG_CTCP, FALSE); + + g_free (message); + g_free (mask); + return 0; + } + } + } + } else + { + if (serv->msg_last_time == 0) + { + serv->msg_last_time = time (NULL); + serv->ctcp_counter++; + } else + { + if (difftime (current_time, serv->msg_last_time) < + prefs.hex_flood_msg_time) + { + char buf[512]; + serv->msg_counter++; + if (serv->msg_counter == prefs.hex_flood_msg_num) /*if we reached the maximun numbers of ctcp in the seconds limits */ + { + g_snprintf (buf, sizeof (buf), + _("You are being MSG flooded from %s, setting gui_autoopen_dialog OFF.\n"), + ip); + PrintText (sess, buf); + serv->msg_last_time = current_time; /*we got the flood, restore all the vars for next one */ + serv->msg_counter = 0; + + if (prefs.hex_gui_autoopen_dialog) + { + prefs.hex_gui_autoopen_dialog = 0; + /* turn it back on in 30 secs */ + fe_timeout_add_seconds (30, flood_autodialog_timeout, NULL); + } + return 0; + } + } + } + } + return 1; +} + diff --git a/src/common/ignore.h b/src/common/ignore.h new file mode 100644 index 0000000000000000000000000000000000000000..674e628586d76b8bfef88b80cb948dfbfb320933 --- /dev/null +++ b/src/common/ignore.h @@ -0,0 +1,57 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_IGNORE_H +#define HEXCHAT_IGNORE_H + +extern GSList *ignore_list; + +extern int ignored_ctcp; +extern int ignored_priv; +extern int ignored_chan; +extern int ignored_noti; +extern int ignored_invi; + +#define IG_PRIV 1 +#define IG_NOTI 2 +#define IG_CHAN 4 +#define IG_CTCP 8 +#define IG_INVI 16 +#define IG_UNIG 32 +#define IG_NOSAVE 64 +#define IG_DCC 128 + +struct ignore +{ + char *mask; + unsigned int type; /* one of more of IG_* ORed together */ +}; + +struct ignore *ignore_exists (char *mask); +int ignore_add (char *mask, int type, gboolean overwrite); +void ignore_showlist (session *sess); +int ignore_del (char *mask, struct ignore *ig); +int ignore_check (char *mask, int type); +void ignore_load (void); +void ignore_save (void); +void ignore_gui_open (void); +void ignore_gui_update (int level); +int flood_check (char *nick, char *ip, server *serv, session *sess, int what); + +#endif diff --git a/src/common/inbound.c b/src/common/inbound.c new file mode 100644 index 0000000000000000000000000000000000000000..fdee2eccf626517ecca3e0cfc631b1b6be65933e --- /dev/null +++ b/src/common/inbound.c @@ -0,0 +1,2083 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include <ctype.h> +#include <stdlib.h> +#include <stdio.h> +#include <sys/types.h> +#include <time.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#include "hexchat.h" +#include "util.h" +#include "ignore.h" +#include "fe.h" +#include "modes.h" +#include "notify.h" +#include "outbound.h" +#include "inbound.h" +#include "server.h" +#include "servlist.h" +#include "text.h" +#include "ctcp.h" +#include "hexchatc.h" +#include "chanopt.h" + + +void +clear_channel (session *sess) +{ + if (sess->channel[0]) + strcpy (sess->waitchannel, sess->channel); + sess->channel[0] = 0; + sess->doing_who = FALSE; + sess->done_away_check = FALSE; + + log_close (sess); + + if (sess->current_modes) + { + g_free (sess->current_modes); + sess->current_modes = NULL; + } + + if (sess->mode_timeout_tag) + { + fe_timeout_remove (sess->mode_timeout_tag); + sess->mode_timeout_tag = 0; + } + + fe_clear_channel (sess); + userlist_clear (sess); + fe_set_nonchannel (sess, FALSE); + fe_set_title (sess); +} + +void +set_topic (session *sess, char *topic, char *stripped_topic) +{ + /* The topic of dialogs are the users hostname which is logged is new */ + if (sess->type == SESS_DIALOG && (!sess->topic || strcmp(sess->topic, stripped_topic)) + && sess->logfd != -1) + { + char tbuf[1024]; + g_snprintf (tbuf, sizeof (tbuf), "[%s has address %s]\n", sess->channel, stripped_topic); + write (sess->logfd, tbuf, strlen (tbuf)); + } + + g_free (sess->topic); + sess->topic = g_strdup (stripped_topic); + fe_set_topic (sess, topic, stripped_topic); +} + +static session * +find_session_from_nick (char *nick, server *serv) +{ + session *sess; + GSList *list = sess_list; + + sess = find_dialog (serv, nick); + if (sess) + return sess; + + if (serv->front_session) + { + // If we are here for ChanServ, then it is usually a reply for the user + if (!g_ascii_strcasecmp(nick, "ChanServ") || userlist_find (serv->front_session, nick)) + return serv->front_session; + } + + if (current_sess && current_sess->server == serv) + { + if (userlist_find (current_sess, nick)) + return current_sess; + } + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (userlist_find (sess, nick)) + return sess; + } + list = list->next; + } + return NULL; +} + +static session * +inbound_open_dialog (server *serv, char *from, + const message_tags_data *tags_data) +{ + session *sess; + + sess = new_ircwindow (serv, from, SESS_DIALOG, 0); + /* for playing sounds */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_OPENDIALOG, sess, NULL, NULL, NULL, NULL, 0, + tags_data->timestamp); + + return sess; +} + +static void +inbound_make_idtext (server *serv, char *idtext, int max, int id) +{ + idtext[0] = 0; + if (serv->have_idmsg || serv->have_accnotify) + { + if (id) + { + safe_strcpy (idtext, prefs.hex_irc_id_ytext, max); + } else + { + safe_strcpy (idtext, prefs.hex_irc_id_ntext, max); + } + /* convert codes like %C,%U to the proper ones */ + check_special_chars (idtext, TRUE); + } +} + +void +inbound_privmsg (server *serv, char *from, char *ip, char *text, int id, + const message_tags_data *tags_data) +{ + session *sess; + struct User *user; + char idtext[64]; + gboolean nodiag = FALSE; + + sess = find_dialog (serv, from); + + if (sess || prefs.hex_gui_autoopen_dialog) + { + /*0=ctcp 1=priv will set hex_gui_autoopen_dialog=0 here is flud detected */ + if (!sess) + { + if (flood_check (from, ip, serv, current_sess, 1)) + /* Create a dialog session */ + sess = inbound_open_dialog (serv, from, tags_data); + else + sess = serv->server_session; + if (!sess) + return; /* ?? */ + } + + if (ip && ip[0]) + set_topic (sess, ip, ip); + inbound_chanmsg (serv, NULL, NULL, from, text, FALSE, tags_data->identified, tags_data); + return; + } + + sess = find_session_from_nick (from, serv); + if (!sess) + { + sess = serv->front_session; + nodiag = TRUE; /* We don't want it to look like a normal message in front sess */ + } + + user = userlist_find (sess, from); + if (user) + { + user->lasttalk = time (0); + if (user->account) + id = TRUE; + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + if (sess->type == SESS_DIALOG && !nodiag) + EMIT_SIGNAL_TIMESTAMP (XP_TE_DPRIVMSG, sess, from, text, idtext, NULL, 0, + tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_PRIVMSG, sess, from, text, idtext, NULL, 0, + tags_data->timestamp); +} + +/* used for Alerts section. Masks can be separated by commas and spaces. */ + +gboolean +alert_match_word (char *word, char *masks) +{ + char *p = masks; + char endchar; + int res; + + if (masks[0] == 0) + return FALSE; + + while (1) + { + /* if it's a 0, space or comma, the word has ended. */ + if (*p == 0 || *p == ' ' || *p == ',') + { + endchar = *p; + *p = 0; + res = match (g_strchug (masks), word); + *p = endchar; + + if (res) + return TRUE; /* yes, matched! */ + + masks = p + 1; + if (*p == 0) + return FALSE; + } + p++; + } +} + +gboolean +alert_match_text (char *text, char *masks) +{ + unsigned char *p = text; + unsigned char endchar; + int res; + + if (masks[0] == 0) + return FALSE; + + while (1) + { + if (*p >= '0' && *p <= '9') + { + p++; + continue; + } + + /* if it's RFC1459 <special>, it can be inside a word */ + switch (*p) + { + case '-': case '[': case ']': case '\\': + case '`': case '^': case '{': case '}': + case '_': case '|': + p++; + continue; + } + + /* if it's a 0, space or comma, the word has ended. */ + if (*p == 0 || *p == ' ' || *p == ',' || + /* if it's anything BUT a letter, the word has ended. */ + (!g_unichar_isalpha (g_utf8_get_char (p)))) + { + endchar = *p; + *p = 0; + res = alert_match_word (text, masks); + *p = endchar; + + if (res) + return TRUE; /* yes, matched! */ + + text = p + g_utf8_skip [p[0]]; + if (*p == 0) + return FALSE; + } + + p += g_utf8_skip [p[0]]; + } +} + +static int +is_hilight (char *from, char *text, session *sess, server *serv) +{ + if (alert_match_word (from, prefs.hex_irc_no_hilight)) + return 0; + + text = strip_color (text, -1, STRIP_ALL); + + if (alert_match_text (text, serv->nick) || + alert_match_text (text, prefs.hex_irc_extra_hilight) || + alert_match_word (from, prefs.hex_irc_nick_hilight)) + { + g_free (text); + if (sess != current_tab) + { + sess->tab_state |= TAB_STATE_NEW_HILIGHT; + lastact_update (sess); + } + return 1; + } + + g_free (text); + return 0; +} + +void +inbound_action (session *sess, char *chan, char *from, char *ip, char *text, + int fromme, int id, const message_tags_data *tags_data) +{ + session *def = sess; + server *serv = sess->server; + struct User *user; + char nickchar[2] = "\000"; + char idtext[64]; + int privaction = FALSE; + + if (!fromme) + { + if (is_channel (serv, chan)) + { + sess = find_channel (serv, chan); + } else + { + /* it's a private action! */ + privaction = TRUE; + /* find a dialog tab for it */ + sess = find_dialog (serv, from); + /* if non found, open a new one */ + if (!sess && prefs.hex_gui_autoopen_dialog) + { + /* but only if it wouldn't flood */ + if (flood_check (from, ip, serv, current_sess, 1)) + sess = inbound_open_dialog (serv, from, tags_data); + else + sess = serv->server_session; + } + if (!sess) + { + sess = find_session_from_nick (from, serv); + /* still not good? */ + if (!sess) + sess = serv->front_session; + } + } + } + + if (!sess) + sess = def; + + if (sess != current_tab) + { + if (fromme) + sess->tab_state |= TAB_STATE_NEW_DATA; + else + sess->tab_state |= TAB_STATE_NEW_MSG; + lastact_update (sess); + } + + user = userlist_find (sess, from); + if (user) + { + nickchar[0] = user->prefix[0]; + user->lasttalk = time (0); + if (user->account) + id = TRUE; + if (user->me) + fromme = TRUE; + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + if (!fromme && !privaction) + { + if (is_hilight (from, text, sess, serv)) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_HCHANACTION, sess, from, text, nickchar, + idtext, 0, tags_data->timestamp); + return; + } + } + + if (fromme) + EMIT_SIGNAL_TIMESTAMP (XP_TE_UACTION, sess, from, text, nickchar, idtext, + 0, tags_data->timestamp); + else if (!privaction) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANACTION, sess, from, text, nickchar, + idtext, 0, tags_data->timestamp); + else if (sess->type == SESS_DIALOG) + EMIT_SIGNAL_TIMESTAMP (XP_TE_DPRIVACTION, sess, from, text, idtext, NULL, + 0, tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_PRIVACTION, sess, from, text, idtext, NULL, 0, + tags_data->timestamp); +} + +void +inbound_chanmsg (server *serv, session *sess, char *chan, char *from, + char *text, char fromme, int id, + const message_tags_data *tags_data) +{ + struct User *user; + int hilight = FALSE; + char nickchar[2] = "\000"; + char idtext[64]; + + if (!sess) + { + if (chan) + { + sess = find_channel (serv, chan); + if (!sess && !is_channel (serv, chan)) + sess = find_dialog (serv, chan); + } else + { + sess = find_dialog (serv, from); + } + if (!sess) + return; + } + + if (sess != current_tab) + { + sess->tab_state |= TAB_STATE_NEW_MSG; + lastact_update (sess); + } + + user = userlist_find (sess, from); + if (user) + { + if (user->account) + id = TRUE; + nickchar[0] = user->prefix[0]; + user->lasttalk = time (0); + if (user->me) + fromme = TRUE; + } + + if (fromme) + { + if (prefs.hex_away_auto_unmark && serv->is_away && !tags_data->timestamp) + sess->server->p_set_back (sess->server); + EMIT_SIGNAL_TIMESTAMP (XP_TE_UCHANMSG, sess, from, text, nickchar, NULL, + 0, tags_data->timestamp); + return; + } + + inbound_make_idtext (serv, idtext, sizeof (idtext), id); + + if (is_hilight (from, text, sess, serv)) + hilight = TRUE; + + if (sess->type == SESS_DIALOG) + EMIT_SIGNAL_TIMESTAMP (XP_TE_DPRIVMSG, sess, from, text, idtext, NULL, 0, + tags_data->timestamp); + else if (hilight) + EMIT_SIGNAL_TIMESTAMP (XP_TE_HCHANMSG, sess, from, text, nickchar, idtext, + 0, tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMSG, sess, from, text, nickchar, idtext, + 0, tags_data->timestamp); +} + +void +inbound_newnick (server *serv, char *nick, char *newnick, int quiet, + const message_tags_data *tags_data) +{ + int me = FALSE; + session *sess; + GSList *list = sess_list; + + if (!serv->p_cmp (nick, serv->nick)) + { + me = TRUE; + safe_strcpy (serv->nick, newnick, NICKLEN); + } + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (userlist_change (sess, nick, newnick) || (me && sess->type == SESS_SERVER)) + { + if (!quiet) + { + if (me) + EMIT_SIGNAL_TIMESTAMP (XP_TE_UCHANGENICK, sess, nick, + newnick, NULL, NULL, 0, + tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANGENICK, sess, nick, + newnick, NULL, NULL, 0, tags_data->timestamp); + } + } + if (sess->type == SESS_DIALOG && !serv->p_cmp (sess->channel, nick)) + { + safe_strcpy (sess->channel, newnick, CHANLEN); + fe_set_channel (sess); + } + fe_set_title (sess); + } + list = list->next; + } + + dcc_change_nick (serv, nick, newnick); + + if (me) + fe_set_nick (serv, newnick); +} + +/* find a "<none>" tab */ +static session * +find_unused_session (server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] == 0 && + sess->server == serv) + { + if (sess->waitchannel[0] == 0) + return sess; + } + list = list->next; + } + return NULL; +} + +static session * +find_session_from_waitchannel (char *chan, struct server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == serv && sess->channel[0] == 0 && sess->type == SESS_CHANNEL) + { + if (!serv->p_cmp (chan, sess->waitchannel)) + return sess; + } + list = list->next; + } + return NULL; +} + +void +inbound_ujoin (server *serv, char *chan, char *nick, char *ip, + const message_tags_data *tags_data) +{ + session *sess; + int found_unused = FALSE; + + /* already joined? probably a bnc */ + sess = find_channel (serv, chan); + if (!sess) + { + /* see if a window is waiting to join this channel */ + sess = find_session_from_waitchannel (chan, serv); + if (!sess) + { + /* find a "<none>" tab and use that */ + sess = find_unused_session (serv); + found_unused = sess != NULL; + if (!sess) + /* last resort, open a new tab/window */ + sess = new_ircwindow (serv, chan, SESS_CHANNEL, 1); + } + } + + safe_strcpy (sess->channel, chan, CHANLEN); + if (found_unused) + { + chanopt_load (sess); + scrollback_load (sess); + if (sess->scrollwritten && sess->scrollback_replay_marklast) + sess->scrollback_replay_marklast (sess); + } + + fe_set_channel (sess); + fe_set_title (sess); + fe_set_nonchannel (sess, TRUE); + userlist_clear (sess); + + log_open_or_close (sess); + + sess->waitchannel[0] = 0; + sess->ignore_date = TRUE; + sess->ignore_mode = TRUE; + sess->ignore_names = TRUE; + sess->end_of_names = FALSE; + + /* sends a MODE */ + serv->p_join_info (sess->server, chan); + + EMIT_SIGNAL_TIMESTAMP (XP_TE_UJOIN, sess, nick, chan, ip, NULL, 0, + tags_data->timestamp); + + if (prefs.hex_irc_who_join) + { + /* sends WHO #channel */ + serv->p_user_list (sess->server, chan); + sess->doing_who = TRUE; + } +} + +void +inbound_ukick (server *serv, char *chan, char *kicker, char *reason, + const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_UKICK, sess, serv->nick, chan, kicker, + reason, 0, tags_data->timestamp); + clear_channel (sess); + if (prefs.hex_irc_auto_rejoin) + { + serv->p_join (serv, chan, sess->channelkey); + safe_strcpy (sess->waitchannel, chan, CHANLEN); + } + } +} + +void +inbound_upart (server *serv, char *chan, char *ip, char *reason, + const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + if (*reason) + EMIT_SIGNAL_TIMESTAMP (XP_TE_UPARTREASON, sess, serv->nick, ip, chan, + reason, 0, tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_UPART, sess, serv->nick, ip, chan, NULL, + 0, tags_data->timestamp); + clear_channel (sess); + } +} + +void +inbound_nameslist (server *serv, char *chan, char *names, + const message_tags_data *tags_data) +{ + session *sess; + char **name_list; + char *host, *nopre_name; + char name[NICKLEN]; + int i; + size_t offset; + + sess = find_channel (serv, chan); + if (!sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_USERSONCHAN, serv->server_session, chan, + names, NULL, NULL, 0, tags_data->timestamp); + return; + } + if (!sess->ignore_names) + EMIT_SIGNAL_TIMESTAMP (XP_TE_USERSONCHAN, sess, chan, names, NULL, NULL, + 0, tags_data->timestamp); + + if (sess->end_of_names) + { + sess->end_of_names = FALSE; + userlist_clear (sess); + } + + name_list = g_strsplit (names, " ", -1); + for (i = 0; name_list[i]; i++) + { + host = NULL; + offset = sizeof(name); + + if (name_list[i][0] == 0) + continue; + + if (serv->have_uhnames) + { + offset = 0; + nopre_name = name_list[i]; + + /* Ignore prefixes so '!' won't cause issues */ + while (strchr (serv->nick_prefixes, *nopre_name) != NULL) + { + nopre_name++; + offset++; + } + + offset += strcspn (nopre_name, "!"); + if (offset++ < strlen (name_list[i])) + host = name_list[i] + offset; + } + + g_strlcpy (name, name_list[i], MIN(offset, sizeof(name))); + + userlist_add (sess, name, host, NULL, NULL, tags_data); + } + g_strfreev (name_list); +} + +void +inbound_topic (server *serv, char *chan, char *topic_text, + const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + char *stripped_topic; + + if (sess) + { + stripped_topic = strip_color (topic_text, -1, STRIP_ALL); + set_topic (sess, topic_text, stripped_topic); + g_free (stripped_topic); + } else + sess = serv->server_session; + + EMIT_SIGNAL_TIMESTAMP (XP_TE_TOPIC, sess, chan, topic_text, NULL, NULL, 0, + tags_data->timestamp); +} + +void +inbound_topicnew (server *serv, char *nick, char *chan, char *topic, + const message_tags_data *tags_data) +{ + session *sess; + char *stripped_topic; + + sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NEWTOPIC, sess, nick, topic, chan, NULL, 0, + tags_data->timestamp); + stripped_topic = strip_color (topic, -1, STRIP_ALL); + set_topic (sess, topic, stripped_topic); + g_free (stripped_topic); + } +} + +void +inbound_join (server *serv, char *chan, char *user, char *ip, char *account, + char *realname, const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_JOIN, sess, user, chan, ip, account, 0, + tags_data->timestamp); + userlist_add (sess, user, ip, account, realname, tags_data); + } +} + +void +inbound_kick (server *serv, char *chan, char *user, char *kicker, char *reason, + const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_KICK, sess, kicker, user, chan, reason, 0, + tags_data->timestamp); + userlist_remove (sess, user); + } +} + +void +inbound_part (server *serv, char *chan, char *user, char *ip, char *reason, + const message_tags_data *tags_data) +{ + session *sess = find_channel (serv, chan); + if (sess) + { + if (*reason) + EMIT_SIGNAL_TIMESTAMP (XP_TE_PARTREASON, sess, user, ip, chan, reason, + 0, tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_PART, sess, user, ip, chan, NULL, 0, + tags_data->timestamp); + userlist_remove (sess, user); + } +} + +void +inbound_topictime (server *serv, char *chan, char *nick, time_t stamp, + const message_tags_data *tags_data) +{ + char *tim = ctime (&stamp); + session *sess = find_channel (serv, chan); + + if (!sess) + sess = serv->server_session; + + if (tim != NULL) + tim[24] = 0; /* get rid of the \n */ + + EMIT_SIGNAL_TIMESTAMP (XP_TE_TOPICDATE, sess, chan, nick, tim, NULL, 0, + tags_data->timestamp); +} + +void +inbound_quit (server *serv, char *nick, char *ip, char *reason, + const message_tags_data *tags_data) +{ + GSList *list = sess_list; + session *sess; + struct User *user; + int was_on_front_session = FALSE; + + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + { + if (sess == current_sess) + was_on_front_session = TRUE; + if ((user = userlist_find (sess, nick))) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_QUIT, sess, nick, reason, ip, NULL, 0, + tags_data->timestamp); + userlist_remove_user (sess, user); + } else if (sess->type == SESS_DIALOG && !serv->p_cmp (sess->channel, nick)) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_QUIT, sess, nick, reason, ip, NULL, 0, + tags_data->timestamp); + } + } + list = list->next; + } + + notify_set_offline (serv, nick, was_on_front_session, tags_data); +} + +void +inbound_account (server *serv, char *nick, char *account, + const message_tags_data *tags_data) +{ + session *sess = NULL; + GSList *list; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + userlist_set_account (sess, nick, account); + list = list->next; + } +} + +void +inbound_ping_reply (session *sess, char *timestring, char *from, + const message_tags_data *tags_data) +{ + unsigned long tim, nowtim, dif; + int lag = 0; + char outbuf[64]; + + if (strncmp (timestring, "LAG", 3) == 0) + { + timestring += 3; + lag = 1; + } + + tim = strtoul (timestring, NULL, 10); + nowtim = make_ping_time (); + dif = nowtim - tim; + + sess->server->ping_recv = time (0); + + if (lag) + { + sess->server->lag_sent = 0; + sess->server->lag = dif; + fe_set_lag (sess->server, dif); + return; + } + + if (atol (timestring) == 0) + { + if (sess->server->lag_sent) + sess->server->lag_sent = 0; + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_PINGREP, sess, from, "?", NULL, NULL, 0, + tags_data->timestamp); + } else + { + g_snprintf (outbuf, sizeof (outbuf), "%ld.%03ld", dif / 1000, dif % 1000); + EMIT_SIGNAL_TIMESTAMP (XP_TE_PINGREP, sess, from, outbuf, NULL, NULL, 0, + tags_data->timestamp); + } +} + +static session * +find_session_from_type (int type, server *serv) +{ + session *sess; + GSList *list = sess_list; + while (list) + { + sess = list->data; + if (sess->type == type && serv == sess->server) + return sess; + list = list->next; + } + return NULL; +} + +void +inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id, + const message_tags_data *tags_data) +{ + char *ptr = to; + session *sess = 0; + int server_notice = FALSE; + + if (is_channel (serv, ptr)) + sess = find_channel (serv, ptr); + + /* /notice [mode-prefix]#channel should end up in that channel */ + if (!sess && ptr[0] && strchr(serv->nick_prefixes, ptr[0]) != NULL) + { + ptr++; + sess = find_channel (serv, ptr); + } + + if (strcmp (nick, ip) == 0) + server_notice = TRUE; + + if (!sess) + { + ptr = 0; + if (prefs.hex_irc_notice_pos == 0) + { + /* paranoia check */ + if (msg[0] == '[' && (!serv->have_idmsg || id)) + { + /* guess where chanserv meant to post this -sigh- */ + if (!g_ascii_strcasecmp (nick, "ChanServ") && !find_dialog (serv, nick)) + { + char *dest = g_strdup (msg + 1); + char *end = strchr (dest, ']'); + if (end) + { + *end = 0; + sess = find_channel (serv, dest); + } + g_free (dest); + } + } + if (!sess) + sess = find_session_from_nick (nick, serv); + } else if (prefs.hex_irc_notice_pos == 1) + { + int stype = server_notice ? SESS_SNOTICES : SESS_NOTICES; + sess = find_session_from_type (stype, serv); + if (!sess) + { + if (stype == SESS_NOTICES) + sess = new_ircwindow (serv, "(notices)", SESS_NOTICES, 0); + else + sess = new_ircwindow (serv, "(snotices)", SESS_SNOTICES, 0); + fe_set_channel (sess); + fe_set_title (sess); + fe_set_nonchannel (sess, FALSE); + userlist_clear (sess); + log_open_or_close (sess); + } + /* Avoid redundancy with some Undernet notices */ + if (!strncmp (msg, "*** Notice -- ", 14)) + msg += 14; + } else + { + sess = serv->front_session; + } + + if (!sess) + { + if (server_notice) + sess = serv->server_session; + else + sess = serv->front_session; + } + } + + if (msg[0] == '\001') + { + size_t len; + + msg++; + if (!strncmp (msg, "PING", 4)) + { + inbound_ping_reply (sess, msg + 5, nick, tags_data); + return; + } + + len = strlen(msg); + if (msg[len - 1] == '\001') + msg[len - 1] = '\000'; + } + + if (server_notice) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVNOTICE, sess, msg, nick, NULL, NULL, 0, + tags_data->timestamp); + else if (ptr) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANNOTICE, sess, nick, to, msg, NULL, 0, + tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTICE, sess, nick, msg, NULL, NULL, 0, + tags_data->timestamp); +} + +void +inbound_away (server *serv, char *nick, char *msg, + const message_tags_data *tags_data) +{ + struct away_msg *away = server_away_find_message (serv, nick); + session *sess = NULL; + GSList *list; + + if (away && !strcmp (msg, away->message)) /* Seen the msg before? */ + { + if (prefs.hex_away_show_once && !serv->inside_whois) + return; + } else + { + server_away_save_message (serv, nick, msg); + } + + if (prefs.hex_irc_whois_front) + sess = serv->front_session; + else + { + if (!serv->inside_whois) + sess = find_session_from_nick (nick, serv); + if (!sess) + sess = serv->server_session; + } + + /* possibly hide the output */ + if (!serv->inside_whois || !serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS5, sess, nick, msg, NULL, NULL, 0, + tags_data->timestamp); + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + userlist_set_away (sess, nick, TRUE); + list = list->next; + } +} + +void +inbound_away_notify (server *serv, char *nick, char *reason, + const message_tags_data *tags_data) +{ + session *sess = NULL; + GSList *list; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + { + userlist_set_away (sess, nick, reason ? TRUE : FALSE); + if (sess == serv->front_session && notify_is_in_list (serv, nick)) + { + if (reason) + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYAWAY, sess, nick, reason, NULL, + NULL, 0, tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYBACK, sess, nick, NULL, NULL, + NULL, 0, tags_data->timestamp); + } + } + list = list->next; + } +} + +int +inbound_nameslist_end (server *serv, char *chan, + const message_tags_data *tags_data) +{ + session *sess; + GSList *list; + + if (!strcmp (chan, "*")) + { + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + { + sess->end_of_names = TRUE; + sess->ignore_names = FALSE; + fe_userlist_numbers (sess); + } + list = list->next; + } + return TRUE; + } + sess = find_channel (serv, chan); + if (sess) + { + sess->end_of_names = TRUE; + sess->ignore_names = FALSE; + fe_userlist_numbers (sess); + return TRUE; + } + return FALSE; +} + +static gboolean +check_autojoin_channels (server *serv) +{ + int i = 0; + session *sess; + GSList *list = sess_list; + GSList *sess_channels = NULL; /* joined channels that are not in the favorites list */ + favchannel *fav; + + /* shouldn't really happen, the io tag is destroyed in server.c */ + if (!is_server (serv)) + { + return FALSE; + } + + /* If there's a session (i.e. this is a reconnect), autojoin to everything that was open previously. */ + while (list) + { + sess = list->data; + + if (sess->server == serv) + { + if (sess->willjoinchannel[0] != 0) + { + strcpy (sess->waitchannel, sess->willjoinchannel); + sess->willjoinchannel[0] = 0; + + fav = servlist_favchan_find (serv->network, sess->waitchannel, NULL); /* Is this channel in our favorites? */ + + /* session->channelkey is initially unset for channels joined from the favorites. You have to fill them up manually from favorites settings. */ + if (fav) + { + /* session->channelkey is set if there was a key change during the session. In that case, use the session key, not the one from favorites. */ + if (fav->key && !strlen (sess->channelkey)) + { + safe_strcpy (sess->channelkey, fav->key, sizeof (sess->channelkey)); + } + } + + /* for easier checks, ensure that favchannel->key is just NULL when session->channelkey is empty i.e. '' */ + if (strlen (sess->channelkey)) + { + sess_channels = servlist_favchan_listadd (sess_channels, sess->waitchannel, sess->channelkey); + } + else + { + sess_channels = servlist_favchan_listadd (sess_channels, sess->waitchannel, NULL); + } + i++; + } + } + + list = list->next; + } + + if (sess_channels) + { + serv->p_join_list (serv, sess_channels); + g_slist_free_full (sess_channels, (GDestroyNotify) servlist_favchan_free); + } + else + { + /* If there's no session, just autojoin to favorites. */ + if (serv->favlist) + { + serv->p_join_list (serv, serv->favlist); + i++; + + /* FIXME this is not going to work and is not needed either. server_free() does the job already. */ + /* g_slist_free_full (serv->favlist, (GDestroyNotify) servlist_favchan_free); */ + } + } + + serv->joindelay_tag = 0; + fe_server_event (serv, FE_SE_LOGGEDIN, i); + return FALSE; +} + +void +inbound_next_nick (session *sess, char *nick, int error, + const message_tags_data *tags_data) +{ + char *newnick; + server *serv = sess->server; + ircnet *net; + + serv->nickcount++; + + switch (serv->nickcount) + { + case 2: + newnick = prefs.hex_irc_nick2; + net = serv->network; + /* use network specific "Second choice"? */ + if (net && !(net->flags & FLAG_USE_GLOBAL) && net->nick2) + { + newnick = net->nick2; + } + serv->p_change_nick (serv, newnick); + if (error) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NICKERROR, sess, nick, newnick, NULL, NULL, + 0, tags_data->timestamp); + } + else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NICKCLASH, sess, nick, newnick, NULL, NULL, + 0, tags_data->timestamp); + } + break; + + case 3: + serv->p_change_nick (serv, prefs.hex_irc_nick3); + if (error) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NICKERROR, sess, nick, prefs.hex_irc_nick3, + NULL, NULL, 0, tags_data->timestamp); + } + else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NICKCLASH, sess, nick, prefs.hex_irc_nick3, + NULL, NULL, 0, tags_data->timestamp); + } + break; + + default: + EMIT_SIGNAL_TIMESTAMP (XP_TE_NICKFAIL, sess, NULL, NULL, NULL, NULL, 0, + tags_data->timestamp); + } +} + + +static void +dns_addr_callback (GObject *obj, GAsyncResult *result, gpointer user_data) +{ + GResolver *resolver = G_RESOLVER(obj); + session *sess = (session*)user_data; + gchar *addr; + + g_return_if_fail (is_session(sess)); + + addr = g_resolver_lookup_by_address_finish (resolver, result, NULL); + if (addr) + PrintTextf (sess, _("Resolved to %s"), addr); + else + PrintText (sess, _("Not found")); +} + +static void +dns_name_callback (GObject *obj, GAsyncResult *result, gpointer user_data) +{ + GResolver *resolver = G_RESOLVER(obj); + session *sess = (session*)user_data; + GList* addrs; + gchar* addr; + GList* list; + + g_return_if_fail (is_session (sess)); + + addrs = g_resolver_lookup_by_name_finish (resolver, result, NULL); + if (addrs) + { + PrintText (sess, _("Resolved to:")); + + for (list = g_list_first (addrs); list; list = g_list_next (list)) + { + addr = g_inet_address_to_string (list->data); + PrintTextf (sess, " %s", addr); + } + + g_resolver_free_addresses (addrs); + } + else + PrintText (sess, _("Not found")); +} + +void +do_dns (session *sess, char *nick, char *host, + const message_tags_data *tags_data) +{ + GResolver *res = g_resolver_get_default (); + GInetAddress *addr; + char *po; + + po = strrchr (host, '@'); + if (po) + host = po + 1; + + if (nick) + EMIT_SIGNAL_TIMESTAMP (XP_TE_RESOLVINGUSER, sess, nick, host, NULL, NULL, 0, + tags_data->timestamp); + + PrintTextf (sess, _("Looking up %s..."), host); + + addr = g_inet_address_new_from_string (host); + if (addr) + g_resolver_lookup_by_address_async (res, addr, NULL, dns_addr_callback, sess); + else + g_resolver_lookup_by_name_async (res, host, NULL, dns_name_callback, sess); +} + +static void +set_default_modes (server *serv) +{ + char modes[8]; + + modes[0] = '+'; + modes[1] = '\0'; + + if (prefs.hex_irc_wallops) + strcat (modes, "w"); + if (prefs.hex_irc_servernotice) + strcat (modes, "s"); + if (prefs.hex_irc_invisible) + strcat (modes, "i"); + if (prefs.hex_irc_hidehost) + strcat (modes, "x"); + + if (modes[1] != '\0') + { + serv->p_mode (serv, serv->nick, modes); + } +} + +void +inbound_login_start (session *sess, char *nick, char *servname, + const message_tags_data *tags_data) +{ + inbound_newnick (sess->server, sess->server->nick, nick, TRUE, tags_data); + server_set_name (sess->server, servname); + if (sess->type == SESS_SERVER) + log_open_or_close (sess); + /* reset our away status */ + if (sess->server->reconnect_away) + { + handle_command (sess->server->server_session, "away", FALSE); + sess->server->reconnect_away = FALSE; + } +} + +static void +inbound_set_all_away_status (server *serv, char *nick, unsigned int status) +{ + GSList *list; + session *sess; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->server == serv) + userlist_set_away (sess, nick, status); + list = list->next; + } +} + +void +inbound_uaway (server *serv, const message_tags_data *tags_data) +{ + serv->is_away = TRUE; + serv->away_time = time (NULL); + fe_set_away (serv); + + inbound_set_all_away_status (serv, serv->nick, 1); +} + +void +inbound_uback (server *serv, const message_tags_data *tags_data) +{ + serv->is_away = FALSE; + serv->reconnect_away = FALSE; + fe_set_away (serv); + + inbound_set_all_away_status (serv, serv->nick, 0); +} + +void +inbound_foundip (session *sess, char *ip, const message_tags_data *tags_data) +{ + struct hostent *HostAddr; + + HostAddr = gethostbyname (ip); + if (HostAddr) + { + sess->server->dcc_ip = ((struct in_addr *) HostAddr->h_addr)->s_addr; + EMIT_SIGNAL_TIMESTAMP (XP_TE_FOUNDIP, sess->server->server_session, + inet_ntoa (*((struct in_addr *) HostAddr->h_addr)), + NULL, NULL, NULL, 0, tags_data->timestamp); + } +} + +void +inbound_user_info_start (session *sess, char *nick, + const message_tags_data *tags_data) +{ + /* set away to FALSE now, 301 may turn it back on */ + inbound_set_all_away_status (sess->server, nick, 0); +} + +/* reporting new information found about this user. chan may be NULL. + * away may be 0xff to indicate UNKNOWN. */ + +void +inbound_user_info (session *sess, char *chan, char *user, char *host, + char *servname, char *nick, char *realname, + char *account, unsigned int away, + const message_tags_data *tags_data) +{ + server *serv = sess->server; + session *who_sess; + GSList *list; + char *uhost = NULL; + + if (user && host) + { + uhost = g_strdup_printf ("%s@%s", user, host); + } + + if (chan) + { + who_sess = find_channel (serv, chan); + if (who_sess) + userlist_add_hostname (who_sess, nick, uhost, realname, servname, account, away); + else + { + if (serv->doing_dns && nick && host) + do_dns (sess, nick, host, tags_data); + } + } + else + { + /* came from WHOIS, not channel specific */ + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->server != serv) + continue; + + if (sess->type == SESS_CHANNEL) + { + userlist_add_hostname (sess, nick, uhost, realname, servname, account, away); + } + else if (sess->type == SESS_DIALOG && uhost && !serv->p_cmp (sess->channel, nick)) + { + set_topic (sess, uhost, uhost); + } + } + } + + g_free (uhost); +} + +int +inbound_banlist (session *sess, time_t stamp, char *chan, char *mask, + char *banner, int rplcode, const message_tags_data *tags_data) +{ + char *time_str = ctime (&stamp); + server *serv = sess->server; + char *nl; + + if (stamp <= 0 || time_str == NULL) + { + time_str = ""; + } + else + { + if ((nl = strchr (time_str, '\n'))) + *nl = 0; + } + + sess = find_channel (serv, chan); + if (!sess) + { + sess = serv->front_session; + goto nowindow; + } + + if (!fe_add_ban_list (sess, mask, banner, time_str, rplcode)) + { +nowindow: + + EMIT_SIGNAL_TIMESTAMP (XP_TE_BANLIST, sess, chan, mask, banner, time_str, + 0, tags_data->timestamp); + return TRUE; + } + + return TRUE; +} + +/* execute 1 end-of-motd command */ + +static int +inbound_exec_eom_cmd (char *str, void *sess) +{ + char *cmd; + + cmd = command_insert_vars ((session*)sess, (str[0] == '/') ? str + 1 : str); + handle_command ((session*)sess, cmd, TRUE); + g_free (cmd); + + return 1; +} + +static int +inbound_nickserv_login (server *serv) +{ + /* this could grow ugly, but let's hope there won't be new NickServ types */ + switch (serv->loginmethod) + { + case LOGIN_MSG_NICKSERV: + case LOGIN_NICKSERV: + case LOGIN_CHALLENGEAUTH: +#if 0 + case LOGIN_NS: + case LOGIN_MSG_NS: + case LOGIN_AUTH: +#endif + return 1; + default: + return 0; + } +} + +void +inbound_login_end (session *sess, char *text, const message_tags_data *tags_data) +{ + GSList *cmdlist; + commandentry *cmd; + server *serv = sess->server; + ircnet *net = serv->network; + + if (!serv->end_of_motd) + { + if (prefs.hex_dcc_ip_from_server && serv->use_who) + { + serv->skip_next_userhost = TRUE; + serv->p_get_ip_uh (serv, serv->nick); /* sends USERHOST mynick */ + } + set_default_modes (serv); + + if (net) + { + /* there may be more than 1, separated by \n */ + + cmdlist = net->commandlist; + while (cmdlist) + { + cmd = cmdlist->data; + inbound_exec_eom_cmd (cmd->command, sess); + cmdlist = cmdlist->next; + } + } + /* The previously ran commands can alter the state of the server */ + if (serv->network != net) + return; + + /* send nickserv password */ + if (net && net->pass && inbound_nickserv_login (serv)) + { + serv->p_ns_identify (serv, net->pass); + } + + /* wait for join if command or nickserv set */ + if (net && prefs.hex_irc_join_delay + && ((net->pass && inbound_nickserv_login (serv)) + || net->commandlist)) + { + serv->joindelay_tag = fe_timeout_add_seconds (prefs.hex_irc_join_delay, check_autojoin_channels, serv); + } + else + { + check_autojoin_channels (serv); + } + + if (serv->supports_watch || serv->supports_monitor) + { + notify_send_watches (serv); + } + + serv->end_of_motd = TRUE; + } + + if (prefs.hex_irc_skip_motd && !serv->motd_skipped) + { + serv->motd_skipped = TRUE; + EMIT_SIGNAL_TIMESTAMP (XP_TE_MOTDSKIP, serv->server_session, NULL, NULL, + NULL, NULL, 0, tags_data->timestamp); + return; + } + + EMIT_SIGNAL_TIMESTAMP (XP_TE_MOTD, serv->server_session, text, NULL, NULL, + NULL, 0, tags_data->timestamp); +} + +void +inbound_identified (server *serv) /* 'MODE +e MYSELF' on freenode */ +{ + if (serv->joindelay_tag) + { + /* stop waiting, just auto JOIN now */ + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + check_autojoin_channels (serv); + } +} + +static const char *sasl_mechanisms[] = +{ + "PLAIN", + "EXTERNAL", + "SCRAM-SHA-1", + "SCRAM-SHA-256", + "SCRAM-SHA-512" +}; + +static void +inbound_toggle_caps (server *serv, const char *extensions_str, gboolean enable) +{ + char **extensions; + gsize i; + + extensions = g_strsplit (extensions_str, " ", 0); + + for (i = 0; extensions[i]; i++) + { + const char *extension = extensions[i]; + + if (!strcmp (extension, "solanum.chat/identify-msg")) + serv->have_idmsg = enable; + else if (!strcmp (extension, "multi-prefix")) + serv->have_namesx = enable; + else if (!strcmp (extension, "account-notify")) + serv->have_accnotify = enable; + else if (!strcmp (extension, "extended-join")) + serv->have_extjoin = enable; + else if (!strcmp (extension, "userhost-in-names")) + serv->have_uhnames = enable; + else if (!strcmp (extension, "server-time") + || !strcmp (extension, "znc.in/server-time") + || !strcmp (extension, "znc.in/server-time-iso")) + serv->have_server_time = enable; + else if (!strcmp (extension, "away-notify")) + serv->have_awaynotify = enable; + else if (!strcmp (extension, "account-tag")) + serv->have_account_tag = enable; + else if (!strcmp (extension, "sasl")) + { + serv->have_sasl = enable; + if (enable) + { +#ifdef USE_OPENSSL + if (serv->loginmethod == LOGIN_SASLEXTERNAL) + serv->sasl_mech = MECH_EXTERNAL; + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_1) + serv->sasl_mech = MECH_SCRAM_SHA_1; + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_256) + serv->sasl_mech = MECH_SCRAM_SHA_256; + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_512) + serv->sasl_mech = MECH_SCRAM_SHA_512; +#endif + /* Mechanism either defaulted to PLAIN or server gave us list */ + tcp_sendf (serv, "AUTHENTICATE %s\r\n", sasl_mechanisms[serv->sasl_mech]); + } + } + } + + g_strfreev (extensions); +} + +void +inbound_cap_ack (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data) +{ + EMIT_SIGNAL_TIMESTAMP (XP_TE_CAPACK, serv->server_session, nick, extensions, + NULL, NULL, 0, tags_data->timestamp); + + inbound_toggle_caps (serv, extensions, TRUE); +} + +void +inbound_cap_del (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data) +{ + EMIT_SIGNAL_TIMESTAMP (XP_TE_CAPDEL, serv->server_session, nick, extensions, + NULL, NULL, 0, tags_data->timestamp); + + inbound_toggle_caps (serv, extensions, FALSE); +} + +static const char * const supported_caps[] = { + /* IRCv3.1 */ + "multi-prefix", + "away-notify", + "account-notify", + "extended-join", + /* "sasl", Handled manually */ + + /* IRCv3.2 */ + "server-time", + "userhost-in-names", + "cap-notify", + "chghost", + "setname", + "invite-notify", + "account-tag", + "extended-monitor", + + /* ZNC */ + "znc.in/server-time-iso", + "znc.in/server-time", + + /* Twitch */ + "twitch.tv/membership", + + /* Solanum */ + "solanum.chat/identify-msg", +}; + +static int +get_supported_mech (server *serv, const char *list) +{ + char **mechs = g_strsplit (list, ",", 0); + gsize i; + int ret = -1; + + for (i = 0; mechs[i]; ++i) + { +#ifdef USE_OPENSSL + if (serv->loginmethod == LOGIN_SASLEXTERNAL) + { + if (!strcmp (mechs[i], "EXTERNAL")) + { + ret = MECH_EXTERNAL; + break; + } + } + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_1) + { + if (!strcmp(mechs[i], "SCRAM-SHA-1")) + { + ret = MECH_SCRAM_SHA_1; + break; + } + } + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_256) + { + if (!strcmp(mechs[i], "SCRAM-SHA-256")) + { + ret = MECH_SCRAM_SHA_256; + break; + } + } + else if (serv->loginmethod == LOGIN_SASL_SCRAM_SHA_512) + { + if (!strcmp(mechs[i], "SCRAM-SHA-512")) + { + ret = MECH_SCRAM_SHA_512; + break; + } + } + else +#endif + if (!strcmp (mechs[i], "PLAIN")) + { + ret = MECH_PLAIN; + break; + } + } + + g_strfreev (mechs); + return ret; +} + +void +inbound_cap_ls (server *serv, char *nick, char *extensions_str, + const message_tags_data *tags_data) +{ + char buffer[500]; /* buffer for requesting capabilities and emitting the signal */ + gboolean want_cap = FALSE; /* format the CAP REQ string based on previous capabilities being requested or not */ + char **extensions; + int i; + + if (g_str_has_prefix (extensions_str, "* ")) + { + serv->waiting_on_cap = TRUE; + extensions_str += 2; + extensions_str += extensions_str[0] == ':' ? 1 : 0; + } + else + { + serv->waiting_on_cap = FALSE; + } + + EMIT_SIGNAL_TIMESTAMP (XP_TE_CAPLIST, serv->server_session, nick, + extensions_str, NULL, NULL, 0, tags_data->timestamp); + + extensions = g_strsplit (extensions_str, " ", 0); + + strcpy (buffer, "CAP REQ :"); + + for (i=0; extensions[i]; i++) + { + char *extension = extensions[i]; + char *value; + gsize x; + + /* CAP 3.2 can provide values */ + if ((value = strchr (extension, '='))) + { + *value = '\0'; + value++; + } + + /* if the SASL password is set AND auth mode is set to SASL, request SASL auth */ + if (!g_strcmp0 (extension, "sasl") && + (((serv->loginmethod == LOGIN_SASL + || serv->loginmethod == LOGIN_SASL_SCRAM_SHA_1 + || serv->loginmethod == LOGIN_SASL_SCRAM_SHA_256 + || serv->loginmethod == LOGIN_SASL_SCRAM_SHA_512) + && strlen (serv->password) != 0) + || serv->loginmethod == LOGIN_SASLEXTERNAL)) + { + if (value) + { + int sasl_mech = get_supported_mech (serv, value); + if (sasl_mech == -1) /* No supported mech */ + continue; + serv->sasl_mech = sasl_mech; + } + want_cap = TRUE; + serv->waiting_on_sasl = TRUE; + g_strlcat (buffer, "sasl ", sizeof(buffer)); + continue; + } + + for (x = 0; x < G_N_ELEMENTS(supported_caps); ++x) + { + if (!g_strcmp0 (extension, supported_caps[x])) + { + g_strlcat (buffer, extension, sizeof(buffer)); + g_strlcat (buffer, " ", sizeof(buffer)); + want_cap = TRUE; + } + } + } + + g_strfreev (extensions); + + if (want_cap) + { + /* buffer + 9 = emit buffer without "CAP REQ :" */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_CAPREQ, serv->server_session, + buffer + 9, NULL, NULL, NULL, 0, + tags_data->timestamp); + tcp_sendf (serv, "%s\r\n", g_strchomp (buffer)); + } + if (!serv->waiting_on_sasl && !serv->waiting_on_cap) + { + /* if we use SASL, CAP END is dealt via raw numerics */ + serv->sent_capend = TRUE; + tcp_send_len (serv, "CAP END\r\n", 9); + } +} + +void +inbound_cap_nak (server *serv, char *extensions_str, const message_tags_data *tags_data) +{ + char **extensions; + int i; + + extensions = g_strsplit (extensions_str, " ", 0); + for (i=0; extensions[i]; i++) + { + if (!g_strcmp0 (extensions[i], "sasl")) + serv->waiting_on_sasl = FALSE; + } + + if (!serv->waiting_on_cap && !serv->waiting_on_sasl && !serv->sent_capend) + { + serv->sent_capend = TRUE; + tcp_send_len (serv, "CAP END\r\n", 9); + } + + g_strfreev (extensions); +} + +void +inbound_cap_list (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data) +{ + if (g_str_has_prefix (extensions, "* ")) + { + extensions += 2; + extensions += extensions[0] == ':' ? 1 : 0; + } + EMIT_SIGNAL_TIMESTAMP (XP_TE_CAPACK, serv->server_session, nick, extensions, + NULL, NULL, 0, tags_data->timestamp); +} + +static void +plain_authenticate (server *serv, char *user, char *password) +{ + char *pass = encode_sasl_pass_plain (user, password); + + if (pass == NULL) + { + /* something went wrong abort */ + tcp_sendf (serv, "AUTHENTICATE *\r\n"); + return; + } + + /* long SASL passwords must be split into 400-byte chunks + https://ircv3.net/specs/extensions/sasl-3.1#the-authenticate-command */ + size_t pass_len = strlen (pass); + if (pass_len <= 400) + tcp_sendf (serv, "AUTHENTICATE %s\r\n", pass); + else + { + size_t sent = 0; + while (sent < pass_len) + { + char *pass_chunk = g_strndup (pass + sent, 400); + tcp_sendf (serv, "AUTHENTICATE %s\r\n", pass_chunk); + sent += 400; + g_free (pass_chunk); + } + } + if (pass_len % 400 == 0) + tcp_sendf (serv, "AUTHENTICATE +\r\n"); +} + +#ifdef USE_OPENSSL +/* + * Sends AUTHENTICATE messages to log in via SCRAM. + */ +static void +scram_authenticate (server *serv, const char *data, const char *digest, + const char *user, const char *password) +{ + char *encoded, *decoded, *output; + scram_status status; + size_t output_len; + gsize decoded_len; + + if (serv->scram_session == NULL) + { + serv->scram_session = scram_session_create (digest, user, password); + + if (serv->scram_session == NULL) + { + PrintTextf (serv->server_session, _("Could not create SCRAM session with digest %s"), digest); + g_warning ("Could not create SCRAM session with digest %s", digest); + tcp_sendf (serv, "AUTHENTICATE *\r\n"); + return; + } + } + + decoded = g_base64_decode (data, &decoded_len); + status = scram_process (serv->scram_session, decoded, &output, &output_len); + g_free (decoded); + + if (status == SCRAM_IN_PROGRESS) + { + // Authentication is still in progress + encoded = g_base64_encode ((guchar *) output, output_len); + tcp_sendf (serv, "AUTHENTICATE %s\r\n", encoded); + g_free (encoded); + g_free (output); + } + else if (status == SCRAM_SUCCESS) + { + // Authentication succeeded + tcp_sendf (serv, "AUTHENTICATE +\r\n"); + g_clear_pointer (&serv->scram_session, scram_session_free); + } + else if (status == SCRAM_ERROR) + { + // Authentication failed + tcp_sendf (serv, "AUTHENTICATE *\r\n"); + + if (serv->scram_session->error != NULL) + { + PrintTextf (serv->server_session, _("SASL SCRAM authentication failed: %s"), serv->scram_session->error); + g_info ("SASL SCRAM authentication failed: %s", serv->scram_session->error); + } + + g_clear_pointer (&serv->scram_session, scram_session_free); + } +} +#endif + +void +inbound_sasl_authenticate (server *serv, char *data) +{ + ircnet *net = (ircnet*)serv->network; + char *user; + const char *mech = sasl_mechanisms[serv->sasl_mech]; + + /* Got a list of supported mechanisms from outdated inspircd + * just ignore it as it goes against spec */ + if (strchr (data, ',') != NULL) + return; + + if (net->user && !(net->flags & FLAG_USE_GLOBAL)) + user = net->user; + else + user = prefs.hex_irc_user_name; + + switch (serv->sasl_mech) + { + case MECH_PLAIN: + plain_authenticate(serv, user, serv->password); + break; +#ifdef USE_OPENSSL + case MECH_EXTERNAL: + tcp_sendf (serv, "AUTHENTICATE +\r\n"); + break; + case MECH_SCRAM_SHA_1: + scram_authenticate(serv, data, "SHA1", user, serv->password); + return; + case MECH_SCRAM_SHA_256: + scram_authenticate(serv, data, "SHA256", user, serv->password); + return; + case MECH_SCRAM_SHA_512: + scram_authenticate(serv, data, "SHA512", user, serv->password); + return; +#endif + } + + EMIT_SIGNAL_TIMESTAMP (XP_TE_SASLAUTH, serv->server_session, user, (char*)mech, + NULL, NULL, 0, 0); +} + +void +inbound_sasl_error (server *serv) +{ +#ifdef USE_OPENSSL + g_clear_pointer (&serv->scram_session, scram_session_free); +#endif + /* Just abort, not much we can do */ + tcp_sendf (serv, "AUTHENTICATE *\r\n"); +} diff --git a/src/common/inbound.h b/src/common/inbound.h new file mode 100644 index 0000000000000000000000000000000000000000..6e7c171f30bd9d4b2bbb4923edf5540efa9dc7dd --- /dev/null +++ b/src/common/inbound.h @@ -0,0 +1,107 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "proto-irc.h" + +#ifndef HEXCHAT_INBOUND_H +#define HEXCHAT_INBOUND_H + +void inbound_next_nick (session *sess, char *nick, int error, + const message_tags_data *tags_data); +void inbound_uback (server *serv, const message_tags_data *tags_data); +void inbound_uaway (server *serv, const message_tags_data *tags_data); +void inbound_account (server *serv, char *nick, char *account, + const message_tags_data *tags_data); +void inbound_part (server *serv, char *chan, char *user, char *ip, char *reason, + const message_tags_data *tags_data); +void inbound_upart (server *serv, char *chan, char *ip, char *reason, + const message_tags_data *tags_data); +void inbound_ukick (server *serv, char *chan, char *kicker, char *reason, + const message_tags_data *tags_data); +void inbound_kick (server *serv, char *chan, char *user, char *kicker, + char *reason, const message_tags_data *tags_data); +void inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, + int id, const message_tags_data *tags_data); +void inbound_quit (server *serv, char *nick, char *ip, char *reason, + const message_tags_data *tags_data); +void inbound_topicnew (server *serv, char *nick, char *chan, char *topic, + const message_tags_data *tags_data); +void inbound_join (server *serv, char *chan, char *user, char *ip, + char *account, char *realname, + const message_tags_data *tags_data); +void inbound_ujoin (server *serv, char *chan, char *nick, char *ip, + const message_tags_data *tags_data); +void inbound_topictime (server *serv, char *chan, char *nick, time_t stamp, + const message_tags_data *tags_data); +void inbound_topic (server *serv, char *chan, char *topic_text, + const message_tags_data *tags_data); +void inbound_user_info_start (session *sess, char *nick, + const message_tags_data *tags_data); +void inbound_user_info (session *sess, char *chan, char *user, char *host, + char *servname, char *nick, char *realname, char *account, + unsigned int away, const message_tags_data *tags_data); +void inbound_foundip (session *sess, char *ip, + const message_tags_data *tags_data); +int inbound_banlist (session *sess, time_t stamp, char *chan, char *mask, + char *banner, int is_exemption, + const message_tags_data *tags_data); +void inbound_ping_reply (session *sess, char *timestring, char *from, + const message_tags_data *tags_data); +void inbound_nameslist (server *serv, char *chan, char *names, + const message_tags_data *tags_data); +int inbound_nameslist_end (server *serv, char *chan, + const message_tags_data *tags_data); +void inbound_away (server *serv, char *nick, char *msg, + const message_tags_data *tags_data); +void inbound_away_notify (server *serv, char *nick, char *reason, + const message_tags_data *tags_data); +void inbound_login_start (session *sess, char *nick, char *servname, + const message_tags_data *tags_data); +void inbound_login_end (session *sess, char *text, + const message_tags_data *tags_data); +void inbound_chanmsg (server *serv, session *sess, char *chan, char *from, + char *text, char fromme, int id, + const message_tags_data *tags_data); +void clear_channel (session *sess); +void set_topic (session *sess, char *topic, char *stripped_topic); +void inbound_privmsg (server *serv, char *from, char *ip, char *text, int id, + const message_tags_data *tags_data); +void inbound_action (session *sess, char *chan, char *from, char *ip, + char *text, int fromme, int id, + const message_tags_data *tags_data); +void inbound_newnick (server *serv, char *nick, char *newnick, int quiet, + const message_tags_data *tags_data); +void inbound_identified (server *serv); +void inbound_cap_ack (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data); +void inbound_cap_ls (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data); +void inbound_cap_nak (server *serv, char *extensions, const message_tags_data *tags_data); +void inbound_cap_list (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data); +void inbound_cap_del (server *serv, char *nick, char *extensions, + const message_tags_data *tags_data); +void inbound_sasl_authenticate (server *serv, char *data); +void inbound_sasl_error (server *serv); +void do_dns (session *sess, char *nick, char *host, + const message_tags_data *tags_data); +gboolean alert_match_word (char *word, char *masks); +gboolean alert_match_text (char *text, char *masks); + +#endif diff --git a/src/common/inet.h b/src/common/inet.h new file mode 100644 index 0000000000000000000000000000000000000000..7056d4737118a39e7047417ec45c1e8d11e401a7 --- /dev/null +++ b/src/common/inet.h @@ -0,0 +1,67 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* include stuff for internet */ + +#ifndef HEXCHAT_INET_H +#define HEXCHAT_INET_H + +#ifndef WIN32 + +#ifdef WANTSOCKET +#include <sys/types.h> +#include <sys/socket.h> +#endif +#ifdef WANTARPA +#include <netinet/in.h> +#include <arpa/inet.h> +#endif +#ifdef WANTDNS +#include <netdb.h> +/* OpenBSD's netdb.h does not define AI_ADDRCONFIG */ +#ifndef AI_ADDRCONFIG +#define AI_ADDRCONFIG 0 +#endif +#endif +#define closesocket close +#define set_blocking(sok) fcntl(sok, F_SETFL, 0) +#define set_nonblocking(sok) fcntl(sok, F_SETFL, O_NONBLOCK) +#define would_block() (errno == EAGAIN || errno == EWOULDBLOCK) +#define sock_error() (errno) + +#else + +#include "config.h" +#include <winsock2.h> +#include <ws2tcpip.h> + +#define set_blocking(sok) { \ + unsigned long zero = 0; \ + ioctlsocket (sok, FIONBIO, &zero); \ + } +#define set_nonblocking(sok) { \ + unsigned long one = 1; \ + ioctlsocket (sok, FIONBIO, &one); \ + } +#define would_block() (WSAGetLastError() == WSAEWOULDBLOCK) +#define sock_error WSAGetLastError + +#endif + +#endif diff --git a/src/common/make-te.py b/src/common/make-te.py new file mode 100755 index 0000000000000000000000000000000000000000..a1da564345755ed6c8995c6ca057fcc93f225039 --- /dev/null +++ b/src/common/make-te.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 + +import sys + +inf = open(sys.argv[1]) +eventf = open(sys.argv[2], 'w') +enumsf = open(sys.argv[3], 'w') + +enumsf.write(\ +''' +/* this file is auto generated, edit textevents.in instead! */ + +enum +{ +''') + +eventf.write(\ +''' +/* this file is auto generated, edit textevents.in instead! */ + +const struct text_event te[] = { +''') + +try: + while True: + name = inf.readline().strip() + event_enum = inf.readline().strip() + event_help = inf.readline().strip() + event_str = inf.readline().strip() + args = inf.readline().strip() + translate = True + + if args[0] == 'n': + args = int(args[1]) | 128 + translate = False + else: + args = int(args) + + if translate: + event_str = 'N_("%s")' %event_str + else: + event_str = '"%s"' %event_str + + enumsf.write('\t%s,\n' %event_enum) + eventf.write('\n{"%s", %s, %u,\n%s},\n' %( + name, event_help, args, event_str, + )) + + inf.readline() # whitespace +except IndexError: + pass + +enumsf.write('\tNUM_XP\n};\n') +eventf.write('};\n') + diff --git a/src/common/marshalers.list b/src/common/marshalers.list new file mode 100644 index 0000000000000000000000000000000000000000..0cafca819aceb6865833147e8e02f9a2aea25dca --- /dev/null +++ b/src/common/marshalers.list @@ -0,0 +1,8 @@ +# xtext +VOID:OBJECT,OBJECT +VOID:POINTER,POINTER +# sexy-entry +BOOLEAN:STRING +OBJECT:OBJECT,OBJECT +# dbus-plugin & dbus-example +VOID:POINTER,POINTER,UINT,UINT diff --git a/src/common/meson.build b/src/common/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..35db2c27329e361acd6bb327eb79a7aeba34c541 --- /dev/null +++ b/src/common/meson.build @@ -0,0 +1,112 @@ +common_sources = [ + 'cfgfiles.c', + 'chanopt.c', + 'ctcp.c', + 'dcc.c', + 'hexchat.c', + 'history.c', + 'ignore.c', + 'inbound.c', + 'modes.c', + 'network.c', + 'notify.c', + 'outbound.c', + 'plugin.c', + 'plugin-identd.c', + 'plugin-timer.c', + 'proto-irc.c', + 'scram.c', + 'server.c', + 'servlist.c', + 'text.c', + 'tree.c', + 'url.c', + 'userlist.c', + 'util.c' +] + +common_sysinfo_deps = [] + +common_deps = [ + libgio_dep, + libcanberra_dep, +] + global_deps + +common_includes = [ + config_h_include, + include_directories('.') +] + +common_cflags = [ + '-DHAVE_CONFIG_H', +] + +if host_machine.system() == 'windows' + common_deps += [ + cc.find_library('ws2_32'), # winsock + cc.find_library('winmm'), # playsound + ] + common_sysinfo_deps += [ + cc.find_library('wbemuuid'), # sysinfo + ] + + common_sources += 'sysinfo/win32/backend.c' + common_includes += include_directories('sysinfo') +endif + +marshal = gnome.genmarshal('marshal', + sources: 'marshalers.list', + prefix: '_hexchat_marshal', + internal: true +) + +make_te = find_program('make-te.py') + +textevents = custom_target('textevents', + input: 'textevents.in', + output: ['textevents.h', 'textenums.h'], + command: [make_te, '@INPUT@', '@OUTPUT0@', '@OUTPUT1@'] +) + +# TODO: +# LOOKUPD +# SIGACTION +# HAVE_GTK_MAC + +if libssl_dep.found() + common_sources += 'ssl.c' + common_deps += libssl_dep +endif + +if dbus_glib_dep.found() + subdir('dbus') + common_deps += hexchat_dbus_dep + common_includes += include_directories('dbus') +endif + +if get_option('plugin') + common_deps += libgmodule_dep + install_headers('hexchat-plugin.h') +endif + +hexchat_common = static_library('hexchatcommon', + sources: [textevents] + marshal + common_sources, + include_directories: config_h_include, + dependencies: common_deps + common_sysinfo_deps, + c_args: common_cflags, + pic: true +) + +hexchat_common_dep = declare_dependency( + sources: [textevents] + marshal, + link_with: hexchat_common, + include_directories: common_includes, + compile_args: common_cflags, + dependencies: libgio_dep, +) + +hexchat_plugin_dep = declare_dependency( + include_directories: common_includes, + compile_args: common_cflags, + dependencies: global_deps, +) diff --git a/src/common/modes.c b/src/common/modes.c new file mode 100644 index 0000000000000000000000000000000000000000..1ff309bdc1b7910c1f99d6304054d9c7a82229e7 --- /dev/null +++ b/src/common/modes.c @@ -0,0 +1,948 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include <stdlib.h> +#include <stdio.h> + +#include "hexchat.h" +#include "hexchatc.h" +#include "modes.h" +#include "server.h" +#include "text.h" +#include "fe.h" +#include "util.h" +#include "inbound.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + +#include <glib/gprintf.h> + +typedef struct +{ + server *serv; + char *op; + char *deop; + char *voice; + char *devoice; +} mode_run; + +static int is_prefix_char (server * serv, char c); +static void record_chan_mode (session *sess, char sign, char mode, char *arg); +static char *mode_cat (char *str, char *addition); +static void handle_single_mode (mode_run *mr, char sign, char mode, char *nick, + char *chan, char *arg, int quiet, int is_324, + const message_tags_data *tags_data); +static int mode_has_arg (server *serv, char sign, char mode); +static void mode_print_grouped (session *sess, char *nick, mode_run *mr, + const message_tags_data *tags_data); +static int mode_chanmode_type (server * serv, char mode); + + +/* word[] - list of nicks. + wpos - index into word[]. Where nicks really start. + end - index into word[]. Last entry plus one. + sign - a char, e.g. '+' or '-' + mode - a mode, e.g. 'o' or 'v' */ +void +send_channel_modes (session *sess, char *tbuf, char *word[], int wpos, + int end, char sign, char mode, int modes_per_line) +{ + int usable_modes, orig_len, len, wlen, i, max; + server *serv = sess->server; + + /* sanity check. IRC RFC says three per line but some servers may support less. */ + if (serv->modes_per_line < 1) + serv->modes_per_line = 3; + if (modes_per_line < 1) + modes_per_line = serv->modes_per_line; + + /* RFC max, minus length of "MODE %s " and "\r\n" and 1 +/- sign */ + /* 512 - 6 - 2 - 1 - strlen(chan) */ + max = 503 - strlen (sess->channel); + + while (wpos < end) + { + tbuf[0] = '\0'; + orig_len = len = 0; + + /* we'll need this many modechars too */ + len += modes_per_line; + + /* how many can we fit? */ + for (i = 0; i < modes_per_line; i++) + { + /* no more nicks left? */ + if (wpos + i >= end) + break; + wlen = strlen (word[wpos + i]) + 1; + if (wlen + len > max) + break; + len += wlen; /* length of our whole string so far */ + } + if (i < 1) + return; + usable_modes = i; /* this is how many we'll send on this line */ + + /* add the +/-modemodemodemode */ + len = orig_len; + tbuf[len] = sign; + len++; + for (i = 0; i < usable_modes; i++) + { + tbuf[len] = mode; + len++; + } + tbuf[len] = 0; /* null terminate for the strcat() to work */ + + /* add all the nicknames */ + for (i = 0; i < usable_modes; i++) + { + strcat (tbuf, " "); + strcat (tbuf, word[wpos + i]); + } + serv->p_mode (serv, sess->channel, tbuf); + + wpos += usable_modes; + } +} + +/* does 'chan' have a valid prefix? e.g. # or & */ + +int +is_channel (server * serv, char *chan) +{ + if (strchr (serv->chantypes, chan[0])) + return 1; + return 0; +} + +/* is the given char a valid nick mode char? e.g. @ or + */ + +static int +is_prefix_char (server * serv, char c) +{ + int pos = 0; + char *np = serv->nick_prefixes; + + while (np[0]) + { + if (np[0] == c) + return pos; + pos++; + np++; + } + + if (serv->bad_prefix) + { + if (strchr (serv->bad_nick_prefixes, c)) + /* valid prefix char, but mode unknown */ + return -2; + } + + return -1; +} + +/* returns '@' for ops etc... */ + +char +get_nick_prefix (server * serv, unsigned int access) +{ + int pos; + char c; + + for (pos = 0; pos < USERACCESS_SIZE; pos++) + { + c = serv->nick_prefixes[pos]; + if (c == 0) + break; + if (access & (1 << pos)) + return c; + } + + return 0; +} + +/* returns the access bitfield for a nickname. E.g. + @nick would return 000010 in binary + %nick would return 000100 in binary + +nick would return 001000 in binary */ + +unsigned int +nick_access (server * serv, char *nick, int *modechars) +{ + int i; + unsigned int access = 0; + char *orig = nick; + + while (*nick) + { + i = is_prefix_char (serv, *nick); + if (i == -1) + break; + + /* -2 == valid prefix char, but mode unknown */ + if (i != -2) + access |= (1 << i); + + nick++; + } + + *modechars = nick - orig; + + return access; +} + +/* returns the access number for a particular mode. e.g. + mode 'a' returns 0 + mode 'o' returns 1 + mode 'h' returns 2 + mode 'v' returns 3 + Also puts the nick-prefix-char in 'prefix' */ + +int +mode_access (server * serv, char mode, char *prefix) +{ + int pos = 0; + + while (serv->nick_modes[pos]) + { + if (serv->nick_modes[pos] == mode) + { + *prefix = serv->nick_prefixes[pos]; + return pos; + } + pos++; + } + + *prefix = 0; + + return -1; +} + +static void +record_chan_mode (session *sess, char sign, char mode, char *arg) +{ + /* Somebody needed to acutally update sess->current_modes, needed to + play nice with bouncers, and less mode calls. Also keeps modes up + to date for scripts */ + server *serv = sess->server; + GString *current = g_string_new(sess->current_modes); + gint mode_pos = -1; + gchar *current_char = current->str; + gint modes_length; + gint argument_num = 0; + gint argument_offset = 0; + gint argument_length = 0; + int i = 0; + gchar *arguments_start; + + /* find out if the mode currently exists */ + arguments_start = g_strstr_len(current->str , -1, " "); + if (arguments_start) { + modes_length = arguments_start - current->str; + } + else { + modes_length = current->len; + /* set this to the end of the modes */ + arguments_start = current->str + current->len; + } + + while (mode_pos == -1 && i < modes_length) + { + if (*current_char == mode) + { + mode_pos = i; + } + else + { + i++; + current_char++; + } + } + + /* if the mode currently exists and has an arg, need to know where + * (including leading space) */ + if (mode_pos != -1 && mode_has_arg(serv, '+', mode)) + { + current_char = current->str; + + i = 0; + while (i <= mode_pos) + { + if (mode_has_arg(serv, '+', *current_char)) + argument_num++; + current_char++; + i++; + } + + /* check through arguments for where to start */ + current_char = arguments_start; + i = 0; + while (i < argument_num && *current_char != '\0') + { + if (*current_char == ' ') + i++; + if (i != argument_num) + current_char++; + } + argument_offset = current_char - current->str; + + /* how long the existing argument is for this key + * important for malloc and strncpy */ + if (i == argument_num) + { + argument_length++; + current_char++; + while (*current_char != '\0' && *current_char != ' ') + { + argument_length++; + current_char++; + } + } + } + + /* two cases, adding and removing a mode, handled differently */ + if (sign == '+') + { + if (mode_pos != -1) + { + /* if it already exists, only need to do something (change) + * if there should be a param */ + if (mode_has_arg(serv, sign, mode)) + { + /* leave the old space there */ + current = g_string_erase(current, argument_offset+1, argument_length-1); + current = g_string_insert(current, argument_offset+1, arg); + + g_free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } + } + /* mode wasn't there before */ + else + { + /* insert the new mode character */ + current = g_string_insert_c(current, modes_length, mode); + + /* add the argument, with space if there is one */ + if (mode_has_arg(serv, sign, mode)) + { + current = g_string_append_c(current, ' '); + current = g_string_append(current, arg); + } + + g_free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } + } + else if (sign == '-' && mode_pos != -1) + { + /* remove the argument first if it has one*/ + if (mode_has_arg(serv, '+', mode)) + current = g_string_erase(current, argument_offset, argument_length); + + /* remove the mode character */ + current = g_string_erase(current, mode_pos, 1); + + g_free(sess->current_modes); + sess->current_modes = g_string_free(current, FALSE); + } +} + +static char * +mode_cat (char *str, char *addition) +{ + int len; + + if (str) + { + len = strlen (str) + strlen (addition) + 2; + str = g_realloc (str, len); + strcat (str, " "); + strcat (str, addition); + } + else + { + str = g_strdup (addition); + } + + return str; +} + +/* handle one mode, e.g. + handle_single_mode (mr,'+','b',"elite","#warez","banneduser",) */ + +static void +handle_single_mode (mode_run *mr, char sign, char mode, char *nick, + char *chan, char *arg, int quiet, int is_324, + const message_tags_data *tags_data) +{ + session *sess; + server *serv = mr->serv; + char outbuf[4]; + char *cm = serv->chanmodes; + gboolean supportsq = FALSE; + + outbuf[0] = sign; + outbuf[1] = 0; + outbuf[2] = mode; + outbuf[3] = 0; + + sess = find_channel (serv, chan); + if (!sess || !is_channel (serv, chan)) + { + /* got modes for a chan we're not in! probably nickmode +isw etc */ + sess = serv->front_session; + goto genmode; + } + + /* is this a nick mode? */ + if (strchr (serv->nick_modes, mode)) + { + /* update the user in the userlist */ + userlist_update_mode (sess, /*nickname */ arg, mode, sign); + } else + { + if (!is_324 && !sess->ignore_mode && mode_chanmode_type(serv, mode) >= 1) + record_chan_mode (sess, sign, mode, arg); + } + + /* Is q a chanmode on this server? */ + if (cm) + while (*cm) + { + if (*cm == ',') + break; + if (*cm == 'q') + supportsq = TRUE; + cm++; + } + + switch (sign) + { + case '+': + switch (mode) + { + case 'k': + safe_strcpy (sess->channelkey, arg, sizeof (sess->channelkey)); + fe_update_channel_key (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANSETKEY, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'l': + sess->limit = atoi (arg); + fe_update_channel_limit (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANSETLIMIT, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'o': + if (!quiet) + mr->op = mode_cat (mr->op, arg); + return; + case 'h': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANHOP, sess, nick, arg, NULL, NULL, + 0, tags_data->timestamp); + return; + case 'v': + if (!quiet) + mr->voice = mode_cat (mr->voice, arg); + return; + case 'b': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANBAN, sess, nick, arg, NULL, NULL, + 0, tags_data->timestamp); + return; + case 'e': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANEXEMPT, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'I': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANINVITE, sess, nick, arg, NULL, NULL, + 0, tags_data->timestamp); + return; + case 'q': + if (!supportsq) + break; /* +q is owner on this server */ + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANQUIET, sess, nick, arg, NULL, NULL, 0, + tags_data->timestamp); + return; + } + break; + case '-': + switch (mode) + { + case 'k': + sess->channelkey[0] = 0; + fe_update_channel_key (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANRMKEY, sess, nick, NULL, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'l': + sess->limit = 0; + fe_update_channel_limit (sess); + fe_update_mode_buttons (sess, mode, sign); + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANRMLIMIT, sess, nick, NULL, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'o': + if (!quiet) + mr->deop = mode_cat (mr->deop, arg); + return; + case 'h': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANDEHOP, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'v': + if (!quiet) + mr->devoice = mode_cat (mr->devoice, arg); + return; + case 'b': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANUNBAN, sess, nick, arg, NULL, NULL, + 0, tags_data->timestamp); + return; + case 'e': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANRMEXEMPT, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'I': + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANRMINVITE, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + case 'q': + if (!supportsq) + break; /* -q is owner on this server */ + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANUNQUIET, sess, nick, arg, NULL, + NULL, 0, tags_data->timestamp); + return; + } + } + + fe_update_mode_buttons (sess, mode, sign); + + genmode: + /* Received umode +e. If we're waiting to send JOIN then send now! */ + if (mode == 'e' && sign == '+' && !serv->p_cmp (chan, serv->nick)) + inbound_identified (serv); + + if (!quiet) + { + if (*arg) + { + char *buf = g_strdup_printf ("%s %s", chan, arg); + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODEGEN, sess, nick, outbuf, + outbuf + 2, buf, 0, tags_data->timestamp); + g_free (buf); + } + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODEGEN, sess, nick, outbuf, + outbuf + 2, chan, 0, tags_data->timestamp); + } +} + +/* does this mode have an arg? like +b +l +o */ + +static int +mode_has_arg (server * serv, char sign, char mode) +{ + int type; + + /* if it's a nickmode, it must have an arg */ + if (strchr (serv->nick_modes, mode)) + return 1; + + type = mode_chanmode_type (serv, mode); + switch (type) + { + case 0: /* type A */ + case 1: /* type B */ + return 1; + case 2: /* type C */ + if (sign == '+') + return 1; + case 3: /* type D */ + return 0; + default: + return 0; + } + +} + +/* what type of chanmode is it? -1 for not in chanmode */ +static int +mode_chanmode_type (server * serv, char mode) +{ + /* see what numeric 005 CHANMODES=xxx said */ + char *cm = serv->chanmodes; + int type = 0; + int found = 0; + + while (*cm && !found) + { + if (*cm == ',') + { + type++; + } else if (*cm == mode) + { + found = 1; + } + cm++; + } + if (found) + return type; + /* not found? -1 */ + else + return -1; +} + +static void +mode_print_grouped (session *sess, char *nick, mode_run *mr, + const message_tags_data *tags_data) +{ + /* print all the grouped Op/Deops */ + if (mr->op) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANOP, sess, nick, mr->op, NULL, NULL, 0, + tags_data->timestamp); + g_free(mr->op); + mr->op = NULL; + } + + if (mr->deop) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANDEOP, sess, nick, mr->deop, NULL, NULL, + 0, tags_data->timestamp); + g_free(mr->deop); + mr->deop = NULL; + } + + if (mr->voice) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANVOICE, sess, nick, mr->voice, NULL, NULL, + 0, tags_data->timestamp); + g_free(mr->voice); + mr->voice = NULL; + } + + if (mr->devoice) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANDEVOICE, sess, nick, mr->devoice, NULL, + NULL, 0, tags_data->timestamp); + g_free(mr->devoice); + mr->devoice = NULL; + } +} + + +/* handle a MODE or numeric 324 from server */ + +void +handle_mode (server * serv, char *word[], char *word_eol[], + char *nick, int numeric_324, const message_tags_data *tags_data) +{ + session *sess; + char *chan; + char *modes; + char *argstr; + char sign; + int len; + size_t arg; + size_t i, num_args; + size_t num_modes; + size_t offset = 3; + int all_modes_have_args = FALSE; + int using_front_tab = FALSE; + mode_run mr; + + mr.serv = serv; + mr.op = mr.deop = mr.voice = mr.devoice = NULL; + + /* numeric 324 has everything 1 word later (as opposed to MODE) */ + if (numeric_324) + offset++; + + chan = word[offset]; + modes = word[offset + 1]; + if (*modes == ':') + modes++; + + if (*modes == 0) + return; /* beyondirc's blank modes */ + + sess = find_channel (serv, chan); + if (!sess) + { + sess = serv->front_session; + using_front_tab = TRUE; + } + /* remove trailing space */ + len = strlen (word_eol[offset]) - 1; + if (word_eol[offset][len] == ' ') + word_eol[offset][len] = 0; + + if (prefs.hex_irc_raw_modes && !numeric_324) + EMIT_SIGNAL_TIMESTAMP (XP_TE_RAWMODES, sess, nick, word_eol[offset], 0, 0, 0, + tags_data->timestamp); + + if (numeric_324 && !using_front_tab) + { + g_free (sess->current_modes); + sess->current_modes = g_strdup (word_eol[offset+1]); + } + + sign = *modes; + modes++; + arg = 1; + + /* count the number of arguments (e.g. after the -o+v) */ + num_args = 0; + i = 1; + while ((i + offset + 1) < PDIWORDS) + { + i++; + if (!(*word[i + offset])) + break; + num_args++; + if (word[i + offset][0] == ':') + break; + } + + /* count the number of modes (without the -/+ chars */ + num_modes = 0; + i = 0; + while (i < strlen (modes)) + { + if (modes[i] != '+' && modes[i] != '-') + num_modes++; + i++; + } + + if (num_args == num_modes) + all_modes_have_args = TRUE; + + while (*modes) + { + switch (*modes) + { + case '-': + case '+': + /* print all the grouped Op/Deops */ + mode_print_grouped (sess, nick, &mr, tags_data); + sign = *modes; + break; + default: + argstr = ""; + if ((all_modes_have_args || mode_has_arg (serv, sign, *modes)) && arg < (num_args + 1)) + { + arg++; + argstr = STRIP_COLON(word, word_eol, arg+offset); + } + handle_single_mode (&mr, sign, *modes, nick, chan, + argstr, numeric_324 || prefs.hex_irc_raw_modes, + numeric_324, tags_data); + } + + modes++; + } + + /* update the title at the end, now that the mode update is internal now */ + if (!using_front_tab) + fe_set_title (sess); + + /* print all the grouped Op/Deops */ + mode_print_grouped (sess, nick, &mr, tags_data); +} + +static char +hex_to_chr(char chr) +{ + return g_ascii_isdigit (chr) ? chr - '0' : g_ascii_tolower (chr) - 'a' + 10; +} + +static void +parse_005_token (const char *token, char **name, char **value, gboolean *adding) +{ + char *toksplit, *valuecurr; + size_t idx; + + if (token[0] == '-') + { + *adding = FALSE; + token++; + } else + { + *adding = TRUE; + } + + toksplit = strchr (token, '='); + if (toksplit && *toksplit++) + { + /* The token has a value; parse any escape codes. */ + *name = g_strndup (token, toksplit - token - 1); + *value = g_malloc (strlen (toksplit) + 1); + valuecurr = *value; + + while (*toksplit) + { + if (toksplit[0] == '\\') + { + /** If it's a malformed escape then just skip it. */ + if (toksplit[1] == 'x' && g_ascii_isxdigit (toksplit[2]) && g_ascii_isxdigit (toksplit[3])) + *valuecurr++ = hex_to_chr (toksplit[2]) << 4 | hex_to_chr (toksplit[3]); + + for (idx = 0; idx < 4; ++idx) + { + /* We need to do this to avoid jumping past the end of the array. */ + if (*toksplit) + toksplit++; + } + } else + { + /** Non-escape characters can be copied as is. */ + *valuecurr++ = *toksplit++; + } + } + *valuecurr++ = 0; + } else + { + /* The token has no value; store a dummy value instead. */ + *name = g_strdup (token); + *value = g_strdup (""); + } +} + +/* handle the 005 numeric */ + +void +inbound_005 (server * serv, char *word[], const message_tags_data *tags_data) +{ + int w; + char *pre; + char *tokname, *tokvalue; + gboolean tokadding; + + w = 4; /* start at the 4th word */ + while (w < PDIWORDS && *word[w]) + { + if (word[w][0] == ':') + break; // :are supported by this server + + parse_005_token(word[w], &tokname, &tokvalue, &tokadding); + if (g_strcmp0 (tokname, "MODES") == 0) + { + serv->modes_per_line = atoi (tokvalue); + } else if (g_strcmp0 (tokname, "CHANTYPES") == 0) + { + g_free (serv->chantypes); + serv->chantypes = g_strdup (tokvalue); + } else if (g_strcmp0 (tokname, "CHANMODES") == 0) + { + g_free (serv->chanmodes); + serv->chanmodes = g_strdup (tokvalue); + } else if (g_strcmp0 (tokname, "PREFIX") == 0) + { + pre = strchr (tokvalue, ')'); + if (pre) + { + pre[0] = 0; /* NULL out the ')' */ + g_free (serv->nick_prefixes); + g_free (serv->nick_modes); + serv->nick_prefixes = g_strdup (pre + 1); + serv->nick_modes = g_strdup (tokvalue + 1); + } else + { + /* bad! some ircds don't give us the modes. */ + /* in this case, we use it only to strip /NAMES */ + serv->bad_prefix = TRUE; + g_free (serv->bad_nick_prefixes); + serv->bad_nick_prefixes = g_strdup (tokvalue); + } + } else if (g_strcmp0 (tokname, "WATCH") == 0) + { + serv->supports_watch = tokadding; + } else if (g_strcmp0 (tokname, "MONITOR") == 0) + { + serv->supports_monitor = tokadding; + } else if (g_strcmp0 (tokname, "NETWORK") == 0) + { + if (serv->server_session->type == SESS_SERVER && strlen (tokvalue)) + { + safe_strcpy (serv->server_session->channel, tokvalue, CHANLEN); + fe_set_channel (serv->server_session); + } + + } else if (g_strcmp0 (tokname, "CASEMAPPING") == 0) + { + if (g_strcmp0 (tokvalue, "ascii") == 0) + serv->p_cmp = (void *)g_ascii_strcasecmp; + } else if (g_strcmp0 (tokname, "CHARSET") == 0) + { + if (g_ascii_strcasecmp (tokvalue, "UTF-8") == 0) + { + server_set_encoding (serv, "UTF-8"); + } + } else if (g_strcmp0 (tokname, "UTF8ONLY") == 0) + { + server_set_encoding (serv, "UTF-8"); + } else if (g_strcmp0 (tokname, "NAMESX") == 0) + { + if (tokadding && !serv->have_namesx) + { + /* only use protoctl if the server doesn't have the equivalent cap */ + tcp_send_len (serv, "PROTOCTL NAMESX\r\n", 17); + serv->have_namesx = TRUE; + } + } else if (g_strcmp0 (tokname, "WHOX") == 0) + { + serv->have_whox = tokadding; + } else if (g_strcmp0 (tokname, "EXCEPTS") == 0) + { + serv->have_except = tokadding; + } else if (g_strcmp0 (tokname, "INVEX") == 0) + { + /* supports mode letter +I, default channel invite */ + serv->have_invite = tokadding; + } else if (g_strcmp0 (tokname, "ELIST") == 0) + { + /* supports LIST >< min/max user counts? */ + if (strchr (tokvalue, 'U') || strchr (tokvalue, 'u')) + serv->use_listargs = TRUE; + } + + g_free (tokname); + g_free (tokvalue); + w++; + } +} diff --git a/src/common/modes.h b/src/common/modes.h new file mode 100644 index 0000000000000000000000000000000000000000..7e13c7df17f77cd08edb570caa11c28232053366 --- /dev/null +++ b/src/common/modes.h @@ -0,0 +1,34 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "proto-irc.h" + +#ifndef HEXCHAT_MODES_H +#define HEXCHAT_MODES_H + +int is_channel (server *serv, char *chan); +char get_nick_prefix (server *serv, unsigned int access); +unsigned int nick_access (server *serv, char *nick, int *modechars); +int mode_access (server *serv, char mode, char *prefix); +void inbound_005 (server *serv, char *word[], const message_tags_data *tags_data); +void handle_mode (server *serv, char *word[], char *word_eol[], char *nick, + int numeric_324, const message_tags_data *tags_data); +void send_channel_modes (session *sess, char *tbuf, char *word[], int start, int end, char sign, char mode, int modes_per_line); + +#endif diff --git a/src/common/network.c b/src/common/network.c new file mode 100644 index 0000000000000000000000000000000000000000..fcdaf54724438500e177a732a1dfddff0e057ded --- /dev/null +++ b/src/common/network.c @@ -0,0 +1,190 @@ +/* X-Chat + * Copyright (C) 2001 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* ipv4 and ipv6 networking functions with a common interface */ + +#include "config.h" + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <glib.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#define WANTSOCKET +#define WANTARPA +#define WANTDNS +#include "inet.h" + +#define NETWORK_PRIVATE +#include "network.h" + +#define RAND_INT(n) ((int)(rand() / (RAND_MAX + 1.0) * (n))) + + +/* ================== COMMON ================= */ + +static void +net_set_socket_options (int sok) +{ + socklen_t sw; + + sw = 1; + setsockopt (sok, SOL_SOCKET, SO_REUSEADDR, (char *) &sw, sizeof (sw)); + sw = 1; + setsockopt (sok, SOL_SOCKET, SO_KEEPALIVE, (char *) &sw, sizeof (sw)); +} + +char * +net_ip (guint32 addr) +{ + struct in_addr ia; + + ia.s_addr = htonl (addr); + return inet_ntoa (ia); +} + +void +net_store_destroy (netstore * ns) +{ + if (ns->ip6_hostent) + freeaddrinfo (ns->ip6_hostent); + g_free (ns); +} + +netstore * +net_store_new (void) +{ + return g_new0 (netstore, 1); +} + +/* =================== IPV6 ================== */ + +char * +net_resolve (netstore * ns, char *hostname, int port, char **real_host) +{ + struct addrinfo hints; + char ipstring[MAX_HOSTNAME]; + char portstring[MAX_HOSTNAME]; + int ret; + +/* if (ns->ip6_hostent) + freeaddrinfo (ns->ip6_hostent);*/ + + sprintf (portstring, "%d", port); + + memset (&hints, 0, sizeof (struct addrinfo)); + hints.ai_family = PF_UNSPEC; /* support ipv6 and ipv4 */ + hints.ai_flags = AI_CANONNAME | AI_ADDRCONFIG; + hints.ai_socktype = SOCK_STREAM; + + if (port == 0) + ret = getaddrinfo (hostname, NULL, &hints, &ns->ip6_hostent); + else + ret = getaddrinfo (hostname, portstring, &hints, &ns->ip6_hostent); + if (ret != 0) + return NULL; + +#ifdef LOOKUPD /* See note about lookupd above the IPv4 version of net_resolve. */ + struct addrinfo *tmp; + int count = 0; + + for (tmp = ns->ip6_hostent; tmp; tmp = tmp->ai_next) + count ++; + + count = RAND_INT(count); + + while (count--) ns->ip6_hostent = ns->ip6_hostent->ai_next; +#endif + + /* find the numeric IP number */ + ipstring[0] = 0; + getnameinfo (ns->ip6_hostent->ai_addr, ns->ip6_hostent->ai_addrlen, + ipstring, sizeof (ipstring), NULL, 0, NI_NUMERICHOST); + + if (ns->ip6_hostent->ai_canonname) + *real_host = g_strdup (ns->ip6_hostent->ai_canonname); + else + *real_host = g_strdup (hostname); + + return g_strdup (ipstring); +} + +/* the only thing making this interface unclean, this shitty sok4, sok6 business */ + +int +net_connect (netstore * ns, int sok4, int sok6, int *sok_return) +{ + struct addrinfo *res, *res0; + int error = -1; + + res0 = ns->ip6_hostent; + + for (res = res0; res; res = res->ai_next) + { +/* sok = socket (res->ai_family, res->ai_socktype, res->ai_protocol); + if (sok < 0) + continue;*/ + switch (res->ai_family) + { + case AF_INET: + error = connect (sok4, res->ai_addr, res->ai_addrlen); + *sok_return = sok4; + break; + case AF_INET6: + error = connect (sok6, res->ai_addr, res->ai_addrlen); + *sok_return = sok6; + break; + default: + error = 1; + } + + if (error == 0) + break; + } + + return error; +} + +void +net_bind (netstore * tobindto, int sok4, int sok6) +{ + bind (sok4, tobindto->ip6_hostent->ai_addr, + tobindto->ip6_hostent->ai_addrlen); + bind (sok6, tobindto->ip6_hostent->ai_addr, + tobindto->ip6_hostent->ai_addrlen); +} + +void +net_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + *sok6 = socket (AF_INET6, SOCK_STREAM, IPPROTO_TCP); + net_set_socket_options (*sok4); + net_set_socket_options (*sok6); +} + +void +udp_sockets (int *sok4, int *sok6) +{ + *sok4 = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP); + *sok6 = socket (AF_INET6, SOCK_DGRAM, IPPROTO_UDP); +} diff --git a/src/common/network.h b/src/common/network.h new file mode 100644 index 0000000000000000000000000000000000000000..8c1c0c799df00f4310b3c788fab53470e42d73a5 --- /dev/null +++ b/src/common/network.h @@ -0,0 +1,42 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_NETWORK_H +#define HEXCHAT_NETWORK_H + +typedef struct netstore_ +{ +#ifdef NETWORK_PRIVATE + struct addrinfo *ip6_hostent; +#else + int _dummy; /* some compilers don't like empty structs */ +#endif +} netstore; + +#define MAX_HOSTNAME 128 + +netstore *net_store_new (void); +void net_store_destroy (netstore *ns); +int net_connect (netstore *ns, int sok4, int sok6, int *sok_return); +char *net_resolve (netstore *ns, char *hostname, int port, char **real_host); +void net_bind (netstore *tobindto, int sok4, int sok6); +char *net_ip (guint32 addr); +void net_sockets (int *sok4, int *sok6); + +#endif diff --git a/src/common/notify.c b/src/common/notify.c new file mode 100644 index 0000000000000000000000000000000000000000..ef52889b8545297efc350a26ca3294f47d908ad5 --- /dev/null +++ b/src/common/notify.c @@ -0,0 +1,717 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <time.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "notify.h" +#include "cfgfiles.h" +#include "fe.h" +#include "server.h" +#include "text.h" +#include "util.h" +#include "hexchatc.h" + + +GSList *notify_list = 0; +int notify_tag = 0; + + +static char * +despacify_dup (char *str) +{ + char *p, *res = g_malloc (strlen (str) + 1); + + p = res; + while (1) + { + if (*str != ' ') + { + *p = *str; + if (*p == 0) + return res; + p++; + } + str++; + } +} + +static int +notify_netcmp (char *str, void *serv) +{ + char *net = despacify_dup (server_get_network (serv, TRUE)); + + if (rfc_casecmp (str, net) == 0) + { + g_free (net); + return 0; /* finish & return FALSE from token_foreach() */ + } + + g_free (net); + return 1; /* keep going... */ +} + +/* monitor this nick on this particular network? */ + +static gboolean +notify_do_network (struct notify *notify, server *serv) +{ + if (!notify->networks) /* ALL networks for this nick */ + return TRUE; + + if (token_foreach (notify->networks, ',', notify_netcmp, serv)) + return FALSE; /* network list doesn't contain this one */ + + return TRUE; +} + +struct notify_per_server * +notify_find_server_entry (struct notify *notify, struct server *serv) +{ + GSList *list = notify->server_list; + struct notify_per_server *servnot; + + while (list) + { + servnot = (struct notify_per_server *) list->data; + if (servnot->server == serv) + return servnot; + list = list->next; + } + + /* not found, should we add it, or is this not a network where + we're monitoring this nick? */ + if (!notify_do_network (notify, serv)) + return NULL; + + servnot = g_new0 (struct notify_per_server, 1); + servnot->server = serv; + servnot->notify = notify; + notify->server_list = g_slist_prepend (notify->server_list, servnot); + return servnot; +} + +void +notify_save (void) +{ + int fh; + struct notify *notify; + // while reading the notify.conf file, elements are added by prepending to the + // list. reverse the list before writing to disk to keep the original + // order of the list + GSList *list = g_slist_copy(notify_list); + list = g_slist_reverse(list); + + fh = hexchat_open_file ("notify.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + while (list) + { + notify = (struct notify *) list->data; + write (fh, notify->name, strlen (notify->name)); + if (notify->networks) + { + write (fh, " ", 1); + write (fh, notify->networks, strlen (notify->networks)); + } + write (fh, "\n", 1); + list = list->next; + } + close (fh); + } + g_slist_free(list); +} + +void +notify_load (void) +{ + int fh; + char buf[256]; + char *sep; + + fh = hexchat_open_file ("notify.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + while (waitline (fh, buf, sizeof buf, FALSE) != -1) + { + if (buf[0] != '#' && buf[0] != 0) + { + sep = strchr (buf, ' '); + if (sep) + { + sep[0] = 0; + notify_adduser (buf, sep + 1); + } + else + notify_adduser (buf, NULL); + } + } + close (fh); + } +} + +static struct notify_per_server * +notify_find (server *serv, char *nick) +{ + GSList *list = notify_list; + struct notify_per_server *servnot; + struct notify *notify; + + while (list) + { + notify = (struct notify *) list->data; + + servnot = notify_find_server_entry (notify, serv); + if (!servnot) + { + list = list->next; + continue; + } + + if (!serv->p_cmp (notify->name, nick)) + return servnot; + + list = list->next; + } + + return NULL; +} + +static void +notify_announce_offline (server * serv, struct notify_per_server *servnot, + char *nick, int quiet, + const message_tags_data *tags_data) +{ + session *sess; + + sess = serv->front_session; + + servnot->ison = FALSE; + servnot->lastoff = time (0); + if (!quiet) + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYOFFLINE, sess, nick, serv->servername, + server_get_network (serv, TRUE), NULL, 0, + tags_data->timestamp); + fe_notify_update (nick); + fe_notify_update (0); +} + +static void +notify_announce_online (server * serv, struct notify_per_server *servnot, + char *nick, const message_tags_data *tags_data) +{ + session *sess; + + sess = serv->front_session; + + servnot->lastseen = time (0); + if (servnot->ison) + return; + + servnot->ison = TRUE; + servnot->laston = time (0); + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYONLINE, sess, nick, serv->servername, + server_get_network (serv, TRUE), NULL, 0, + tags_data->timestamp); + fe_notify_update (nick); + fe_notify_update (0); + + if (prefs.hex_notify_whois_online) + { + + /* Let's do whois with idle time (like in /quote WHOIS %s %s) */ + + char *wii_str = g_strdup_printf ("%s %s", nick, nick); + serv->p_whois (serv, wii_str); + g_free (wii_str); + } +} + +/* handles numeric 601 */ + +void +notify_set_offline (server * serv, char *nick, int quiet, + const message_tags_data *tags_data) +{ + struct notify_per_server *servnot; + + servnot = notify_find (serv, nick); + if (!servnot) + return; + + notify_announce_offline (serv, servnot, nick, quiet, tags_data); +} + +/* handles numeric 604 and 600 */ + +void +notify_set_online (server * serv, char *nick, + const message_tags_data *tags_data) +{ + struct notify_per_server *servnot; + + servnot = notify_find (serv, nick); + if (!servnot) + return; + + notify_announce_online (serv, servnot, nick, tags_data); +} + +/* monitor can send lists for numeric 730/731 */ + +void +notify_set_offline_list (server * serv, char *users, int quiet, + const message_tags_data *tags_data) +{ + struct notify_per_server *servnot; + char nick[NICKLEN]; + char *token, *chr; + + token = strtok (users, ","); + while (token != NULL) + { + chr = strchr (token, '!'); + if (chr != NULL) + *chr = '\0'; + + g_strlcpy (nick, token, sizeof(nick)); + + servnot = notify_find (serv, nick); + if (servnot) + notify_announce_offline (serv, servnot, nick, quiet, tags_data); + + token = strtok (NULL, ","); + } +} + +void +notify_set_online_list (server * serv, char *users, + const message_tags_data *tags_data) +{ + struct notify_per_server *servnot; + char nick[NICKLEN]; + char *token, *chr; + + token = strtok (users, ","); + while (token != NULL) + { + chr = strchr (token, '!'); + if (chr != NULL) + *chr = '\0'; + + g_strlcpy (nick, token, sizeof(nick)); + + servnot = notify_find (serv, nick); + if (servnot) + notify_announce_online (serv, servnot, nick, tags_data); + + token = strtok (NULL, ","); + } +} + +static void +notify_watch (server * serv, char *nick, int add) +{ + char tbuf[256]; + char addchar = '+'; + + if (!add) + addchar = '-'; + + if (serv->supports_monitor) + g_snprintf (tbuf, sizeof (tbuf), "MONITOR %c %s", addchar, nick); + else if (serv->supports_watch) + g_snprintf (tbuf, sizeof (tbuf), "WATCH %c%s", addchar, nick); + else + return; + + serv->p_raw (serv, tbuf); +} + +static void +notify_watch_all (struct notify *notify, int add) +{ + server *serv; + GSList *list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd && notify_do_network (notify, serv)) + notify_watch (serv, notify->name, add); + list = list->next; + } +} + +static void +notify_flush_watches (server * serv, GSList *from, GSList *end) +{ + char tbuf[512]; + GSList *list; + struct notify *notify; + + serv->supports_monitor ? strcpy (tbuf, "MONITOR + ") : strcpy (tbuf, "WATCH"); + + list = from; + while (list != end) + { + notify = list->data; + if (serv->supports_monitor) + g_strlcat (tbuf, ",", sizeof(tbuf)); + else + g_strlcat (tbuf, " +", sizeof(tbuf)); + g_strlcat (tbuf, notify->name, sizeof(tbuf)); + list = list->next; + } + serv->p_raw (serv, tbuf); +} + +/* called when logging in. e.g. when End of motd. */ + +void +notify_send_watches (server * serv) +{ + struct notify *notify; + const int format_len = serv->supports_monitor ? 1 : 2; /* just , for monitor or + and space for watch */ + GSList *list; + GSList *point; + GSList *send_list = NULL; + int len = 0; + + /* Only get the list for this network */ + list = notify_list; + while (list) + { + notify = list->data; + + if (notify_do_network (notify, serv)) + { + send_list = g_slist_append (send_list, notify); + } + + list = list->next; + } + + /* Now send that list in batches */ + point = list = send_list; + while (list) + { + notify = list->data; + + len += strlen (notify->name) + format_len; + if (len > 500) + { + /* Too long send existing list */ + notify_flush_watches (serv, point, list); + len = strlen (notify->name) + format_len; + point = list; /* We left off here */ + } + + list = g_slist_next (list); + } + + if (len) /* We had leftovers under 500, send them all */ + { + notify_flush_watches (serv, point, NULL); + } + + g_slist_free (send_list); +} + +/* called when receiving a ISON 303 - should this func go? */ + +void +notify_markonline (server *serv, char *word[], const message_tags_data *tags_data) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + int i, seen; + + while (list) + { + notify = (struct notify *) list->data; + servnot = notify_find_server_entry (notify, serv); + if (!servnot) + { + list = list->next; + continue; + } + i = 4; + seen = FALSE; + while (*word[i]) + { + if (!serv->p_cmp (notify->name, word[i])) + { + seen = TRUE; + notify_announce_online (serv, servnot, notify->name, tags_data); + break; + } + i++; + /* FIXME: word[] is only a 32 element array, limits notify list to + about 27 people */ + if (i > PDIWORDS - 5) + { + /*fprintf (stderr, _("*** HEXCHAT WARNING: notify list too large.\n"));*/ + break; + } + } + if (!seen && servnot->ison) + { + notify_announce_offline (serv, servnot, notify->name, FALSE, tags_data); + } + list = list->next; + } + fe_notify_update (0); +} + +/* yuck! Old routine for ISON notify */ + +static void +notify_checklist_for_server (server *serv) +{ + char outbuf[512]; + struct notify *notify; + GSList *list = notify_list; + int i = 0; + + strcpy (outbuf, "ISON "); + while (list) + { + notify = list->data; + if (notify_do_network (notify, serv)) + { + i++; + strcat (outbuf, notify->name); + strcat (outbuf, " "); + if (strlen (outbuf) > 460) + { + /* LAME: we can't send more than 512 bytes to the server, but * + * if we split it in two packets, our offline detection wouldn't * + work */ + /*fprintf (stderr, _("*** HEXCHAT WARNING: notify list too large.\n"));*/ + break; + } + } + list = list->next; + } + + if (i) + serv->p_raw (serv, outbuf); +} + +int +notify_checklist (void) /* check ISON list */ +{ + struct server *serv; + GSList *list = serv_list; + + while (list) + { + serv = list->data; + if (serv->connected && serv->end_of_motd && !serv->supports_watch && !serv->supports_monitor) + { + notify_checklist_for_server (serv); + } + list = list->next; + } + return 1; +} + +void +notify_showlist (struct session *sess, const message_tags_data *tags_data) +{ + char outbuf[256]; + struct notify *notify; + GSList *list = notify_list; + struct notify_per_server *servnot; + int i = 0; + + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYHEAD, sess, NULL, NULL, NULL, NULL, 0, + tags_data->timestamp); + while (list) + { + i++; + notify = (struct notify *) list->data; + servnot = notify_find_server_entry (notify, sess->server); + if (servnot && servnot->ison) + g_snprintf (outbuf, sizeof (outbuf), _(" %-20s online\n"), notify->name); + else + g_snprintf (outbuf, sizeof (outbuf), _(" %-20s offline\n"), notify->name); + PrintTextTimeStamp (sess, outbuf, tags_data->timestamp); + list = list->next; + } + if (i) + { + sprintf (outbuf, "%d", i); + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYNUMBER, sess, outbuf, NULL, NULL, NULL, + 0, tags_data->timestamp); + } else + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTIFYEMPTY, sess, NULL, NULL, NULL, NULL, 0, + tags_data->timestamp); +} + +int +notify_deluser (char *name) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!rfc_casecmp (notify->name, name)) + { + fe_notify_update (notify->name); + /* Remove the records for each server */ + while (notify->server_list) + { + servnot = (struct notify_per_server *) notify->server_list->data; + notify->server_list = + g_slist_remove (notify->server_list, servnot); + g_free (servnot); + } + notify_list = g_slist_remove (notify_list, notify); + notify_watch_all (notify, FALSE); + g_free (notify->networks); + g_free (notify->name); + g_free (notify); + fe_notify_update (0); + return 1; + } + list = list->next; + } + return 0; +} + +void +notify_adduser (char *name, char *networks) +{ + struct notify *notify = g_new0 (struct notify, 1); + + notify->name = g_strndup (name, NICKLEN - 1); + + if (networks != NULL) + notify->networks = despacify_dup (networks); + notify->server_list = 0; + notify_list = g_slist_prepend (notify_list, notify); + notify_checklist (); + fe_notify_update (notify->name); + fe_notify_update (0); + notify_watch_all (notify, TRUE); +} + +gboolean +notify_is_in_list (server *serv, char *name) +{ + struct notify *notify; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!serv->p_cmp (notify->name, name)) + return TRUE; + list = list->next; + } + + return FALSE; +} + +int +notify_isnotify (struct session *sess, char *name) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + + while (list) + { + notify = (struct notify *) list->data; + if (!sess->server->p_cmp (notify->name, name)) + { + servnot = notify_find_server_entry (notify, sess->server); + if (servnot && servnot->ison) + return TRUE; + } + list = list->next; + } + + return FALSE; +} + +void +notify_cleanup () +{ + GSList *list = notify_list; + GSList *nslist, *srvlist; + struct notify *notify; + struct notify_per_server *servnot; + struct server *serv; + int valid; + + while (list) + { + /* Traverse the list of notify structures */ + notify = (struct notify *) list->data; + nslist = notify->server_list; + while (nslist) + { + /* Look at each per-server structure */ + servnot = (struct notify_per_server *) nslist->data; + + /* Check the server is valid */ + valid = FALSE; + srvlist = serv_list; + while (srvlist) + { + serv = (struct server *) srvlist->data; + if (servnot->server == serv) + { + valid = serv->connected; /* Only valid if server is too */ + break; + } + srvlist = srvlist->next; + } + if (!valid) + { + notify->server_list = + g_slist_remove (notify->server_list, servnot); + g_free (servnot); + nslist = notify->server_list; + } else + { + nslist = nslist->next; + } + } + list = list->next; + } + fe_notify_update (0); +} diff --git a/src/common/notify.h b/src/common/notify.h new file mode 100644 index 0000000000000000000000000000000000000000..5bf43410192f4c76a763c951b3ac6970e0265fb0 --- /dev/null +++ b/src/common/notify.h @@ -0,0 +1,73 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "proto-irc.h" + +#ifndef HEXCHAT_NOTIFY_H +#define HEXCHAT_NOTIFY_H + +struct notify +{ + char *name; + char *networks; /* network names, comma sep */ + GSList *server_list; +}; + +struct notify_per_server +{ + struct server *server; + struct notify *notify; + time_t laston; + time_t lastseen; + time_t lastoff; + unsigned int ison:1; +}; + +extern GSList *notify_list; +extern int notify_tag; + +/* the WATCH stuff */ +void notify_set_online (server * serv, char *nick, + const message_tags_data *tags_data); +void notify_set_offline (server * serv, char *nick, int quiet, + const message_tags_data *tags_data); +/* the MONITOR stuff */ +void notify_set_online_list (server * serv, char *users, + const message_tags_data *tags_data); +void notify_set_offline_list (server * serv, char *users, int quiet, + const message_tags_data *tags_data); +void notify_send_watches (server * serv); + +/* the general stuff */ +void notify_adduser (char *name, char *networks); +int notify_deluser (char *name); +void notify_cleanup (void); +void notify_load (void); +void notify_save (void); +void notify_showlist (session *sess, const message_tags_data *tags_data); +gboolean notify_is_in_list (server *serv, char *name); +int notify_isnotify (session *sess, char *name); +struct notify_per_server *notify_find_server_entry (struct notify *notify, struct server *serv); + +/* the old ISON stuff - remove me? */ +void notify_markonline (server *serv, char *word[], + const message_tags_data *tags_data); +int notify_checklist (void); + +#endif diff --git a/src/common/outbound.c b/src/common/outbound.c new file mode 100644 index 0000000000000000000000000000000000000000..b8153502bbca6780b2284fbf5d1b22d8a963c4d5 --- /dev/null +++ b/src/common/outbound.c @@ -0,0 +1,4983 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define _GNU_SOURCE /* for memrchr */ +#include <string.h> +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <limits.h> +#include <errno.h> + +#define WANTSOCKET +#define WANTARPA +#include "inet.h" + +#ifndef WIN32 +#include <sys/wait.h> +#include <unistd.h> +#endif + +#include <time.h> +#include <signal.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "hexchat.h" +#include "plugin.h" +#include "ignore.h" +#include "util.h" +#include "fe.h" +#include "cfgfiles.h" /* hexchat_fopen_file() */ +#include "network.h" /* net_ip() */ +#include "modes.h" +#include "notify.h" +#include "inbound.h" +#include "text.h" +#include "hexchatc.h" +#include "servlist.h" +#include "server.h" +#include "tree.h" +#include "outbound.h" +#include "chanopt.h" + +#define TBUFSIZE 4096 + +static void help (session *sess, char *tbuf, char *helpcmd, int quiet); +static int cmd_server (session *sess, char *tbuf, char *word[], char *word_eol[]); +static void handle_say (session *sess, char *text, int check_spch); + + +static void +notj_msg (struct session *sess) +{ + PrintText (sess, _("No channel joined. Try /join #<channel>\n")); +} + +void +notc_msg (struct session *sess) +{ + PrintText (sess, _("Not connected. Try /server <host> [<port>]\n")); +} + +static char * +random_line (char *file_name) +{ + FILE *fh; + char buf[512]; + int lines, ran; + + if (!file_name[0]) + goto nofile; + + fh = hexchat_fopen_file (file_name, "r", 0); + if (!fh) + { + nofile: + /* reason is not a file, an actual reason! */ + return g_strdup (file_name); + } + + /* count number of lines in file */ + lines = 0; + while (fgets (buf, sizeof (buf), fh)) + lines++; + + if (lines < 1) + goto nofile; + + /* go down a random number */ + rewind (fh); + ran = RAND_INT (lines); + do + { + fgets (buf, sizeof (buf), fh); + lines--; + } + while (lines > ran); + fclose (fh); + return g_strdup (buf); +} + +void +server_sendpart (server * serv, char *channel, char *reason) +{ + if (!reason) + { + reason = random_line (prefs.hex_irc_part_reason); + serv->p_part (serv, channel, reason); + g_free (reason); + } else + { + /* reason set by /quit, /close argument */ + serv->p_part (serv, channel, reason); + } +} + +void +server_sendquit (session * sess) +{ + char *rea, *colrea; + + if (!sess->quitreason) + { + colrea = g_strdup (prefs.hex_irc_quit_reason); + check_special_chars (colrea, FALSE); + rea = random_line (colrea); + g_free (colrea); + sess->server->p_quit (sess->server, rea); + g_free (rea); + } else + { + /* reason set by /quit, /close argument */ + sess->server->p_quit (sess->server, sess->quitreason); + } +} + +void +process_data_init (char *buf, char *cmd, char *word[], + char *word_eol[], gboolean handle_quotes, + gboolean allow_escape_quotes) +{ + int wordcount = 2; + int space = FALSE; + int quote = FALSE; + int j = 0; + int len; + + word[0] = "\000\000"; + word_eol[0] = "\000\000"; + word[1] = buf; + word_eol[1] = cmd; + + while (1) + { + switch (*cmd) + { + case 0: + buf[j] = 0; + for (j = wordcount; j < PDIWORDS; j++) + { + word[j] = "\000\000"; + word_eol[j] = "\000\000"; + } + return; + case '\042': + if (!handle_quotes) + goto def; + /* two quotes turn into 1 */ + if (allow_escape_quotes && cmd[1] == '\042') + { + cmd++; + goto def; + } + if (quote) + { + quote = FALSE; + space = FALSE; + } else + quote = TRUE; + cmd++; + break; + case ' ': + if (!quote) + { + if (!space) + { + buf[j] = 0; + j++; + + if (wordcount < PDIWORDS) + { + word[wordcount] = &buf[j]; + word_eol[wordcount] = cmd + 1; + wordcount++; + } + + space = TRUE; + } + cmd++; + break; + } + default: +def: + space = FALSE; + len = g_utf8_skip[((unsigned char *)cmd)[0]]; + if (len == 1) + { + buf[j] = *cmd; + j++; + cmd++; + } else + { + /* skip past a multi-byte utf8 char */ + memcpy (buf + j, cmd, len); + j += len; + cmd += len; + } + } + } +} + +static int +cmd_addbutton (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (*word[2] && *word_eol[3]) + { + if (sess->type == SESS_DIALOG) + { + list_addentry (&dlgbutton_list, word_eol[3], word[2]); + fe_dlgbuttons_update (sess); + } else + { + list_addentry (&button_list, word_eol[3], word[2]); + fe_buttons_update (sess); + } + return TRUE; + } + return FALSE; +} + +/* ADDSERVER <networkname> <serveraddress>, add a new network and server to the network list */ +static int +cmd_addserver (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + ircnet *network; + + /* do we have enough arguments given? */ + if (*word[2] && *word_eol[3]) + { + network = servlist_net_find (word[2], NULL, strcmp); + + /* if the given network doesn't exist yet, add it */ + if (!network) + { + network = servlist_net_add (word[2], "", TRUE); + network->encoding = g_strdup (IRC_DEFAULT_CHARSET); + } + /* if we had the network already, check if the given server already exists */ + else if (servlist_server_find (network, word_eol[3], NULL)) + { + PrintTextf (sess, _("Server %s already exists on network %s.\n"), word_eol[3], word[2]); + return TRUE; /* unsuccessful, but the syntax was correct so we don't want to show the help */ + } + + /* server added to new or existing network, doesn't make any difference */ + servlist_server_add (network, word_eol[3]); + PrintTextf (sess, _("Added server %s to network %s.\n"), word_eol[3], word[2]); + return TRUE; /* success */ + } + else + { + return FALSE; /* print help */ + } +} + +static int +cmd_allchannels (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + + if (!*word_eol[2]) + return FALSE; + + while (list) + { + sess = list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] && sess->server->connected) + { + handle_command (sess, word_eol[2], FALSE); + } + list = list->next; + } + + return TRUE; +} + +static int +cmd_allchannelslocal (session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + server *serv = sess->server; + + if (!*word_eol[2]) + return FALSE; + + while (list) + { + sess = list->data; + if (sess->type == SESS_CHANNEL && sess->channel[0] && + sess->server->connected && sess->server == serv) + { + handle_command (sess, word_eol[2], FALSE); + } + list = list->next; + } + + return TRUE; +} + +static int +cmd_allservers (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + GSList *list; + server *serv; + + if (!*word_eol[2]) + return FALSE; + + list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected) + handle_command (serv->front_session, word_eol[2], FALSE); + list = list->next; + } + + return TRUE; +} + +static int +cmd_away (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *reason = word_eol[2]; + + if (!(*reason)) + { + if (sess->server->is_away) + { + if (sess->server->last_away_reason) + PrintTextf (sess, _("Already marked away: %s\n"), sess->server->last_away_reason); + return FALSE; + } + + if (sess->server->reconnect_away) + reason = sess->server->last_away_reason; + else + /* must manage memory pointed to by random_line() */ + reason = random_line (prefs.hex_away_reason); + } + sess->server->p_set_away (sess->server, reason); + + if (sess->server->last_away_reason != reason) + { + g_free (sess->server->last_away_reason); + + if (reason == word_eol[2]) + sess->server->last_away_reason = g_strdup (reason); + else + sess->server->last_away_reason = reason; + } + + if (!sess->server->connected) + sess->server->reconnect_away = 1; + + return TRUE; +} + +static int +cmd_back (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (sess->server->is_away) + { + sess->server->p_set_back (sess->server); + } + else + { + PrintText (sess, _("Already marked back.\n")); + } + + g_free (sess->server->last_away_reason); + sess->server->last_away_reason = NULL; + + return TRUE; +} + +static char * +create_mask (session * sess, char *mask, char *mode, char *typestr, int deop) +{ + int type; + struct User *user; + char *at, *dot, *lastdot; + char username[64], fullhost[128], domain[128], buf[512], *p2; + + user = userlist_find (sess, mask); + if (user && user->hostname) /* it's a nickname, let's find a proper ban mask */ + { + if (deop) + p2 = user->nick; + else + p2 = ""; + + mask = user->hostname; + + at = strchr (mask, '@'); /* FIXME: utf8 */ + if (!at) + return NULL; /* can't happen? */ + *at = 0; + + if (mask[0] == '~' || mask[0] == '+' || + mask[0] == '=' || mask[0] == '^' || mask[0] == '-') + { + /* the ident is prefixed with something, we replace that sign with an * */ + safe_strcpy (username+1, mask+1, sizeof (username)-1); + username[0] = '*'; + } else if (at - mask < USERNAMELEN) + { + /* we just add an * in the begining of the ident */ + safe_strcpy (username+1, mask, sizeof (username)-1); + username[0] = '*'; + } else + { + /* ident might be too long, we just ban what it gives and add an * in the end */ + safe_strcpy (username, mask, sizeof (username)); + } + *at = '@'; + safe_strcpy (fullhost, at + 1, sizeof (fullhost)); + + dot = strchr (fullhost, '.'); + if (dot) + { + safe_strcpy (domain, dot, sizeof (domain)); + } else + { + safe_strcpy (domain, fullhost, sizeof (domain)); + } + + if (*typestr) + type = atoi (typestr); + else + type = prefs.hex_irc_ban_type; + + buf[0] = 0; + if (inet_addr (fullhost) != (guint32) -1) /* "fullhost" is really a IP number */ + { + lastdot = strrchr (fullhost, '.'); + if (!lastdot) + return NULL; /* can't happen? */ + + *lastdot = 0; + strcpy (domain, fullhost); + *lastdot = '.'; + + switch (type) + { + case 0: + g_snprintf (buf, sizeof (buf), "%s %s *!*@%s.*", mode, p2, domain); + break; + + case 1: + g_snprintf (buf, sizeof (buf), "%s %s *!*@%s", mode, p2, fullhost); + break; + + case 2: + g_snprintf (buf, sizeof (buf), "%s %s *!%s@%s.*", mode, p2, username, domain); + break; + + case 3: + g_snprintf (buf, sizeof (buf), "%s %s *!%s@%s", mode, p2, username, fullhost); + break; + } + } else + { + switch (type) + { + case 0: + g_snprintf (buf, sizeof (buf), "%s %s *!*@*%s", mode, p2, domain); + break; + + case 1: + g_snprintf (buf, sizeof (buf), "%s %s *!*@%s", mode, p2, fullhost); + break; + + case 2: + g_snprintf (buf, sizeof (buf), "%s %s *!%s@*%s", mode, p2, username, domain); + break; + + case 3: + g_snprintf (buf, sizeof (buf), "%s %s *!%s@%s", mode, p2, username, fullhost); + break; + } + } + + } else + { + g_snprintf (buf, sizeof (buf), "%s %s", mode, mask); + } + + return g_strdup (buf); +} + +static void +ban (session * sess, char *tbuf, char *mask, char *bantypestr, int deop) +{ + char *banmask = create_mask (sess, mask, deop ? "-o+b" : "+b", bantypestr, deop); + server *serv = sess->server; + + if (banmask) + { + serv->p_mode (serv, sess->channel, banmask); + g_free (banmask); + } +} + +static int +cmd_ban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *mask = word[2]; + + if (*mask) + { + ban (sess, tbuf, mask, word[3], 0); + } else + { + sess->server->p_mode (sess->server, sess->channel, "+b"); /* banlist */ + } + + return TRUE; +} + +static int +cmd_unban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* Allow more than one mask in /unban -- tvk */ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'b', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_chanopt (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int ret; + + /* chanopt.c */ + ret = chanopt_command (sess, tbuf, word, word_eol); + chanopt_save_all (FALSE); + + return ret; +} + +static int +cmd_charset (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + server *serv = sess->server; + int offset = 0; + + if (strcmp (word[2], "-quiet") == 0) + offset++; + + if (!word[2 + offset][0]) + { + PrintTextf (sess, "Current charset: %s\n", serv->encoding); + return TRUE; + } + + if (servlist_check_encoding (word[2 + offset])) + { + server_set_encoding (serv, word[2 + offset]); + if (offset < 1) + PrintTextf (sess, "Charset changed to: %s\n", word[2 + offset]); + } else + { + PrintTextf (sess, "\0034Unknown charset:\017 %s\n", word[2 + offset]); + } + + return TRUE; +} + +static int +cmd_clear (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list = sess_list; + char *reason = word_eol[2]; + + if (g_ascii_strcasecmp (reason, "HISTORY") == 0) + { + history_free (&sess->history); + return TRUE; + } + + if (g_ascii_strncasecmp (reason, "all", 3) == 0) + { + while (list) + { + sess = list->data; + if (!(sess->tab_state & TAB_STATE_NEW_HILIGHT)) + fe_text_clear (list->data, 0); + list = list->next; + } + return TRUE; + } + + if (reason[0] != '-' && !isdigit (reason[0]) && reason[0] != 0) + return FALSE; + + fe_text_clear (sess, atoi (reason)); + return TRUE; +} + +static int +cmd_close (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GSList *list; + + if (strcmp (word[2], "-m") == 0) + { + list = sess_list; + while (list) + { + sess = list->data; + list = list->next; + if (sess->type == SESS_DIALOG) + fe_close_window (sess); + } + } else + { + if (*word_eol[2]) + sess->quitreason = word_eol[2]; + fe_close_window (sess); + } + + return TRUE; +} + +static int +cmd_ctcp (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int mbl; + char *to = word[2]; + if (*to) + { + char *msg = word_eol[3]; + if (*msg) + { + unsigned char *cmd = (unsigned char *)msg; + + /* make the first word upper case (as per RFC) */ + while (1) + { + if (*cmd == ' ' || *cmd == 0) + break; + mbl = g_utf8_skip[*cmd]; + if (mbl == 1) + *cmd = toupper (*cmd); + cmd += mbl; + } + + sess->server->p_ctcp (sess->server, to, msg); + + EMIT_SIGNAL (XP_TE_CTCPSEND, sess, to, msg, NULL, NULL, 0); + + return TRUE; + } + } + return FALSE; +} + +static int +cmd_country (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *code = word[2]; + if (*code) + { + /* search? */ + if (strcmp (code, "-s") == 0) + { + country_search (word[3], sess, (void *)PrintTextf); + return TRUE; + } + + /* search, but forgot the -s */ + if (strchr (code, '*')) + { + country_search (code, sess, (void *)PrintTextf); + return TRUE; + } + + sprintf (tbuf, "%s = %s\n", code, country (code)); + PrintText (sess, tbuf); + return TRUE; + } + return FALSE; +} + +static int +cmd_cycle (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *key = NULL; + char *chan = word[2]; + session *chan_sess; + + if (!*chan) + chan = sess->channel; + + if (chan) + { + chan_sess = find_channel (sess->server, chan); + + if (chan_sess && chan_sess->type == SESS_CHANNEL) + { + key = chan_sess->channelkey; + sess->server->p_cycle (sess->server, chan, key); + return TRUE; + } + } + + return FALSE; +} + +static int +cmd_dcc (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int goodtype; + struct DCC *dcc = 0; + char *type = word[2]; + if (*type) + { + if (!g_ascii_strcasecmp (type, "HELP")) + return FALSE; + if (!g_ascii_strcasecmp (type, "CLOSE")) + { + if (*word[3] && *word[4]) + { + goodtype = 0; + if (!g_ascii_strcasecmp (word[3], "SEND")) + { + dcc = find_dcc (word[4], word[5], TYPE_SEND); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + if (!g_ascii_strcasecmp (word[3], "GET")) + { + dcc = find_dcc (word[4], word[5], TYPE_RECV); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + if (!g_ascii_strcasecmp (word[3], "CHAT")) + { + dcc = find_dcc (word[4], "", TYPE_CHATRECV); + if (!dcc) + dcc = find_dcc (word[4], "", TYPE_CHATSEND); + dcc_abort (sess, dcc); + goodtype = TRUE; + } + + if (!goodtype) + return FALSE; + + if (!dcc) + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + + return TRUE; + + } + return FALSE; + } + if ((!g_ascii_strcasecmp (type, "CHAT")) || (!g_ascii_strcasecmp (type, "PCHAT"))) + { + char *nick = word[3]; + int passive = (!g_ascii_strcasecmp(type, "PCHAT")) ? 1 : 0; + if (*nick) + dcc_chat (sess, nick, passive); + return TRUE; + } + if (!g_ascii_strcasecmp (type, "LIST")) + { + dcc_show_list (sess); + return TRUE; + } + if (!g_ascii_strcasecmp (type, "GET")) + { + char *nick = word[3]; + char *file = word[4]; + if (!*file) + { + if (*nick) + dcc_get_nick (sess, nick); + } else + { + dcc = find_dcc (nick, file, TYPE_RECV); + if (dcc) + dcc_get (dcc); + else + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + } + return TRUE; + } + if ((!g_ascii_strcasecmp (type, "SEND")) || (!g_ascii_strcasecmp (type, "PSEND"))) + { + int i = 3, maxcps; + char *nick, *file; + int passive = (!g_ascii_strcasecmp(type, "PSEND")) ? 1 : 0; + + nick = word[i]; + if (!*nick) + return FALSE; + + maxcps = prefs.hex_dcc_max_send_cps; + if (!g_ascii_strncasecmp(nick, "-maxcps=", 8)) + { + maxcps = atoi(nick + 8); + i++; + nick = word[i]; + if (!*nick) + return FALSE; + } + + i++; + + file = word[i]; + if (!*file) + { + fe_dcc_send_filereq (sess, nick, maxcps, passive); + return TRUE; + } + + do + { + dcc_send (sess, nick, file, maxcps, passive); + i++; + file = word[i]; + } + while (*file); + + return TRUE; + } + + return FALSE; + } + + dcc_show_list (sess); + return TRUE; +} + +static int +cmd_debug (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + struct session *s; + struct server *v; + GSList *list = sess_list; + + PrintText (sess, "Session T Channel WaitChan WillChan Server\n"); + while (list) + { + s = (struct session *) list->data; + sprintf (tbuf, "%p %1x %-10.10s %-10.10s %-10.10s %p\n", + s, s->type, s->channel, s->waitchannel, + s->willjoinchannel, s->server); + PrintText (sess, tbuf); + list = list->next; + } + + list = serv_list; + PrintText (sess, "Server Sock Name\n"); + while (list) + { + v = (struct server *) list->data; + sprintf (tbuf, "%p %-5d %s\n", + v, v->sok, v->servername); + PrintText (sess, tbuf); + list = list->next; + } + + sprintf (tbuf, + "\nfront_session: %p\n" + "current_tab: %p\n\n", + sess->server->front_session, current_tab); + PrintText (sess, tbuf); + + return TRUE; +} + +static int +cmd_delbutton (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (*word[2]) + { + if (sess->type == SESS_DIALOG) + { + if (list_delentry (&dlgbutton_list, word[2])) + fe_dlgbuttons_update (sess); + } else + { + if (list_delentry (&button_list, word[2])) + fe_buttons_update (sess); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_dehop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'h', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_deop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'o', 0); + return TRUE; + } + i++; + } +} + +typedef struct +{ + char **nicks; + int i; + session *sess; + char *reason; + char *tbuf; +} multidata; + +static int +mdehop_cb (struct User *user, multidata *data) +{ + if (user->hop && !user->me) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mdehop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = g_new0 (char *, sess->hops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mdehop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '-', 'h', 0); + g_free (nicks); + + return TRUE; +} + +static int +mdeop_cb (struct User *user, multidata *data) +{ + if (user->op && !user->me) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mdeop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = g_new0(char *, sess->ops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mdeop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '-', 'o', 0); + g_free (nicks); + + return TRUE; +} + +GSList *menu_list = NULL; + +static void +menu_free (menu_entry *me) +{ + g_free (me->path); + g_free (me->label); + g_free (me->cmd); + g_free (me->ucmd); + g_free (me->group); + g_free (me->icon); + g_free (me); +} + +/* strings equal? but ignore underscores */ + +int +menu_streq (const char *s1, const char *s2, int def) +{ + /* for separators */ + if (s1 == NULL && s2 == NULL) + return 0; + if (s1 == NULL || s2 == NULL) + return 1; + while (*s1) + { + if (*s1 == '_') + s1++; + if (*s2 == '_') + s2++; + if (*s1 != *s2) + return 1; + s1++; + s2++; + } + if (!*s2) + return 0; + return def; +} + +static menu_entry * +menu_entry_find (char *path, char *label) +{ + GSList *list; + menu_entry *me; + + list = menu_list; + while (list) + { + me = list->data; + if (!strcmp (path, me->path)) + { + if (me->label && label && !strcmp (label, me->label)) + return me; + } + list = list->next; + } + return NULL; +} + +static void +menu_del_children (char *path, char *label) +{ + GSList *list, *next; + menu_entry *me; + char buf[512]; + + if (!label) + label = ""; + if (path[0]) + g_snprintf (buf, sizeof (buf), "%s/%s", path, label); + else + g_snprintf (buf, sizeof (buf), "%s", label); + + list = menu_list; + while (list) + { + me = list->data; + next = list->next; + if (!menu_streq (buf, me->path, 0)) + { + menu_list = g_slist_remove (menu_list, me); + menu_free (me); + } + list = next; + } +} + +static int +menu_del (char *path, char *label) +{ + GSList *list; + menu_entry *me; + + list = menu_list; + while (list) + { + me = list->data; + if (!menu_streq (me->label, label, 1) && !menu_streq (me->path, path, 1)) + { + menu_list = g_slist_remove (menu_list, me); + fe_menu_del (me); + menu_free (me); + /* delete this item's children, if any */ + menu_del_children (path, label); + return 1; + } + list = list->next; + } + + return 0; +} + +static char +menu_is_mainmenu_root (char *path, gint16 *offset) +{ + static const char *menus[] = {"\x4$TAB","\x5$TRAY","\x4$URL","\x5$NICK","\x5$CHAN"}; + int i; + + for (i = 0; i < 5; i++) + { + if (!strncmp (path, menus[i] + 1, menus[i][0])) + { + *offset = menus[i][0]; /* number of bytes to offset the root */ + if (path[*offset] != '\0') + *offset += 1; + return 0; /* is not main menu */ + } + } + + *offset = 0; + return 1; /* is main menu */ +} + +static void +menu_add (char *path, char *label, char *cmd, char *ucmd, int pos, int state, int markup, int enable, int mod, int key, char *group, char *icon) +{ + menu_entry *me; + + /* already exists? */ + me = menu_entry_find (path, label); + if (me) + { + /* update only */ + me->state = state; + me->enable = enable; + fe_menu_update (me); + return; + } + + me = g_new (menu_entry, 1); + me->pos = pos; + me->modifier = mod; + me->is_main = menu_is_mainmenu_root (path, &me->root_offset); + me->state = state; + me->markup = markup; + me->enable = enable; + me->key = key; + me->path = g_strdup (path); + me->label = NULL; + me->cmd = NULL; + me->ucmd = NULL; + me->group = NULL; + me->icon = NULL; + + me->label = g_strdup (label); + me->cmd = g_strdup (cmd); + me->ucmd = g_strdup (ucmd); + me->group = g_strdup (group); + me->icon = g_strdup (icon); + + menu_list = g_slist_append (menu_list, me); + label = fe_menu_add (me); + if (label) + { + /* FE has given us a stripped label */ + g_free (me->label); + me->label = g_strdup (label); + g_free (label); /* this is from pango */ + } +} + +static int +cmd_menu (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int len; + int pos = 0xffff; + int state = 0; + int toggle = FALSE; + int enable = TRUE; + int markup = FALSE; + int key = 0; + int mod = 0; + char *label; + char *group = NULL; + char *icon = NULL; + + if (!word[2][0] || !word[3][0]) + return FALSE; + + /* -eX enabled or not? */ + if (word[idx][0] == '-' && word[idx][1] == 'e') + { + enable = atoi (word[idx] + 2); + idx++; + } + + /* -i<ICONFILE> */ + if (word[idx][0] == '-' && word[idx][1] == 'i') + { + icon = word[idx] + 2; + idx++; + } + + /* -k<mod>,<key> key binding */ + if (word[idx][0] == '-' && word[idx][1] == 'k') + { + char *comma = strchr (word[idx], ','); + if (!comma) + return FALSE; + mod = atoi (word[idx] + 2); + key = atoi (comma + 1); + idx++; + } + + /* -m to specify PangoMarkup language */ + if (word[idx][0] == '-' && word[idx][1] == 'm') + { + markup = TRUE; + idx++; + } + + /* -pX to specify menu position */ + if (word[idx][0] == '-' && word[idx][1] == 'p') + { + pos = atoi (word[idx] + 2); + idx++; + } + + /* -rSTATE,GROUP to specify a radio item */ + if (word[idx][0] == '-' && word[idx][1] == 'r') + { + state = atoi (word[idx] + 2); + group = word[idx] + 4; + idx++; + } + + /* -tX to specify toggle item with default state */ + if (word[idx][0] == '-' && word[idx][1] == 't') + { + state = atoi (word[idx] + 2); + idx++; + toggle = TRUE; + } + + if (word[idx+1][0] == 0) + return FALSE; + + /* the path */ + path_part (word[idx+1], tbuf, 512); + len = strlen (tbuf); + if (len) + tbuf[len - 1] = 0; + + /* the name of the item */ + label = file_part (word[idx + 1]); + if (label[0] == '-' && label[1] == 0) + label = NULL; /* separator */ + + if (markup) + { + char *p; /* to force pango closing tags through */ + for (p = label; p && *p; p++) + if (*p == 3) + *p = '/'; + } + + if (!g_ascii_strcasecmp (word[idx], "ADD")) + { + if (toggle) + { + menu_add (tbuf, label, word[idx + 2], word[idx + 3], pos, state, markup, enable, mod, key, NULL, NULL); + } else + { + if (word[idx + 2][0]) + menu_add (tbuf, label, word[idx + 2], NULL, pos, state, markup, enable, mod, key, group, icon); + else + menu_add (tbuf, label, NULL, NULL, pos, state, markup, enable, mod, key, group, icon); + } + return TRUE; + } + + if (!g_ascii_strcasecmp (word[idx], "DEL")) + { + menu_del (tbuf, label); + return TRUE; + } + + return FALSE; +} + +static int +mhop_cb (struct User *user, multidata *data) +{ + if (!user->hop) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mhop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = g_new0 (char *, sess->total - sess->hops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mhop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '+', 'h', 0); + + g_free (nicks); + + return TRUE; +} + +static int +mkick_cb (struct User *user, multidata *data) +{ + if (!user->op && !user->me) + data->sess->server->p_kick (data->sess->server, data->sess->channel, user->nick, data->reason); + return TRUE; +} + +static int +mkickops_cb (struct User *user, multidata *data) +{ + if (user->op && !user->me) + data->sess->server->p_kick (data->sess->server, data->sess->channel, user->nick, data->reason); + return TRUE; +} + +static int +cmd_mkick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + multidata data; + + data.sess = sess; + data.reason = word_eol[2]; + tree_foreach (sess->usertree, (tree_traverse_func *)mkickops_cb, &data); + tree_foreach (sess->usertree, (tree_traverse_func *)mkick_cb, &data); + + return TRUE; +} + +static int +cmd_devoice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'v', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_discon (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + sess->server->disconnect (sess, TRUE, -1); + return TRUE; +} + +static int +cmd_dns (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + struct User *user; + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + if (*nick) + { + user = userlist_find (sess, nick); + if (user) + { + if (user->hostname) + { + do_dns (sess, user->nick, user->hostname, &no_tags); + } else + { + sess->server->p_get_ip (sess->server, nick); + sess->server->doing_dns = TRUE; + } + } else + { + do_dns (sess, NULL, nick, &no_tags); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_doat (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + GStrv channels; + guint i; + + if (!word[2] || !*word[2] || !word[3] || !*word[3]) + return FALSE; + + channels = g_strsplit (word[2], ",", -1); + for (i = 0; channels[i] && *channels[i]; ++i) + { + char *chan = channels[i]; + char *serv; + session *ctx; + + /* Split channel and network, either may be empty */ + if ((serv = strrchr (chan, '/'))) + { + *serv = '\0'; + serv++; + if (!strlen (serv)) + serv = NULL; + } + if (!strlen (chan)) + chan = NULL; + + if ((ctx = plugin_find_context (serv, chan, sess->server))) + handle_command (ctx, word_eol[3], FALSE); + } + g_strfreev (channels); + + return TRUE; +} + +static int +cmd_echo (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + PrintText (sess, word_eol[2]); + return TRUE; +} + +#ifndef WIN32 + +static void +exec_check_process (struct session *sess) +{ + int val; + + if (sess->running_exec == NULL) + return; + val = waitpid (sess->running_exec->childpid, NULL, WNOHANG); + if (val == -1 || val > 0) + { + close (sess->running_exec->myfd); + fe_input_remove (sess->running_exec->iotag); + g_free (sess->running_exec); + sess->running_exec = NULL; + } +} + +#ifndef __EMX__ +static int +cmd_execs (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + r = kill (sess->running_exec->childpid, SIGSTOP); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +static int +cmd_execc (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + r = kill (sess->running_exec->childpid, SIGCONT); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +static int +cmd_execk (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int r; + + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + if (strcmp (word[2], "-9") == 0) + r = kill (sess->running_exec->childpid, SIGKILL); + else + r = kill (sess->running_exec->childpid, SIGTERM); + if (r == -1) + PrintText (sess, "Error in kill(2)\n"); + + return TRUE; +} + +/* OS/2 Can't have the /EXECW command because it uses pipe(2) not socketpair + and thus it is simplex --AGL */ +static int +cmd_execw (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int len; + char *temp; + exec_check_process (sess); + if (sess->running_exec == NULL) + { + EMIT_SIGNAL (XP_TE_NOCHILD, sess, NULL, NULL, NULL, NULL, 0); + return FALSE; + } + if (strcmp (word[2], "--") == 0) + { + len = strlen(word_eol[3]); + temp = g_strconcat (word_eol[3], "\n", NULL); + PrintText(sess, temp); + } + else + { + if (strcmp (word[2], "-q") == 0) + { + len = strlen(word_eol[3]); + temp = g_strconcat (word_eol[3], "\n", NULL); + } + else + { + len = strlen(word_eol[2]); + temp = g_strconcat (word_eol[2], "\n", NULL); + PrintText(sess, temp); + } + } + write(sess->running_exec->myfd, temp, len + 1); + g_free(temp); + + return TRUE; +} +#endif /* !__EMX__ */ + +/* convert ANSI escape color codes to mIRC codes */ + +static short escconv[] = +/* 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 */ +{ 1,4,3,5,2,10,6,1, 1,7,9,8,12,11,13,1 }; + +static void +exec_handle_colors (char *buf, int len) +{ + char numb[16]; + char *nbuf; + int i = 0, j = 0, k = 0, firstn = 0, col, colf = 0, colb = 0; + int esc = FALSE, backc = FALSE, bold = FALSE; + + /* any escape codes in this text? */ + if (strchr (buf, 27) == 0) + return; + + nbuf = g_malloc (len + 1); + + while (i < len) + { + switch (buf[i]) + { + case '\r': + break; + case 27: + esc = TRUE; + break; + case ';': + if (!esc) + goto norm; + backc = TRUE; + numb[k] = 0; + firstn = atoi (numb); + k = 0; + break; + case '[': + if (!esc) + goto norm; + break; + default: + if (esc) + { + if (buf[i] >= 'A' && buf[i] <= 'z') + { + if (buf[i] == 'm') + { + /* ^[[0m */ + if (k == 0 || (numb[0] == '0' && k == 1)) + { + nbuf[j] = '\017'; + j++; + bold = FALSE; + goto cont; + } + + numb[k] = 0; + col = atoi (numb); + backc = FALSE; + + if (firstn == 1) + bold = TRUE; + + if (firstn >= 30 && firstn <= 37) + colf = firstn - 30; + + if (col >= 40) + { + colb = col - 40; + backc = TRUE; + } + + if (col >= 30 && col <= 37) + colf = col - 30; + + if (bold) + colf += 8; + + if (backc) + { + colb = escconv[colb % 14]; + colf = escconv[colf % 14]; + j += sprintf (&nbuf[j], "\003%d,%02d", colf, colb); + } else + { + colf = escconv[colf % 14]; + j += sprintf (&nbuf[j], "\003%02d", colf); + } + } +cont: esc = FALSE; + backc = FALSE; + k = 0; + } else + { + if (isdigit ((unsigned char) buf[i]) && k < (sizeof (numb) - 1)) + { + numb[k] = buf[i]; + k++; + } + } + } else + { +norm: nbuf[j] = buf[i]; + j++; + } + } + i++; + } + + nbuf[j] = 0; + memcpy (buf, nbuf, j + 1); + g_free (nbuf); +} + +#ifndef HAVE_MEMRCHR +static void * +memrchr (const void *block, int c, size_t size) +{ + unsigned char *p; + + for (p = (unsigned char *)block + size; p != block; p--) + if (*p == c) + return p; + return NULL; +} +#endif + +static void +exec_print_line (session *sess, char *data, gssize len, gboolean tochannel) +{ + char *valid; + exec_handle_colors (data, len); + valid = text_fixup_invalid_utf8 (data, len, NULL); + if (tochannel) + { + /* must turn off auto-completion temporarily */ + const unsigned int old = prefs.hex_completion_auto; + prefs.hex_completion_auto = 0; + handle_multiline (sess, valid, FALSE, TRUE); + prefs.hex_completion_auto = old; + } + else + PrintText (sess, valid); + g_free (valid); +} + +static gboolean +exec_data (GIOChannel *source, GIOCondition condition, struct nbexec *s) +{ + char *buf, *readpos, *rest; + int rd, len; + int sok = s->myfd; + + len = s->buffill; + if (len) { + /* append new data to buffered incomplete line */ + buf = g_malloc (len + 2050); + memcpy(buf, s->linebuf, len); + readpos = buf + len; + g_free (s->linebuf); + s->linebuf = NULL; + } + else + readpos = buf = g_malloc (2050); + + rd = read (sok, readpos, 2048); + if (rd < 1) + { + /* The process has died */ + kill(s->childpid, SIGKILL); + if (len) { + buf[len] = '\0'; + exec_print_line(s->sess, buf, len, s->tochannel); + } + g_free(buf); + waitpid (s->childpid, NULL, 0); + s->sess->running_exec = NULL; + fe_input_remove (s->iotag); + close (sok); + g_free (s); + return TRUE; + } + len += rd; + buf[len] = '\0'; + + rest = memrchr(buf, '\n', len); + if (rest) + rest++; + else + rest = buf; + if (*rest) { + s->buffill = len - (rest - buf); /* = strlen(rest) */ + s->linebuf = g_malloc (s->buffill + 1); + memcpy(s->linebuf, rest, s->buffill); + *rest = '\0'; + len -= s->buffill; /* possibly 0 */ + } + else + s->buffill = 0; + + if (len) { + exec_print_line(s->sess, buf, len, s->tochannel); + } + + g_free (buf); + return TRUE; +} + +static int +cmd_exec (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int tochannel = FALSE; + char *cmd = word_eol[2]; + int fds[2], pid = 0; + struct nbexec *s; + int shell = TRUE; + int fd; + + if (*cmd) + { + exec_check_process (sess); + if (sess->running_exec != NULL) + { + EMIT_SIGNAL (XP_TE_ALREADYPROCESS, sess, NULL, NULL, NULL, NULL, 0); + return TRUE; + } + + if (!strcmp (word[2], "-d")) + { + if (!*word[3]) + return FALSE; + cmd = word_eol[3]; + shell = FALSE; + } + else if (!strcmp (word[2], "-o")) + { + if (!*word[3]) + return FALSE; + cmd = word_eol[3]; + tochannel = TRUE; + } + + if (shell) + { + if (access ("/bin/sh", X_OK) != 0) + { + fe_message (_("I need /bin/sh to run!\n"), FE_MSG_ERROR); + return TRUE; + } + } + +#ifdef __EMX__ /* if os/2 */ + if (pipe (fds) < 0) + { + PrintText (sess, "Pipe create error\n"); + return FALSE; + } + setmode (fds[0], O_BINARY); + setmode (fds[1], O_BINARY); +#else + if (socketpair (PF_UNIX, SOCK_STREAM, 0, fds) == -1) + { + PrintText (sess, "socketpair(2) failed\n"); + return FALSE; + } +#endif + s = g_new0 (struct nbexec, 1); + s->myfd = fds[0]; + s->tochannel = tochannel; + s->sess = sess; + + pid = fork (); + if (pid == 0) + { + /* This is the child's context */ + close (0); + close (1); + close (2); + /* Close parent's end of pipe */ + close(s->myfd); + /* Copy the child end of the pipe to stdout and stderr */ + dup2 (fds[1], 1); + dup2 (fds[1], 2); + /* Also copy it to stdin so we can write to it */ + dup2 (fds[1], 0); + /* Now close all open file descriptors except stdin, stdout and stderr */ + for (fd = 3; fd < 1024; fd++) close(fd); + /* Now we call /bin/sh to run our cmd ; made it more friendly -DC1 */ + if (shell) + { + execl ("/bin/sh", "sh", "-c", cmd, NULL); + } else + { + char **argv; + int argc; + + g_shell_parse_argv (cmd, &argc, &argv, NULL); + execvp (argv[0], argv); + + g_strfreev (argv); + } + /* not reached unless error */ + /*printf("exec error\n");*/ + fflush (stdout); + _exit (0); + } + if (pid == -1) + { + /* Parent context, fork() failed */ + + PrintText (sess, "Error in fork(2)\n"); + close(fds[0]); + close(fds[1]); + g_free (s); + } + else + { + /* Parent path */ + close(fds[1]); + s->childpid = pid; + s->iotag = fe_input_add (s->myfd, FIA_READ|FIA_EX, exec_data, s); + sess->running_exec = s; + return TRUE; + } + } + return FALSE; +} + +#endif + +#if 0 +/* export config stub */ +static int +cmd_exportconf (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* this is pretty much the same as in hexchat_exit() */ + save_config (); + if (prefs.save_pevents) + { + pevent_save (NULL); + } + sound_save (); + notify_save (); + ignore_save (); + free_sessions (); + chanopt_save_all (); + + return TRUE; /* success */ + return FALSE; /* fail */ +} +#endif + +static int +cmd_flushq (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + sprintf (tbuf, "Flushing server send queue, %d bytes.\n", sess->server->sendq_len); + PrintText (sess, tbuf); + sess->server->flush_queue (sess->server); + return TRUE; +} + +static int +cmd_quit (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + sess->quitreason = word_eol[2]; + sess->server->disconnect (sess, TRUE, -1); + sess->quitreason = NULL; + return 2; +} + +static int +cmd_gate (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *server_name = word[2]; + server *serv = sess->server; + if (*server_name) + { + char *port = word[3]; +#ifdef USE_OPENSSL + serv->use_ssl = FALSE; +#endif + server_fill_her_up (serv); + if (*port) + serv->connect (serv, server_name, atoi (port), TRUE); + else + serv->connect (serv, server_name, 23, TRUE); + return TRUE; + } + return FALSE; +} + +typedef struct +{ + char *cmd; + session *sess; +} getvalinfo; + +static void +get_bool_cb (int val, getvalinfo *info) +{ + char buf[512]; + + g_snprintf (buf, sizeof (buf), "%s %d", info->cmd, val); + if (is_session (info->sess)) + handle_command (info->sess, buf, FALSE); + + g_free (info->cmd); + g_free (info); +} + +static int +cmd_getbool (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + getvalinfo *info; + + if (!word[4][0]) + return FALSE; + + info = g_new (getvalinfo, 1); + info->cmd = g_strdup (word[2]); + info->sess = sess; + + fe_get_bool (word[3], word_eol[4], get_bool_cb, info); + + return TRUE; +} + +static void +get_int_cb (int cancel, int val, getvalinfo *info) +{ + char buf[512]; + + if (!cancel) + { + g_snprintf (buf, sizeof (buf), "%s %d", info->cmd, val); + if (is_session (info->sess)) + handle_command (info->sess, buf, FALSE); + } + + g_free (info->cmd); + g_free (info); +} + +static int +cmd_getint (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + getvalinfo *info; + + if (!word[4][0]) + return FALSE; + + info = g_new (getvalinfo, 1); + info->cmd = g_strdup (word[3]); + info->sess = sess; + + fe_get_int (word[4], atoi (word[2]), get_int_cb, info); + + return TRUE; +} + +static void +get_file_cb (char *cmd, char *file) +{ + char buf[1024 + 128]; + + /* execute the command once per file, then once more with + no args */ + if (file) + { + g_snprintf (buf, sizeof (buf), "%s %s", cmd, file); + handle_command (current_sess, buf, FALSE); + } + else + { + handle_command (current_sess, cmd, FALSE); + g_free (cmd); + } +} + +static int +cmd_getfile (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int flags = 0; + + if (!word[3][0]) + return FALSE; + + if (!strcmp (word[2], "-folder")) + { + flags |= FRF_CHOOSEFOLDER; + idx++; + } + + if (!strcmp (word[idx], "-multi")) + { + flags |= FRF_MULTIPLE; + idx++; + } + + if (!strcmp (word[idx], "-save")) + { + flags |= FRF_WRITE; + idx++; + } + + fe_get_file (word[idx+1], word[idx+2], (void *)get_file_cb, g_strdup (word[idx]), flags); + + return TRUE; +} + +static void +get_str_cb (int cancel, char *val, getvalinfo *info) +{ + char buf[512]; + + if (!cancel) + { + g_snprintf (buf, sizeof (buf), "%s %s", info->cmd, val); + if (is_session (info->sess)) + handle_command (info->sess, buf, FALSE); + } + + g_free (info->cmd); + g_free (info); +} + +static int +cmd_getstr (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + getvalinfo *info; + + if (!word[4][0]) + return FALSE; + + info = g_new (getvalinfo, 1); + info->cmd = g_strdup (word[3]); + info->sess = sess; + + fe_get_str (word[4], word[2], get_str_cb, info); + + return TRUE; +} + +static int +cmd_ghost (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (!word[2][0]) + return FALSE; + + sess->server->p_ns_ghost (sess->server, word[2], word[3]); + return TRUE; +} + +static int +cmd_gui (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + switch (str_ihash (word[2])) + { + case 0x058b836e: fe_ctrl_gui (sess, 8, 0); break; /* APPLY */ + case 0xac1eee45: fe_ctrl_gui (sess, 7, 2); break; /* ATTACH */ + case 0xb06a1793: fe_ctrl_gui (sess, 7, 1); break; /* DETACH */ + case 0x05cfeff0: fe_ctrl_gui (sess, 3, 0); break; /* FLASH */ + case 0x05d154d8: fe_ctrl_gui (sess, 2, 0); break; /* FOCUS */ + case 0x0030dd42: fe_ctrl_gui (sess, 0, 0); break; /* HIDE */ + case 0x61addbe3: fe_ctrl_gui (sess, 5, 0); break; /* ICONIFY */ + case 0xc0851aaa: fe_message (word[3], FE_MSG_INFO|FE_MSG_MARKUP); break; /* MSGBOX */ + case 0x0035dafd: fe_ctrl_gui (sess, 1, 0); break; /* SHOW */ + case 0x0033155f: /* MENU */ + if (!g_ascii_strcasecmp (word[3], "TOGGLE")) + fe_ctrl_gui (sess, 6, 0); + else + return FALSE; + break; + case 0x05a72f63: /* COLOR */ + if (!g_ascii_strcasecmp (word[4], "-NOOVERRIDE")) + fe_ctrl_gui (sess, 4, FE_COLOR_FLAG_NOOVERRIDE | atoi (word[3])); + else + fe_ctrl_gui (sess, 4, atoi (word[3])); + break; + default: + return FALSE; + } + + return TRUE; +} + +typedef struct +{ + int longfmt; + int i, t; + char *buf; +} help_list; + +static void +show_help_line (session *sess, help_list *hl, char *name, char *usage) +{ + int j, len, max; + char *p; + + if (name[0] == '.') /* hidden command? */ + return; + + if (hl->longfmt) /* long format for /HELP -l */ + { + if (!usage || usage[0] == 0) + PrintTextf (sess, " \0034%s\003 :\n", name); + else + PrintTextf (sess, " \0034%s\003 : %s\n", name, _(usage)); + return; + } + + /* append the name into buffer, but convert to uppercase */ + len = strlen (hl->buf); + p = name; + while (*p) + { + hl->buf[len] = toupper ((unsigned char) *p); + len++; + p++; + } + hl->buf[len] = 0; + + hl->t++; + if (hl->t == 5) + { + hl->t = 0; + strcat (hl->buf, "\n"); + PrintText (sess, hl->buf); + hl->buf[0] = ' '; + hl->buf[1] = ' '; + hl->buf[2] = 0; + } else + { + /* append some spaces after the command name */ + max = strlen (name); + if (max < 10) + { + max = 10 - max; + for (j = 0; j < max; j++) + { + hl->buf[len] = ' '; + len++; + hl->buf[len] = 0; + } + } + } +} + +static int +cmd_help (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 0, longfmt = 0; + char *helpcmd = ""; + GSList *list; + + if (tbuf) + helpcmd = word[2]; + if (*helpcmd && strcmp (helpcmd, "-l") == 0) + longfmt = 1; + + if (*helpcmd && !longfmt) + { + help (sess, tbuf, helpcmd, FALSE); + } else + { + struct popup *pop; + char *buf = g_malloc (4096); + help_list hl; + + hl.longfmt = longfmt; + hl.buf = buf; + + PrintTextf (sess, "\n%s\n\n", _("Commands Available:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + while (xc_cmds[i].name) + { + show_help_line (sess, &hl, xc_cmds[i].name, xc_cmds[i].help); + i++; + } + strcat (buf, "\n"); + PrintText (sess, buf); + + PrintTextf (sess, "\n%s\n\n", _("User defined commands:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + list = command_list; + while (list) + { + pop = list->data; + show_help_line (sess, &hl, pop->name, pop->cmd); + list = list->next; + } + strcat (buf, "\n"); + PrintText (sess, buf); + + PrintTextf (sess, "\n%s\n\n", _("Plugin defined commands:")); + buf[0] = ' '; + buf[1] = ' '; + buf[2] = 0; + hl.t = 0; + hl.i = 0; + plugin_command_foreach (sess, &hl, (void *)show_help_line); + strcat (buf, "\n"); + PrintText (sess, buf); + g_free (buf); + + PrintTextf (sess, "\n%s\n\n", _("Type /HELP <command> for more information, or /HELP -l")); + } + return TRUE; +} + +static int +cmd_id (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0]) + { + sess->server->p_ns_identify (sess->server, word[2]); + return TRUE; + } + + return FALSE; +} + +static int +cmd_ignore (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i; + int type = 0; + int quiet = 0; + char *mask; + + if (!*word[2]) + { + ignore_showlist (sess); + return TRUE; + } + if (!*word[3]) + word[3] = "ALL"; + + i = 3; + while (1) + { + if (!*word[i]) + { + if (type == 0) + return FALSE; + + mask = word[2]; + /* If not a full mask or using wildcards, assume nick */ + if (strchr (mask, '!') == NULL && + strchr (mask, '@') == NULL && + strchr (mask, '?') == NULL && + strchr (mask, '*') == NULL) + { + mask = tbuf; + g_snprintf (tbuf, TBUFSIZE, "%s!*@*", word[2]); + } + + i = ignore_add (mask, type, TRUE); + if (quiet) + return TRUE; + switch (i) + { + case 1: + EMIT_SIGNAL (XP_TE_IGNOREADD, sess, mask, NULL, NULL, NULL, 0); + break; + case 2: /* old ignore changed */ + EMIT_SIGNAL (XP_TE_IGNORECHANGE, sess, mask, NULL, NULL, NULL, 0); + } + return TRUE; + } + if (!g_ascii_strcasecmp (word[i], "UNIGNORE")) + type |= IG_UNIG; + else if (!g_ascii_strcasecmp (word[i], "ALL")) + type |= IG_PRIV | IG_NOTI | IG_CHAN | IG_CTCP | IG_INVI | IG_DCC; + else if (!g_ascii_strcasecmp (word[i], "PRIV")) + type |= IG_PRIV; + else if (!g_ascii_strcasecmp (word[i], "NOTI")) + type |= IG_NOTI; + else if (!g_ascii_strcasecmp (word[i], "CHAN")) + type |= IG_CHAN; + else if (!g_ascii_strcasecmp (word[i], "CTCP")) + type |= IG_CTCP; + else if (!g_ascii_strcasecmp (word[i], "INVI")) + type |= IG_INVI; + else if (!g_ascii_strcasecmp (word[i], "QUIET")) + quiet = 1; + else if (!g_ascii_strcasecmp (word[i], "NOSAVE")) + type |= IG_NOSAVE; + else if (!g_ascii_strcasecmp (word[i], "DCC")) + type |= IG_DCC; + else + { + sprintf (tbuf, _("Unknown arg '%s' ignored."), word[i]); + PrintText (sess, tbuf); + } + i++; + } +} + +static int +cmd_invite (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (!*word[2]) + return FALSE; + if (*word[3]) + sess->server->p_invite (sess->server, word[3], word[2]); + else + sess->server->p_invite (sess->server, sess->channel, word[2]); + return TRUE; +} + +static int +cmd_join (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *chan = word[2]; + session *sess_find; + if (*chan) + { + char *po, *pass = word[3]; + + sess_find = find_channel (sess->server, chan); + if (!sess_find) + { + sess->server->p_join (sess->server, chan, pass); + if (sess->channel[0] == 0 && sess->waitchannel[0]) + { + po = strchr (chan, ','); + if (po) + *po = 0; + safe_strcpy (sess->waitchannel, chan, CHANLEN); + } + } + else + fe_ctrl_gui (sess_find, 2, 0); /* bring-to-front */ + + return TRUE; + } + return FALSE; +} + +static int +cmd_kick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *reason = word_eol[3]; + if (*nick) + { + sess->server->p_kick (sess->server, sess->channel, nick, reason); + return TRUE; + } + return FALSE; +} + +static int +cmd_kickban (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *reason = word_eol[3]; + struct User *user; + + if (*nick) + { + /* if the reason is a 1 digit number, treat it as a bantype */ + + user = userlist_find (sess, nick); + + if (isdigit ((unsigned char) reason[0]) && reason[1] == 0) + { + ban (sess, tbuf, nick, reason, (user && user->op)); + reason[0] = 0; + } else + ban (sess, tbuf, nick, "", (user && user->op)); + + sess->server->p_kick (sess->server, sess->channel, nick, reason); + + return TRUE; + } + return FALSE; +} + +static int +cmd_killall (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + hexchat_exit(); + return 2; +} + +static int +cmd_lagcheck (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + lag_check (); + return TRUE; +} + +static void +lastlog (session *sess, char *search, gtk_xtext_search_flags flags) +{ + session *lastlog_sess; + + if (!is_session (sess)) + return; + + lastlog_sess = find_dialog (sess->server, "(lastlog)"); + if (!lastlog_sess) + lastlog_sess = new_ircwindow (sess->server, "(lastlog)", SESS_DIALOG, 0); + + lastlog_sess->lastlog_sess = sess; + lastlog_sess->lastlog_flags = flags; + + fe_text_clear (lastlog_sess, 0); + fe_lastlog (sess, lastlog_sess, search, flags); +} + +static int +cmd_lastlog (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int j = 2; + gtk_xtext_search_flags flags = 0; + gboolean doublehyphen = FALSE; + + while (word_eol[j] != NULL && word_eol [j][0] == '-' && !doublehyphen) + { + switch (word_eol [j][1]) + { + case 'r': + flags |= regexp; + break; + case 'm': + flags |= case_match; + break; + case 'h': + flags |= highlight; + break; + case '-': + doublehyphen = TRUE; + break; + default: + break; + /* O dear whatever shall we do here? */ + } + j++; + } + if (word_eol[j] != NULL && *word_eol[j]) + { + lastlog (sess, word_eol[j], flags); + return TRUE; + } + else + { + return FALSE; + } +} + +static int +cmd_list (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + fe_open_chan_list (sess->server, word_eol[2], TRUE); + + return TRUE; +} + +gboolean +load_perform_file (session *sess, char *file) +{ + char tbuf[1024 + 4]; + char *nl; + FILE *fp; + + fp = hexchat_fopen_file (file, "r", 0); /* load files from config dir */ + if (!fp) + return FALSE; + + tbuf[1024] = 0; + while (fgets (tbuf, 1024, fp)) + { + nl = strchr (tbuf, '\n'); + if (nl == tbuf) /* skip empty commands */ + continue; + if (nl) + *nl = 0; + if (tbuf[0] == prefs.hex_input_command_char[0]) + handle_command (sess, tbuf + 1, TRUE); + else + handle_command (sess, tbuf, TRUE); + } + fclose (fp); + return TRUE; +} + +static int +cmd_load (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *file, *buf; +#ifdef USE_PLUGIN + char *error, *arg; +#endif + + if (!word[2][0]) + return FALSE; + + if (strcmp (word[2], "-e") == 0) + { + file = expand_homedir (word[3]); + if (!load_perform_file (sess, file)) + { + buf = g_strdup_printf ("%s%c%s", get_xdir(), G_DIR_SEPARATOR, file); + PrintTextf (sess, _("Cannot access %s\n"), buf); + PrintText (sess, errorstring (errno)); + g_free (buf); + } + g_free (file); + return TRUE; + } + +#ifdef USE_PLUGIN + if (g_str_has_suffix (word[2], "."PLUGIN_SUFFIX)) + { + arg = NULL; + if (word_eol[3][0]) + arg = word_eol[3]; + + file = expand_homedir (word[2]); + error = plugin_load (sess, file, arg); + g_free (file); + + if (error) + PrintText (sess, error); + + return TRUE; + } + + sprintf (tbuf, "Unknown file type %s. Maybe you need to install the Perl or Python plugin?\n", word[2]); + PrintText (sess, tbuf); +#endif + + return FALSE; +} + +char * +split_up_text(struct session *sess, char *text, int cmd_length, char *split_text) +{ + unsigned int max, space_offset; + char *space; + + /* maximum allowed text */ + /* :nickname!username@host.com cmd_length */ + max = 512; /* rfc 2812 */ + max -= 3; /* :, !, @ */ + max -= cmd_length; + max -= strlen (sess->server->nick); + max -= strlen (sess->channel); + if (sess->me && sess->me->hostname) + max -= strlen (sess->me->hostname); + else + { + max -= 9; /* username */ + max -= 65; /* max possible hostname and '@' */ + } + + if (strlen (text) > max) + { + unsigned int i = 0; + int size; + + /* traverse the utf8 string and find the nearest cut point that + doesn't split 1 char in half */ + while (1) + { + size = g_utf8_skip[((unsigned char *)text)[i]]; + if ((i + size) >= max) + break; + i += size; + } + max = i; + + /* Try splitting at last space */ + space = g_utf8_strrchr (text, max, ' '); + if (space) + { + space_offset = g_utf8_pointer_to_offset (text, space); + + /* Only split if last word is of sane length */ + if (max != space_offset && max - space_offset < 20) + max = space_offset + 1; + } + + split_text = g_strdup_printf ("%.*s", max, text); + + return split_text; + } + + return NULL; +} + +static int +cmd_me (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *act = word_eol[2]; + char *split_text = NULL; + int cmd_length = 22; /* " PRIVMSG ", " ", :, \001ACTION, " ", \001, \r, \n */ + int offset = 0; + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + if (!(*act)) + return FALSE; + + if (sess->type == SESS_SERVER) + { + notj_msg (sess); + return TRUE; + } + + g_snprintf (tbuf, TBUFSIZE, "\001ACTION %s\001\r", act); + /* first try through DCC CHAT */ + if (dcc_write_chat (sess->channel, tbuf)) + { + /* print it to screen */ + inbound_action (sess, sess->channel, sess->server->nick, "", act, TRUE, FALSE, + &no_tags); + } else + { + /* DCC CHAT failed, try through server */ + if (sess->server->connected) + { + while ((split_text = split_up_text (sess, act + offset, cmd_length, split_text))) + { + sess->server->p_action (sess->server, sess->channel, split_text); + /* print it to screen */ + inbound_action (sess, sess->channel, sess->server->nick, "", + split_text, TRUE, FALSE, + &no_tags); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + + sess->server->p_action (sess->server, sess->channel, act + offset); + /* print it to screen */ + inbound_action (sess, sess->channel, sess->server->nick, "", + act + offset, TRUE, FALSE, &no_tags); + } else + { + notc_msg (sess); + } + } + + return TRUE; +} + +static int +cmd_mode (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* We allow omitting the target, so we have to figure it out: + * - Can only use info from channels or dialogs + * - Empty arg is always sess info + * - Assume + is mode not channel + * - We know valid channels and our nick + * - We cannot easily know if other nick or valid mode (Need to store 004) + */ + if ((sess->type != SESS_CHANNEL && sess->type != SESS_DIALOG) + || (!(*word[2] == '-' || *word[2] == '+' || *word[2] == '\0') + && (is_channel (sess->server, word[2]) || !rfc_casecmp (sess->server->nick, word[2]))) + ) + { + sess->server->p_mode (sess->server, word[2], word_eol[3]); + } + else + { + if(sess->channel[0] == 0) + return FALSE; + sess->server->p_mode (sess->server, sess->channel, word_eol[2]); + } + return TRUE; +} + +static int +mop_cb (struct User *user, multidata *data) +{ + if (!user->op) + { + data->nicks[data->i] = user->nick; + data->i++; + } + return TRUE; +} + +static int +cmd_mop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char **nicks = g_new0 (char *, sess->total - sess->ops); + multidata data; + + data.nicks = nicks; + data.i = 0; + tree_foreach (sess->usertree, (tree_traverse_func *)mop_cb, &data); + send_channel_modes (sess, tbuf, nicks, 0, data.i, '+', 'o', 0); + + g_free (nicks); + + return TRUE; +} + +static int +cmd_msg (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *msg = word_eol[3]; + struct session *newsess; + char *split_text = NULL; + int cmd_length = 13; /* " PRIVMSG ", " ", :, \r, \n */ + int offset = 0; + + if (*nick) + { + if (*msg) + { + if (strcmp (nick, ".") == 0) + { /* /msg the last nick /msg'ed */ + if (sess->lastnick[0]) + nick = sess->lastnick; + } else + { + safe_strcpy (sess->lastnick, nick, NICKLEN); /* prime the last nick memory */ + } + + if (*nick == '=') + { + nick++; + if (!dcc_write_chat (nick, msg)) + { + EMIT_SIGNAL (XP_TE_NODCC, sess, NULL, NULL, NULL, NULL, 0); + return TRUE; + } + } else + { + if (!sess->server->connected) + { + notc_msg (sess); + return TRUE; + } + + while ((split_text = split_up_text (sess, msg + offset, cmd_length, split_text))) + { + sess->server->p_message (sess->server, nick, split_text); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + sess->server->p_message (sess->server, nick, msg + offset); + offset = 0; + } + newsess = find_dialog (sess->server, nick); + if (!newsess) + newsess = find_channel (sess->server, nick); + if (newsess) + { + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + while ((split_text = split_up_text (sess, msg + offset, cmd_length, split_text))) + { + inbound_chanmsg (newsess->server, NULL, newsess->channel, + newsess->server->nick, split_text, TRUE, FALSE, + &no_tags); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + inbound_chanmsg (newsess->server, NULL, newsess->channel, + newsess->server->nick, msg + offset, TRUE, FALSE, + &no_tags); + } + else + { + /* mask out passwords */ + if (g_ascii_strcasecmp (nick, "nickserv") == 0) + { + if (g_ascii_strncasecmp (msg, "identify ", 9) == 0) + msg = "identify ****"; + else if (g_ascii_strncasecmp (msg, "ghost ", 6) == 0) + msg = "ghost ****"; + } + + EMIT_SIGNAL (XP_TE_MSGSEND, sess, nick, msg, NULL, NULL, 0); + } + + return TRUE; + } + } + return FALSE; +} + +static int +cmd_names (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word[2]) + sess->server->p_names (sess->server, word[2]); + else + sess->server->p_names (sess->server, sess->channel); + return TRUE; +} + +static int +cmd_nctcp (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[3]) + { + sess->server->p_nctcp (sess->server, word[2], word_eol[3]); + return TRUE; + } + return FALSE; +} + +static int +cmd_newserver (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + if (strcmp (word[2], "-noconnect") == 0) + { + new_ircwindow (NULL, word[3], SESS_SERVER, 0); + return TRUE; + } + + sess = new_ircwindow (NULL, NULL, SESS_SERVER, 1); + cmd_server (sess, tbuf, word, word_eol); + return TRUE; +} + +static int +cmd_nick (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + if (*nick) + { + if (sess->server->connected) + sess->server->p_change_nick (sess->server, nick); + else + { + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + inbound_newnick (sess->server, sess->server->nick, nick, TRUE, + &no_tags); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_notice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *text = word_eol[3]; + char *split_text = NULL; + int cmd_length = 12; /* " NOTICE ", " ", :, \r, \n */ + int offset = 0; + + if (*word[2] && *word_eol[3]) + { + while ((split_text = split_up_text (sess, text + offset, cmd_length, split_text))) + { + sess->server->p_notice (sess->server, word[2], split_text); + EMIT_SIGNAL (XP_TE_NOTICESEND, sess, word[2], split_text, NULL, NULL, 0); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + + sess->server->p_notice (sess->server, word[2], text + offset); + EMIT_SIGNAL (XP_TE_NOTICESEND, sess, word[2], text + offset, NULL, NULL, 0); + + return TRUE; + } + return FALSE; +} + +static int +cmd_notify (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 1; + char *net = NULL; + + if (*word[2]) + { + if (strcmp (word[2], "-n") == 0) /* comma sep network list */ + { + net = word[3]; + i += 2; + } + + while (1) + { + i++; + if (!*word[i]) + break; + if (notify_deluser (word[i])) + { + EMIT_SIGNAL (XP_TE_DELNOTIFY, sess, word[i], NULL, NULL, NULL, 0); + return TRUE; + } + + if (net && strcmp (net, "ASK") == 0) + fe_notify_ask (word[i], NULL); + else + { + notify_adduser (word[i], net); + EMIT_SIGNAL (XP_TE_ADDNOTIFY, sess, word[i], NULL, NULL, NULL, 0); + } + } + } else + { + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + notify_showlist (sess, &no_tags); + } + return TRUE; +} + +static int +cmd_op (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'o', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_part (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *chan = word[2]; + char *reason = word_eol[3]; + if (!*chan) + chan = sess->channel; + if ((*chan) && is_channel (sess->server, chan)) + { + if (reason[0] == 0) + reason = NULL; + server_sendpart (sess->server, chan, reason); + return TRUE; + } + return FALSE; +} + +static int +cmd_ping (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char timestring[64]; + unsigned long tim; + char *to = word[2]; + + tim = make_ping_time (); + + g_snprintf (timestring, sizeof (timestring), "%lu", tim); + sess->server->p_ping (sess->server, to, timestring); + + return TRUE; +} + +session * +open_query (server *serv, char *nick, gboolean focus_existing) +{ + session *sess; + + sess = find_dialog (serv, nick); + if (!sess) + sess = new_ircwindow (serv, nick, SESS_DIALOG, focus_existing); + else if (focus_existing) + fe_ctrl_gui (sess, 2, 0); /* bring-to-front */ + + return sess; +} + +static int +cmd_query (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *nick = word[2]; + char *msg = word_eol[3]; + char *split_text = NULL; + gboolean focus = TRUE; + int cmd_length = 13; /* " PRIVMSG ", " ", :, \r, \n */ + int offset = 0; + + if (strcmp (word[2], "-nofocus") == 0) + { + nick = word[3]; + msg = word_eol[4]; + focus = FALSE; + } + + if (*nick && !is_channel (sess->server, nick)) + { + struct session *nick_sess; + + nick_sess = open_query (sess->server, nick, focus); + + if (*msg) + { + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + if (!sess->server->connected) + { + notc_msg (sess); + return TRUE; + } + + while ((split_text = split_up_text (sess, msg + offset, cmd_length, split_text))) + { + sess->server->p_message (sess->server, nick, split_text); + inbound_chanmsg (nick_sess->server, nick_sess, nick_sess->channel, + nick_sess->server->nick, split_text, TRUE, FALSE, + &no_tags); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + sess->server->p_message (sess->server, nick, msg + offset); + inbound_chanmsg (nick_sess->server, nick_sess, nick_sess->channel, + nick_sess->server->nick, msg + offset, TRUE, FALSE, + &no_tags); + } + + return TRUE; + } + return FALSE; +} + +static int +cmd_quiet (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *quietmask; + server *serv = sess->server; + + if (strchr (serv->chanmodes, 'q') == NULL) + { + PrintText (sess, _("Quiet is not supported by this server.")); + return TRUE; + } + + if (*word[2]) + { + quietmask = create_mask (sess, word[2], "+q", word[3], 0); + + if (quietmask) + { + serv->p_mode (serv, sess->channel, quietmask); + g_free (quietmask); + } + } + else + { + serv->p_mode (serv, sess->channel, "+q"); /* quietlist */ + } + + return TRUE; +} + +static int +cmd_unquiet (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + /* Allow more than one mask in /unban -- tvk */ + int i = 2; + + if (strchr (sess->server->chanmodes, 'q') == NULL) + { + PrintText (sess, _("Quiet is not supported by this server.")); + return TRUE; + } + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '-', 'q', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_quote (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *raw = word_eol[2]; + + return sess->server->p_raw (sess->server, raw); +} + +static int +cmd_reconnect (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int tmp = prefs.hex_net_reconnect_delay; + GSList *list; + server *serv = sess->server; + + prefs.hex_net_reconnect_delay = 0; + + if (!g_ascii_strcasecmp (word[2], "ALL")) + { + list = serv_list; + while (list) + { + serv = list->data; + if (serv->connected) + serv->auto_reconnect (serv, TRUE, -1); + list = list->next; + } + } + /* If it isn't "ALL" and there is something + there it *should* be a server they are trying to connect to*/ + else if (*word[2]) + { + int offset = 0; + +#ifdef USE_OPENSSL + int use_ssl = TRUE; + int use_ssl_noverify = FALSE; + if (g_strcmp0 (word[2], "-ssl") == 0) + { + use_ssl = TRUE; + use_ssl_noverify = FALSE; + offset++; /* args move up by 1 word */ + } else if (g_strcmp0 (word[2], "-ssl-noverify") == 0) + { + use_ssl = TRUE; + use_ssl_noverify = TRUE; + offset++; /* args move up by 1 word */ + } else if (g_strcmp0 (word[2], "-insecure") == 0) + { + use_ssl = FALSE; + use_ssl_noverify = FALSE; + offset++; /* args move up by 1 word */ + } + serv->use_ssl = use_ssl; + serv->accept_invalid_cert = use_ssl_noverify; +#endif + + if (*word[4+offset]) + safe_strcpy (serv->password, word[4+offset], sizeof (serv->password)); + if (*word[3+offset]) + serv->port = atoi (word[3+offset]); + safe_strcpy (serv->hostname, word[2+offset], sizeof (serv->hostname)); + serv->auto_reconnect (serv, TRUE, -1); + } + else + { + serv->auto_reconnect (serv, TRUE, -1); + } + prefs.hex_net_reconnect_delay = tmp; + + return TRUE; +} + +static int +cmd_recv (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + { + sess->server->p_inline (sess->server, word_eol[2], strlen (word_eol[2])); + return TRUE; + } + + return FALSE; +} + +static int +cmd_say (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + char *speech = word_eol[2]; + if (*speech) + { + handle_say (sess, speech, FALSE); + return TRUE; + } + return FALSE; +} + +static int +cmd_send (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + guint32 addr; + socklen_t len; + struct sockaddr_in SAddr; + + if (!word[2][0]) + return FALSE; + + addr = dcc_get_my_address (sess); + if (addr == 0) + { + /* use the one from our connected server socket */ + memset (&SAddr, 0, sizeof (struct sockaddr_in)); + len = sizeof (SAddr); + getsockname (sess->server->sok, (struct sockaddr *) &SAddr, &len); + addr = SAddr.sin_addr.s_addr; + } + addr = ntohl (addr); + + if ((addr & 0xffff0000) == 0xc0a80000 || /* 192.168.x.x */ + (addr & 0xff000000) == 0x0a000000) /* 10.x.x.x */ + /* we got a private net address, let's PSEND or it'll fail */ + g_snprintf (tbuf, 512, "DCC PSEND %s", word_eol[2]); + else + g_snprintf (tbuf, 512, "DCC SEND %s", word_eol[2]); + + handle_command (sess, tbuf, FALSE); + + return TRUE; +} + +static int +cmd_setcursor (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int delta = FALSE; + + if (*word[2]) + { + if (word[2][0] == '-' || word[2][0] == '+') + delta = TRUE; + fe_set_inputbox_cursor (sess, delta, atoi (word[2])); + return TRUE; + } + + return FALSE; +} + +static int +cmd_settab (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word_eol[2]) + { + strcpy (tbuf, sess->channel); + safe_strcpy (sess->channel, word_eol[2], CHANLEN); + fe_set_channel (sess); + strcpy (sess->channel, tbuf); + } + + return TRUE; +} + +static int +cmd_settext (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + fe_set_inputbox_contents (sess, word_eol[2]); + return TRUE; +} + +static int +cmd_splay (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (*word[2]) + { + sound_play (word[2], FALSE); + return TRUE; + } + + return FALSE; +} + +static int +parse_irc_url (char *url, char *server_name[], char *port[], char *channel[], char *key[], int *use_ssl) +{ + char *co; +#ifdef USE_OPENSSL + if (g_ascii_strncasecmp ("ircs://", url, 7) == 0) + { + *use_ssl = TRUE; + *server_name = url + 7; + goto urlserv; + } +#endif + + if (g_ascii_strncasecmp ("irc://", url, 6) == 0) + { + *server_name = url + 6; +#ifdef USE_OPENSSL +urlserv: +#endif + /* check for port */ + co = strchr (*server_name, ':'); + if (co) + { + *port = co + 1; + *co = 0; + } else + co = *server_name; + /* check for channel - mirc style */ + co = strchr (co + 1, '/'); + if (co) + { + *co = 0; + co++; + if (*co == '#') + *channel = co+1; + else if (*co != '\0') + *channel = co; + + /* check for key - mirc style */ + co = strchr (co + 1, '?'); + if (co) + { + *co = 0; + co++; + *key = co; + } + } + + return TRUE; + } + return FALSE; +} + +static int +cmd_server (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int offset = 0; + char *server_name = NULL; + char *port = NULL; + char *pass = NULL; + char *channel = NULL; + char *key = NULL; +#ifdef USE_OPENSSL + int use_ssl = TRUE; + int use_ssl_noverify = FALSE; +#else + int use_ssl = FALSE; +#endif + int is_url = TRUE; + server *serv = sess->server; + ircnet *net = NULL; + +#ifdef USE_OPENSSL + /* BitchX uses -ssl, mIRC uses -e, let's support both */ + if (g_strcmp0 (word[2], "-ssl") == 0 || g_strcmp0 (word[2], "-e") == 0) + { + use_ssl = TRUE; + offset++; /* args move up by 1 word */ + } + else if (g_strcmp0 (word[2], "-ssl-noverify") == 0) + { + use_ssl = TRUE; + use_ssl_noverify = TRUE; + offset++; /* args move up by 1 word */ + } + else if (g_strcmp0 (word[2], "-insecure") == 0) + { + use_ssl = FALSE; + offset++; /* args move up by 1 word */ + } +#endif + + if (!parse_irc_url (word[2 + offset], &server_name, &port, &channel, &key, &use_ssl)) + { + is_url = FALSE; + server_name = word[2 + offset]; + } + if (port) + pass = word[3 + offset]; + else + { + port = word[3 + offset]; + pass = word[4 + offset]; + } + + if (!(*server_name)) + return FALSE; + + sess->server->network = NULL; + + /* dont clear it for /servchan */ + if (g_ascii_strncasecmp (word_eol[1], "SERVCHAN ", 9)) + sess->willjoinchannel[0] = 0; + + if (channel) + { + sess->willjoinchannel[0] = '#'; + safe_strcpy ((sess->willjoinchannel + 1), channel, (CHANLEN - 1)); + if (key) + safe_strcpy (sess->channelkey, key, 64); + } + + /* support +7000 style ports like mIRC */ + if (port[0] == '+') + { + port++; +#ifdef USE_OPENSSL + use_ssl = TRUE; +#endif + } + else if (port[0] == '-') + { + port++; +#ifdef USE_OPENSSL + use_ssl = FALSE; +#endif + } + + if (*pass) + { + safe_strcpy (serv->password, pass, sizeof (serv->password)); + serv->loginmethod = LOGIN_PASS; + } + else + { + /* If part of a known network, login like normal */ + net = servlist_net_find_from_server (server_name); + if (net && net->pass && *net->pass) + { + safe_strcpy (serv->password, net->pass, sizeof (serv->password)); + serv->loginmethod = net->logintype; + } + else /* Otherwise ensure no password is sent or SASL started */ + { + serv->loginmethod = LOGIN_DEFAULT; + serv->password[0] = 0; + } + } + +#ifdef USE_OPENSSL + serv->use_ssl = use_ssl; + serv->accept_invalid_cert = use_ssl_noverify; +#endif + + /* try to connect by Network name */ + if (servlist_connect_by_netname (sess, server_name, !is_url)) + return TRUE; + + if (*port) + { + serv->connect (serv, server_name, atoi (port), FALSE); + } else + { + /* -1 for default port */ + serv->connect (serv, server_name, -1, FALSE); + } + + /* try to associate this connection with a listed network */ + /* may return NULL, but that's OK */ + if ((serv->network = servlist_net_find_from_server (server_name))) + server_set_encoding (serv, ((ircnet*)serv->network)->encoding); + + return TRUE; +} + +static int +cmd_servchan (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + int offset = 0; + +#ifdef USE_OPENSSL + if (g_strcmp0 (word[2], "-ssl") == 0 || g_strcmp0 (word[2], "-ssl-noverify") == 0 || g_strcmp0 (word[2], "-insecure") == 0) + offset++; +#endif + + if (*word[4 + offset]) + { + safe_strcpy (sess->willjoinchannel, word[4 + offset], CHANLEN); + return cmd_server (sess, tbuf, word, word_eol); + } + + return FALSE; +} + +static int +cmd_topic (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0] && is_channel (sess->server, word[2])) + sess->server->p_topic (sess->server, word[2], word_eol[3]); + else + sess->server->p_topic (sess->server, sess->channel, word_eol[2]); + return TRUE; +} + +static int +cmd_tray (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (strcmp (word[2], "-t") == 0) + { + fe_tray_set_tooltip (word[3][0] ? word[3] : NULL); + return TRUE; + } + + if (strcmp (word[2], "-i") == 0) + { + fe_tray_set_icon (atoi (word[3])); + return TRUE; + } + + if (strcmp (word[2], "-f") != 0) + return FALSE; + + if (!word[3][0]) + { + fe_tray_set_file (NULL); /* default HexChat icon */ + return TRUE; + } + + if (!word[4][0]) + { + fe_tray_set_file (word[3]); /* fixed custom icon */ + return TRUE; + } + + /* flash between 2 icons */ + fe_tray_set_flash (word[4], word[5][0] ? word[5] : NULL, atoi (word[3])); + return TRUE; +} + +static int +cmd_unignore (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + char *mask = word[2]; + char *arg = word[3]; + if (*mask) + { + if (strchr (mask, '?') == NULL && strchr (mask, '*') == NULL) + { + mask = tbuf; + g_snprintf (tbuf, TBUFSIZE, "%s!*@*", word[2]); + } + + if (ignore_del (mask, NULL)) + { + if (g_ascii_strcasecmp (arg, "QUIET")) + EMIT_SIGNAL (XP_TE_IGNOREREMOVE, sess, mask, NULL, NULL, NULL, 0); + } + return TRUE; + } + return FALSE; +} + +static int +cmd_unload (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ +#ifdef USE_PLUGIN + gboolean by_file = FALSE; + + if (g_str_has_suffix (word[2], "."PLUGIN_SUFFIX)) + by_file = TRUE; + + switch (plugin_kill (word[2], by_file)) + { + case 0: + PrintText (sess, _("No such plugin found.\n")); + break; + case 1: + return TRUE; + case 2: + PrintText (sess, _("That plugin is refusing to unload.\n")); + break; + } +#endif + + return FALSE; +} + +static int +cmd_reload (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ +#ifdef USE_PLUGIN + gboolean by_file = FALSE; + + if (g_str_has_suffix (word[2], "."PLUGIN_SUFFIX)) + by_file = TRUE; + + switch (plugin_reload (sess, word[2], by_file)) + { + case 0: /* error */ + PrintText (sess, _("No such plugin found.\n")); + break; + case 1: /* success */ + return TRUE; + case 2: /* fake plugin, we know it exists but scripts should handle it. */ + return TRUE; + } +#endif + + return FALSE; +} + +static server * +find_server_from_hostname (char *hostname) +{ + GSList *list = serv_list; + server *serv; + + while (list) + { + serv = list->data; + if (!g_ascii_strcasecmp (hostname, serv->hostname) && serv->connected) + return serv; + list = list->next; + } + + return NULL; +} + +static server * +find_server_from_net (void *net) +{ + GSList *list = serv_list; + server *serv; + + while (list) + { + serv = list->data; + if (serv->network == net && serv->connected) + return serv; + list = list->next; + } + + return NULL; +} + +static void +url_join_only (server *serv, char *tbuf, char *channel, char *key) +{ + /* already connected, JOIN only. */ + if (channel == NULL) + return; + tbuf[0] = '#'; + /* tbuf is 4kb */ + safe_strcpy ((tbuf + 1), channel, 256); + if (key) + serv->p_join (serv, tbuf, key); + else + serv->p_join (serv, tbuf, ""); +} + +static int +cmd_url (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (word[2][0]) + { + char *server_name = NULL; + char *port = NULL; + char *channel = NULL; + char *key = NULL; + char *url = g_strdup (word[2]); + int use_ssl = FALSE; + void *net; + server *serv; + + if (parse_irc_url (url, &server_name, &port, &channel, &key, &use_ssl)) + { + /* maybe we're already connected to this net */ + + /* check for "FreeNode" */ + net = servlist_net_find (server_name, NULL, g_ascii_strcasecmp); + /* check for "irc.eu.freenode.net" */ + if (!net) + net = servlist_net_find_from_server (server_name); + + if (net) + { + /* found the network, but are we connected? */ + serv = find_server_from_net (net); + if (serv) + { + url_join_only (serv, tbuf, channel, key); + g_free (url); + return TRUE; + } + } + else + { + /* an un-listed connection */ + serv = find_server_from_hostname (server_name); + if (serv) + { + url_join_only (serv, tbuf, channel, key); + g_free (url); + return TRUE; + } + } + + /* not connected to this net, open new window */ + cmd_newserver (sess, tbuf, word, word_eol); + + } else + fe_open_url (word[2]); + g_free (url); + return TRUE; + } + + return FALSE; +} + +static int +userlist_cb (struct User *user, session *sess) +{ + time_t lt; + + if (!user->lasttalk) + lt = 0; + else + lt = time (0) - user->lasttalk; + PrintTextf (sess, + "\00306%s\t\00314[\00310%-38s\00314] \017ov\0033=\017%d%d away=%u lt\0033=\017%ld\n", + user->nick, user->hostname, user->op, user->voice, user->away, (long)lt); + + return TRUE; +} + +static int +cmd_uselect (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int idx = 2; + int clear = TRUE; + int scroll = FALSE; + + if (strcmp (word[2], "-a") == 0) /* ADD (don't clear selections) */ + { + clear = FALSE; + idx++; + } + if (strcmp (word[idx], "-s") == 0) /* SCROLL TO */ + { + scroll = TRUE; + idx++; + } + /* always valid, no args means clear the selection list */ + fe_uselect (sess, word + idx, clear, scroll); + return TRUE; +} + +static int +cmd_userlist (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + tree_foreach (sess->usertree, (tree_traverse_func *)userlist_cb, sess); + return TRUE; +} + +static int +wallchop_cb (struct User *user, multidata *data) +{ + if (user->op) + { + if (data->i) + strcat (data->tbuf, ","); + strcat (data->tbuf, user->nick); + data->i++; + } + if (data->i == 5) + { + data->i = 0; + sprintf (data->tbuf + strlen (data->tbuf), + " :[@%s] %s", data->sess->channel, data->reason); + data->sess->server->p_raw (data->sess->server, data->tbuf); + strcpy (data->tbuf, "NOTICE "); + } + + return TRUE; +} + +static int +cmd_wallchop (struct session *sess, char *tbuf, char *word[], + char *word_eol[]) +{ + multidata data; + + if (!(*word_eol[2])) + return FALSE; + + strcpy (tbuf, "NOTICE "); + + data.reason = word_eol[2]; + data.tbuf = tbuf; + data.i = 0; + data.sess = sess; + tree_foreach (sess->usertree, (tree_traverse_func*)wallchop_cb, &data); + + if (data.i) + { + sprintf (tbuf + strlen (tbuf), + " :[@%s] %s", sess->channel, word_eol[2]); + sess->server->p_raw (sess->server, tbuf); + } + + return TRUE; +} + +static int +cmd_hop (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'h', 0); + return TRUE; + } + i++; + } +} + +static int +cmd_voice (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + int i = 2; + + while (1) + { + if (!*word[i]) + { + if (i == 2) + return FALSE; + send_channel_modes (sess, tbuf, word, 2, i, '+', 'v', 0); + return TRUE; + } + i++; + } +} + +/* *MUST* be kept perfectly sorted for the bsearch to work */ +const struct commands xc_cmds[] = { + {"ADDBUTTON", cmd_addbutton, 0, 0, 1, + N_("ADDBUTTON <name> <action>, adds a button under the user-list")}, + {"ADDSERVER", cmd_addserver, 0, 0, 1, N_("ADDSERVER <NewNetwork> <hostname/port>, adds a new network with a new server to the network list")}, + {"ALLCHAN", cmd_allchannels, 0, 0, 1, + N_("ALLCHAN <cmd>, sends a command to all channels you're in")}, + {"ALLCHANL", cmd_allchannelslocal, 0, 0, 1, + N_("ALLCHANL <cmd>, sends a command to all channels on the current server")}, + {"ALLSERV", cmd_allservers, 0, 0, 1, + N_("ALLSERV <cmd>, sends a command to all servers you're in")}, + {"AWAY", cmd_away, 1, 0, 1, N_("AWAY [<reason>], sets you away (use /BACK to unset)")}, + {"BACK", cmd_back, 1, 0, 1, N_("BACK, sets you back (not away)")}, + {"BAN", cmd_ban, 1, 1, 1, + N_("BAN <mask> [<bantype>], bans everyone matching the mask from the current channel. If they are already on the channel this doesn't kick them (needs chanop)")}, + {"CHANOPT", cmd_chanopt, 0, 0, 1, N_("CHANOPT [-quiet] <variable> [<value>]")}, + {"CHARSET", cmd_charset, 0, 0, 1, N_("CHARSET [<encoding>], get or set the encoding used for the current connection")}, + {"CLEAR", cmd_clear, 0, 0, 1, N_("CLEAR [ALL|HISTORY|[-]<amount>], Clears the current text window or command history")}, + {"CLOSE", cmd_close, 0, 0, 1, N_("CLOSE [-m], Closes the current tab, closing the window if this is the only open tab, or with the \"-m\" flag, closes all queries.")}, + + {"COUNTRY", cmd_country, 0, 0, 1, + N_("COUNTRY [-s] <code|wildcard>, finds a country code, eg: au = australia")}, + {"CTCP", cmd_ctcp, 1, 0, 1, + N_("CTCP <nick> <message>, send the CTCP message to nick, common messages are VERSION and USERINFO")}, + {"CYCLE", cmd_cycle, 1, 1, 1, + N_("CYCLE [<channel>], parts the current or given channel and immediately rejoins")}, + {"DCC", cmd_dcc, 0, 0, 1, + N_("\n" + "DCC GET <nick> - accept an offered file\n" + "DCC SEND [-maxcps=#] <nick> [file] - send a file to someone\n" + "DCC PSEND [-maxcps=#] <nick> [file] - send a file using passive mode\n" + "DCC LIST - show DCC list\n" + "DCC CHAT <nick> - offer DCC CHAT to someone\n" + "DCC PCHAT <nick> - offer DCC CHAT using passive mode\n" + "DCC CLOSE <type> <nick> <file> example:\n" + " /dcc close send johnsmith file.tar.gz")}, + {"DEBUG", cmd_debug, 0, 0, 1, 0}, + + {"DEHOP", cmd_dehop, 1, 1, 1, + N_("DEHOP <nick>, removes chanhalf-op status from the nick on the current channel (needs chanop)")}, + {"DELBUTTON", cmd_delbutton, 0, 0, 1, + N_("DELBUTTON <name>, deletes a button from under the user-list")}, + {"DEOP", cmd_deop, 1, 1, 1, + N_("DEOP <nick>, removes chanop status from the nick on the current channel (needs chanop)")}, + {"DEVOICE", cmd_devoice, 1, 1, 1, + N_("DEVOICE <nick>, removes voice status from the nick on the current channel (needs chanop)")}, + {"DISCON", cmd_discon, 0, 0, 1, N_("DISCON, Disconnects from server")}, + {"DNS", cmd_dns, 0, 0, 1, N_("DNS <nick|host|ip>, Resolves an IP or hostname")}, + {"DOAT", cmd_doat, 0, 0, 1, N_("DOAT <channel,list,/network> <command>")}, + {"ECHO", cmd_echo, 0, 0, 1, N_("ECHO <text>, Prints text locally")}, +#ifndef WIN32 + {"EXEC", cmd_exec, 0, 0, 1, + N_("EXEC [-o] <command>, runs the command. If -o flag is used then output is sent to current channel, else is printed to current text box")}, +#ifndef __EMX__ + {"EXECCONT", cmd_execc, 0, 0, 1, N_("EXECCONT, sends the process SIGCONT")}, +#endif + {"EXECKILL", cmd_execk, 0, 0, 1, + N_("EXECKILL [-9], kills a running exec in the current session. If -9 is given the process is SIGKILL'ed")}, +#ifndef __EMX__ + {"EXECSTOP", cmd_execs, 0, 0, 1, N_("EXECSTOP, sends the process SIGSTOP")}, + {"EXECWRITE", cmd_execw, 0, 0, 1, N_("EXECWRITE [-q|--], sends data to the processes stdin; use -q flag to quiet/suppress output at text box; use -- flag to stop interpreting arguments as flags, needed if -q itself would occur as data")}, +#endif +#endif +#if 0 + {"EXPORTCONF", cmd_exportconf, 0, 0, 1, N_("EXPORTCONF, exports HexChat settings")}, +#endif + {"FLUSHQ", cmd_flushq, 0, 0, 1, + N_("FLUSHQ, flushes the current server's send queue")}, + {"GATE", cmd_gate, 0, 0, 1, + N_("GATE <host> [<port>], proxies through a host, port defaults to 23")}, + {"GETBOOL", cmd_getbool, 0, 0, 1, "GETBOOL <command> <title> <text>"}, + {"GETFILE", cmd_getfile, 0, 0, 1, "GETFILE [-folder] [-multi] [-save] <command> <title> [<initial>]"}, + {"GETINT", cmd_getint, 0, 0, 1, "GETINT <default> <command> <prompt>"}, + {"GETSTR", cmd_getstr, 0, 0, 1, "GETSTR <default> <command> <prompt>"}, + {"GHOST", cmd_ghost, 1, 0, 1, N_("GHOST <nick> [password], Kills a ghosted nickname")}, + {"GUI", cmd_gui, 0, 0, 1, "GUI [APPLY|ATTACH|DETACH|SHOW|HIDE|FOCUS|FLASH|ICONIFY]\n" + " GUI [MSGBOX <text>|MENU TOGGLE]\n" + " GUI COLOR <n> [-NOOVERRIDE]"}, + {"HELP", cmd_help, 0, 0, 1, 0}, + {"HOP", cmd_hop, 1, 1, 1, + N_("HOP <nick>, gives chanhalf-op status to the nick (needs chanop)")}, + {"ID", cmd_id, 1, 0, 1, N_("ID <password>, identifies yourself to nickserv")}, + {"IGNORE", cmd_ignore, 0, 0, 1, + N_("IGNORE <mask> <types..> <options..>\n" + " mask - host mask to ignore, eg: *!*@*.aol.com\n" + " types - types of data to ignore, one or all of:\n" + " PRIV, CHAN, NOTI, CTCP, DCC, INVI, ALL\n" + " options - NOSAVE, QUIET")}, + + {"INVITE", cmd_invite, 1, 0, 1, + N_("INVITE <nick> [<channel>], invites someone to a channel, by default the current channel (needs chanop)")}, + {"JOIN", cmd_join, 1, 0, 0, N_("JOIN <channel>, joins the channel")}, + {"KICK", cmd_kick, 1, 1, 1, + N_("KICK <nick> [reason], kicks the nick from the current channel (needs chanop)")}, + {"KICKBAN", cmd_kickban, 1, 1, 1, + N_("KICKBAN <nick> [reason], bans then kicks the nick from the current channel (needs chanop)")}, + {"KILLALL", cmd_killall, 0, 0, 1, "KILLALL, immediately exit"}, + {"LAGCHECK", cmd_lagcheck, 0, 0, 1, + N_("LAGCHECK, forces a new lag check")}, + {"LASTLOG", cmd_lastlog, 0, 0, 1, + N_("LASTLOG [-h] [-m] [-r] [--] <string>, searches for a string in the buffer\n" + " Use -h to highlight the found string(s)\n" + " Use -m to match case\n" + " Use -r when string is a Regular Expression\n" + " Use -- (double hyphen) to end options when searching for, say, the string '-r'")}, + {"LIST", cmd_list, 1, 0, 1, 0}, + {"LOAD", cmd_load, 0, 0, 1, N_("LOAD [-e] <file>, loads a plugin or script")}, + + {"MDEHOP", cmd_mdehop, 1, 1, 1, + N_("MDEHOP, Mass deop's all chanhalf-ops in the current channel (needs chanop)")}, + {"MDEOP", cmd_mdeop, 1, 1, 1, + N_("MDEOP, Mass deop's all chanops in the current channel (needs chanop)")}, + {"ME", cmd_me, 0, 0, 1, + N_("ME <action>, sends the action to the current channel (actions are written in the 3rd person, like /me jumps)")}, + {"MENU", cmd_menu, 0, 0, 1, "MENU [-eX] [-i<ICONFILE>] [-k<mod>,<key>] [-m] [-pX] [-r<X,group>] [-tX] {ADD|DEL} <path> [command] [unselect command]\n" + " See http://hexchat.readthedocs.org/en/latest/plugins.html#controlling-the-gui for more details."}, + {"MHOP", cmd_mhop, 1, 1, 1, + N_("MHOP, Mass hop's all users in the current channel (needs chanop)")}, + {"MKICK", cmd_mkick, 1, 1, 1, + N_("MKICK, Mass kicks everyone except you in the current channel (needs chanop)")}, + {"MODE", cmd_mode, 1, 0, 1, 0}, + {"MOP", cmd_mop, 1, 1, 1, + N_("MOP, Mass op's all users in the current channel (needs chanop)")}, + {"MSG", cmd_msg, 0, 0, 1, N_("MSG <nick> <message>, sends a private message, message \".\" to send to last nick or prefix with \"=\" for dcc chat")}, + + {"NAMES", cmd_names, 1, 0, 1, + N_("NAMES [channel], Lists the nicks on the channel")}, + {"NCTCP", cmd_nctcp, 1, 0, 1, + N_("NCTCP <nick> <message>, Sends a CTCP notice")}, + {"NEWSERVER", cmd_newserver, 0, 0, 1, N_("NEWSERVER [-noconnect] <hostname> [<port>]")}, + {"NICK", cmd_nick, 0, 0, 1, N_("NICK <nickname>, sets your nick")}, + + {"NOTICE", cmd_notice, 1, 0, 1, + N_("NOTICE <nick/channel> <message>, sends a notice")}, + {"NOTIFY", cmd_notify, 0, 0, 1, + N_("NOTIFY [-n network1[,network2,...]] [<nick>], displays your notify list or adds someone to it")}, + {"OP", cmd_op, 1, 1, 1, + N_("OP <nick>, gives chanop status to the nick (needs chanop)")}, + {"PART", cmd_part, 1, 1, 0, + N_("PART [<channel>] [<reason>], leaves the channel, by default the current one")}, + {"PING", cmd_ping, 1, 0, 1, + N_("PING <nick | channel>, CTCP pings nick or channel")}, + {"QUERY", cmd_query, 0, 0, 1, + N_("QUERY [-nofocus] <nick> [message], opens up a new privmsg window to someone and optionally sends a message")}, + {"QUIET", cmd_quiet, 1, 1, 1, + N_("QUIET <mask> [<quiettype>], quiet everyone matching the mask in the current channel if supported by the server.")}, + {"QUIT", cmd_quit, 0, 0, 1, + N_("QUIT [<reason>], disconnects from the current server")}, + {"QUOTE", cmd_quote, 1, 0, 1, + N_("QUOTE <text>, sends the text in raw form to the server")}, +#ifdef USE_OPENSSL + {"RECONNECT", cmd_reconnect, 0, 0, 1, + N_("RECONNECT [-ssl|-ssl-noverify] [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers")}, +#else + {"RECONNECT", cmd_reconnect, 0, 0, 1, + N_("RECONNECT [<host>] [<port>] [<password>], Can be called just as /RECONNECT to reconnect to the current server or with /RECONNECT ALL to reconnect to all the open servers")}, +#endif + {"RECV", cmd_recv, 1, 0, 1, N_("RECV <text>, send raw data to HexChat, as if it was received from the IRC server")}, + {"RELOAD", cmd_reload, 0, 0, 1, N_("RELOAD <name>, reloads a plugin or script")}, + {"SAY", cmd_say, 0, 0, 1, + N_("SAY <text>, sends the text to the object in the current window")}, + {"SEND", cmd_send, 0, 0, 1, N_("SEND <nick> [<file>]")}, +#ifdef USE_OPENSSL + {"SERVCHAN", cmd_servchan, 0, 0, 1, + N_("SERVCHAN [-insecure|-ssl|-ssl-noverify] <host> <port> <channel>, connects and joins a channel using ssl unless otherwise specified")}, +#else + {"SERVCHAN", cmd_servchan, 0, 0, 1, + N_("SERVCHAN <host> <port> <channel>, connects and joins a channel")}, +#endif +#ifdef USE_OPENSSL + {"SERVER", cmd_server, 0, 0, 1, + N_("SERVER [-insecure|-ssl|-ssl-noverify] <host> [<port>] [<password>], connects to a server using ssl unless otherwise specified, the default port is 6697 for ssl connections and 6667 for insecure connections")}, +#else + {"SERVER", cmd_server, 0, 0, 1, + N_("SERVER <host> [<port>] [<password>], connects to a server, the default port is 6667")}, +#endif + {"SET", cmd_set, 0, 0, 1, N_("SET [-e] [-off|-on] [-quiet] <variable> [<value>]")}, + {"SETCURSOR", cmd_setcursor, 0, 0, 1, N_("SETCURSOR [-|+]<position>, reposition the cursor in the inputbox")}, + {"SETTAB", cmd_settab, 0, 0, 1, N_("SETTAB <new name>, change a tab's name, tab_trunc limit still applies")}, + {"SETTEXT", cmd_settext, 0, 0, 1, N_("SETTEXT <new text>, replace the text in the input box")}, + {"SPLAY", cmd_splay, 0, 0, 1, "SPLAY <soundfile>"}, + {"TOPIC", cmd_topic, 1, 1, 1, + N_("TOPIC [<topic>], sets the topic if one is given, else shows the current topic")}, + {"TRAY", cmd_tray, 0, 0, 1, + N_("\nTRAY -f <timeout> <file1> [<file2>] Blink tray between two icons.\n" + "TRAY -f <filename> Set tray to a fixed icon.\n" + "TRAY -i <number> Blink tray with an internal icon.\n" + "TRAY -t <text> Set the tray tooltip.\n" + "TRAY -b <title> <text> Set the tray balloon." + )}, + {"UNBAN", cmd_unban, 1, 1, 1, + N_("UNBAN <mask> [<mask>...], unbans the specified masks.")}, + {"UNIGNORE", cmd_unignore, 0, 0, 1, N_("UNIGNORE <mask> [QUIET]")}, + {"UNLOAD", cmd_unload, 0, 0, 1, N_("UNLOAD <name>, unloads a plugin or script")}, + {"UNQUIET", cmd_unquiet, 1, 1, 1, + N_("UNQUIET <mask> [<mask>...], unquiets the specified masks if supported by the server.")}, + {"URL", cmd_url, 0, 0, 1, N_("URL <url>, opens a URL in your browser")}, + {"USELECT", cmd_uselect, 0, 1, 0, + N_("USELECT [-a] [-s] <nick1> <nick2> etc, highlights nick(s) in channel userlist")}, + {"USERLIST", cmd_userlist, 1, 1, 1, 0}, + {"VOICE", cmd_voice, 1, 1, 1, + N_("VOICE <nick>, gives voice status to someone (needs chanop)")}, + {"WALLCHOP", cmd_wallchop, 1, 1, 1, + N_("WALLCHOP <message>, sends the message to all chanops on the current channel")}, + {0, 0, 0, 0, 0, 0} +}; + + +static int +command_compare (const void *a, const void *b) +{ + return g_ascii_strcasecmp (a, ((struct commands *)b)->name); +} + +static struct commands * +find_internal_command (char *name) +{ + /* the "-1" is to skip the NULL terminator */ + return bsearch (name, xc_cmds, (sizeof (xc_cmds) / + sizeof (xc_cmds[0])) - 1, sizeof (xc_cmds[0]), command_compare); +} + +static gboolean +usercommand_show_help (session *sess, char *name) +{ + struct popup *pop; + gboolean found = FALSE; + char buf[1024]; + GSList *list; + + list = command_list; + while (list) + { + pop = (struct popup *) list->data; + if (!g_ascii_strcasecmp (pop->name, name)) + { + g_snprintf (buf, sizeof(buf), _("User Command for: %s\n"), pop->cmd); + PrintText (sess, buf); + + found = TRUE; + } + list = list->next; + } + + return found; +} + +static void +help (session *sess, char *tbuf, char *helpcmd, int quiet) +{ + struct commands *cmd; + + if (plugin_show_help (sess, helpcmd)) + return; + + if (usercommand_show_help (sess, helpcmd)) + return; + + cmd = find_internal_command (helpcmd); + if (cmd) + { + if (cmd->help) + { + g_snprintf (tbuf, TBUFSIZE, _("Usage: %s\n"), _(cmd->help)); + PrintText (sess, tbuf); + } else + { + if (!quiet) + PrintText (sess, _("\nNo help available on that command.\n")); + } + return; + } + + if (!quiet) + PrintText (sess, _("No such command.\n")); +} + +/* inserts %a, %c, %d etc into buffer. Also handles &x %x for word/word_eol. * + * returns 2 on buffer overflow + * returns 1 on success * + * returns 0 on bad-args-for-user-command * + * - word/word_eol args might be NULL * + * - this beast is used for UserCommands, UserlistButtons and CTCP replies */ + +int +auto_insert (char *dest, gsize destlen, unsigned char *src, char *word[], + char *word_eol[], char *a, char *c, char *d, char *e, char *h, + char *n, char *s, char *u) +{ + int num; + char buf[32]; + time_t now; + struct tm *tm_ptr; + char *utf; + gsize utf_len; + char *orig = dest; + + destlen--; + + while (src[0]) + { + if (src[0] == '%' || src[0] == '&') + { + if (isdigit ((unsigned char) src[1])) + { + if (isdigit ((unsigned char) src[2]) && isdigit ((unsigned char) src[3])) + { + buf[0] = src[1]; + buf[1] = src[2]; + buf[2] = src[3]; + buf[3] = 0; + dest[0] = atoi (buf); + utf = g_locale_to_utf8 (dest, 1, 0, &utf_len, 0); + if (utf) + { + if ((dest - orig) + utf_len >= destlen) + { + g_free (utf); + return 2; + } + + memcpy (dest, utf, utf_len); + g_free (utf); + dest += utf_len; + } + src += 3; + } else + { + if (word) + { + src++; + num = src[0] - '0'; /* ascii to decimal */ + if (*word[num] == 0) + return 0; + + if (src[-1] == '%') + utf = word[num]; + else + utf = word_eol[num]; + + /* avoid recusive usercommand overflow */ + if ((dest - orig) + strlen (utf) >= destlen) + return 2; + + strcpy (dest, utf); + dest += strlen (dest); + } + } + } else + { + if (src[0] == '&') + goto lamecode; + src++; + utf = NULL; + switch (src[0]) + { + case '%': + if ((dest - orig) + 2u >= destlen) + return 2; + dest[0] = '%'; + dest[1] = 0; + dest++; + break; + case 'a': + utf = a; break; + case 'c': + utf = c; break; + case 'd': + utf = d; break; + case 'e': + utf = e; break; + case 'h': + utf = h; break; + case 'm': + utf = get_sys_str (1); break; + case 'n': + utf = n; break; + case 's': + utf = s; break; + case 't': + now = time (0); + utf = ctime (&now); + utf[19] = 0; + break; + case 'u': + utf = u; break; + case 'v': + utf = PACKAGE_VERSION; break; + break; + case 'y': + now = time (0); + tm_ptr = localtime (&now); + g_snprintf (buf, sizeof (buf), "%4d%02d%02d", 1900 + + tm_ptr->tm_year, 1 + tm_ptr->tm_mon, tm_ptr->tm_mday); + utf = buf; + break; + default: + src--; + goto lamecode; + } + + if (utf) + { + if ((dest - orig) + strlen (utf) >= destlen) + return 2; + strcpy (dest, utf); + dest += strlen (dest); + } + + } + src++; + } else + { + utf_len = g_utf8_skip[src[0]]; + + if ((dest - orig) + utf_len >= destlen) + return 2; + + if (utf_len == 1) + { + lamecode: + dest[0] = src[0]; + dest++; + src++; + } else + { + memcpy (dest, src, utf_len); + dest += utf_len; + src += utf_len; + } + } + } + + dest[0] = 0; + + return 1; +} + +void +check_special_chars (char *cmd, int do_ascii) /* check for %X */ +{ + int occur = 0; + int len = strlen (cmd); + char *buf, *utf; + char tbuf[4]; + int i = 0, j = 0; + gsize utf_len; + + if (!len) + return; + + buf = g_malloc (len + 1); + + while (cmd[j]) + { + switch (cmd[j]) + { + case '%': + occur++; + if ( do_ascii && + j + 3 < len && + (isdigit ((unsigned char) cmd[j + 1]) && isdigit ((unsigned char) cmd[j + 2]) && + isdigit ((unsigned char) cmd[j + 3]))) + { + tbuf[0] = cmd[j + 1]; + tbuf[1] = cmd[j + 2]; + tbuf[2] = cmd[j + 3]; + tbuf[3] = 0; + buf[i] = atoi (tbuf); + utf = g_locale_to_utf8 (buf + i, 1, 0, &utf_len, 0); + if (utf) + { + memcpy (buf + i, utf, utf_len); + g_free (utf); + i += (utf_len - 1); + } + j += 3; + } else + { + switch (cmd[j + 1]) + { + case 'R': + buf[i] = '\026'; + break; + case 'U': + buf[i] = '\037'; + break; + case 'B': + buf[i] = '\002'; + break; + case 'I': + buf[i] = '\035'; + break; + case 'S': + buf[i] = '\036'; + break; + case 'C': + buf[i] = '\003'; + break; + case 'O': + buf[i] = '\017'; + break; + case 'H': /* CL: invisible text code */ + buf[i] = HIDDEN_CHAR; + break; + case '%': + buf[i] = '%'; + break; + default: + buf[i] = '%'; + j--; + break; + } + j++; + break; + default: + buf[i] = cmd[j]; + } + } + j++; + i++; + } + buf[i] = 0; + if (occur) + strcpy (cmd, buf); + g_free (buf); +} + +typedef struct +{ + char *nick; + int len; + struct User *best; + int bestlen; + char *space; + char *tbuf; +} nickdata; + +static int +nick_comp_cb (struct User *user, nickdata *data) +{ + int lenu; + + if (!rfc_ncasecmp (user->nick, data->nick, data->len)) + { + lenu = strlen (user->nick); + if (lenu == data->len) + { + g_snprintf (data->tbuf, TBUFSIZE, "%s%s", user->nick, data->space); + data->len = -1; + return FALSE; + } else if (lenu < data->bestlen) + { + data->bestlen = lenu; + data->best = user; + } + } + + return TRUE; +} + +static void +perform_nick_completion (struct session *sess, char *cmd, char *tbuf) +{ + int len; + char *space = strchr (cmd, ' '); + if (space && space != cmd) + { + if (space[-1] == prefs.hex_completion_suffix[0] && space - 1 != cmd) + { + len = space - cmd - 1; + if (len < NICKLEN) + { + char nick[NICKLEN]; + nickdata data; + + memcpy (nick, cmd, len); + nick[len] = 0; + + data.nick = nick; + data.len = len; + data.bestlen = INT_MAX; + data.best = NULL; + data.tbuf = tbuf; + data.space = space - 1; + tree_foreach (sess->usertree, (tree_traverse_func *)nick_comp_cb, &data); + + if (data.len == -1) + return; + + if (data.best) + { + g_snprintf (tbuf, TBUFSIZE, "%s%s", data.best->nick, space - 1); + return; + } + } + } + } + + strcpy (tbuf, cmd); +} + +static void +user_command (session * sess, char *tbuf, char *cmd, char *word[], + char *word_eol[]) +{ + if (!auto_insert (tbuf, 2048, cmd, word, word_eol, "", sess->channel, "", + server_get_network (sess->server, TRUE), "", + sess->server->nick, "", "")) + { + PrintText (sess, _("Bad arguments for user command.\n")); + return; + } + + handle_command (sess, tbuf, TRUE); +} + +/* handle text entered without a hex_input_command_char prefix */ + +static void +handle_say (session *sess, char *text, int check_spch) +{ + struct DCC *dcc; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + char *pdibuf; + char *newcmd; + int len; + int newcmdlen; + message_tags_data no_tags = MESSAGE_TAGS_DATA_INIT; + + if (strcmp (sess->channel, "(lastlog)") == 0) + { + lastlog (sess->lastlog_sess, text, sess->lastlog_flags); + return; + } + + len = strlen (text); + pdibuf = g_malloc (len + 1); + newcmdlen = MAX(len + NICKLEN + 1, TBUFSIZE); + newcmd = g_malloc (newcmdlen); + + if (check_spch && prefs.hex_input_perc_color) + check_special_chars (text, prefs.hex_input_perc_ascii); + + /* Python relies on this */ + word[PDIWORDS] = NULL; + word_eol[PDIWORDS] = NULL; + + /* split the text into words and word_eol */ + process_data_init (pdibuf, text, word, word_eol, TRUE, FALSE); + + /* a command of "" can be hooked for non-commands */ + if (plugin_emit_command (sess, "", word, word_eol)) + goto xit; + + /* incase a plugin did /close */ + if (!is_session (sess)) + goto xit; + + if (!sess->channel[0] || sess->type == SESS_SERVER || sess->type == SESS_NOTICES || sess->type == SESS_SNOTICES) + { + notj_msg (sess); + goto xit; + } + + if (prefs.hex_completion_auto) + perform_nick_completion (sess, text, newcmd); + else + safe_strcpy (newcmd, text, newcmdlen); + + text = newcmd; + + if (sess->type == SESS_DIALOG) + { + /* try it via dcc, if possible */ + dcc = dcc_write_chat (sess->channel, text); + if (dcc) + { + inbound_chanmsg (sess->server, NULL, sess->channel, + sess->server->nick, text, TRUE, FALSE, &no_tags); + set_topic (sess, net_ip (dcc->addr), net_ip (dcc->addr)); + goto xit; + } + } + + if (sess->server->connected) + { + char *split_text = NULL; + int cmd_length = 13; /* " PRIVMSG ", " ", :, \r, \n */ + int offset = 0; + + while ((split_text = split_up_text (sess, text + offset, cmd_length, split_text))) + { + inbound_chanmsg (sess->server, sess, sess->channel, sess->server->nick, + split_text, TRUE, FALSE, &no_tags); + sess->server->p_message (sess->server, sess->channel, split_text); + + if (*split_text) + offset += strlen(split_text); + + g_free (split_text); + } + + inbound_chanmsg (sess->server, sess, sess->channel, sess->server->nick, + text + offset, TRUE, FALSE, &no_tags); + sess->server->p_message (sess->server, sess->channel, text + offset); + } else + { + notc_msg (sess); + } + +xit: + g_free (pdibuf); + + g_free (newcmd); +} + +char * +command_insert_vars (session *sess, char *cmd) +{ + int pos; + GString *expanded; + ircnet *mynet = (ircnet *) sess->server->network; + + if (!mynet) /* shouldn't really happen */ + { + return g_strdup (cmd); /* the return value will be freed so we must srtdup() it */ + } + + expanded = g_string_new (NULL); + + while (strchr (cmd, '%') != NULL) + { + pos = (int) (strchr (cmd, '%') - cmd); /* offset to the first '%' */ + g_string_append_len (expanded, cmd, pos); /* copy contents till the '%' */ + cmd += pos + 1; /* jump to the char after the '%' */ + + switch (cmd[0]) + { + case 'n': + if (mynet->nick) + { + g_string_append (expanded, mynet->nick); + } + else + { + g_string_append (expanded, prefs.hex_irc_nick1); + } + cmd++; + break; + + case 'p': + if (mynet->pass) + { + g_string_append (expanded, mynet->pass); + } + cmd++; + break; + + case 'r': + if (mynet->real) + { + g_string_append (expanded, mynet->real); + } + else + { + g_string_append (expanded, prefs.hex_irc_real_name); + } + cmd++; + break; + + case 'u': + if (mynet->user) + { + g_string_append (expanded, mynet->user); + } + else + { + g_string_append (expanded, prefs.hex_irc_user_name); + } + cmd++; + break; + + default: /* unsupported character? copy it along with the '%'! */ + cmd--; + g_string_append_len (expanded, cmd, 2); + cmd += 2; + break; + } + } + + g_string_append (expanded, cmd); /* copy any remaining string after the last '%' */ + + return g_string_free (expanded, FALSE); +} + +/* handle a command, without the '/' prefix */ + +int +handle_command (session *sess, char *cmd, int check_spch) +{ + struct popup *pop; + int user_cmd = FALSE; + GSList *list; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + static int command_level = 0; + struct commands *int_cmd; + char *pdibuf; + char *tbuf; + int len; + int ret = TRUE; + + if (command_level > 99) + { + fe_message (_("Too many recursive usercommands, aborting."), FE_MSG_ERROR); + return TRUE; + } + command_level++; + /* anything below MUST DEC command_level before returning */ + + len = strlen (cmd); + pdibuf = g_malloc (len + 1); + tbuf = g_malloc (MAX(TBUFSIZE, (len * 2) + 1)); + + /* split the text into words and word_eol */ + process_data_init (pdibuf, cmd, word, word_eol, TRUE, TRUE); + + /* ensure an empty string at index 32 for cmd_deop etc */ + /* (internal use only, plugins can still only read 1-31). */ + word[PDIWORDS] = "\000\000"; + word_eol[PDIWORDS] = "\000\000"; + + int_cmd = find_internal_command (word[1]); + /* redo it without quotes processing, for some commands like /JOIN */ + if (int_cmd && !int_cmd->handle_quotes) + { + process_data_init (pdibuf, cmd, word, word_eol, FALSE, FALSE); + } + + if (check_spch && prefs.hex_input_perc_color) + { + check_special_chars (cmd, prefs.hex_input_perc_ascii); + } + + if (plugin_emit_command (sess, word[1], word, word_eol)) + { + goto xit; + } + + /* incase a plugin did /close */ + if (!is_session (sess)) + { + goto xit; + } + + /* first see if it's a userCommand */ + list = command_list; + while (list) + { + pop = (struct popup *) list->data; + if (!g_ascii_strcasecmp (pop->name, word[1])) + { + user_command (sess, tbuf, pop->cmd, word, word_eol); + user_cmd = TRUE; + } + list = list->next; + } + + if (user_cmd) + { + goto xit; + } + + /* now check internal commands */ + int_cmd = find_internal_command (word[1]); + + if (int_cmd) + { + if (int_cmd->needserver && !sess->server->connected) + { + notc_msg (sess); + } + else if (int_cmd->needchannel && !sess->channel[0]) + { + notj_msg (sess); + } + else + { + switch (int_cmd->callback (sess, tbuf, word, word_eol)) + { + case FALSE: + help (sess, tbuf, int_cmd->name, TRUE); + break; + case 2: + ret = FALSE; + goto xit; + } + } + } + else + { + if (!sess->server->connected) + { + PrintTextf (sess, _("Unknown Command %s. Try /help\n"), word[1]); + } + else + { + /* unknown command, just send it to the server and hope */ + sess->server->p_raw (sess->server, cmd); + } + } + +xit: + command_level--; + + g_free (pdibuf); + g_free (tbuf); + + return ret; +} + +/* handle one line entered into the input box */ + +static int +handle_user_input (session *sess, char *text, int history, int nocommand) +{ + if (*text == '\0') + return 1; + + if (history) + history_add (&sess->history, text); + + /* is it NOT a command, just text? */ + if (nocommand || text[0] != prefs.hex_input_command_char[0]) + { + handle_say (sess, text, TRUE); + return 1; + } + + /* check for // */ + if (text[0] == prefs.hex_input_command_char[0] && text[1] == prefs.hex_input_command_char[0]) + { + handle_say (sess, text + 1, TRUE); + return 1; + } + +#if 0 /* Who would remember all this? */ + if (prefs.hex_input_command_char[0] == '/') + { + int i; + const char *unix_dirs [] = { + "/bin/", + "/boot/", + "/dev/", + "/etc/", + "/home/", + "/lib/", + "/lost+found/", + "/mnt/", + "/opt/", + "/proc/", + "/root/", + "/sbin/", + "/tmp/", + "/usr/", + "/var/", + "/gnome/", + NULL + }; + for (i = 0; unix_dirs[i] != NULL; i++) + if (strncmp (text, unix_dirs[i], strlen (unix_dirs[i]))==0) + { + handle_say (sess, text, TRUE); + return 1; + } + } +#endif + + return handle_command (sess, text + 1, TRUE); +} + +/* changed by Steve Green. Macs sometimes paste with imbedded \r */ +void +handle_multiline (session *sess, char *cmd, int history, int nocommand) +{ + while (*cmd) + { + char *cr = cmd + strcspn (cmd, "\n\r"); + int end_of_string = *cr == 0; + *cr = 0; + if (!handle_user_input (sess, cmd, history, nocommand)) + return; + if (end_of_string) + break; + cmd = cr + 1; + } +} + +/*void +handle_multiline (session *sess, char *cmd, int history, int nocommand) +{ + char *cr; + + cr = strchr (cmd, '\n'); + if (cr) + { + while (1) + { + if (cr) + *cr = 0; + if (!handle_user_input (sess, cmd, history, nocommand)) + return; + if (!cr) + break; + cmd = cr + 1; + if (*cmd == 0) + break; + cr = strchr (cmd, '\n'); + } + } else + { + handle_user_input (sess, cmd, history, nocommand); + } +}*/ diff --git a/src/common/outbound.h b/src/common/outbound.h new file mode 100644 index 0000000000000000000000000000000000000000..490a58caba3caec29c04f0168ce1adeaf159772f --- /dev/null +++ b/src/common/outbound.h @@ -0,0 +1,42 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_OUTBOUND_H +#define HEXCHAT_OUTBOUND_H + +#include "hexchat.h" + +extern const struct commands xc_cmds[]; +extern GSList *menu_list; + +int auto_insert (char *dest, gsize destlen, unsigned char *src, char *word[], char *word_eol[], + char *a, char *c, char *d, char *e, char *h, char *n, char *s, char *u); +char *command_insert_vars (session *sess, char *cmd); +int handle_command (session *sess, char *cmd, int check_spch); +void process_data_init (char *buf, char *cmd, char *word[], char *word_eol[], gboolean handle_quotes, gboolean allow_escape_quotes); +void handle_multiline (session *sess, char *cmd, int history, int nocommand); +void check_special_chars (char *cmd, int do_ascii); +void notc_msg (session *sess); +void server_sendpart (server * serv, char *channel, char *reason); +void server_sendquit (session * sess); +int menu_streq (const char *s1, const char *s2, int def); +session *open_query (server *serv, char *nick, gboolean focus_existing); +gboolean load_perform_file (session *sess, char *file); + +#endif diff --git a/src/common/plugin-identd.c b/src/common/plugin-identd.c new file mode 100644 index 0000000000000000000000000000000000000000..a8086d6dc59a056b1c5031c8b94f6ff34fa616c4 --- /dev/null +++ b/src/common/plugin-identd.c @@ -0,0 +1,281 @@ +/* HexChat +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA +*/ + +#include "config.h" + +#include <string.h> +#include <gio/gio.h> +#include "hexchat-plugin.h" + +#define _(x) hexchat_gettext(ph,x) +static void identd_start_server (void); + +static hexchat_plugin *ph; +static GSocketService *service; +static GHashTable *responses; + +typedef struct ident_info +{ + GSocketConnection *conn; + gchar *username; +} ident_info; + +static void +stream_close_ready (GObject *source, GAsyncResult *res, gpointer userdata) +{ + GError *err = NULL; + + if (!g_io_stream_close_finish (G_IO_STREAM(source), res, &err)) + { + g_warning ("%s", err->message); + g_error_free (err); + } + + g_object_unref (source); +} + +static void +ident_info_free (ident_info *info) +{ + if (G_LIKELY(info)) + { + g_io_stream_close_async (G_IO_STREAM(info->conn), G_PRIORITY_DEFAULT, + NULL, stream_close_ready, NULL); + g_free (info->username); + g_free (info); + } +} + +static int +identd_cleanup_response_cb (gpointer userdata) +{ + g_return_val_if_fail (responses != NULL, 0); + + g_hash_table_remove (responses, userdata); + + return 0; +} + +static int +identd_command_cb (char *word[], char *word_eol[], void *userdata) +{ + g_return_val_if_fail (responses != NULL, HEXCHAT_EAT_ALL); + + if (!g_strcmp0 (word[2], "reload")) + { + if (service) + { + g_socket_service_stop (service); + g_clear_object (&service); + } + + identd_start_server (); + + if (service) + return HEXCHAT_EAT_ALL; + } + + if (service == NULL) /* If we are not running plugins can handle it */ + return HEXCHAT_EAT_HEXCHAT; + + if (word[2] && *word[2] && word[3] && *word[3]) + { + guint64 port = g_ascii_strtoull (word[2], NULL, 0); + + if (port && port <= G_MAXUINT16) + { + g_hash_table_insert (responses, GINT_TO_POINTER (port), g_strdup (word[3])); + /* Automatically remove entry after 30 seconds */ + hexchat_hook_timer (ph, 30000, identd_cleanup_response_cb, GINT_TO_POINTER (port)); + } + } + else + { + hexchat_command (ph, "HELP IDENTD"); + } + + return HEXCHAT_EAT_ALL; +} + +static void +identd_write_ready (GOutputStream *stream, GAsyncResult *res, ident_info *info) +{ + g_output_stream_write_finish (stream, res, NULL); + + ident_info_free (info); +} + +static void +identd_read_ready (GDataInputStream *in_stream, GAsyncResult *res, ident_info *info) +{ + GSocketAddress *sok_addr; + GOutputStream *out_stream; + guint64 local, remote; + gchar *read_buf, buf[512], *p; + + if ((read_buf = g_data_input_stream_read_line_finish (in_stream, res, NULL, NULL))) + { + local = g_ascii_strtoull (read_buf, NULL, 0); + p = strchr (read_buf, ','); + if (!p) + { + g_free (read_buf); + goto cleanup; + } + + remote = g_ascii_strtoull (p + 1, NULL, 0); + g_free (read_buf); + + g_snprintf (buf, sizeof (buf), "%"G_GUINT16_FORMAT", %"G_GUINT16_FORMAT" : ", + (guint16)MIN(local, G_MAXUINT16), (guint16)MIN(remote, G_MAXUINT16)); + + if (!local || !remote || local > G_MAXUINT16 || remote > G_MAXUINT16) + { + g_strlcat (buf, "ERROR : INVALID-PORT\r\n", sizeof (buf)); + g_debug ("Identd: Received invalid port"); + } + else + { + info->username = g_hash_table_lookup (responses, GINT_TO_POINTER (local)); + if (!info->username) + { + g_strlcat (buf, "ERROR : NO-USER\r\n", sizeof (buf)); + g_debug ("Identd: Received invalid local port"); + } + else + { + const gsize len = strlen (buf); + + g_hash_table_steal (responses, GINT_TO_POINTER (local)); + + g_snprintf (buf + len, sizeof (buf) - len, "USERID : UNIX : %s\r\n", info->username); + + if ((sok_addr = g_socket_connection_get_remote_address (info->conn, NULL))) + { + GInetAddress *inet_addr; + gchar *addr; + + inet_addr = g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (sok_addr)); + addr = g_inet_address_to_string (inet_addr); + + hexchat_printf (ph, _("*\tServicing ident request from %s as %s"), addr, info->username); + + g_object_unref (sok_addr); + g_object_unref (inet_addr); + g_free (addr); + } + } + } + + out_stream = g_io_stream_get_output_stream (G_IO_STREAM (info->conn)); + g_output_stream_write_async (out_stream, buf, strlen (buf), G_PRIORITY_DEFAULT, + NULL, (GAsyncReadyCallback)identd_write_ready, info); + } + + return; + +cleanup: + ident_info_free (info); +} + +static gboolean +identd_incoming_cb (GSocketService *service, GSocketConnection *conn, + GObject *source, gpointer userdata) +{ + GDataInputStream *data_stream; + GInputStream *stream; + ident_info *info; + + info = g_new0 (ident_info, 1); + + info->conn = conn; + g_object_ref (conn); + + stream = g_io_stream_get_input_stream (G_IO_STREAM (conn)); + data_stream = g_data_input_stream_new (stream); + g_data_input_stream_set_newline_type (data_stream, G_DATA_STREAM_NEWLINE_TYPE_CR_LF); + g_data_input_stream_read_line_async (data_stream, G_PRIORITY_DEFAULT, + NULL, (GAsyncReadyCallback)identd_read_ready, info); + + return TRUE; +} + +static void +identd_start_server (void) +{ + GError *error = NULL; + int enabled, port = 113; + + if (hexchat_get_prefs (ph, "identd_server", NULL, &enabled) == 3) + { + if (!enabled) + return; + } + if (hexchat_get_prefs (ph, "identd_port", NULL, &port) == 2 && (port <= 0 || port > G_MAXUINT16)) + { + port = 113; + } + + service = g_socket_service_new (); + + g_socket_listener_add_inet_port (G_SOCKET_LISTENER (service), port, NULL, &error); + if (error) + { + hexchat_printf (ph, _("*\tError starting identd server: %s"), error->message); + + g_error_free (error); + g_clear_object (&service); + return; + } + /*hexchat_printf (ph, "*\tIdentd listening on port: %d", port); */ + + g_signal_connect (G_OBJECT (service), "incoming", G_CALLBACK(identd_incoming_cb), NULL); + g_socket_service_start (service); +} + +int +identd_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + *plugin_name = ""; + *plugin_desc = ""; + *plugin_version = ""; + + + responses = g_hash_table_new_full (NULL, NULL, NULL, g_free); + hexchat_hook_command (ph, "IDENTD", HEXCHAT_PRI_NORM, identd_command_cb, + _("IDENTD <port> <username>"), NULL); + + identd_start_server (); + + return 1; /* This must always succeed for /identd to work */ +} + +int +identd_plugin_deinit (void) +{ + if (service) + { + g_socket_service_stop (service); + g_object_unref (service); + } + + g_hash_table_destroy (responses); + + return 1; +} diff --git a/src/common/plugin-identd.h b/src/common/plugin-identd.h new file mode 100644 index 0000000000000000000000000000000000000000..6aee9f6d21fc9f84a93b1ed793677646b8371a66 --- /dev/null +++ b/src/common/plugin-identd.h @@ -0,0 +1,28 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGIN_IDENTD_H +#define HEXCHAT_PLUGIN_IDENTD_H + +int identd_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg); + +int identd_plugin_deinit (void); + +#endif diff --git a/src/common/plugin-timer.c b/src/common/plugin-timer.c new file mode 100644 index 0000000000000000000000000000000000000000..17f11ce331d764910bc564ce5d2e43e4849b6cdf --- /dev/null +++ b/src/common/plugin-timer.c @@ -0,0 +1,231 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include <stdlib.h> +#include <string.h> +#include <glib.h> +#include "hexchat-plugin.h" + +#ifdef WIN32 +#define g_ascii_strcasecmp stricmp +#endif + +#define _(x) hexchat_gettext(ph,x) + +static hexchat_plugin *ph; /* plugin handle */ +static GSList *timer_list = NULL; + +#define STATIC +#define HELP \ +"Usage: TIMER [-refnum <num>] [-repeat <num>] <seconds> <command>\n" \ +" TIMER [-quiet] -delete <num>" + +typedef struct +{ + hexchat_hook *hook; + hexchat_context *context; + char *command; + int ref; + int repeat; + int timeout; + unsigned int forever:1; +} timer; + +static void +timer_del (timer *tim) +{ + timer_list = g_slist_remove (timer_list, tim); + g_free (tim->command); + hexchat_unhook (ph, tim->hook); + g_free (tim); +} + +static void +timer_del_ref (int ref, int quiet) +{ + GSList *list; + timer *tim; + + list = timer_list; + while (list) + { + tim = list->data; + if (tim->ref == ref) + { + timer_del (tim); + if (!quiet) + hexchat_printf (ph, _("Timer %d deleted.\n"), ref); + return; + } + list = list->next; + } + if (!quiet) + hexchat_print (ph, _("No such ref number found.\n")); +} + +static int +timeout_cb (timer *tim) +{ + if (hexchat_set_context (ph, tim->context)) + { + hexchat_command (ph, tim->command); + + if (tim->forever) + return 1; + + tim->repeat--; + if (tim->repeat > 0) + return 1; + } + + timer_del (tim); + return 0; +} + +static void +timer_add (int ref, int timeout, int repeat, char *command) +{ + timer *tim; + GSList *list; + + if (ref == 0) + { + ref = 1; + list = timer_list; + while (list) + { + tim = list->data; + if (tim->ref >= ref) + ref = tim->ref + 1; + list = list->next; + } + } + + tim = g_new (timer, 1); + tim->ref = ref; + tim->repeat = repeat; + tim->timeout = timeout; + tim->command = g_strdup (command); + tim->context = hexchat_get_context (ph); + tim->forever = FALSE; + + if (repeat == 0) + tim->forever = TRUE; + + tim->hook = hexchat_hook_timer (ph, timeout, (void *)timeout_cb, tim); + timer_list = g_slist_append (timer_list, tim); +} + +static void +timer_showlist (void) +{ + GSList *list; + timer *tim; + + if (timer_list == NULL) + { + hexchat_print (ph, _("No timers installed.\n")); + hexchat_print (ph, _(HELP)); + return; + } + /* 00000 00000000 0000000 abc */ + hexchat_print (ph, _("\026 Ref# Seconds Repeat Command \026\n")); + list = timer_list; + while (list) + { + tim = list->data; + hexchat_printf (ph, _("%5d %8.1f %7d %s\n"), tim->ref, tim->timeout / 1000.0f, + tim->repeat, tim->command); + list = list->next; + } +} + +static int +timer_cb (char *word[], char *word_eol[], void *userdata) +{ + int repeat = 1; + double timeout; + int offset = 0; + int ref = 0; + int quiet = FALSE; + char *command; + + if (!word[2][0]) + { + timer_showlist (); + return HEXCHAT_EAT_HEXCHAT; + } + + if (g_ascii_strcasecmp (word[2], "-quiet") == 0) + { + quiet = TRUE; + offset++; + } + + if (g_ascii_strcasecmp (word[2 + offset], "-delete") == 0) + { + timer_del_ref (atoi (word[3 + offset]), quiet); + return HEXCHAT_EAT_HEXCHAT; + } + + if (g_ascii_strcasecmp (word[2 + offset], "-refnum") == 0) + { + ref = atoi (word[3 + offset]); + offset += 2; + } + + if (g_ascii_strcasecmp (word[2 + offset], "-repeat") == 0) + { + repeat = atoi (word[3 + offset]); + offset += 2; + } + + timeout = g_ascii_strtod (word[2 + offset], NULL); + command = word_eol[3 + offset]; + + if (timeout < 0.1 || timeout * 1000 > INT_MAX || !command[0]) + hexchat_print (ph, HELP); + else + timer_add (ref, (int) timeout * 1000, repeat, command); + + return HEXCHAT_EAT_HEXCHAT; +} + +int +#ifdef STATIC +timer_plugin_init +#else +hexchat_plugin_init +#endif + (hexchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any hexchat_* functions */ + ph = plugin_handle; + + *plugin_name = "Timer"; + *plugin_desc = "IrcII style /TIMER command"; + *plugin_version = ""; + + hexchat_hook_command (ph, "TIMER", HEXCHAT_PRI_NORM, timer_cb, _(HELP), 0); + + return 1; /* return 1 for success */ +} diff --git a/src/common/plugin-timer.h b/src/common/plugin-timer.h new file mode 100644 index 0000000000000000000000000000000000000000..711e2bd481f89ceb8ef5ad1cb2841e5ae63c9208 --- /dev/null +++ b/src/common/plugin-timer.h @@ -0,0 +1,26 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGIN_TIMER_H +#define HEXCHAT_PLUGIN_TIMER_H + +int timer_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg); + +#endif diff --git a/src/common/plugin.c b/src/common/plugin.c new file mode 100644 index 0000000000000000000000000000000000000000..536f376d9a939fa8ae56d596b90f849afe83c5dd --- /dev/null +++ b/src/common/plugin.c @@ -0,0 +1,2050 @@ +/* X-Chat + * Copyright (C) 2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <stdio.h> +#include <fcntl.h> +#include <sys/stat.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "fe.h" +#include "util.h" +#include "outbound.h" +#include "cfgfiles.h" +#include "ignore.h" +#include "server.h" +#include "servlist.h" +#include "modes.h" +#include "notify.h" +#include "text.h" +#define PLUGIN_C +typedef struct session hexchat_context; +#include "hexchat-plugin.h" +#include "plugin.h" +#include "typedef.h" + + +#include "hexchatc.h" + +/* the USE_PLUGIN define only removes libdl stuff */ + +#ifdef USE_PLUGIN +#include <gmodule.h> +#endif + +#define DEBUG(x) {x;} + +/* crafted to be an even 32 bytes */ +struct _hexchat_hook +{ + hexchat_plugin *pl; /* the plugin to which it belongs */ + char *name; /* "xdcc" */ + void *callback; /* pointer to xdcc_callback */ + char *help_text; /* help_text for commands only */ + void *userdata; /* passed to the callback */ + int tag; /* for timers & FDs only */ + int type; /* HOOK_* */ + int pri; /* fd */ /* priority / fd for HOOK_FD only */ +}; + +struct _hexchat_list +{ + int type; /* LIST_* */ + GSList *pos; /* current pos */ + GSList *next; /* next pos */ + GSList *head; /* for LIST_USERS only */ + struct notify_per_server *notifyps; /* notify_per_server * */ +}; + +typedef int (hexchat_cmd_cb) (char *word[], char *word_eol[], void *user_data); +typedef int (hexchat_serv_cb) (char *word[], char *word_eol[], void *user_data); +typedef int (hexchat_print_cb) (char *word[], void *user_data); +typedef int (hexchat_serv_attrs_cb) (char *word[], char *word_eol[], hexchat_event_attrs *attrs, void *user_data); +typedef int (hexchat_print_attrs_cb) (char *word[], hexchat_event_attrs *attrs, void *user_data); +typedef int (hexchat_fd_cb) (int fd, int flags, void *user_data); +typedef int (hexchat_timer_cb) (void *user_data); +typedef int (hexchat_init_func) (hexchat_plugin *, char **, char **, char **, char *); +typedef int (hexchat_deinit_func) (hexchat_plugin *); + +enum +{ + LIST_CHANNELS, + LIST_DCC, + LIST_IGNORE, + LIST_NOTIFY, + LIST_USERS +}; + +/* We use binary flags here because it makes it possible for plugin_hook_find() + * to match several types of hooks. This is used so that plugin_hook_run() + * match both HOOK_SERVER and HOOK_SERVER_ATTRS hooks when plugin_emit_server() + * is called. + */ +enum +{ + HOOK_COMMAND = 1 << 0, /* /command */ + HOOK_SERVER = 1 << 1, /* PRIVMSG, NOTICE, numerics */ + HOOK_SERVER_ATTRS = 1 << 2, /* same as above, with attributes */ + HOOK_PRINT = 1 << 3, /* All print events */ + HOOK_PRINT_ATTRS = 1 << 4, /* same as above, with attributes */ + HOOK_TIMER = 1 << 5, /* timeouts */ + HOOK_FD = 1 << 6, /* sockets & fds */ + HOOK_DELETED = 1 << 7 /* marked for deletion */ +}; + +enum +{ + CHANNEL_FLAG_CONNECTED = 1 << 0, + CHANNEL_FLAG_CONNECING = 1 << 1, + CHANNEL_FLAG_AWAY = 1 << 2, + CHANNEL_FLAG_END_OF_MOTD = 1 << 3, + CHANNEL_FLAG_HAS_WHOX = 1 << 4, + CHANNEL_FLAG_HAS_IDMSG = 1 << 5, + CHANNEL_FLAG_HIDE_JOIN_PARTS = 1 << 6, + CHANNEL_FLAG_HIDE_JOIN_PARTS_UNSET = 1 << 7, + CHANNEL_FLAG_BEEP = 1 << 8, + CHANNEL_FLAG_BEEP_UNSET = 1 << 9, + CHANNEL_FLAG_UNUSED = 1 << 10, + CHANNEL_FLAG_LOGGING = 1 << 11, + CHANNEL_FLAG_LOGGING_UNSET = 1 << 12, + CHANNEL_FLAG_SCROLLBACK = 1 << 13, + CHANNEL_FLAG_SCROLLBACK_UNSET = 1 << 14, + CHANNEL_FLAG_STRIP_COLORS = 1 << 15, + CHANNEL_FLAG_STRIP_COLORS_UNSET = 1 << 16, + CHANNEL_FLAG_TRAY = 1 << 17, + CHANNEL_FLAG_TRAY_UNSET = 1 << 18, + CHANNEL_FLAG_TASKBAR = 1 << 19, + CHANNEL_FLAG_TASKBAR_UNSET = 1 << 20, + CHANNEL_FLAG_BALLOON = 1 << 21, + CHANNEL_FLAG_BALLOON_UNSET = 1 << 22, + CHANNEL_FLAG_COUNT = 23 +}; + +GSList *plugin_list = NULL; /* export for plugingui.c */ +static GSList *hook_list = NULL; + +extern const struct prefs vars[]; /* cfgfiles.c */ + + +/* unload a plugin and remove it from our linked list */ + +static int +plugin_free (hexchat_plugin *pl, int do_deinit, int allow_refuse) +{ + GSList *list, *next; + hexchat_hook *hook; + hexchat_deinit_func *deinit_func; + + /* fake plugin added by hexchat_plugingui_add() */ + if (pl->fake) + goto xit; + + /* run the plugin's deinit routine, if any */ + if (do_deinit && pl->deinit_callback != NULL) + { + deinit_func = pl->deinit_callback; + if (!deinit_func (pl) && allow_refuse) + return FALSE; + } + + /* remove all of this plugin's hooks */ + list = hook_list; + while (list) + { + hook = list->data; + next = list->next; + if (hook->pl == pl) + hexchat_unhook (NULL, hook); + list = next; + } + +#ifdef USE_PLUGIN + if (pl->handle) + g_module_close (pl->handle); +#endif + +xit: + if (pl->free_strings) + { + g_free (pl->name); + g_free (pl->desc); + g_free (pl->version); + } + g_free ((char *)pl->filename); + g_free (pl); + + plugin_list = g_slist_remove (plugin_list, pl); + +#ifdef USE_PLUGIN + fe_pluginlist_update (); +#endif + + return TRUE; +} + +static hexchat_plugin * +plugin_list_add (hexchat_context *ctx, char *filename, const char *name, + const char *desc, const char *version, void *handle, + void *deinit_func, int fake, int free_strings) +{ + hexchat_plugin *pl; + + pl = g_new (hexchat_plugin, 1); + pl->handle = handle; + pl->filename = filename; + pl->context = ctx; + pl->name = (char *)name; + pl->desc = (char *)desc; + pl->version = (char *)version; + pl->deinit_callback = deinit_func; + pl->fake = fake; + pl->free_strings = free_strings; /* free() name,desc,version? */ + + plugin_list = g_slist_prepend (plugin_list, pl); + + return pl; +} + +#ifndef WIN32 +static void * +hexchat_dummy (hexchat_plugin *ph) +{ + return NULL; +} + +#else + +static int +hexchat_read_fd (hexchat_plugin *ph, GIOChannel *source, char *buf, int *len) +{ + GError *error = NULL; + + g_io_channel_set_buffered (source, FALSE); + g_io_channel_set_encoding (source, NULL, &error); + + if (g_io_channel_read_chars (source, buf, *len, (gsize*)len, &error) == G_IO_STATUS_NORMAL) + { + return 0; + } + else + { + return -1; + } +} +#endif + +/* Load a static plugin */ + +void +plugin_add (session *sess, char *filename, void *handle, void *init_func, + void *deinit_func, char *arg, int fake) +{ + hexchat_plugin *pl; + char *file; + + file = g_strdup (filename); + + pl = plugin_list_add (sess, file, file, NULL, NULL, handle, deinit_func, + fake, FALSE); + + if (!fake) + { + /* win32 uses these because it doesn't have --export-dynamic! */ + pl->hexchat_hook_command = hexchat_hook_command; + pl->hexchat_hook_server = hexchat_hook_server; + pl->hexchat_hook_print = hexchat_hook_print; + pl->hexchat_hook_timer = hexchat_hook_timer; + pl->hexchat_hook_fd = hexchat_hook_fd; + pl->hexchat_unhook = hexchat_unhook; + pl->hexchat_print = hexchat_print; + pl->hexchat_printf = hexchat_printf; + pl->hexchat_command = hexchat_command; + pl->hexchat_commandf = hexchat_commandf; + pl->hexchat_nickcmp = hexchat_nickcmp; + pl->hexchat_set_context = hexchat_set_context; + pl->hexchat_find_context = hexchat_find_context; + pl->hexchat_get_context = hexchat_get_context; + pl->hexchat_get_info = hexchat_get_info; + pl->hexchat_get_prefs = hexchat_get_prefs; + pl->hexchat_list_get = hexchat_list_get; + pl->hexchat_list_free = hexchat_list_free; + pl->hexchat_list_fields = hexchat_list_fields; + pl->hexchat_list_str = hexchat_list_str; + pl->hexchat_list_next = hexchat_list_next; + pl->hexchat_list_int = hexchat_list_int; + pl->hexchat_plugingui_add = hexchat_plugingui_add; + pl->hexchat_plugingui_remove = hexchat_plugingui_remove; + pl->hexchat_emit_print = hexchat_emit_print; +#ifdef WIN32 + pl->hexchat_read_fd = (void *) hexchat_read_fd; +#else + pl->hexchat_read_fd = hexchat_dummy; +#endif + pl->hexchat_list_time = hexchat_list_time; + pl->hexchat_gettext = hexchat_gettext; + pl->hexchat_send_modes = hexchat_send_modes; + pl->hexchat_strip = hexchat_strip; + pl->hexchat_free = hexchat_free; + pl->hexchat_pluginpref_set_str = hexchat_pluginpref_set_str; + pl->hexchat_pluginpref_get_str = hexchat_pluginpref_get_str; + pl->hexchat_pluginpref_set_int = hexchat_pluginpref_set_int; + pl->hexchat_pluginpref_get_int = hexchat_pluginpref_get_int; + pl->hexchat_pluginpref_delete = hexchat_pluginpref_delete; + pl->hexchat_pluginpref_list = hexchat_pluginpref_list; + pl->hexchat_hook_server_attrs = hexchat_hook_server_attrs; + pl->hexchat_hook_print_attrs = hexchat_hook_print_attrs; + pl->hexchat_emit_print_attrs = hexchat_emit_print_attrs; + pl->hexchat_event_attrs_create = hexchat_event_attrs_create; + pl->hexchat_event_attrs_free = hexchat_event_attrs_free; + + /* run hexchat_plugin_init, if it returns 0, close the plugin */ + if (((hexchat_init_func *)init_func) (pl, &pl->name, &pl->desc, &pl->version, arg) == 0) + { + plugin_free (pl, FALSE, FALSE); + return; + } + } + +#ifdef USE_PLUGIN + fe_pluginlist_update (); +#endif +} + +/* kill any plugin by the given (file) name (used by /unload) */ + +int +plugin_kill (char *name, int by_filename) +{ + GSList *list; + hexchat_plugin *pl; + + list = plugin_list; + while (list) + { + pl = list->data; + /* static-plugins (plugin-timer.c) have a NULL filename */ + if ((by_filename && pl->filename && g_ascii_strcasecmp (name, pl->filename) == 0) || + (by_filename && pl->filename && g_ascii_strcasecmp (name, file_part (pl->filename)) == 0) || + (!by_filename && g_ascii_strcasecmp (name, pl->name) == 0)) + { + /* statically linked plugins have a NULL filename */ + if (pl->filename != NULL && !pl->fake) + { + if (plugin_free (pl, TRUE, TRUE)) + return 1; + return 2; + } + } + list = list->next; + } + + return 0; +} + +/* kill all running plugins (at shutdown) */ + +void +plugin_kill_all (void) +{ + GSList *list, *next; + hexchat_plugin *pl; + + list = plugin_list; + while (list) + { + pl = list->data; + next = list->next; + if (!pl->fake) + plugin_free (list->data, TRUE, FALSE); + list = next; + } +} + +#if defined(USE_PLUGIN) || defined(WIN32) +/* used for loading plugins, and in fe-gtk/notifications/notification-windows.c */ + +GModule * +module_load (char *filename) +{ + void *handle; + char *filepart; + char *pluginpath; + + /* get the filename without path */ + filepart = file_part (filename); + + /* load the plugin */ + if (!g_ascii_strcasecmp (filepart, filename)) + { + /* no path specified, it's just the filename, try to load from config dir */ + pluginpath = g_build_filename (get_xdir (), "addons", filename, NULL); + handle = g_module_open (pluginpath, 0); + g_free (pluginpath); + } + else + { + /* try to load with absolute path */ + handle = g_module_open (filename, 0); + } + + return handle; +} + +#endif + +#ifdef USE_PLUGIN + +/* load a plugin from a filename. Returns: NULL-success or an error string */ + +char * +plugin_load (session *sess, char *filename, char *arg) +{ + GModule *handle = module_load (filename); + hexchat_init_func *init_func; + hexchat_deinit_func *deinit_func; + + if (handle == NULL) + return (char *)g_module_error (); + + /* find the init routine hexchat_plugin_init */ + if (!g_module_symbol (handle, "hexchat_plugin_init", (gpointer *)&init_func)) + { + g_module_close (handle); + return _("No hexchat_plugin_init symbol; is this really a HexChat plugin?"); + } + + /* find the plugin's deinit routine, if any */ + if (!g_module_symbol (handle, "hexchat_plugin_deinit", (gpointer *)&deinit_func)) + deinit_func = NULL; + + /* add it to our linked list */ + plugin_add (sess, filename, handle, init_func, deinit_func, arg, FALSE); + + return NULL; +} + +static session *ps; + +static void +plugin_auto_load_cb (char *filename) +{ + char *pMsg; + + pMsg = plugin_load (ps, filename, NULL); + if (pMsg) + { + PrintTextf (ps, "AutoLoad failed for: %s\n", filename); + PrintText (ps, pMsg); + } +} + +static const char * +plugin_get_libdir (void) +{ + const char *libdir; + + libdir = g_getenv ("HEXCHAT_LIBDIR"); + if (libdir && *libdir) + return libdir; + else + return HEXCHATLIBDIR; +} + +void +plugin_auto_load (session *sess) +{ + const char *lib_dir; + char *sub_dir; + ps = sess; + + lib_dir = plugin_get_libdir (); + sub_dir = g_build_filename (get_xdir (), "addons", NULL); + +#ifdef WIN32 + /* a long list of bundled plugins that should be loaded automatically, + * user plugins should go to <config>, leave Program Files alone! */ + for_files (lib_dir, "hcchecksum.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcexec.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcfishlim.dll", plugin_auto_load_cb); + for_files(lib_dir, "hclua.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcperl.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcpython3.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcupd.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcwinamp.dll", plugin_auto_load_cb); + for_files (lib_dir, "hcsysinfo.dll", plugin_auto_load_cb); +#else + for_files (lib_dir, "*."PLUGIN_SUFFIX, plugin_auto_load_cb); +#endif + + for_files (sub_dir, "*."PLUGIN_SUFFIX, plugin_auto_load_cb); + + g_free (sub_dir); +} + +int +plugin_reload (session *sess, char *name, int by_filename) +{ + GSList *list; + char *filename; + char *ret; + hexchat_plugin *pl; + + list = plugin_list; + while (list) + { + pl = list->data; + /* static-plugins (plugin-timer.c) have a NULL filename */ + if ((by_filename && pl->filename && g_ascii_strcasecmp (name, pl->filename) == 0) || + (by_filename && pl->filename && g_ascii_strcasecmp (name, file_part (pl->filename)) == 0) || + (!by_filename && g_ascii_strcasecmp (name, pl->name) == 0)) + { + /* statically linked plugins have a NULL filename */ + if (pl->filename != NULL && !pl->fake) + { + filename = g_strdup (pl->filename); + plugin_free (pl, TRUE, FALSE); + ret = plugin_load (sess, filename, NULL); + g_free (filename); + if (ret == NULL) + return 1; + else + return 0; + } + else + return 2; + } + list = list->next; + } + + return 0; +} + +#endif + +static GSList * +plugin_hook_find (GSList *list, int type, char *name) +{ + hexchat_hook *hook; + + while (list) + { + hook = list->data; + if (hook && (hook->type & type)) + { + if (g_ascii_strcasecmp (hook->name, name) == 0) + return list; + + if ((type & HOOK_SERVER) + && g_ascii_strcasecmp (hook->name, "RAW LINE") == 0) + return list; + } + list = list->next; + } + + return NULL; +} + +/* check for plugin hooks and run them */ + +static int +plugin_hook_run (session *sess, char *name, char *word[], char *word_eol[], + hexchat_event_attrs *attrs, int type) +{ + GSList *list, *next; + hexchat_hook *hook; + int ret, eat = 0; + + list = hook_list; + while (1) + { + list = plugin_hook_find (list, type, name); + if (!list) + goto xit; + + hook = list->data; + next = list->next; + hook->pl->context = sess; + + /* run the plugin's callback function */ + switch (hook->type) + { + case HOOK_COMMAND: + ret = ((hexchat_cmd_cb *)hook->callback) (word, word_eol, hook->userdata); + break; + case HOOK_PRINT_ATTRS: + ret = ((hexchat_print_attrs_cb *)hook->callback) (word, attrs, hook->userdata); + break; + case HOOK_SERVER: + ret = ((hexchat_serv_cb *)hook->callback) (word, word_eol, hook->userdata); + break; + case HOOK_SERVER_ATTRS: + ret = ((hexchat_serv_attrs_cb *)hook->callback) (word, word_eol, attrs, hook->userdata); + break; + default: /*case HOOK_PRINT:*/ + ret = ((hexchat_print_cb *)hook->callback) (word, hook->userdata); + break; + } + + if ((ret & HEXCHAT_EAT_HEXCHAT) && (ret & HEXCHAT_EAT_PLUGIN)) + { + eat = 1; + goto xit; + } + if (ret & HEXCHAT_EAT_PLUGIN) + goto xit; /* stop running plugins */ + if (ret & HEXCHAT_EAT_HEXCHAT) + eat = 1; /* eventually we'll return 1, but continue running plugins */ + + list = next; + } + +xit: + /* really remove deleted hooks now */ + list = hook_list; + while (list) + { + hook = list->data; + next = list->next; + if (!hook || hook->type == HOOK_DELETED) + { + hook_list = g_slist_remove (hook_list, hook); + g_free (hook); + } + list = next; + } + + return eat; +} + +/* execute a plugged in command. Called from outbound.c */ + +int +plugin_emit_command (session *sess, char *name, char *word[], char *word_eol[]) +{ + return plugin_hook_run (sess, name, word, word_eol, NULL, HOOK_COMMAND); +} + +hexchat_event_attrs * +hexchat_event_attrs_create (hexchat_plugin *ph) +{ + return g_new0 (hexchat_event_attrs, 1); +} + +void +hexchat_event_attrs_free (hexchat_plugin *ph, hexchat_event_attrs *attrs) +{ + g_free (attrs); +} + +/* got a server PRIVMSG, NOTICE, numeric etc... */ + +int +plugin_emit_server (session *sess, char *name, char *word[], char *word_eol[], + time_t server_time) +{ + hexchat_event_attrs attrs; + + attrs.server_time_utc = server_time; + + return plugin_hook_run (sess, name, word, word_eol, &attrs, + HOOK_SERVER | HOOK_SERVER_ATTRS); +} + +/* see if any plugins are interested in this print event */ + +int +plugin_emit_print (session *sess, char *word[], time_t server_time) +{ + hexchat_event_attrs attrs; + + attrs.server_time_utc = server_time; + + return plugin_hook_run (sess, word[0], word, NULL, &attrs, + HOOK_PRINT | HOOK_PRINT_ATTRS); +} + +int +plugin_emit_dummy_print (session *sess, char *name) +{ + char *word[PDIWORDS]; + int i; + + word[0] = name; + for (i = 1; i < PDIWORDS; i++) + word[i] = "\000"; + + return plugin_hook_run (sess, name, word, NULL, NULL, HOOK_PRINT); +} + +int +plugin_emit_keypress (session *sess, unsigned int state, unsigned int keyval, gunichar key) +{ + char *word[PDIWORDS]; + char keyval_str[16]; + char state_str[16]; + char len_str[16]; + char key_str[7]; + int i, len; + + if (!hook_list) + return 0; + + sprintf (keyval_str, "%u", keyval); + sprintf (state_str, "%u", state); + if (!key) + len = 0; + else + len = g_unichar_to_utf8 (key, key_str); + key_str[len] = '\0'; + sprintf (len_str, "%d", len); + + word[0] = "Key Press"; + word[1] = keyval_str; + word[2] = state_str; + word[3] = key_str; + word[4] = len_str; + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + return plugin_hook_run (sess, word[0], word, NULL, NULL, HOOK_PRINT); +} + +static int +plugin_timeout_cb (hexchat_hook *hook) +{ + int ret; + + /* timer_cb's context starts as front-most-tab */ + hook->pl->context = current_sess; + + /* call the plugin's timeout function */ + ret = ((hexchat_timer_cb *)hook->callback) (hook->userdata); + + /* the callback might have already unhooked it! */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return 0; + + if (ret == 0) + { + hook->tag = 0; /* avoid fe_timeout_remove, returning 0 is enough! */ + hexchat_unhook (hook->pl, hook); + } + + return ret; +} + +/* insert a hook into hook_list according to its priority */ + +static void +plugin_insert_hook (hexchat_hook *new_hook) +{ + GSList *list; + hexchat_hook *hook; + int new_hook_type; + + switch (new_hook->type) + { + case HOOK_PRINT: + case HOOK_PRINT_ATTRS: + new_hook_type = HOOK_PRINT | HOOK_PRINT_ATTRS; + break; + case HOOK_SERVER: + case HOOK_SERVER_ATTRS: + new_hook_type = HOOK_SERVER | HOOK_PRINT_ATTRS; + break; + default: + new_hook_type = new_hook->type; + } + + list = hook_list; + while (list) + { + hook = list->data; + if (hook && (hook->type & new_hook_type) && hook->pri <= new_hook->pri) + { + hook_list = g_slist_insert_before (hook_list, list, new_hook); + return; + } + list = list->next; + } + + hook_list = g_slist_append (hook_list, new_hook); +} + +static gboolean +plugin_fd_cb (GIOChannel *source, GIOCondition condition, hexchat_hook *hook) +{ + int flags = 0, ret; + typedef int (hexchat_fd_cb2) (int fd, int flags, void *user_data, GIOChannel *); + + if (condition & G_IO_IN) + flags |= HEXCHAT_FD_READ; + if (condition & G_IO_OUT) + flags |= HEXCHAT_FD_WRITE; + if (condition & G_IO_PRI) + flags |= HEXCHAT_FD_EXCEPTION; + + ret = ((hexchat_fd_cb2 *)hook->callback) (hook->pri, flags, hook->userdata, source); + + /* the callback might have already unhooked it! */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return 0; + + if (ret == 0) + { + hook->tag = 0; /* avoid fe_input_remove, returning 0 is enough! */ + hexchat_unhook (hook->pl, hook); + } + + return ret; +} + +/* allocate and add a hook to our list. Used for all 4 types */ + +static hexchat_hook * +plugin_add_hook (hexchat_plugin *pl, int type, int pri, const char *name, + const char *help_text, void *callb, int timeout, void *userdata) +{ + hexchat_hook *hook; + + hook = g_new0 (hexchat_hook, 1); + hook->type = type; + hook->pri = pri; + hook->name = g_strdup (name); + hook->help_text = g_strdup (help_text); + hook->callback = callb; + hook->pl = pl; + hook->userdata = userdata; + + /* insert it into the linked list */ + plugin_insert_hook (hook); + + if (type == HOOK_TIMER) + hook->tag = fe_timeout_add (timeout, plugin_timeout_cb, hook); + + return hook; +} + +GList * +plugin_command_list(GList *tmp_list) +{ + hexchat_hook *hook; + GSList *list = hook_list; + + while (list) + { + hook = list->data; + if (hook && hook->type == HOOK_COMMAND) + tmp_list = g_list_prepend(tmp_list, hook->name); + list = list->next; + } + return tmp_list; +} + +void +plugin_command_foreach (session *sess, void *userdata, + void (*cb) (session *sess, void *userdata, char *name, char *help)) +{ + GSList *list; + hexchat_hook *hook; + + list = hook_list; + while (list) + { + hook = list->data; + if (hook && hook->type == HOOK_COMMAND && hook->name[0]) + { + cb (sess, userdata, hook->name, hook->help_text); + } + list = list->next; + } +} + +int +plugin_show_help (session *sess, char *cmd) +{ + GSList *list; + hexchat_hook *hook; + + list = plugin_hook_find (hook_list, HOOK_COMMAND, cmd); + if (list) + { + hook = list->data; + if (hook->help_text) + { + PrintText (sess, hook->help_text); + return 1; + } + } + + return 0; +} + +session * +plugin_find_context (const char *servname, const char *channel, server *current_server) +{ + GSList *slist, *clist, *sessions = NULL; + server *serv; + session *sess; + char *netname; + + if (servname == NULL && channel == NULL) + return current_sess; + + slist = serv_list; + while (slist) + { + serv = slist->data; + netname = server_get_network (serv, TRUE); + + if (servname == NULL || + rfc_casecmp (servname, serv->servername) == 0 || + g_ascii_strcasecmp (servname, serv->hostname) == 0 || + g_ascii_strcasecmp (servname, netname) == 0) + { + if (channel == NULL) + return serv->front_session; + + clist = sess_list; + while (clist) + { + sess = clist->data; + if (sess->server == serv) + { + if (rfc_casecmp (channel, sess->channel) == 0) + { + if (sess->server == current_server) + { + g_slist_free (sessions); + return sess; + } else + { + sessions = g_slist_prepend (sessions, sess); + } + } + } + clist = clist->next; + } + } + slist = slist->next; + } + + if (sessions) + { + sessions = g_slist_reverse (sessions); + sess = sessions->data; + g_slist_free (sessions); + return sess; + } + + return NULL; +} + + +/* ========================================================= */ +/* ===== these are the functions plugins actually call ===== */ +/* ========================================================= */ + +void * +hexchat_unhook (hexchat_plugin *ph, hexchat_hook *hook) +{ + /* perl.c trips this */ + if (!g_slist_find (hook_list, hook) || hook->type == HOOK_DELETED) + return NULL; + + if (hook->type == HOOK_TIMER && hook->tag != 0) + fe_timeout_remove (hook->tag); + + if (hook->type == HOOK_FD && hook->tag != 0) + fe_input_remove (hook->tag); + + hook->type = HOOK_DELETED; /* expunge later */ + + g_free (hook->name); /* NULL for timers & fds */ + g_free (hook->help_text); /* NULL for non-commands */ + + return hook->userdata; +} + +hexchat_hook * +hexchat_hook_command (hexchat_plugin *ph, const char *name, int pri, + hexchat_cmd_cb *callb, const char *help_text, void *userdata) +{ + return plugin_add_hook (ph, HOOK_COMMAND, pri, name, help_text, callb, 0, + userdata); +} + +hexchat_hook * +hexchat_hook_server (hexchat_plugin *ph, const char *name, int pri, + hexchat_serv_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_SERVER, pri, name, 0, callb, 0, userdata); +} + +hexchat_hook * +hexchat_hook_server_attrs (hexchat_plugin *ph, const char *name, int pri, + hexchat_serv_attrs_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_SERVER_ATTRS, pri, name, 0, callb, 0, + userdata); +} + +hexchat_hook * +hexchat_hook_print (hexchat_plugin *ph, const char *name, int pri, + hexchat_print_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_PRINT, pri, name, 0, callb, 0, userdata); +} + +hexchat_hook * +hexchat_hook_print_attrs (hexchat_plugin *ph, const char *name, int pri, + hexchat_print_attrs_cb *callb, void *userdata) +{ + return plugin_add_hook (ph, HOOK_PRINT_ATTRS, pri, name, 0, callb, 0, + userdata); +} + +hexchat_hook * +hexchat_hook_timer (hexchat_plugin *ph, int timeout, hexchat_timer_cb *callb, + void *userdata) +{ + return plugin_add_hook (ph, HOOK_TIMER, 0, 0, 0, callb, timeout, userdata); +} + +hexchat_hook * +hexchat_hook_fd (hexchat_plugin *ph, int fd, int flags, + hexchat_fd_cb *callb, void *userdata) +{ + hexchat_hook *hook; + + hook = plugin_add_hook (ph, HOOK_FD, 0, 0, 0, callb, 0, userdata); + hook->pri = fd; + /* plugin hook_fd flags correspond exactly to FIA_* flags (fe.h) */ + hook->tag = fe_input_add (fd, flags, plugin_fd_cb, hook); + + return hook; +} + +void +hexchat_print (hexchat_plugin *ph, const char *text) +{ + if (!is_session (ph->context)) + { + DEBUG(PrintTextf(0, "%s\thexchat_print called without a valid context.\n", ph->name)); + return; + } + + PrintText (ph->context, (char *)text); +} + +void +hexchat_printf (hexchat_plugin *ph, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + hexchat_print (ph, buf); + g_free (buf); +} + +void +hexchat_command (hexchat_plugin *ph, const char *command) +{ + char *command_utf8; + + if (!is_session (ph->context)) + { + DEBUG(PrintTextf(0, "%s\thexchat_command called without a valid context.\n", ph->name)); + return; + } + + /* scripts/plugins continue to send non-UTF8... *sigh* */ + command_utf8 = text_fixup_invalid_utf8 (command, -1, NULL); + handle_command (ph->context, command_utf8, FALSE); + g_free (command_utf8); +} + +void +hexchat_commandf (hexchat_plugin *ph, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + hexchat_command (ph, buf); + g_free (buf); +} + +int +hexchat_nickcmp (hexchat_plugin *ph, const char *s1, const char *s2) +{ + return ((session *)ph->context)->server->p_cmp (s1, s2); +} + +hexchat_context * +hexchat_get_context (hexchat_plugin *ph) +{ + return ph->context; +} + +int +hexchat_set_context (hexchat_plugin *ph, hexchat_context *context) +{ + if (is_session (context)) + { + ph->context = context; + return 1; + } + return 0; +} + +hexchat_context * +hexchat_find_context (hexchat_plugin *ph, const char *servname, const char *channel) +{ + return plugin_find_context (servname, channel, ph->context->server); +} + +const char * +hexchat_get_info (hexchat_plugin *ph, const char *id) +{ + session *sess; + guint32 hash; + + /* 1234567890 */ + if (!strncmp (id, "event_text", 10)) + { + char *e = (char *)id + 10; + if (*e == ' ') e++; /* 2.8.0 only worked without a space */ + return text_find_format_string (e); + } + + hash = str_hash (id); + /* do the session independant ones first */ + switch (hash) + { + case 0x325acab5: /* libdirfs */ +#ifdef USE_PLUGIN + return plugin_get_libdir (); +#else + return NULL; +#endif + + case 0x14f51cd8: /* version */ + return PACKAGE_VERSION; + + case 0xdd9b1abd: /* xchatdir */ + case 0xe33f6c4a: /* xchatdirfs */ + case 0xd00d220b: /* configdir */ + return get_xdir (); + } + + sess = ph->context; + if (!is_session (sess)) + { + DEBUG(PrintTextf(0, "%s\thexchat_get_info called without a valid context.\n", ph->name)); + return NULL; + } + + switch (hash) + { + case 0x2de2ee: /* away */ + if (sess->server->is_away) + return sess->server->last_away_reason; + return NULL; + + case 0x2c0b7d03: /* channel */ + return sess->channel; + + case 0x2c0d614c: /* charset */ + { + const char *locale; + + if (sess->server->encoding) + return sess->server->encoding; + + locale = NULL; + g_get_charset (&locale); + return locale; + } + + case 0x30f5a8: /* host */ + return sess->server->hostname; + + case 0x1c0e99c1: /* inputbox */ + return fe_get_inputbox_contents (sess); + + case 0x633fb30: /* modes */ + return sess->current_modes; + + case 0x6de15a2e: /* network */ + return server_get_network (sess->server, FALSE); + + case 0x339763: /* nick */ + return sess->server->nick; + + case 0x4889ba9b: /* password */ + case 0x438fdf9: /* nickserv */ + if (sess->server->network) + return ((ircnet *)sess->server->network)->pass; + return NULL; + + case 0xca022f43: /* server */ + if (!sess->server->connected) + return NULL; + return sess->server->servername; + + case 0x696cd2f: /* topic */ + return sess->topic; + + case 0x3419f12d: /* gtkwin_ptr */ + return fe_gui_info_ptr (sess, 1); + + case 0x506d600b: /* native win_ptr */ + return fe_gui_info_ptr (sess, 0); + + case 0x6d3431b5: /* win_status */ + switch (fe_gui_info (sess, 0)) /* check window status */ + { + case 0: return "normal"; + case 1: return "active"; + case 2: return "hidden"; + } + return NULL; + } + + return NULL; +} + +int +hexchat_get_prefs (hexchat_plugin *ph, const char *name, const char **string, int *integer) +{ + int i = 0; + + /* some special run-time info (not really prefs, but may aswell throw it in here) */ + switch (str_hash (name)) + { + case 0xf82136c4: /* state_cursor */ + *integer = fe_get_inputbox_cursor (ph->context); + return 2; + + case 0xd1b: /* id */ + *integer = ph->context->server->id; + return 2; + } + + do + { + if (!g_ascii_strcasecmp (name, vars[i].name)) + { + switch (vars[i].type) + { + case TYPE_STR: + *string = ((char *) &prefs + vars[i].offset); + return 1; + + case TYPE_INT: + *integer = *((int *) &prefs + vars[i].offset); + return 2; + + default: + /*case TYPE_BOOL:*/ + if (*((int *) &prefs + vars[i].offset)) + *integer = 1; + else + *integer = 0; + return 3; + } + } + i++; + } + while (vars[i].name); + + return 0; +} + +hexchat_list * +hexchat_list_get (hexchat_plugin *ph, const char *name) +{ + hexchat_list *list; + + list = g_new0 (hexchat_list, 1); + + switch (str_hash (name)) + { + case 0x556423d0: /* channels */ + list->type = LIST_CHANNELS; + list->next = sess_list; + break; + + case 0x183c4: /* dcc */ + list->type = LIST_DCC; + list->next = dcc_list; + break; + + case 0xb90bfdd2: /* ignore */ + list->type = LIST_IGNORE; + list->next = ignore_list; + break; + + case 0xc2079749: /* notify */ + list->type = LIST_NOTIFY; + list->next = notify_list; + list->head = (void *)ph->context; /* reuse this pointer */ + break; + + case 0x6a68e08: /* users */ + if (is_session (ph->context)) + { + list->type = LIST_USERS; + list->head = list->next = userlist_flat_list (ph->context); + fe_userlist_set_selected (ph->context); + break; + } /* fall through */ + + default: + g_free (list); + return NULL; + } + + return list; +} + +void +hexchat_list_free (hexchat_plugin *ph, hexchat_list *xlist) +{ + if (xlist->type == LIST_USERS) + g_slist_free (xlist->head); + g_free (xlist); +} + +int +hexchat_list_next (hexchat_plugin *ph, hexchat_list *xlist) +{ + if (xlist->next == NULL) + return 0; + + xlist->pos = xlist->next; + xlist->next = xlist->pos->next; + + /* NOTIFY LIST: Find the entry which matches the context + of the plugin when list_get was originally called. */ + if (xlist->type == LIST_NOTIFY) + { + xlist->notifyps = notify_find_server_entry (xlist->pos->data, + ((session *)xlist->head)->server); + if (!xlist->notifyps) + return 0; + } + + return 1; +} + +const char * const * +hexchat_list_fields (hexchat_plugin *ph, const char *name) +{ + static const char * const dcc_fields[] = + { + "iaddress32","icps", "sdestfile","sfile", "snick", "iport", + "ipos", "iposhigh", "iresume", "iresumehigh", "isize", "isizehigh", "istatus", "itype", NULL + }; + static const char * const channels_fields[] = + { + "schannel", "schannelkey", "schanmodes", "schantypes", "pcontext", "iflags", "iid", "ilag", "imaxmodes", + "snetwork", "snickmodes", "snickprefixes", "iqueue", "sserver", "itype", "iusers", + NULL + }; + static const char * const ignore_fields[] = + { + "iflags", "smask", NULL + }; + static const char * const notify_fields[] = + { + "iflags", "snetworks", "snick", "toff", "ton", "tseen", NULL + }; + static const char * const users_fields[] = + { + "saccount", "iaway", "shost", "tlasttalk", "snick", "sprefix", "srealname", "iselected", NULL + }; + static const char * const list_of_lists[] = + { + "channels", "dcc", "ignore", "notify", "users", NULL + }; + + switch (str_hash (name)) + { + case 0x556423d0: /* channels */ + return channels_fields; + case 0x183c4: /* dcc */ + return dcc_fields; + case 0xb90bfdd2: /* ignore */ + return ignore_fields; + case 0xc2079749: /* notify */ + return notify_fields; + case 0x6a68e08: /* users */ + return users_fields; + case 0x6236395: /* lists */ + return list_of_lists; + } + + return NULL; +} + +time_t +hexchat_list_time (hexchat_plugin *ph, hexchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data; + + switch (xlist->type) + { + case LIST_NOTIFY: + if (!xlist->notifyps) + return (time_t) -1; + switch (hash) + { + case 0x1ad6f: /* off */ + return xlist->notifyps->lastoff; + case 0xddf: /* on */ + return xlist->notifyps->laston; + case 0x35ce7b: /* seen */ + return xlist->notifyps->lastseen; + } + break; + + case LIST_USERS: + data = xlist->pos->data; + switch (hash) + { + case 0xa9118c42: /* lasttalk */ + return ((struct User *)data)->lasttalk; + } + } + + return (time_t) -1; +} + +const char * +hexchat_list_str (hexchat_plugin *ph, hexchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data = ph->context; + int type = LIST_CHANNELS; + + /* a NULL xlist is a shortcut to current "channels" context */ + if (xlist) + { + data = xlist->pos->data; + type = xlist->type; + } + + switch (type) + { + case LIST_CHANNELS: + switch (hash) + { + case 0x2c0b7d03: /* channel */ + return ((session *)data)->channel; + case 0x8cea5e7c: /* channelkey */ + return ((session *)data)->channelkey; + case 0x5716ab1e: /* chanmodes */ + return ((session*)data)->server->chanmodes; + case 0x577e0867: /* chantypes */ + return ((session *)data)->server->chantypes; + case 0x38b735af: /* context */ + return data; /* this is a session * */ + case 0x6de15a2e: /* network */ + return server_get_network (((session *)data)->server, FALSE); + case 0x8455e723: /* nickprefixes */ + return ((session *)data)->server->nick_prefixes; + case 0x829689ad: /* nickmodes */ + return ((session *)data)->server->nick_modes; + case 0xca022f43: /* server */ + return ((session *)data)->server->servername; + } + break; + + case LIST_DCC: + switch (hash) + { + case 0x3d9ad31e: /* destfile */ + return ((struct DCC *)data)->destfile; + case 0x2ff57c: /* file */ + return ((struct DCC *)data)->file; + case 0x339763: /* nick */ + return ((struct DCC *)data)->nick; + } + break; + + case LIST_IGNORE: + switch (hash) + { + case 0x3306ec: /* mask */ + return ((struct ignore *)data)->mask; + } + break; + + case LIST_NOTIFY: + switch (hash) + { + case 0x4e49ec05: /* networks */ + return ((struct notify *)data)->networks; + case 0x339763: /* nick */ + return ((struct notify *)data)->name; + } + break; + + case LIST_USERS: + switch (hash) + { + case 0xb9d38a2d: /* account */ + return ((struct User *)data)->account; + case 0x339763: /* nick */ + return ((struct User *)data)->nick; + case 0x30f5a8: /* host */ + return ((struct User *)data)->hostname; + case 0xc594b292: /* prefix */ + return ((struct User *)data)->prefix; + case 0xccc6d529: /* realname */ + return ((struct User *)data)->realname; + } + break; + } + + return NULL; +} + +int +hexchat_list_int (hexchat_plugin *ph, hexchat_list *xlist, const char *name) +{ + guint32 hash = str_hash (name); + gpointer data = ph->context; + + int channel_flag; + int channel_flags[CHANNEL_FLAG_COUNT]; + int channel_flags_used = 0; + + int type = LIST_CHANNELS; + + /* a NULL xlist is a shortcut to current "channels" context */ + if (xlist) + { + data = xlist->pos->data; + type = xlist->type; + } + + switch (type) + { + case LIST_DCC: + switch (hash) + { + case 0x34207553: /* address32 */ + return ((struct DCC *)data)->addr; + case 0x181a6: /* cps */ + { + gint64 cps = ((struct DCC *)data)->cps; + if (cps <= INT_MAX) + { + return (int) cps; + } + return INT_MAX; + } + case 0x349881: /* port */ + return ((struct DCC *)data)->port; + case 0x1b254: /* pos */ + return ((struct DCC *)data)->pos & 0xffffffff; + case 0xe8a945f6: /* poshigh */ + return (((struct DCC *)data)->pos >> 32) & 0xffffffff; + case 0xc84dc82d: /* resume */ + return ((struct DCC *)data)->resumable & 0xffffffff; + case 0xded4c74f: /* resumehigh */ + return (((struct DCC *)data)->resumable >> 32) & 0xffffffff; + case 0x35e001: /* size */ + return ((struct DCC *)data)->size & 0xffffffff; + case 0x3284d523: /* sizehigh */ + return (((struct DCC *)data)->size >> 32) & 0xffffffff; + case 0xcacdcff2: /* status */ + return ((struct DCC *)data)->dccstat; + case 0x368f3a: /* type */ + return ((struct DCC *)data)->type; + } + break; + + case LIST_IGNORE: + switch (hash) + { + case 0x5cfee87: /* flags */ + return ((struct ignore *)data)->type; + } + break; + + case LIST_CHANNELS: + switch (hash) + { + case 0xd1b: /* id */ + return ((struct session *)data)->server->id; + case 0x5cfee87: /* flags */ + channel_flags[0] = ((struct session *)data)->server->connected; + channel_flags[1] = ((struct session *)data)->server->connecting; + channel_flags[2] = ((struct session *)data)->server->is_away; + channel_flags[3] = ((struct session *)data)->server->end_of_motd; + channel_flags[4] = ((struct session *)data)->server->have_whox; + channel_flags[5] = ((struct session *)data)->server->have_idmsg; + channel_flags[6] = ((struct session *)data)->text_hidejoinpart; + channel_flags[7] = ((struct session *)data)->text_hidejoinpart == SET_DEFAULT; + channel_flags[8] = ((struct session *)data)->alert_beep; + channel_flags[9] = ((struct session *)data)->alert_beep == SET_DEFAULT; + channel_flags[10] = 0; /* unused for historical reasons */ + channel_flags[11] = ((struct session *)data)->text_logging; + channel_flags[12] = ((struct session *)data)->text_logging == SET_DEFAULT; + channel_flags[13] = ((struct session *)data)->text_scrollback; + channel_flags[14] = ((struct session *)data)->text_scrollback == SET_DEFAULT; + channel_flags[15] = ((struct session *)data)->text_strip; + channel_flags[16] = ((struct session *)data)->text_strip == SET_DEFAULT; + channel_flags[17] = ((struct session *)data)->alert_tray; + channel_flags[18] = ((struct session *)data)->alert_tray == SET_DEFAULT; + channel_flags[19] = ((struct session *)data)->alert_taskbar; + channel_flags[20] = ((struct session *)data)->alert_taskbar == SET_DEFAULT; + channel_flags[21] = ((struct session *)data)->alert_balloon; + channel_flags[22] = ((struct session *)data)->alert_balloon == SET_DEFAULT; + + /* Set flags */ + for (channel_flag = 0; channel_flag < CHANNEL_FLAG_COUNT; ++channel_flag) { + if (channel_flags[channel_flag]) { + channel_flags_used |= 1 << channel_flag; + } + } + + return channel_flags_used; + case 0x1a192: /* lag */ + return ((struct session *)data)->server->lag; + case 0x1916144c: /* maxmodes */ + return ((struct session *)data)->server->modes_per_line; + case 0x66f1911: /* queue */ + return ((struct session *)data)->server->sendq_len; + case 0x368f3a: /* type */ + return ((struct session *)data)->type; + case 0x6a68e08: /* users */ + return ((struct session *)data)->total; + } + break; + + case LIST_NOTIFY: + if (!xlist->notifyps) + return -1; + switch (hash) + { + case 0x5cfee87: /* flags */ + return xlist->notifyps->ison; + } + + case LIST_USERS: + switch (hash) + { + case 0x2de2ee: /* away */ + return ((struct User *)data)->away; + case 0x4705f29b: /* selected */ + return ((struct User *)data)->selected; + } + break; + + } + + return -1; +} + +void * +hexchat_plugingui_add (hexchat_plugin *ph, const char *filename, + const char *name, const char *desc, + const char *version, char *reserved) +{ +#ifdef USE_PLUGIN + ph = plugin_list_add (NULL, g_strdup (filename), g_strdup (name), g_strdup (desc), + g_strdup (version), NULL, NULL, TRUE, TRUE); + fe_pluginlist_update (); +#endif + + return ph; +} + +void +hexchat_plugingui_remove (hexchat_plugin *ph, void *handle) +{ +#ifdef USE_PLUGIN + plugin_free (handle, FALSE, FALSE); +#endif +} + +int +hexchat_emit_print (hexchat_plugin *ph, const char *event_name, ...) +{ + va_list args; + /* currently only 4 because no events use more than 4. + This can be easily expanded without breaking the API. */ + char *argv[4] = {NULL, NULL, NULL, NULL}; + int i = 0; + + va_start (args, event_name); + while (1) + { + argv[i] = va_arg (args, char *); + if (!argv[i]) + break; + i++; + if (i >= 4) + break; + } + + i = text_emit_by_name ((char *)event_name, ph->context, (time_t) 0, + argv[0], argv[1], argv[2], argv[3]); + va_end (args); + + return i; +} + +int +hexchat_emit_print_attrs (hexchat_plugin *ph, hexchat_event_attrs *attrs, + const char *event_name, ...) +{ + va_list args; + /* currently only 4 because no events use more than 4. + This can be easily expanded without breaking the API. */ + char *argv[4] = {NULL, NULL, NULL, NULL}; + int i = 0; + + va_start (args, event_name); + while (1) + { + argv[i] = va_arg (args, char *); + if (!argv[i]) + break; + i++; + if (i >= 4) + break; + } + + i = text_emit_by_name ((char *)event_name, ph->context, attrs->server_time_utc, + argv[0], argv[1], argv[2], argv[3]); + va_end (args); + + return i; +} + +char * +hexchat_gettext (hexchat_plugin *ph, const char *msgid) +{ + /* so that plugins can use HexChat's internal gettext strings. */ + /* e.g. The EXEC plugin uses this on Windows. */ + return _(msgid); +} + +void +hexchat_send_modes (hexchat_plugin *ph, const char **targets, int ntargets, int modes_per_line, char sign, char mode) +{ + char tbuf[514]; /* modes.c needs 512 + null */ + + send_channel_modes (ph->context, tbuf, (char **)targets, 0, ntargets, sign, mode, modes_per_line); +} + +char * +hexchat_strip (hexchat_plugin *ph, const char *str, int len, int flags) +{ + return strip_color ((char *)str, len, flags); +} + +void +hexchat_free (hexchat_plugin *ph, void *ptr) +{ + g_free (ptr); +} + +static int +hexchat_pluginpref_set_str_real (hexchat_plugin *pl, const char *var, const char *value, int mode) /* mode: 0 = delete, 1 = save */ +{ + FILE *fpIn; + int fhOut; + int prevSetting; + char *confname; + char *confname_tmp; + char *escaped_value; + char *buffer; + char *buffer_tmp; + char line_buffer[512]; /* the same as in cfg_put_str */ + char *line_bufp = line_buffer; + char *canon; + + canon = g_strdup (pl->name); + canonalize_key (canon); + confname = g_strdup_printf ("addon_%s.conf", canon); + g_free (canon); + confname_tmp = g_strdup_printf ("%s.new", confname); + + fhOut = hexchat_open_file (confname_tmp, O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + fpIn = hexchat_fopen_file (confname, "r", 0); + + if (fhOut == -1) /* unable to save, abort */ + { + g_free (confname); + g_free (confname_tmp); + if (fpIn) + fclose (fpIn); + return 0; + } + else if (fpIn == NULL) /* no previous config file, no parsing */ + { + if (mode) + { + escaped_value = g_strescape (value, NULL); + buffer = g_strdup_printf ("%s = %s\n", var, escaped_value); + g_free (escaped_value); + write (fhOut, buffer, strlen (buffer)); + g_free (buffer); + close (fhOut); + + buffer = g_build_filename (get_xdir (), confname, NULL); + g_free (confname); + buffer_tmp = g_build_filename (get_xdir (), confname_tmp, NULL); + g_free (confname_tmp); + +#ifdef WIN32 + g_unlink (buffer); +#endif + + if (g_rename (buffer_tmp, buffer) == 0) + { + g_free (buffer); + g_free (buffer_tmp); + return 1; + } + else + { + g_free (buffer); + g_free (buffer_tmp); + return 0; + } + } + else + { + /* mode = 0, we want to delete but the config file and thus the given setting does not exist, we're ready */ + close (fhOut); + g_free (confname); + g_free (confname_tmp); + return 1; + } + } + else /* existing config file, preserve settings and find & replace current var value if any */ + { + prevSetting = 0; + + while (fscanf (fpIn, " %511[^\n]", line_bufp) != EOF) /* read whole lines including whitespaces */ + { + buffer_tmp = g_strdup_printf ("%s ", var); /* add one space, this way it works against var - var2 checks too */ + + if (strncmp (buffer_tmp, line_buffer, strlen (var) + 1) == 0) /* given setting already exists */ + { + if (mode) /* overwrite the existing matching setting if we are in save mode */ + { + escaped_value = g_strescape (value, NULL); + buffer = g_strdup_printf ("%s = %s\n", var, escaped_value); + g_free (escaped_value); + } + else /* erase the setting in delete mode */ + { + buffer = g_strdup (""); + } + + prevSetting = 1; + } + else + { + buffer = g_strdup_printf ("%s\n", line_buffer); /* preserve the existing different settings */ + } + + write (fhOut, buffer, strlen (buffer)); + + g_free (buffer); + g_free (buffer_tmp); + } + + fclose (fpIn); + + if (!prevSetting && mode) /* var doesn't exist currently, append if we're in save mode */ + { + escaped_value = g_strescape (value, NULL); + buffer = g_strdup_printf ("%s = %s\n", var, escaped_value); + g_free (escaped_value); + write (fhOut, buffer, strlen (buffer)); + g_free (buffer); + } + + close (fhOut); + + buffer = g_build_filename (get_xdir (), confname, NULL); + g_free (confname); + buffer_tmp = g_build_filename (get_xdir (), confname_tmp, NULL); + g_free (confname_tmp); + +#ifdef WIN32 + g_unlink (buffer); +#endif + + if (g_rename (buffer_tmp, buffer) == 0) + { + g_free (buffer); + g_free (buffer_tmp); + return 1; + } + else + { + g_free (buffer); + g_free (buffer_tmp); + return 0; + } + } +} + +int +hexchat_pluginpref_set_str (hexchat_plugin *pl, const char *var, const char *value) +{ + return hexchat_pluginpref_set_str_real (pl, var, value, 1); +} + +static int +hexchat_pluginpref_get_str_real (hexchat_plugin *pl, const char *var, char *dest, int dest_len) +{ + char *confname, *canon, *cfg, *unescaped_value; + char buf[512]; + + canon = g_strdup (pl->name); + canonalize_key (canon); + confname = g_strdup_printf ("%s%caddon_%s.conf", get_xdir(), G_DIR_SEPARATOR, canon); + g_free (canon); + + if (!g_file_get_contents (confname, &cfg, NULL, NULL)) + { + g_free (confname); + return 0; + } + g_free (confname); + + if (!cfg_get_str (cfg, var, buf, sizeof(buf))) + { + g_free (cfg); + return 0; + } + + unescaped_value = g_strcompress (buf); + g_strlcpy (dest, unescaped_value, dest_len); + + g_free (unescaped_value); + g_free (cfg); + return 1; +} + +int +hexchat_pluginpref_get_str (hexchat_plugin *pl, const char *var, char *dest) +{ + /* All users of this must ensure dest is >= 512... */ + return hexchat_pluginpref_get_str_real (pl, var, dest, 512); +} + +int +hexchat_pluginpref_set_int (hexchat_plugin *pl, const char *var, int value) +{ + char buffer[12]; + + g_snprintf (buffer, sizeof (buffer), "%d", value); + return hexchat_pluginpref_set_str_real (pl, var, buffer, 1); +} + +int +hexchat_pluginpref_get_int (hexchat_plugin *pl, const char *var) +{ + char buffer[12]; + + if (hexchat_pluginpref_get_str_real (pl, var, buffer, sizeof(buffer))) + { + int ret = atoi (buffer); + + /* 0 could be success or failure, who knows */ + if (ret == 0 && *buffer != '0') + return -1; + + return ret; + } + else + { + return -1; + } +} + +int +hexchat_pluginpref_delete (hexchat_plugin *pl, const char *var) +{ + return hexchat_pluginpref_set_str_real (pl, var, 0, 0); +} + +int +hexchat_pluginpref_list (hexchat_plugin *pl, char* dest) +{ + FILE *fpIn; + char confname[64]; + char buffer[512]; /* the same as in cfg_put_str */ + char *bufp = buffer; + char *token; + + token = g_strdup (pl->name); + canonalize_key (token); + sprintf (confname, "addon_%s.conf", token); + g_free (token); + + fpIn = hexchat_fopen_file (confname, "r", 0); + + if (fpIn == NULL) /* no existing config file, no parsing */ + { + return 0; + } + else /* existing config file, get list of settings */ + { + strcpy (dest, ""); /* clean up garbage */ + while (fscanf (fpIn, " %511[^\n]", bufp) != EOF) /* read whole lines including whitespaces */ + { + token = strtok (buffer, "="); + g_strlcat (dest, g_strchomp (token), 4096); /* Dest must not be smaller than this */ + g_strlcat (dest, ",", 4096); + } + + fclose (fpIn); + } + + return 1; +} diff --git a/src/common/plugin.h b/src/common/plugin.h new file mode 100644 index 0000000000000000000000000000000000000000..fb7da831ad83da0498adedcab6afae98981925a6 --- /dev/null +++ b/src/common/plugin.h @@ -0,0 +1,192 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_COMMONPLUGIN_H +#define HEXCHAT_COMMONPLUGIN_H + +#ifdef PLUGIN_C +struct _hexchat_plugin +{ + /* Keep these in sync with hexchat-plugin.h */ + /* !!don't change the order, to keep binary compat!! */ + hexchat_hook *(*hexchat_hook_command) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + hexchat_hook *(*hexchat_hook_server) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_print) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_timer) (hexchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_fd) (hexchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*hexchat_unhook) (hexchat_plugin *ph, + hexchat_hook *hook); + void (*hexchat_print) (hexchat_plugin *ph, + const char *text); + void (*hexchat_printf) (hexchat_plugin *ph, + const char *format, ...); + void (*hexchat_command) (hexchat_plugin *ph, + const char *command); + void (*hexchat_commandf) (hexchat_plugin *ph, + const char *format, ...); + int (*hexchat_nickcmp) (hexchat_plugin *ph, + const char *s1, + const char *s2); + int (*hexchat_set_context) (hexchat_plugin *ph, + hexchat_context *ctx); + hexchat_context *(*hexchat_find_context) (hexchat_plugin *ph, + const char *servname, + const char *channel); + hexchat_context *(*hexchat_get_context) (hexchat_plugin *ph); + const char *(*hexchat_get_info) (hexchat_plugin *ph, + const char *id); + int (*hexchat_get_prefs) (hexchat_plugin *ph, + const char *name, + const char **string, + int *integer); + hexchat_list * (*hexchat_list_get) (hexchat_plugin *ph, + const char *name); + void (*hexchat_list_free) (hexchat_plugin *ph, + hexchat_list *xlist); + const char * const * (*hexchat_list_fields) (hexchat_plugin *ph, + const char *name); + int (*hexchat_list_next) (hexchat_plugin *ph, + hexchat_list *xlist); + const char * (*hexchat_list_str) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + int (*hexchat_list_int) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + void * (*hexchat_plugingui_add) (hexchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*hexchat_plugingui_remove) (hexchat_plugin *ph, + void *handle); + int (*hexchat_emit_print) (hexchat_plugin *ph, + const char *event_name, ...); + void *(*hexchat_read_fd) (hexchat_plugin *ph); + time_t (*hexchat_list_time) (hexchat_plugin *ph, + hexchat_list *xlist, + const char *name); + char *(*hexchat_gettext) (hexchat_plugin *ph, + const char *msgid); + void (*hexchat_send_modes) (hexchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*hexchat_strip) (hexchat_plugin *ph, + const char *str, + int len, + int flags); + void (*hexchat_free) (hexchat_plugin *ph, + void *ptr); + int (*hexchat_pluginpref_set_str) (hexchat_plugin *ph, + const char *var, + const char *value); + int (*hexchat_pluginpref_get_str) (hexchat_plugin *ph, + const char *var, + char *dest); + int (*hexchat_pluginpref_set_int) (hexchat_plugin *ph, + const char *var, + int value); + int (*hexchat_pluginpref_get_int) (hexchat_plugin *ph, + const char *var); + int (*hexchat_pluginpref_delete) (hexchat_plugin *ph, + const char *var); + int (*hexchat_pluginpref_list) (hexchat_plugin *ph, + char *dest); + hexchat_hook *(*hexchat_hook_server_attrs) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], + hexchat_event_attrs *attrs, void *user_data), + void *userdata); + hexchat_hook *(*hexchat_hook_print_attrs) (hexchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], hexchat_event_attrs *attrs, + void *user_data), + void *userdata); + int (*hexchat_emit_print_attrs) (hexchat_plugin *ph, hexchat_event_attrs *attrs, + const char *event_name, ...); + hexchat_event_attrs *(*hexchat_event_attrs_create) (hexchat_plugin *ph); + void (*hexchat_event_attrs_free) (hexchat_plugin *ph, + hexchat_event_attrs *attrs); + + /* PRIVATE FIELDS! */ + void *handle; /* from dlopen */ + char *filename; /* loaded from */ + char *name; + char *desc; + char *version; + session *context; + void *deinit_callback; /* pointer to hexchat_plugin_deinit */ + unsigned int fake:1; /* fake plugin. Added by hexchat_plugingui_add() */ + unsigned int free_strings:1; /* free name,desc,version? */ +}; +#endif + +GModule *module_load (char *filename); +char *plugin_load (session *sess, char *filename, char *arg); +int plugin_reload (session *sess, char *name, int by_filename); +void plugin_add (session *sess, char *filename, void *handle, void *init_func, void *deinit_func, char *arg, int fake); +int plugin_kill (char *name, int by_filename); +void plugin_kill_all (void); +void plugin_auto_load (session *sess); +int plugin_emit_command (session *sess, char *name, char *word[], char *word_eol[]); +int plugin_emit_server (session *sess, char *name, char *word[], char *word_eol[], + time_t server_time); +int plugin_emit_print (session *sess, char *word[], time_t server_time); +int plugin_emit_dummy_print (session *sess, char *name); +int plugin_emit_keypress (session *sess, unsigned int state, unsigned int keyval, gunichar key); +GList* plugin_command_list(GList *tmp_list); +int plugin_show_help (session *sess, char *cmd); +void plugin_command_foreach (session *sess, void *userdata, void (*cb) (session *sess, void *userdata, char *name, char *usage)); +session *plugin_find_context (const char *servname, const char *channel, server *current_server); + +/* On macOS, G_MODULE_SUFFIX says "so" but meson uses "dylib" + * https://github.com/mesonbuild/meson/issues/1160 */ +#if defined(__APPLE__) +# define PLUGIN_SUFFIX "dylib" +#else +# define PLUGIN_SUFFIX G_MODULE_SUFFIX +#endif + +#endif diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c new file mode 100644 index 0000000000000000000000000000000000000000..5b8e02c48f088ab6dbba6f1a81ceb18d09762b73 --- /dev/null +++ b/src/common/proto-irc.c @@ -0,0 +1,1702 @@ +/* X-Chat + * Copyright (C) 2002 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* IRC RFC1459(+commonly used extensions) protocol implementation */ + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <stdarg.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "proto-irc.h" +#include "ctcp.h" +#include "fe.h" +#include "ignore.h" +#include "inbound.h" +#include "modes.h" +#include "notify.h" +#include "plugin.h" +#include "server.h" +#include "text.h" +#include "outbound.h" +#include "util.h" +#include "hexchatc.h" +#include "url.h" +#include "servlist.h" + +static void +irc_login (server *serv, char *user, char *realname) +{ + tcp_sendf (serv, "CAP LS 302\r\n"); /* start with CAP LS as Charybdis sasl.txt suggests */ + serv->sent_capend = FALSE; /* track if we have finished */ + + if (serv->password[0] && serv->loginmethod == LOGIN_PASS) + { + tcp_sendf (serv, "PASS %s%s\r\n", + (serv->password[0] == ':' || strchr (serv->password, ' ')) ? ":" : "", + serv->password); + } + + tcp_sendf (serv, + "NICK %s\r\n" + "USER %s 0 * :%s\r\n", + serv->nick, user, realname); +} + +static void +irc_nickserv (server *serv, char *cmd, char *arg1, char *arg2, char *arg3) +{ + /* are all ircd authors idiots? */ + switch (serv->loginmethod) + { + case LOGIN_MSG_NICKSERV: + tcp_sendf (serv, "PRIVMSG NICKSERV :%s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case LOGIN_NICKSERV: + tcp_sendf (serv, "NICKSERV %s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + default: /* This may not work but at least it tries something when using /id or /ghost cmd */ + tcp_sendf (serv, "NICKSERV %s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; +#if 0 + case LOGIN_MSG_NS: + tcp_sendf (serv, "PRIVMSG NS :%s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case LOGIN_NS: + tcp_sendf (serv, "NS %s %s%s%s\r\n", cmd, arg1, arg2, arg3); + break; + case LOGIN_AUTH: + /* why couldn't QuakeNet implement one of the existing ones? */ + tcp_sendf (serv, "AUTH %s %s\r\n", arg1, arg2); + break; +#endif + } +} + +static void +irc_ns_identify (server *serv, char *pass) +{ + switch (serv->loginmethod) + { + case LOGIN_CHALLENGEAUTH: + tcp_sendf (serv, "PRIVMSG %s :CHALLENGE\r\n", CHALLENGEAUTH_NICK); /* request a challenge from Q */ + break; +#if 0 + case LOGIN_AUTH: + irc_nickserv (serv, "", serv->nick, pass, ""); + break; +#endif + default: + irc_nickserv (serv, "IDENTIFY", pass, "", ""); + } +} + +static void +irc_ns_ghost (server *serv, char *usname, char *pass) +{ + if (serv->loginmethod != LOGIN_CHALLENGEAUTH) + { + irc_nickserv (serv, "GHOST", usname, " ", pass); + } +} + +static void +irc_join (server *serv, char *channel, char *key) +{ + if (key[0]) + tcp_sendf (serv, "JOIN %s %s\r\n", channel, key); + else + tcp_sendf (serv, "JOIN %s\r\n", channel); +} + +static void +irc_join_list_flush (server *serv, GString *channels, GString *keys, int send_keys) +{ + char *chanstr; + char *keystr; + + chanstr = g_string_free (channels, FALSE); /* convert our strings to char arrays */ + keystr = g_string_free (keys, FALSE); + + if (send_keys) + { + tcp_sendf (serv, "JOIN %s %s\r\n", chanstr, keystr); /* send the actual command */ + } + else + { + tcp_sendf (serv, "JOIN %s\r\n", chanstr); /* send the actual command */ + } + + g_free (chanstr); + g_free (keystr); +} + +/* Join a whole list of channels & keys, split to multiple lines + * to get around the 512 limit. + */ + +static void +irc_join_list (server *serv, GSList *favorites) +{ + int first_item = 1; /* determine whether we add commas or not */ + int send_keys = 0; /* if none of our channels have keys, we can omit the 'x' fillers altogether */ + int len = 9; /* JOIN<space>channels<space>keys\r\n\0 */ + favchannel *fav; + GString *chanlist = g_string_new (NULL); + GString *keylist = g_string_new (NULL); + GSList *favlist; + + favlist = favorites; + + while (favlist) + { + fav = favlist->data; + + len += strlen (fav->name); + if (fav->key) + { + len += strlen (fav->key); + } + + if (len >= 512) /* command length exceeds the IRC hard limit, flush it and start from scratch */ + { + irc_join_list_flush (serv, chanlist, keylist, send_keys); + + chanlist = g_string_new (NULL); + keylist = g_string_new (NULL); + + len = 9; + first_item = 1; /* list dumped, omit commas once again */ + send_keys = 0; /* also omit keys until we actually find one */ + } + + if (!first_item) + { + /* This should be done before the length check, but channel names + * are already at least 2 characters long so it would trigger the + * flush anyway. + */ + len += 2; + + /* add separators but only if it's not the 1st element */ + g_string_append_c (chanlist, ','); + g_string_append_c (keylist, ','); + } + + g_string_append (chanlist, fav->name); + + if (fav->key) + { + g_string_append (keylist, fav->key); + send_keys = 1; + } + else + { + g_string_append_c (keylist, 'x'); /* 'x' filler for keyless channels so that our JOIN command is always well-formatted */ + } + + first_item = 0; + favlist = favlist->next; + } + + irc_join_list_flush (serv, chanlist, keylist, send_keys); + g_slist_free (favlist); +} + +static void +irc_part (server *serv, char *channel, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "PART %s :%s\r\n", channel, reason); + else + tcp_sendf (serv, "PART %s\r\n", channel); +} + +static void +irc_quit (server *serv, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "QUIT :%s\r\n", reason); + else + tcp_send_len (serv, "QUIT\r\n", 6); +} + +static void +irc_set_back (server *serv) +{ + tcp_send_len (serv, "AWAY\r\n", 6); +} + +static void +irc_set_away (server *serv, char *reason) +{ + if (reason) + { + if (!reason[0]) + reason = " "; + } + else + { + reason = " "; + } + + tcp_sendf (serv, "AWAY :%s\r\n", reason); +} + +static void +irc_ctcp (server *serv, char *to, char *msg) +{ + tcp_sendf (serv, "PRIVMSG %s :\001%s\001\r\n", to, msg); +} + +static void +irc_nctcp (server *serv, char *to, char *msg) +{ + tcp_sendf (serv, "NOTICE %s :\001%s\001\r\n", to, msg); +} + +static void +irc_cycle (server *serv, char *channel, char *key) +{ + tcp_sendf (serv, "PART %s\r\nJOIN %s %s\r\n", channel, channel, key); +} + +static void +irc_kick (server *serv, char *channel, char *nick, char *reason) +{ + if (reason[0]) + tcp_sendf (serv, "KICK %s %s :%s\r\n", channel, nick, reason); + else + tcp_sendf (serv, "KICK %s %s\r\n", channel, nick); +} + +static void +irc_invite (server *serv, char *channel, char *nick) +{ + tcp_sendf (serv, "INVITE %s %s\r\n", nick, channel); +} + +static void +irc_mode (server *serv, char *target, char *mode) +{ + tcp_sendf (serv, "MODE %s %s\r\n", target, mode); +} + +/* find channel info when joined */ + +static void +irc_join_info (server *serv, char *channel) +{ + tcp_sendf (serv, "MODE %s\r\n", channel); +} + +/* initiate userlist retreival */ + +static void +irc_user_list (server *serv, char *channel) +{ + if (serv->have_whox) + tcp_sendf (serv, "WHO %s %%chtsunfra,152\r\n", channel); + else + tcp_sendf (serv, "WHO %s\r\n", channel); +} + +/* userhost */ + +static void +irc_userhost (server *serv, char *nick) +{ + tcp_sendf (serv, "USERHOST %s\r\n", nick); +} + +static void +irc_away_status (server *serv, char *channel) +{ + if (serv->have_whox) + tcp_sendf (serv, "WHO %s %%chtsunfra,152\r\n", channel); + else + tcp_sendf (serv, "WHO %s\r\n", channel); +} + +/*static void +irc_get_ip (server *serv, char *nick) +{ + tcp_sendf (serv, "WHO %s\r\n", nick); +}*/ + + +/* + * Command: WHOIS + * Parameters: [<server>] <nickmask>[,<nickmask>[,...]] + */ +static void +irc_user_whois (server *serv, char *nicks) +{ + tcp_sendf (serv, "WHOIS %s\r\n", nicks); +} + +static void +irc_message (server *serv, char *channel, char *text) +{ + tcp_sendf (serv, "PRIVMSG %s :%s\r\n", channel, text); +} + +static void +irc_action (server *serv, char *channel, char *act) +{ + tcp_sendf (serv, "PRIVMSG %s :\001ACTION %s\001\r\n", channel, act); +} + +static void +irc_notice (server *serv, char *channel, char *text) +{ + tcp_sendf (serv, "NOTICE %s :%s\r\n", channel, text); +} + +static void +irc_topic (server *serv, char *channel, char *topic) +{ + if (!topic) + tcp_sendf (serv, "TOPIC %s :\r\n", channel); + else if (topic[0]) + tcp_sendf (serv, "TOPIC %s :%s\r\n", channel, topic); + else + tcp_sendf (serv, "TOPIC %s\r\n", channel); +} + +static void +irc_list_channels (server *serv, char *arg, int min_users) +{ + if (arg[0]) + { + tcp_sendf (serv, "LIST %s\r\n", arg); + return; + } + + if (serv->use_listargs) + tcp_sendf (serv, "LIST >%d,<10000\r\n", min_users - 1); + else + tcp_send_len (serv, "LIST\r\n", 6); +} + +static void +irc_names (server *serv, char *channel) +{ + tcp_sendf (serv, "NAMES %s\r\n", channel); +} + +static void +irc_change_nick (server *serv, char *new_nick) +{ + tcp_sendf (serv, "NICK %s\r\n", new_nick); +} + +static void +irc_ping (server *serv, char *to, char *timestring) +{ + if (*to) + tcp_sendf (serv, "PRIVMSG %s :\001PING %s\001\r\n", to, timestring); + else + tcp_sendf (serv, "PING %s\r\n", timestring); +} + +static int +irc_raw (server *serv, char *raw) +{ + int len; + char tbuf[4096]; + if (*raw) + { + len = strlen (raw); + if (len < sizeof (tbuf) - 3) + { + len = g_snprintf (tbuf, sizeof (tbuf), "%s\r\n", raw); + tcp_send_len (serv, tbuf, len); + } else + { + tcp_send_len (serv, raw, len); + tcp_send_len (serv, "\r\n", 2); + } + return TRUE; + } + return FALSE; +} + +/* ============================================================== */ +/* ======================= IRC INPUT ============================ */ +/* ============================================================== */ + + +static void +channel_date (session *sess, char *chan, char *timestr, + const message_tags_data *tags_data) +{ + time_t timestamp = (time_t) atol (timestr); + char *tim = ctime (×tamp); + if (tim != NULL) + tim[24] = 0; /* get rid of the \n */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANDATE, sess, chan, tim, NULL, NULL, 0, + tags_data->timestamp); +} + +static int +trailing_index(char *word_eol[]) +{ + int param_index; + for (param_index = 3; param_index < PDIWORDS; ++param_index) + { + if (word_eol[param_index][0] == ':') + break; + } + return param_index; +} + +static void +process_numeric (session * sess, int n, + char *word[], char *word_eol[], char *text, + const message_tags_data *tags_data) +{ + server *serv = sess->server; + /* show whois is the server tab */ + session *whois_sess = serv->server_session; + + /* unless this setting is on */ + if (prefs.hex_irc_whois_front) + whois_sess = serv->front_session; + + switch (n) + { + case 1: + inbound_login_start (sess, word[3], word[1], tags_data); + /* if network is PTnet then you must get your IP address + from "001" server message */ + if ((strncmp(word[7], "PTnet", 5) == 0) && + (strncmp(word[8], "IRC", 3) == 0) && + (strncmp(word[9], "Network", 7) == 0) && + (strrchr(word[10], '@') != NULL)) + { + serv->use_who = FALSE; + if (prefs.hex_dcc_ip_from_server) + inbound_foundip (sess, strrchr(word[10], '@')+1, tags_data); + } + + goto def; + + case 5: + inbound_005 (serv, word, tags_data); + goto def; + + case 263: /*Server load is temporarily too heavy */ + if (fe_is_chanwindow (sess->server)) + { + fe_chan_list_end (sess->server); + fe_message (word_eol[4], FE_MSG_ERROR); + } + goto def; + + case 301: + inbound_away (serv, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + tags_data); + break; + + case 302: + if (serv->skip_next_userhost) + { + char *eq = strchr (word[4], '='); + if (eq) + { + *eq = 0; + if (!serv->p_cmp (word[4] + 1, serv->nick)) + { + char *at = strrchr (eq + 1, '@'); + if (at) + inbound_foundip (sess, at + 1, tags_data); + } + } + + serv->skip_next_userhost = FALSE; + break; + } + else goto def; + + case 303: + word[4]++; + notify_markonline (serv, word, tags_data); + break; + + case 305: + inbound_uback (serv, tags_data); + goto def; + + case 306: + inbound_uaway (serv, tags_data); + goto def; + + case 312: + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS3, whois_sess, word[4], word_eol[5], + NULL, NULL, 0, tags_data->timestamp); + else + inbound_user_info (sess, NULL, NULL, NULL, word[5], word[4], NULL, NULL, + 0xff, tags_data); + break; + + case 311: /* WHOIS 1st line */ + serv->inside_whois = 1; + inbound_user_info_start (sess, word[4], tags_data); + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS1, whois_sess, word[4], word[5], + word[6], (word_eol[8][0] == ':') ? word_eol[8] + 1 : word_eol[8], + 0, tags_data->timestamp); + else + inbound_user_info (sess, NULL, word[5], word[6], NULL, word[4], + word_eol[8][0] == ':' ? word_eol[8] + 1 : word_eol[8], + NULL, 0xff, tags_data); + break; + + case 314: /* WHOWAS */ + inbound_user_info_start (sess, word[4], tags_data); + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS1, whois_sess, word[4], word[5], + word[6], word_eol[8] + 1, 0, tags_data->timestamp); + break; + + case 317: + if (!serv->skip_next_whois) + { + time_t timestamp = (time_t) atol (word[6]); + long idle = atol (word[5]); + char *tim; + char outbuf[64]; + + g_snprintf (outbuf, sizeof (outbuf), + "%02ld:%02ld:%02ld", idle / 3600, (idle / 60) % 60, + idle % 60); + if (timestamp == 0) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS4, whois_sess, word[4], + outbuf, NULL, NULL, 0, tags_data->timestamp); + else + { + tim = ctime (×tamp); + if (tim != NULL) + tim[19] = 0; /* get rid of the \n */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS4T, whois_sess, word[4], + outbuf, tim, NULL, 0, tags_data->timestamp); + } + } + break; + + case 318: /* END OF WHOIS */ + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS6, whois_sess, word[4], NULL, + NULL, NULL, 0, tags_data->timestamp); + serv->skip_next_whois = 0; + serv->inside_whois = 0; + break; + + case 313: + case 319: + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS2, whois_sess, word[4], + word_eol[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], NULL, NULL, 0, + tags_data->timestamp); + break; + + case 307: /* dalnet version */ + case 320: /* :is an identified user */ + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS_ID, whois_sess, word[4], + word_eol[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], NULL, NULL, 0, + tags_data->timestamp); + break; + + case 321: + if (!fe_is_chanwindow (sess->server)) + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANLISTHEAD, serv->server_session, NULL, + NULL, NULL, NULL, 0, tags_data->timestamp); + break; + + case 322: + if (fe_is_chanwindow (sess->server)) + { + fe_add_chan_list (sess->server, word[4], word[5], word_eol[6] + 1); + } else + { + PrintTextTimeStampf (serv->server_session, tags_data->timestamp, + "%-16s %-7d %s\017\n", word[4], atoi (word[5]), + word_eol[6] + 1); + } + break; + + case 323: + if (!fe_is_chanwindow (sess->server)) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0, tags_data->timestamp); + else + fe_chan_list_end (sess->server); + break; + + case 324: + sess = find_channel (serv, word[4]); + if (!sess) + sess = serv->server_session; + if (sess->ignore_mode) + sess->ignore_mode = FALSE; + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODES, sess, word[4], (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + NULL, NULL, 0, tags_data->timestamp); + fe_update_mode_buttons (sess, 'c', '-'); + fe_update_mode_buttons (sess, 't', '-'); + fe_update_mode_buttons (sess, 'n', '-'); + fe_update_mode_buttons (sess, 'i', '-'); + fe_update_mode_buttons (sess, 'm', '-'); + fe_update_mode_buttons (sess, 'l', '-'); + fe_update_mode_buttons (sess, 'k', '-'); + handle_mode (serv, word, word_eol, "", TRUE, tags_data); + break; + + case 328: /* channel url */ + sess = find_channel (serv, word[4]); + if (sess) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANURL, sess, word[4], (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + NULL, NULL, 0, tags_data->timestamp); + } + break; + + case 329: + sess = find_channel (serv, word[4]); + if (sess) + { + if (sess->ignore_date) + sess->ignore_date = FALSE; + else + channel_date (sess, word[4], (word[5][0] == ':') ? word[5] + 1 : word[5], tags_data); + } + break; + + case 330: + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS_AUTH, whois_sess, word[4], + word_eol[6] + 1, word[5], NULL, 0, + tags_data->timestamp); + inbound_user_info (sess, NULL, NULL, NULL, NULL, word[4], NULL, word[5], + 0xff, tags_data); + break; + + case 332: + inbound_topic (serv, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + tags_data); + break; + + case 333: + inbound_topictime (serv, word[4], word[5], atol (STRIP_COLON(word, word_eol, 6)), tags_data); + break; + +#if 0 + case 338: /* Undernet Real user@host, Real IP */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS_REALHOST, sess, word[4], word[5], word[6], + (word_eol[7][0]==':') ? word_eol[7]+1 : word_eol[7], + 0, tags_data->timestamp); + break; +#endif + + case 341: /* INVITE ACK */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_UINVITE, sess, word[4], STRIP_COLON(word, word_eol, 5), + serv->servername, NULL, 0, tags_data->timestamp); + break; + + case 352: /* WHO */ + { + unsigned int away = 0; + session *who_sess = find_channel (serv, word[4]); + + if (*word[9] == 'G') + away = 1; + + inbound_user_info (sess, word[4], word[5], word[6], word[7], + word[8], word_eol[11], NULL, away, + tags_data); + + /* try to show only user initiated whos */ + if (!who_sess || !who_sess->doing_who) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, text, word[1], + word[2], NULL, 0, tags_data->timestamp); + } + break; + + case 354: /* undernet WHOX: used as a reply for irc_away_status */ + { + unsigned int away = 0; + session *who_sess; + + /* irc_away_status and irc_user_list sends out a "152" */ + if (!strcmp (word[4], "152")) + { + who_sess = find_channel (serv, word[5]); + + if (*word[10] == 'G') + away = 1; + + /* :server 354 yournick 152 #channel ~ident host servname nick H account :realname */ + inbound_user_info (sess, word[5], word[6], word[7], word[8], + word[9], word_eol[12]+1, word[11], away, + tags_data); + + /* try to show only user initiated whos */ + if (!who_sess || !who_sess->doing_who) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0, + tags_data->timestamp); + } else + goto def; + } + break; + + case 315: /* END OF WHO */ + { + session *who_sess; + who_sess = find_channel (serv, word[4]); + if (who_sess) + { + if (!who_sess->doing_who) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0, + tags_data->timestamp); + who_sess->doing_who = FALSE; + } else + { + if (!serv->doing_dns) + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, text, + word[1], word[2], NULL, 0, tags_data->timestamp); + serv->doing_dns = FALSE; + } + } + break; + + case 346: /* +I-list entry */ + if (!inbound_banlist (sess, atol (STRIP_COLON (word, word_eol, 7)), word[4], word[5], word[6], 346, + tags_data)) + goto def; + break; + + case 347: /* end of invite list */ + if (!fe_ban_list_end (sess, 347)) + goto def; + break; + + case 348: /* +e-list entry */ + if (!inbound_banlist (sess, atol (STRIP_COLON (word, word_eol, 7)), word[4], word[5], word[6], 348, + tags_data)) + goto def; + break; + + case 349: /* end of exemption list */ + sess = find_channel (serv, word[4]); + if (!sess) + goto def; + if (!fe_ban_list_end (sess, 349)) + goto def; + break; + + case 353: /* NAMES */ + inbound_nameslist (serv, word[5], + (word_eol[6][0] == ':') ? word_eol[6] + 1 : word_eol[6], + tags_data); + break; + + case 366: + if (!inbound_nameslist_end (serv, word[4], tags_data)) + goto def; + break; + + case 367: /* banlist entry */ + if (!inbound_banlist (sess, atol (STRIP_COLON (word, word_eol, 7)), word[4], word[5], word[6], 367, + tags_data)) + goto def; + break; + + case 368: + sess = find_channel (serv, word[4]); + if (!sess) + goto def; + if (!fe_ban_list_end (sess, 368)) + goto def; + break; + + case 369: /* WHOWAS end */ + case 406: /* WHOWAS error */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, whois_sess, text, word[1], word[2], + NULL, 0, tags_data->timestamp); + serv->inside_whois = 0; + break; + + case 372: /* motd text */ + case 375: /* motd start */ + if (!prefs.hex_irc_skip_motd || serv->motd_skipped) + EMIT_SIGNAL_TIMESTAMP (XP_TE_MOTD, serv->server_session, text, NULL, + NULL, NULL, 0, tags_data->timestamp); + break; + + case 376: /* end of motd */ + case 422: /* motd file is missing */ + inbound_login_end (sess, text, tags_data); + break; + + case 432: /* erroneous nickname */ + if (serv->end_of_motd) + { + goto def; + } + inbound_next_nick (sess, word[4], 1, tags_data); + break; + + case 433: /* nickname in use */ + if (serv->end_of_motd) + { + goto def; + } + inbound_next_nick (sess, word[4], 0, tags_data); + break; + + case 437: + if (serv->end_of_motd || is_channel (serv, word[4])) + goto def; + inbound_next_nick (sess, word[4], 0, tags_data); + break; + + case 471: + EMIT_SIGNAL_TIMESTAMP (XP_TE_USERLIMIT, sess, word[4], NULL, NULL, NULL, 0, + tags_data->timestamp); + break; + + case 473: + EMIT_SIGNAL_TIMESTAMP (XP_TE_INVITE, sess, word[4], NULL, NULL, NULL, 0, + tags_data->timestamp); + break; + + case 474: + EMIT_SIGNAL_TIMESTAMP (XP_TE_BANNED, sess, word[4], NULL, NULL, NULL, 0, + tags_data->timestamp); + break; + + case 475: + EMIT_SIGNAL_TIMESTAMP (XP_TE_KEYWORD, sess, word[4], NULL, NULL, NULL, 0, + tags_data->timestamp); + break; + + case 601: + notify_set_offline (serv, word[4], FALSE, tags_data); + break; + + case 605: + notify_set_offline (serv, word[4], TRUE, tags_data); + break; + + case 600: + case 604: + notify_set_online (serv, word[4], tags_data); + break; + + case 524: // ERR_HELPNOTFOUND + case 704: // RPL_HELPSTART + case 705: // RPL_HELPTXT + case 706: // RPL_ENDOFHELP + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, sess, STRIP_COLON(word, word_eol, 5), NULL, NULL, NULL, + 0, tags_data->timestamp); + break; + + case 728: /* +q-list entry */ + /* NOTE: FREENODE returns these results inconsistent with e.g. +b */ + /* Who else has imlemented MODE_QUIET, I wonder? */ + if (!inbound_banlist (sess, atol (word[8]), word[4], word[6], word[7], 728, + tags_data)) + goto def; + break; + + case 729: /* end of quiet list */ + if (!fe_ban_list_end (sess, 729)) + goto def; + break; + + case 730: /* RPL_MONONLINE */ + notify_set_online_list (serv, word[4] + 1, tags_data); + break; + + case 731: /* RPL_MONOFFLINE */ + notify_set_offline_list (serv, word[4] + 1, FALSE, tags_data); + break; + + case 900: /* successful SASL 'logged in as ' */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, serv->server_session, + word_eol[6]+1, word[1], word[2], NULL, 0, + tags_data->timestamp); + break; + case 904: /* failed SASL auth */ + inbound_sasl_error (serv); + case 903: /* successful SASL auth */ + case 905: /* failed SASL auth */ + case 906: /* aborted */ + case 907: /* attempting to re-auth after a successful auth */ + EMIT_SIGNAL_TIMESTAMP (XP_TE_SASLRESPONSE, serv->server_session, word[1], + word[2], word[3], ++word_eol[4], 0, + tags_data->timestamp); + serv->waiting_on_sasl = FALSE; + if (!serv->sent_capend) + { + serv->sent_capend = TRUE; + tcp_send_len (serv, "CAP END\r\n", 9); + } + break; + case 908: /* Supported SASL Mechs */ + /* ignored for now, SASL 3.2 is a better solution and we only do PLAIN atm */ + break; + + default: + + if (serv->inside_whois && word[4][0]) + { + /* some unknown WHOIS reply, ircd coders make them up weekly */ + if (!serv->skip_next_whois) + EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS_SPECIAL, whois_sess, word[4], + (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5], + word[2], NULL, 0, tags_data->timestamp); + return; + } + + def: + { + session *sess; + + if (is_channel (serv, word[4])) + { + sess = find_channel (serv, word[4]); + if (!sess) + sess = serv->server_session; + } + else if ((sess=find_dialog (serv,word[4]))) /* user with an open dialog */ + ; + else + sess=serv->server_session; + + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, sess, text, word[1], word[2], + NULL, 0, tags_data->timestamp); + } + } +} + +/* handle named messages that starts with a ':' */ + +static void +process_named_msg (session *sess, char *type, char *word[], char *word_eol[], + const message_tags_data *tags_data) +{ + server *serv = sess->server; + char *account; + char ip[128], nick[NICKLEN]; + char *text, *ex; + int len = strlen (type); + + /* fill in the "ip" and "nick" buffers */ + ex = strchr (word[1], '!'); + if (!ex) /* no '!', must be a server message */ + { + safe_strcpy (ip, word[1], sizeof (ip)); + safe_strcpy (nick, word[1], sizeof (nick)); + } else + { + safe_strcpy (ip, ex + 1, sizeof (ip)); + ex[0] = 0; + safe_strcpy (nick, word[1], sizeof (nick)); + ex[0] = '!'; + } + + + /** Update the account for this message's source. */ + if (serv->have_account_tag) + { + account = tags_data->account && *tags_data->account ? tags_data->account : "*"; + inbound_account (serv, nick, account, tags_data); + } + + if (len == 4) + { + guint32 t; + + t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ + switch (t) + { + case WORDL('J','O','I','N'): + { + char *chan = word[3]; + char *account = word[4]; + char *realname = word_eol[5]; + + if (account && strcmp (account, "*") == 0) + account = NULL; + if (realname && *realname == ':') + realname++; + if (*chan == ':') + chan++; + if (!serv->p_cmp (nick, serv->nick)) + inbound_ujoin (serv, chan, nick, ip, tags_data); + else + inbound_join (serv, chan, nick, ip, account, realname, + tags_data); + } + return; + + case WORDL('K','I','C','K'): + { + char *kicked = word[4]; + char *reason = word_eol[5]; + if (*kicked) + { + if (*reason == ':') + reason++; + if (!strcmp (kicked, serv->nick)) + inbound_ukick (serv, word[3], nick, reason, tags_data); + else + inbound_kick (serv, word[3], kicked, nick, reason, tags_data); + } + } + return; + + case WORDL('K','I','L','L'): + { + char *reason = word_eol[4]; + if (*reason == ':') + reason++; + + EMIT_SIGNAL_TIMESTAMP (XP_TE_KILL, sess, nick, reason, NULL, NULL, + 0, tags_data->timestamp); + } + return; + + case WORDL('M','O','D','E'): + handle_mode (serv, word, word_eol, nick, FALSE, tags_data); /* modes.c */ + return; + + case WORDL('N','I','C','K'): + inbound_newnick (serv, nick, + (word_eol[3][0] == ':') ? word_eol[3] + 1 : word_eol[3], + FALSE, tags_data); + return; + + case WORDL('P','A','R','T'): + { + char *chan = word[3]; + char *reason = word_eol[4]; + + if (*chan == ':') + chan++; + if (*reason == ':') + reason++; + if (!strcmp (nick, serv->nick)) + inbound_upart (serv, chan, ip, reason, tags_data); + else + inbound_part (serv, chan, nick, ip, reason, tags_data); + } + return; + + case WORDL('P', 'I', 'N', 'G'): + tcp_sendf (sess->server, "PONG %s\r\n", word_eol[3]); + return; + + case WORDL('P','O','N','G'): + inbound_ping_reply (serv->server_session, + (word[4][0] == ':') ? word[4] + 1 : word[4], + word[3], tags_data); + return; + + case WORDL('Q','U','I','T'): + inbound_quit (serv, nick, ip, + (word_eol[3][0] == ':') ? word_eol[3] + 1 : word_eol[3], + tags_data); + return; + + case WORDL('A','W','A','Y'): + inbound_away_notify (serv, nick, + (word_eol[3][0] == ':') ? word_eol[3] + 1 : NULL, + tags_data); + return; + + case WORDL('F','A','I','L'): + text = STRIP_COLON(word, word_eol, trailing_index(word_eol)); + if (g_strcmp0(word[3], "*") == 0) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_FAIL, sess, word[4], text, NULL, NULL, NULL, tags_data->timestamp); + } else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_FAILCMD, sess, word[3], word[4], text, NULL, NULL, tags_data->timestamp); + } + return; + + case WORDL('W','A','R','N'): + text = STRIP_COLON(word, word_eol, trailing_index(word_eol)); + if (g_strcmp0(word[3], "*") == 0) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_WARN, sess, word[4], text, NULL, NULL, NULL, tags_data->timestamp); + } else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_WARNCMD, sess, word[3], word[4], text, NULL, NULL, tags_data->timestamp); + } + return; + + case WORDL('N','O','T','E'): + text = STRIP_COLON(word, word_eol, trailing_index(word_eol)); + if (g_strcmp0(word[3], "*") == 0) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTE, sess, word[4], text, NULL, NULL, NULL, tags_data->timestamp); + } else + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_NOTECMD, sess, word[3], word[4], text, NULL, NULL, tags_data->timestamp); + } + return; + } + + goto garbage; + } + + else if (len >= 5) + { + guint32 t; + + t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ + switch (t) + { + + case WORDL('A','C','C','O'): + inbound_account (serv, nick, STRIP_COLON(word, word_eol, 3), tags_data); + return; + + case WORDL('A', 'U', 'T', 'H'): + inbound_sasl_authenticate (sess->server, word_eol[3]); + return; + + case WORDL('C', 'H', 'G', 'H'): + inbound_user_info (sess, NULL, word[3], STRIP_COLON(word, word_eol, 4), NULL, nick, NULL, + NULL, 0xff, tags_data); + return; + + case WORDL('S', 'E', 'T', 'N'): + inbound_user_info (sess, NULL, NULL, NULL, NULL, nick, STRIP_COLON(word, word_eol, 3), + NULL, 0xff, tags_data); + return; + + case WORDL('I','N','V','I'): + if (ignore_check (word[1], IG_INVI)) + return; + + text = STRIP_COLON(word, word_eol, 4); + if (serv->p_cmp (word[3], serv->nick)) + EMIT_SIGNAL_TIMESTAMP (XP_TE_INVITEDOTHER, sess, text, nick, + word[3], serv->servername, 0, + tags_data->timestamp); + else + EMIT_SIGNAL_TIMESTAMP (XP_TE_INVITED, sess, text, nick, + serv->servername, NULL, 0, + tags_data->timestamp); + + return; + + case WORDL('N','O','T','I'): + { + text = word_eol[4]; + if (*text == ':') + { + text++; + } + +#ifdef USE_OPENSSL + /* QuakeNet CHALLENGE upon our request */ + if (serv->loginmethod == LOGIN_CHALLENGEAUTH && !serv->p_cmp (word[1], CHALLENGEAUTH_FULLHOST) + && !strncmp (text, "CHALLENGE ", 10) && *serv->password) + { + char *response; + ircnet *net = serv->network; + char *user = net && net->user ? net->user : prefs.hex_irc_user_name; + + response = challengeauth_response (user, serv->password, word[5]); + + tcp_sendf (serv, "PRIVMSG %s :CHALLENGEAUTH %s %s %s\r\n", + CHALLENGEAUTH_NICK, + user, + response, + CHALLENGEAUTH_ALGO); + + g_free (response); + return; /* omit the CHALLENGE <hash> ALGOS message */ + } +#endif + + if (!ignore_check (word[1], IG_NOTI)) + inbound_notice (serv, word[3], nick, text, ip, tags_data->identified, tags_data); + } + return; + + case WORDL('P','R','I','V'): + { + char *to = word[3]; + int len; + if (*to) + { + /* Handle limited channel messages, for now no special event */ + if (strchr (serv->chantypes, to[0]) == NULL + && strchr (serv->nick_prefixes, to[0]) != NULL) + to++; + + text = word_eol[4]; + if (*text == ':') + text++; + + len = strlen (text); + if (text[0] == 1) /* ctcp */ + { + char *new_pdibuf = NULL; + if (text[len - 1] == 1) + { + text[len - 1] = 0; + } + text++; + if (g_ascii_strncasecmp (text, "ACTION", 6) != 0) + flood_check (nick, ip, serv, sess, 0); + if (g_ascii_strncasecmp (text, "DCC ", 4) == 0) + { + int i; + char *new_word[PDIWORDS+1] = { NULL }; + char *new_word_eol[PDIWORDS+1] = { NULL }; + + new_pdibuf = g_malloc (strlen (word_eol[6]) + 1); + + /* This is a bit ugly but we handle the contents of the DCC message containing + * "quoted paths for files" here which means reparsing the message with handle_quotes. + * We avoid reparsing the entire message to avoid corrupting the non DCC parts. + * Greater than PDIWORD length DCC messages will be truncated. */ + process_data_init (new_pdibuf, word_eol[6], new_word, new_word_eol, TRUE, FALSE); + for (i = 6; i < PDIWORDS; ++i) + { + word[i] = new_word[i - 5]; + word_eol[i] = new_word_eol[i - 5]; + } + } + + ctcp_handle (sess, to, nick, ip, text, word, word_eol, tags_data->identified, + tags_data); + + /* Note word will be invalid beyond this scope */ + g_free (new_pdibuf); + } else + { + if (is_channel (serv, to)) + { + if (ignore_check (word[1], IG_CHAN)) + return; + inbound_chanmsg (serv, NULL, to, nick, text, FALSE, tags_data->identified, + tags_data); + } else + { + if (ignore_check (word[1], IG_PRIV)) + return; + inbound_privmsg (serv, nick, ip, text, tags_data->identified, tags_data); + } + } + } + } + return; + + case WORDL('T','O','P','I'): + inbound_topicnew (serv, nick, word[3], + (word_eol[4][0] == ':') ? word_eol[4] + 1 : word_eol[4], + tags_data); + return; + + case WORDL('W','A','L','L'): + text = word_eol[3]; + if (*text == ':') + text++; + EMIT_SIGNAL_TIMESTAMP (XP_TE_WALLOPS, sess, nick, text, NULL, NULL, 0, + tags_data->timestamp); + return; + } + } + + else if (len == 3) + { + guint32 t; + + t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]); + switch (t) + { + case WORDL('C','A','P','\0'): + if (strncasecmp (word[4], "ACK", 3) == 0) + { + inbound_cap_ack (serv, word[1], + word[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], + tags_data); + } + else if (strncasecmp (word[4], "LS", 2) == 0 || strncasecmp (word[4], "NEW", 3) == 0) + { + inbound_cap_ls (serv, word[1], + word[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], + tags_data); + } + else if (strncasecmp (word[4], "NAK", 3) == 0) + { + inbound_cap_nak (serv, word[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], tags_data); + } + else if (strncasecmp (word[4], "LIST", 4) == 0) + { + inbound_cap_list (serv, word[1], + word[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], + tags_data); + } + else if (strncasecmp (word[4], "DEL", 3) == 0) + { + inbound_cap_del (serv, word[1], + word[5][0] == ':' ? word_eol[5] + 1 : word_eol[5], + tags_data); + } + + return; + } + } + +garbage: + /* unknown message */ + PrintTextTimeStampf (sess, tags_data->timestamp, "GARBAGE: %s\n", word_eol[1]); +} + +/* handle named messages that DON'T start with a ':' */ + +static void +process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol[], + const message_tags_data *tags_data) +{ + sess = sess->server->server_session; + + if (!strncmp (buf, "PING ", 5)) + { + tcp_sendf (sess->server, "PONG %s\r\n", buf + 5); + return; + } + if (!strncmp (buf, "ERROR", 5)) + { + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVERERROR, sess, buf + 7, NULL, NULL, NULL, + 0, tags_data->timestamp); + return; + } + if (!strncmp (buf, "NOTICE ", 7)) + { + buf = word_eol[3]; + if (*buf == ':') + buf++; + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVNOTICE, sess, buf, + sess->server->servername, NULL, NULL, 0, + tags_data->timestamp); + return; + } + if (!strncmp (buf, "AUTHENTICATE", 12)) + { + inbound_sasl_authenticate (sess->server, word_eol[2]); + return; + } + + EMIT_SIGNAL_TIMESTAMP (XP_TE_SERVTEXT, sess, buf, sess->server->servername, + rawname, NULL, 0, tags_data->timestamp); +} + +/* Returns the timezone offset. This should be the same as the variable + * "timezone" in time.h, but *BSD doesn't have it. + */ +static time_t +get_timezone (void) +{ + struct tm tm_utc, tm_local; + time_t t, time_utc, time_local; + + time (&t); + + /* gmtime() and localtime() are thread-safe on windows. + * on other systems we should use {gmtime,localtime}_r(). + */ +#if WIN32 + tm_utc = *gmtime (&t); + tm_local = *localtime (&t); +#else + gmtime_r (&t, &tm_utc); + localtime_r (&t, &tm_local); +#endif + + time_utc = mktime (&tm_utc); + time_local = mktime (&tm_local); + + return time_utc - time_local; +} + +/* Handle time-server tags. + * + * Sets tags_data->timestamp to the correct time (in unix time). + * This received time is always in UTC. + * + * See http://ircv3.atheme.org/extensions/server-time-3.2 + */ +static void +handle_message_tag_time (const char *time, message_tags_data *tags_data) +{ + /* The time format defined in the ircv3.2 specification is + * YYYY-MM-DDThh:mm:ss.sssZ + * but znc simply sends a unix time (with 3 decimal places for miliseconds) + * so we might as well support both. + */ + if (!*time) + return; + + if (time[strlen (time) - 1] == 'Z') + { + /* as defined in the specification */ + struct tm t; + int z; + + /* we ignore the milisecond part */ + z = sscanf (time, "%d-%d-%dT%d:%d:%d", &t.tm_year, &t.tm_mon, &t.tm_mday, + &t.tm_hour, &t.tm_min, &t.tm_sec); + + if (z != 6) + return; + + t.tm_year -= 1900; + t.tm_mon -= 1; + t.tm_isdst = 0; /* day light saving time */ + + tags_data->timestamp = mktime (&t); + + if (tags_data->timestamp < 0) + { + tags_data->timestamp = 0; + return; + } + + /* get rid of the local time (mktime() receives a local calendar time) */ + tags_data->timestamp -= get_timezone(); + } + else + { + /* znc */ + long long int t; + + /* we ignore the milisecond part */ + if ( +#if defined(__MINGW64__) || defined(__MINGW32__) + __mingw_sscanf +#else + sscanf +#endif + (time, "%lld", &t) != 1) + return; + + tags_data->timestamp = (time_t) t; + } +} + +/* Handle message tags. + * + * See http://ircv3.atheme.org/specification/message-tags-3.2 + */ +static void +handle_message_tags (server *serv, const char *tags_str, + message_tags_data *tags_data) +{ + char **tags; + int i; + + /* FIXME We might want to avoid the allocation overhead here since + * this might be called for every message from the server. + */ + tags = g_strsplit (tags_str, ";", 0); + + for (i=0; tags[i]; i++) + { + char *key = tags[i]; + char *value = strchr (tags[i], '='); + + if (!value) + continue; + + *value = '\0'; + value++; + + if (serv->have_account_tag && !strcmp (key, "account")) + tags_data->account = g_strdup (value); + + if (serv->have_idmsg && strcmp (key, "solanum.chat/identified")) + tags_data->identified = TRUE; + + if (serv->have_server_time && !strcmp (key, "time")) + handle_message_tag_time (value, tags_data); + } + + g_strfreev (tags); +} + +/* irc_inline() - 1 single line received from serv */ +static void +irc_inline (server *serv, char *buf, int len) +{ + session *sess, *tmp; + char *type, *text; + char *word[PDIWORDS+1]; + char *word_eol[PDIWORDS+1]; + char *pdibuf; + message_tags_data tags_data = MESSAGE_TAGS_DATA_INIT; + + pdibuf = g_malloc (len + 1); + + sess = serv->front_session; + + /* Python relies on this */ + word[PDIWORDS] = NULL; + word_eol[PDIWORDS] = NULL; + + if (*buf == '@') + { + char *tags = buf + 1; /* skip the '@' */ + char *sep = strchr (buf, ' '); + + if (!sep) + goto xit; + + *sep = '\0'; + buf = sep + 1; + + handle_message_tags(serv, tags, &tags_data); + } + + url_check_line (buf); + + /* split line into words and words_to_end_of_line */ + process_data_init (pdibuf, buf, word, word_eol, FALSE, FALSE); + + if (buf[0] == ':') + { + /* find a context for this message */ + if (is_channel (serv, word[3])) + { + tmp = find_channel (serv, word[3]); + if (tmp) + sess = tmp; + } + + /* for server messages, the 2nd word is the "message type" */ + type = word[2]; + + word[0] = type; + word_eol[1] = buf; /* keep the ":" for plugins */ + + if (plugin_emit_server (sess, type, word, word_eol, + tags_data.timestamp)) + goto xit; + + word[1]++; + word_eol[1] = buf + 1; /* but not for HexChat internally */ + + } else + { + word[0] = type = word[1]; + + if (plugin_emit_server (sess, type, word, word_eol, + tags_data.timestamp)) + goto xit; + } + + if (buf[0] != ':') + { + process_named_servermsg (sess, buf, word[0], word_eol, &tags_data); + goto xit; + } + + /* see if the second word is a numeric */ + if (isdigit ((unsigned char) word[2][0])) + { + text = word_eol[4]; + if (*text == ':') + text++; + + process_numeric (sess, atoi (word[2]), word, word_eol, text, &tags_data); + } else + { + process_named_msg (sess, type, word, word_eol, &tags_data); + } + +xit: + message_tags_data_free (&tags_data); + g_free (pdibuf); +} + +void +message_tags_data_free (message_tags_data *tags_data) +{ + g_clear_pointer (&tags_data->account, g_free); +} + +void +proto_fill_her_up (server *serv) +{ + serv->p_inline = irc_inline; + serv->p_invite = irc_invite; + serv->p_cycle = irc_cycle; + serv->p_ctcp = irc_ctcp; + serv->p_nctcp = irc_nctcp; + serv->p_quit = irc_quit; + serv->p_kick = irc_kick; + serv->p_part = irc_part; + serv->p_ns_identify = irc_ns_identify; + serv->p_ns_ghost = irc_ns_ghost; + serv->p_join = irc_join; + serv->p_join_list = irc_join_list; + serv->p_login = irc_login; + serv->p_join_info = irc_join_info; + serv->p_mode = irc_mode; + serv->p_user_list = irc_user_list; + serv->p_away_status = irc_away_status; + /*serv->p_get_ip = irc_get_ip;*/ + serv->p_whois = irc_user_whois; + serv->p_get_ip = irc_user_list; + serv->p_get_ip_uh = irc_userhost; + serv->p_set_back = irc_set_back; + serv->p_set_away = irc_set_away; + serv->p_message = irc_message; + serv->p_action = irc_action; + serv->p_notice = irc_notice; + serv->p_topic = irc_topic; + serv->p_list_channels = irc_list_channels; + serv->p_change_nick = irc_change_nick; + serv->p_names = irc_names; + serv->p_ping = irc_ping; + serv->p_raw = irc_raw; + serv->p_cmp = rfc_casecmp; /* can be changed by 005 in modes.c */ +} diff --git a/src/common/proto-irc.h b/src/common/proto-irc.h new file mode 100644 index 0000000000000000000000000000000000000000..6f52f1bc6e399e3ba4d9505e4eed266e93915f5c --- /dev/null +++ b/src/common/proto-irc.h @@ -0,0 +1,50 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <time.h> +#include "hexchat.h" + +#ifndef HEXCHAT_PROTO_H +#define HEXCHAT_PROTO_H + +#define MESSAGE_TAGS_DATA_INIT \ + { \ + NULL, /* account name */ \ + FALSE, /* identified to nick */ \ + (time_t)0, /* timestamp */ \ + } + +#define STRIP_COLON(word, word_eol, idx) (word)[(idx)][0] == ':' ? (word_eol)[(idx)]+1 : (word)[(idx)] + +/* Message tag information that might be passed along with a server message + * + * See http://ircv3.atheme.org/specification/capability-negotiation-3.1 + */ +typedef struct +{ + char *account; + gboolean identified; + time_t timestamp; +} message_tags_data; + +void message_tags_data_free (message_tags_data *tags_data); + +void proto_fill_her_up (server *serv); + +#endif diff --git a/src/common/scram.c b/src/common/scram.c new file mode 100644 index 0000000000000000000000000000000000000000..b39199de0f595c0720de418074c7b48f988b0756 --- /dev/null +++ b/src/common/scram.c @@ -0,0 +1,333 @@ +/* HexChat + * Copyright (C) 2023 Patrick Okraku + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "hexchat.h" + +#ifdef USE_OPENSSL + +#include "scram.h" +#include <openssl/hmac.h> +#include <openssl/rand.h> + +#define NONCE_LENGTH 18 +#define CLIENT_KEY "Client Key" +#define SERVER_KEY "Server Key" + +// EVP_MD_CTX_create() and EVP_MD_CTX_destroy() were renamed in OpenSSL 1.1.0 +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) +#define EVP_MD_CTX_new(ctx) EVP_MD_CTX_create(ctx) +#define EVP_MD_CTX_free(ctx) EVP_MD_CTX_destroy(ctx) +#endif + +scram_session +*scram_session_create (const char *digest, const char *username, const char *password) +{ + scram_session *session; + const EVP_MD *md; +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) + OpenSSL_add_all_algorithms (); +#endif + md = EVP_get_digestbyname (digest); + + if (md == NULL) + { + // Unknown message digest + return NULL; + } + + session = g_new0 (scram_session, 1); + session->digest = md; + session->digest_size = EVP_MD_size (md); + session->username = g_strdup (username); + session->password = g_strdup (password); + return session; +} + +void +scram_session_free (scram_session *session) +{ + if (session == NULL) + { + return; + } + + g_free (session->username); + g_free (session->password); + g_free (session->client_nonce_b64); + g_free (session->client_first_message_bare); + g_free (session->salted_password); + g_free (session->auth_message); + g_free (session->error); + + g_free (session); +} + +static int +create_nonce (void *buffer, size_t length) +{ + return RAND_bytes (buffer, length); +} + +static int +create_SHA (scram_session *session, const unsigned char *input, size_t input_len, + unsigned char *output, unsigned int *output_len) +{ + EVP_MD_CTX *md_ctx = EVP_MD_CTX_new (); + + if (!EVP_DigestInit_ex (md_ctx, session->digest, NULL)) + { + session->error = g_strdup ("Message digest initialization failed"); + EVP_MD_CTX_free (md_ctx); + return SCRAM_ERROR; + } + + if (!EVP_DigestUpdate (md_ctx, input, input_len)) + { + session->error = g_strdup ("Message digest update failed"); + EVP_MD_CTX_free (md_ctx); + return SCRAM_ERROR; + } + + if (!EVP_DigestFinal_ex (md_ctx, output, output_len)) + { + session->error = g_strdup ("Message digest finalization failed"); + EVP_MD_CTX_free (md_ctx); + return SCRAM_ERROR; + } + + EVP_MD_CTX_free (md_ctx); + return SCRAM_IN_PROGRESS; +} + +static scram_status +process_client_first (scram_session *session, char **output, size_t *output_len) +{ + char nonce[NONCE_LENGTH]; + + if (!create_nonce (nonce, NONCE_LENGTH)) + { + session->error = g_strdup ("Could not create client nonce"); + return SCRAM_ERROR; + } + + session->client_nonce_b64 = g_base64_encode ((guchar *) nonce, NONCE_LENGTH); + *output = g_strdup_printf ("n,,n=%s,r=%s", session->username, session->client_nonce_b64); + *output_len = strlen (*output); + session->client_first_message_bare = g_strdup (*output + 3); + session->step++; + return SCRAM_IN_PROGRESS; +} + +static scram_status +process_server_first (scram_session *session, const char *data, char **output, + size_t *output_len) +{ + char **params, *client_final_message_without_proof, *salt, *server_nonce_b64, + *client_proof_b64; + unsigned char *client_key, stored_key[EVP_MAX_MD_SIZE], *client_signature, *client_proof; + unsigned int i, param_count, iteration_count, client_key_len, stored_key_len; + gsize salt_len = 0; + size_t client_nonce_len; + + params = g_strsplit (data, ",", -1); + param_count = g_strv_length (params); + + if (param_count < 3) + { + session->error = g_strdup_printf ("Invalid server-first-message: %s", data); + g_strfreev (params); + return SCRAM_ERROR; + } + + server_nonce_b64 = NULL; + salt = NULL; + iteration_count = 0; + + for (i = 0; i < param_count; i++) + { + if (!strncmp (params[i], "r=", 2)) + { + g_free (server_nonce_b64); + server_nonce_b64 = g_strdup (params[i] + 2); + } + else if (!strncmp (params[i], "s=", 2)) + { + g_free (salt); + salt = g_strdup (params[i] + 2); + } + else if (!strncmp (params[i], "i=", 2)) + { + iteration_count = strtoul (params[i] + 2, NULL, 10); + } + } + + g_strfreev (params); + + if (server_nonce_b64 == NULL || *server_nonce_b64 == '\0' || salt == NULL || + *salt == '\0' || iteration_count == 0) + { + session->error = g_strdup_printf ("Invalid server-first-message: %s", data); + g_free (server_nonce_b64); + g_free (salt); + return SCRAM_ERROR; + } + + client_nonce_len = strlen (session->client_nonce_b64); + + // The server can append his nonce to the client's nonce + if (strlen (server_nonce_b64) < client_nonce_len || + strncmp (server_nonce_b64, session->client_nonce_b64, client_nonce_len)) + { + session->error = g_strdup_printf ("Invalid server nonce: %s", server_nonce_b64); + return SCRAM_ERROR; + } + + g_base64_decode_inplace ((gchar *) salt, &salt_len); + + // SaltedPassword := Hi(Normalize(password), salt, i) + session->salted_password = g_malloc (session->digest_size); + + PKCS5_PBKDF2_HMAC (session->password, strlen (session->password), (unsigned char *) salt, + salt_len, iteration_count, session->digest, session->digest_size, + session->salted_password); + + // AuthMessage := client-first-message-bare + "," + + // server-first-message + "," + + // client-final-message-without-proof + client_final_message_without_proof = g_strdup_printf ("c=biws,r=%s", server_nonce_b64); + + session->auth_message = g_strdup_printf ("%s,%s,%s", session->client_first_message_bare, + data, client_final_message_without_proof); + + // ClientKey := HMAC(SaltedPassword, "Client Key") + client_key = g_malloc0 (session->digest_size); + + HMAC (session->digest, session->salted_password, session->digest_size, + (unsigned char *) CLIENT_KEY, strlen (CLIENT_KEY), client_key, &client_key_len); + + // StoredKey := H(ClientKey) + if (!create_SHA (session, client_key, session->digest_size, stored_key, &stored_key_len)) + { + g_free (client_final_message_without_proof); + g_free (server_nonce_b64); + g_free (salt); + g_free (client_key); + return SCRAM_ERROR; + } + + // ClientSignature := HMAC(StoredKey, AuthMessage) + client_signature = g_malloc0 (session->digest_size); + HMAC (session->digest, stored_key, stored_key_len, (unsigned char *) session->auth_message, + strlen ((char *) session->auth_message), client_signature, NULL); + + // ClientProof := ClientKey XOR ClientSignature + client_proof = g_malloc0 (client_key_len); + + for (i = 0; i < client_key_len; i++) + { + client_proof[i] = client_key[i] ^ client_signature[i]; + } + + client_proof_b64 = g_base64_encode ((guchar *) client_proof, client_key_len); + + *output = g_strdup_printf ("%s,p=%s", client_final_message_without_proof, client_proof_b64); + *output_len = strlen (*output); + + g_free (server_nonce_b64); + g_free (salt); + g_free (client_final_message_without_proof); + g_free (client_key); + g_free (client_signature); + g_free (client_proof); + g_free (client_proof_b64); + + session->step++; + return SCRAM_IN_PROGRESS; +} + +static scram_status +process_server_final (scram_session *session, const char *data) +{ + char *verifier; + unsigned char *server_key, *server_signature; + unsigned int server_key_len = 0, server_signature_len = 0; + gsize verifier_len = 0; + + if (strlen (data) < 3 || (data[0] != 'v' && data[1] != '=')) + { + return SCRAM_ERROR; + } + + verifier = g_strdup (data + 2); + g_base64_decode_inplace (verifier, &verifier_len); + + // ServerKey := HMAC(SaltedPassword, "Server Key") + server_key = g_malloc0 (session->digest_size); + HMAC (session->digest, session->salted_password, session->digest_size, + (unsigned char *) SERVER_KEY, strlen (SERVER_KEY), server_key, &server_key_len); + + // ServerSignature := HMAC(ServerKey, AuthMessage) + server_signature = g_malloc0 (session->digest_size); + HMAC (session->digest, server_key, session->digest_size, + (unsigned char *) session->auth_message, strlen ((char *) session->auth_message), + server_signature, &server_signature_len); + + if (verifier_len == server_signature_len && + memcmp (verifier, server_signature, verifier_len) == 0) + { + g_free (verifier); + g_free (server_key); + g_free (server_signature); + return SCRAM_SUCCESS; + } + else + { + g_free (verifier); + g_free (server_key); + g_free (server_signature); + return SCRAM_ERROR; + } +} + +scram_status +scram_process (scram_session *session, const char *input, char **output, size_t *output_len) +{ + scram_status status; + + switch (session->step) + { + case 0: + status = process_client_first (session, output, output_len); + break; + case 1: + status = process_server_first (session, input, output, output_len); + break; + case 2: + status = process_server_final (session, input); + break; + default: + *output = NULL; + *output_len = 0; + status = SCRAM_ERROR; + break; + } + + return status; +} + +#endif \ No newline at end of file diff --git a/src/common/scram.h b/src/common/scram.h new file mode 100644 index 0000000000000000000000000000000000000000..ffe22037745f0b38439dba988158c4535cbb88b9 --- /dev/null +++ b/src/common/scram.h @@ -0,0 +1,51 @@ +/* HexChat + * Copyright (C) 2023 Patrick Okraku + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef HEXCHAT_SCRAM_H +#define HEXCHAT_SCRAM_H + +#include "config.h" +#ifdef USE_OPENSSL +#include <openssl/evp.h> + +typedef struct +{ + const EVP_MD *digest; + size_t digest_size; + char *username; + char *password; + char *client_nonce_b64; + char *client_first_message_bare; + unsigned char *salted_password; + char *auth_message; + char *error; + int step; +} scram_session; + +typedef enum +{ + SCRAM_ERROR = 0, + SCRAM_IN_PROGRESS, + SCRAM_SUCCESS +} scram_status; + +scram_session *scram_session_create (const char *digset, const char *username, const char *password); +void scram_session_free (scram_session *session); +scram_status scram_process (scram_session *session, const char *input, char **output, size_t *output_len); + +#endif +#endif \ No newline at end of file diff --git a/src/common/server.c b/src/common/server.c new file mode 100644 index 0000000000000000000000000000000000000000..c78ce900395085a4b441711d086f6d5c341725be --- /dev/null +++ b/src/common/server.c @@ -0,0 +1,1951 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru> + * based on Dante source code + * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + * Inferno Nettverk A/S, Norway. All rights reserved. + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <errno.h> +#include <fcntl.h> + +#define WANTSOCKET +#define WANTARPA +#include "inet.h" + +#ifdef WIN32 +#include <winbase.h> +#include <io.h> +#else +#include <signal.h> +#include <sys/wait.h> +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "fe.h" +#include "cfgfiles.h" +#include "network.h" +#include "notify.h" +#include "hexchatc.h" +#include "inbound.h" +#include "outbound.h" +#include "text.h" +#include "util.h" +#include "url.h" +#include "proto-irc.h" +#include "servlist.h" +#include "server.h" + +#ifdef USE_OPENSSL +#include <openssl/ssl.h> /* SSL_() */ +#include <openssl/err.h> /* ERR_() */ +#include "ssl.h" +#endif + +#ifdef USE_OPENSSL +/* local variables */ +static struct session *g_sess = NULL; +#endif + +static GSList *away_list = NULL; +GSList *serv_list = NULL; + +static void auto_reconnect (server *serv, int send_quit, int err); +static void server_disconnect (session * sess, int sendquit, int err); +static int server_cleanup (server * serv); +static void server_connect (server *serv, char *hostname, int port, int no_login); + +static void +write_error (char *message, GError **error) +{ + if (error == NULL || *error == NULL) { + return; + } + g_printerr ("%s: %s\n", message, (*error)->message); + g_clear_error (error); +} + +/* actually send to the socket. This might do a character translation or + send via SSL. server/dcc both use this function. */ + +int +tcp_send_real (void *ssl, int sok, GIConv write_converter, char *buf, int len) +{ + int ret; + + gsize buf_encoded_len; + gchar *buf_encoded = text_convert_invalid (buf, len, write_converter, arbitrary_encoding_fallback_string, &buf_encoded_len); +#ifdef USE_OPENSSL + if (!ssl) + ret = send (sok, buf_encoded, buf_encoded_len, 0); + else + ret = _SSL_send (ssl, buf_encoded, buf_encoded_len); +#else + ret = send (sok, buf_encoded, buf_encoded_len, 0); +#endif + g_free (buf_encoded); + + return ret; +} + +static int +server_send_real (server *serv, char *buf, int len) +{ + fe_add_rawlog (serv, buf, len, TRUE); + + url_check_line (buf); + + return tcp_send_real (serv->ssl, serv->sok, serv->write_converter, buf, len); +} + +/* new throttling system, uses the same method as the Undernet + ircu2.10 server; under test, a 200-line paste didn't flood + off the client */ + +static int +tcp_send_queue (server *serv) +{ + char *buf, *p; + int len, i, pri; + GSList *list; + time_t now = time (0); + + /* did the server close since the timeout was added? */ + if (!is_server (serv)) + return 0; + + /* try priority 2,1,0 */ + pri = 2; + while (pri >= 0) + { + list = serv->outbound_queue; + while (list) + { + buf = (char *) list->data; + if (buf[0] == pri) + { + buf++; /* skip the priority byte */ + len = strlen (buf); + + if (serv->next_send < now) + serv->next_send = now; + if (serv->next_send - now >= 10) + { + /* check for clock skew */ + if (now >= serv->prev_now) + return 1; /* don't remove the timeout handler */ + /* it is skewed, reset to something sane */ + serv->next_send = now; + } + + for (p = buf, i = len; i && *p != ' '; p++, i--); + serv->next_send += (2 + i / 120); + serv->sendq_len -= len; + serv->prev_now = now; + fe_set_throttle (serv); + + server_send_real (serv, buf, len); + + buf--; + serv->outbound_queue = g_slist_remove (serv->outbound_queue, buf); + g_free (buf); + list = serv->outbound_queue; + } else + { + list = list->next; + } + } + /* now try pri 0 */ + pri--; + } + return 0; /* remove the timeout handler */ +} + +int +tcp_send_len (server *serv, char *buf, int len) +{ + char *dbuf; + int noqueue = !serv->outbound_queue; + + if (!prefs.hex_net_throttle) + return server_send_real (serv, buf, len); + + dbuf = g_malloc (len + 2); /* first byte is the priority */ + dbuf[0] = 2; /* pri 2 for most things */ + memcpy (dbuf + 1, buf, len); + dbuf[len + 1] = 0; + + /* privmsg and notice get a lower priority */ + if (g_ascii_strncasecmp (dbuf + 1, "PRIVMSG", 7) == 0 || + g_ascii_strncasecmp (dbuf + 1, "NOTICE", 6) == 0) + { + dbuf[0] = 1; + } + else + { + /* WHO gets the lowest priority */ + if (g_ascii_strncasecmp (dbuf + 1, "WHO ", 4) == 0) + dbuf[0] = 0; + /* as do MODE queries (but not changes) */ + else if (g_ascii_strncasecmp (dbuf + 1, "MODE ", 5) == 0) + { + char *mode_str, *mode_str_end, *loc; + /* skip spaces before channel/nickname */ + for (mode_str = dbuf + 5; *mode_str == ' '; ++mode_str); + /* skip over channel/nickname */ + mode_str = strchr (mode_str, ' '); + if (mode_str) + { + /* skip spaces before mode string */ + for (; *mode_str == ' '; ++mode_str); + /* find spaces after end of mode string */ + mode_str_end = strchr (mode_str, ' '); + /* look for +/- within the mode string */ + loc = strchr (mode_str, '-'); + if (loc && (!mode_str_end || loc < mode_str_end)) + goto keep_priority; + loc = strchr (mode_str, '+'); + if (loc && (!mode_str_end || loc < mode_str_end)) + goto keep_priority; + } + dbuf[0] = 0; +keep_priority: + ; + } + } + + serv->outbound_queue = g_slist_append (serv->outbound_queue, dbuf); + serv->sendq_len += len; /* tcp_send_queue uses strlen */ + + if (tcp_send_queue (serv) && noqueue) + fe_timeout_add (500, tcp_send_queue, serv); + + return 1; +} + +void +tcp_sendf (server *serv, const char *fmt, ...) +{ + va_list args; + /* keep this buffer in BSS. Converting UTF-8 to ISO-8859-x might make the + string shorter, so allow alot more than 512 for now. */ + static char send_buf[1540]; /* good code hey (no it's not overflowable) */ + int len; + + va_start (args, fmt); + len = g_vsnprintf (send_buf, sizeof (send_buf) - 1, fmt, args); + va_end (args); + + send_buf[sizeof (send_buf) - 1] = '\0'; + if (len < 0 || len > (sizeof (send_buf) - 1)) + len = strlen (send_buf); + + tcp_send_len (serv, send_buf, len); +} + +static int +close_socket_cb (gpointer sok) +{ + closesocket (GPOINTER_TO_INT (sok)); + return 0; +} + +static void +close_socket (int sok) +{ + /* close the socket in 5 seconds so the QUIT message is not lost */ + fe_timeout_add_seconds (5, close_socket_cb, GINT_TO_POINTER (sok)); +} + +/* handle 1 line of text received from the server */ + +static void +server_inline (server *serv, char *line, gssize len) +{ + gsize len_utf8; + if (!strcmp (serv->encoding, "UTF-8")) + line = text_fixup_invalid_utf8 (line, len, &len_utf8); + else + line = text_convert_invalid (line, len, serv->read_converter, unicode_fallback_string, &len_utf8); + + fe_add_rawlog (serv, line, len_utf8, FALSE); + + /* let proto-irc.c handle it */ + serv->p_inline (serv, line, len_utf8); + + g_free (line); +} + +/* read data from socket */ + +static gboolean +server_read (GIOChannel *source, GIOCondition condition, server *serv) +{ + int sok = serv->sok; + int error, i, len; + char lbuf[2050]; + + while (1) + { +#ifdef USE_OPENSSL + if (!serv->ssl) +#endif + len = recv (sok, lbuf, sizeof (lbuf) - 2, 0); +#ifdef USE_OPENSSL + else + len = _SSL_recv (serv->ssl, lbuf, sizeof (lbuf) - 2); +#endif + if (len < 1) + { + error = 0; + if (len < 0) + { + if (would_block ()) + return TRUE; + error = sock_error (); + } + if (!serv->end_of_motd) + { + server_disconnect (serv->server_session, FALSE, error); + if (!servlist_cycle (serv)) + { + if (prefs.hex_net_auto_reconnect) + auto_reconnect (serv, FALSE, error); + } + } else + { + if (prefs.hex_net_auto_reconnect) + auto_reconnect (serv, FALSE, error); + else + server_disconnect (serv->server_session, FALSE, error); + } + return TRUE; + } + + i = 0; + + lbuf[len] = 0; + + while (i < len) + { + switch (lbuf[i]) + { + case '\r': + break; + + case '\n': + serv->linebuf[serv->pos] = 0; + server_inline (serv, serv->linebuf, serv->pos); + serv->pos = 0; + break; + + default: + serv->linebuf[serv->pos] = lbuf[i]; + if (serv->pos >= (sizeof (serv->linebuf) - 1)) + fprintf (stderr, + "*** HEXCHAT WARNING: Buffer overflow - non-compliant server!\n"); + else + serv->pos++; + } + i++; + } + } +} + +static void +server_connected (server * serv) +{ + prefs.wait_on_exit = TRUE; + serv->ping_recv = time (0); + serv->lag_sent = 0; + serv->connected = TRUE; + set_nonblocking (serv->sok); + serv->iotag = fe_input_add (serv->sok, FIA_READ|FIA_EX, server_read, serv); + if (!serv->no_login) + { + EMIT_SIGNAL (XP_TE_CONNECTED, serv->server_session, NULL, NULL, NULL, + NULL, 0); + if (serv->network) + { + serv->p_login (serv, + (!(((ircnet *)serv->network)->flags & FLAG_USE_GLOBAL) && + (((ircnet *)serv->network)->user)) ? + (((ircnet *)serv->network)->user) : + prefs.hex_irc_user_name, + (!(((ircnet *)serv->network)->flags & FLAG_USE_GLOBAL) && + (((ircnet *)serv->network)->real)) ? + (((ircnet *)serv->network)->real) : + prefs.hex_irc_real_name); + } else + { + serv->p_login (serv, prefs.hex_irc_user_name, prefs.hex_irc_real_name); + } + } else + { + EMIT_SIGNAL (XP_TE_SERVERCONNECTED, serv->server_session, NULL, NULL, + NULL, NULL, 0); + } + + server_set_name (serv, serv->servername); + fe_server_event (serv, FE_SE_CONNECT, 0); +} + +#ifdef WIN32 + +static gboolean +server_close_pipe (int *pipefd) /* see comments below */ +{ + close (pipefd[0]); /* close WRITE end first to cause an EOF on READ */ + close (pipefd[1]); /* in giowin32, and end that thread. */ + g_free (pipefd); + return FALSE; +} + +#endif + +static void +server_stopconnecting (server * serv) +{ + if (serv->iotag) + { + fe_input_remove (serv->iotag); + serv->iotag = 0; + } + + if (serv->joindelay_tag) + { + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + } + +#ifndef WIN32 + /* kill the child process trying to connect */ + kill (serv->childpid, SIGKILL); + waitpid (serv->childpid, NULL, 0); + + close (serv->childwrite); + close (serv->childread); +#else + PostThreadMessage (serv->childpid, WM_QUIT, 0, 0); + + { + /* if we close the pipe now, giowin32 will crash. */ + int *pipefd = g_new (int, 2); + pipefd[0] = serv->childwrite; + pipefd[1] = serv->childread; + g_idle_add ((GSourceFunc)server_close_pipe, pipefd); + } +#endif + +#ifdef USE_OPENSSL + if (serv->ssl_do_connect_tag) + { + fe_timeout_remove (serv->ssl_do_connect_tag); + serv->ssl_do_connect_tag = 0; + } +#endif + + fe_progressbar_end (serv); + + serv->connecting = FALSE; + fe_server_event (serv, FE_SE_DISCONNECT, 0); +} + +#ifdef USE_OPENSSL +#define SSLTMOUT 90 /* seconds */ +static void +ssl_cb_info (SSL * s, int where, int ret) +{ +/* char buf[128];*/ + + + return; /* FIXME: make debug level adjustable in serverlist or settings */ + +/* g_snprintf (buf, sizeof (buf), "%s (%d)", SSL_state_string_long (s), where); + if (g_sess) + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + else + fprintf (stderr, "%s\n", buf);*/ +} + +static int +ssl_cb_verify (int ok, X509_STORE_CTX * ctx) +{ + char subject[256]; + char issuer[256]; + char buf[512]; + X509 *current_cert = X509_STORE_CTX_get_current_cert (ctx); + + if (!current_cert) + return TRUE; + + X509_NAME_oneline (X509_get_subject_name (current_cert), + subject, sizeof (subject)); + X509_NAME_oneline (X509_get_issuer_name (current_cert), + issuer, sizeof (issuer)); + + g_snprintf (buf, sizeof (buf), "* Subject: %s", subject); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + g_snprintf (buf, sizeof (buf), "* Issuer: %s", issuer); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, g_sess, buf, NULL, NULL, NULL, 0); + + return TRUE; +} + +static int +ssl_do_connect (server * serv) +{ + char buf[256]; // ERR_error_string() MUST have this size + + g_sess = serv->server_session; + + /* Set SNI hostname before connect */ + SSL_set_tlsext_host_name(serv->ssl, serv->hostname); + + if (SSL_connect (serv->ssl) <= 0) + { + char err_buf[128]; + int err; + + g_sess = NULL; + if ((err = ERR_get_error ()) > 0) + { + ERR_error_string (err, err_buf); + g_snprintf (buf, sizeof (buf), "(%d) %s", err, err_buf); + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, + NULL, NULL, 0); + + if (ERR_GET_REASON (err) == SSL_R_WRONG_VERSION_NUMBER) + PrintText (serv->server_session, _("Are you sure this is a SSL capable server and port?\n")); + + server_cleanup (serv); + + if (prefs.hex_net_auto_reconnectonfail) + auto_reconnect (serv, FALSE, -1); + + return (0); /* remove it (0) */ + } + } + g_sess = NULL; + + if (SSL_is_init_finished (serv->ssl)) + { + struct cert_info cert_info; + struct chiper_info *chiper_info; + int verify_error; + int i; + + if (!_SSL_get_cert_info (&cert_info, serv->ssl)) + { + g_snprintf (buf, sizeof (buf), "* Certification info:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + g_snprintf (buf, sizeof (buf), " Subject:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + for (i = 0; cert_info.subject_word[i]; i++) + { + g_snprintf (buf, sizeof (buf), " %s", cert_info.subject_word[i]); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } + g_snprintf (buf, sizeof (buf), " Issuer:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + for (i = 0; cert_info.issuer_word[i]; i++) + { + g_snprintf (buf, sizeof (buf), " %s", cert_info.issuer_word[i]); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } + g_snprintf (buf, sizeof (buf), " Public key algorithm: %s (%d bits)", + cert_info.algorithm, cert_info.algorithm_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + /*if (cert_info.rsa_tmp_bits) + { + g_snprintf (buf, sizeof (buf), + " Public key algorithm uses ephemeral key with %d bits", + cert_info.rsa_tmp_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + }*/ + g_snprintf (buf, sizeof (buf), " Sign algorithm %s", + cert_info.sign_algorithm/*, cert_info.sign_algorithm_bits*/); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + g_snprintf (buf, sizeof (buf), " Valid since %s to %s", + cert_info.notbefore, cert_info.notafter); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + } else + { + g_snprintf (buf, sizeof (buf), "No Certificate"); + goto conn_fail; + } + + chiper_info = _SSL_get_cipher_info (serv->ssl); /* static buffer */ + g_snprintf (buf, sizeof (buf), "* Cipher info:"); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, + 0); + g_snprintf (buf, sizeof (buf), " Version: %s, cipher %s (%u bits)", + chiper_info->version, chiper_info->chiper, + chiper_info->chiper_bits); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, + 0); + + verify_error = SSL_get_verify_result (serv->ssl); + switch (verify_error) + { + case X509_V_OK: + { + X509 *cert = SSL_get_peer_certificate (serv->ssl); + int hostname_err; + if ((hostname_err = _SSL_check_hostname(cert, serv->hostname)) != 0) + { + g_snprintf (buf, sizeof (buf), "* Verify E: Failed to validate hostname? (%d)%s", + hostname_err, serv->accept_invalid_cert ? " -- Ignored" : ""); + if (serv->accept_invalid_cert) + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, 0); + else + goto conn_fail; + } + break; + } + /* g_snprintf (buf, sizeof (buf), "* Verify OK (?)"); */ + /* EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, NULL, 0); */ + case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: + case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: + case X509_V_ERR_CERT_HAS_EXPIRED: + if (serv->accept_invalid_cert) + { + g_snprintf (buf, sizeof (buf), "* Verify E: %s.? (%d) -- Ignored", + X509_verify_cert_error_string (verify_error), + verify_error); + EMIT_SIGNAL (XP_TE_SSLMESSAGE, serv->server_session, buf, NULL, NULL, + NULL, 0); + break; + } + default: + g_snprintf (buf, sizeof (buf), "%s.? (%d)", + X509_verify_cert_error_string (verify_error), + verify_error); +conn_fail: + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, NULL, + NULL, 0); + + server_cleanup (serv); + + return (0); + } + + server_stopconnecting (serv); + + /* activate gtk poll */ + server_connected (serv); + + return (0); /* remove it (0) */ + } else + { + SSL_SESSION *session = SSL_get_session (serv->ssl); + if (session && SSL_SESSION_get_time (session) + SSLTMOUT < time (NULL)) + { + g_snprintf (buf, sizeof (buf), "SSL handshake timed out"); + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, buf, NULL, + NULL, NULL, 0); + server_cleanup (serv); /* ->connecting = FALSE */ + + if (prefs.hex_net_auto_reconnectonfail) + auto_reconnect (serv, FALSE, -1); + + return (0); /* remove it (0) */ + } + + return (1); /* call it more (1) */ + } +} +#endif + +static int +timeout_auto_reconnect (server *serv) +{ + if (is_server (serv)) /* make sure it hasnt been closed during the delay */ + { + serv->recondelay_tag = 0; + if (!serv->connected && !serv->connecting && serv->server_session) + { + server_connect (serv, serv->hostname, serv->port, FALSE); + } + } + return 0; /* returning 0 should remove the timeout handler */ +} + +static void +auto_reconnect (server *serv, int send_quit, int err) +{ + session *s; + int del; + + if (serv->server_session == NULL) + return; + + if (prefs.hex_irc_reconnect_rejoin) + { + GSList *list; + list = sess_list; + while (list) /* make sure auto rejoin can work */ + { + s = list->data; + if (s->type == SESS_CHANNEL && s->channel[0]) + { + strcpy (s->waitchannel, s->channel); + strcpy (s->willjoinchannel, s->channel); + } + list = list->next; + } + } + + if (serv->connected) + server_disconnect (serv->server_session, send_quit, err); + + del = prefs.hex_net_reconnect_delay * 1000; + if (del < 1000) + del = 500; /* so it doesn't block the gui */ + +#ifndef WIN32 + if (err == -1 || err == 0 || err == ECONNRESET || err == ETIMEDOUT) +#else + if (err == -1 || err == 0 || err == WSAECONNRESET || err == WSAETIMEDOUT) +#endif + serv->reconnect_away = serv->is_away; + + /* is this server in a reconnect delay? remove it! */ + if (serv->recondelay_tag) + { + fe_timeout_remove (serv->recondelay_tag); + serv->recondelay_tag = 0; + } + + serv->recondelay_tag = fe_timeout_add (del, timeout_auto_reconnect, serv); + fe_server_event (serv, FE_SE_RECONDELAY, del); +} + +static void +server_flush_queue (server *serv) +{ + list_free (&serv->outbound_queue); + serv->sendq_len = 0; + fe_set_throttle (serv); +} + +/* connect() successed */ + +static void +server_connect_success (server *serv) +{ +#ifdef USE_OPENSSL +#define SSLDOCONNTMOUT 300 + if (serv->use_ssl) + { + char *err; + + /* it'll be a memory leak, if connection isn't terminated by + server_cleanup() */ + if ((err = _SSL_set_verify (serv->ctx, ssl_cb_verify))) + { + EMIT_SIGNAL (XP_TE_CONNFAIL, serv->server_session, err, NULL, + NULL, NULL, 0); + server_cleanup (serv); /* ->connecting = FALSE */ + return; + } + serv->ssl = _SSL_socket (serv->ctx, serv->sok); + /* FIXME: it'll be needed by new servers */ + /* send(serv->sok, "STLS\r\n", 6, 0); sleep(1); */ + set_nonblocking (serv->sok); + serv->ssl_do_connect_tag = fe_timeout_add (SSLDOCONNTMOUT, + ssl_do_connect, serv); + return; + } + + serv->ssl = NULL; +#endif + server_stopconnecting (serv); /* ->connecting = FALSE */ + /* activate glib poll */ + server_connected (serv); +} + +/* receive info from the child-process about connection progress */ + +static gboolean +server_read_child (GIOChannel *source, GIOCondition condition, server *serv) +{ + session *sess = serv->server_session; + char tbuf[128]; + char outbuf[512]; + char host[100]; + char ip[100]; + + waitline2 (source, tbuf, sizeof tbuf); + + switch (tbuf[0]) + { + case '0': /* print some text */ + waitline2 (source, tbuf, sizeof tbuf); + PrintText (serv->server_session, tbuf); + break; + case '1': /* unknown host */ + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); + EMIT_SIGNAL (XP_TE_UKNHOST, sess, NULL, NULL, NULL, NULL, 0); + if (!servlist_cycle (serv)) + if (prefs.hex_net_auto_reconnectonfail) + auto_reconnect (serv, FALSE, -1); + break; + case '2': /* connection failed */ + waitline2 (source, tbuf, sizeof tbuf); + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); + EMIT_SIGNAL (XP_TE_CONNFAIL, sess, errorstring (atoi (tbuf)), NULL, + NULL, NULL, 0); + if (!servlist_cycle (serv)) + if (prefs.hex_net_auto_reconnectonfail) + auto_reconnect (serv, FALSE, -1); + break; + case '3': /* gethostbyname finished */ + waitline2 (source, host, sizeof host); + waitline2 (source, ip, sizeof ip); + waitline2 (source, outbuf, sizeof outbuf); + EMIT_SIGNAL (XP_TE_CONNECT, sess, host, ip, outbuf, NULL, 0); + break; + case '4': /* success */ + waitline2 (source, tbuf, sizeof (tbuf)); + serv->sok = atoi (tbuf); + /* close the one we didn't end up using */ + if (serv->sok == serv->sok4) + closesocket (serv->sok6); + else + closesocket (serv->sok4); + if (serv->proxy_sok != -1) + { + if (serv->proxy_sok == serv->proxy_sok4) + closesocket (serv->proxy_sok6); + else + closesocket (serv->proxy_sok4); + } + + { + struct sockaddr_storage addr; + int addr_len = sizeof (addr); + guint16 port; + ircnet *net = serv->network; + + if (!getsockname (serv->sok, (struct sockaddr *)&addr, &addr_len)) + { + if (addr.ss_family == AF_INET) + port = ntohs(((struct sockaddr_in *)&addr)->sin_port); + else + port = ntohs(((struct sockaddr_in6 *)&addr)->sin6_port); + + g_snprintf (outbuf, sizeof (outbuf), "IDENTD %"G_GUINT16_FORMAT" ", port); + if (net && net->user && !(net->flags & FLAG_USE_GLOBAL)) + g_strlcat (outbuf, net->user, sizeof (outbuf)); + else + g_strlcat (outbuf, prefs.hex_irc_user_name, sizeof (outbuf)); + + handle_command (serv->server_session, outbuf, FALSE); + } + } + + server_connect_success (serv); + break; + case '5': /* prefs ip discovered */ + waitline2 (source, tbuf, sizeof tbuf); + prefs.local_ip = inet_addr (tbuf); + break; + case '7': /* gethostbyname (prefs.hex_net_bind_host) failed */ + sprintf (outbuf, + _("Cannot resolve hostname %s\nCheck your IP Settings!\n"), + prefs.hex_net_bind_host); + PrintText (sess, outbuf); + break; + case '8': + PrintText (sess, _("Proxy traversal failed.\n")); + server_disconnect (sess, FALSE, -1); + break; + case '9': + waitline2 (source, tbuf, sizeof tbuf); + EMIT_SIGNAL (XP_TE_SERVERLOOKUP, sess, tbuf, NULL, NULL, NULL, 0); + break; + } + + return TRUE; +} + +/* kill all sockets & iotags of a server. Stop a connection attempt, or + disconnect if already connected. */ + +static int +server_cleanup (server * serv) +{ + fe_set_lag (serv, 0); + + if (serv->iotag) + { + fe_input_remove (serv->iotag); + serv->iotag = 0; + } + + if (serv->joindelay_tag) + { + fe_timeout_remove (serv->joindelay_tag); + serv->joindelay_tag = 0; + } + +#ifdef USE_OPENSSL + if (serv->ssl) + { + SSL_shutdown (serv->ssl); + SSL_free (serv->ssl); + serv->ssl = NULL; + } +#endif + + if (serv->connecting) + { + server_stopconnecting (serv); + closesocket (serv->sok4); + if (serv->proxy_sok4 != -1) + closesocket (serv->proxy_sok4); + if (serv->sok6 != -1) + closesocket (serv->sok6); + if (serv->proxy_sok6 != -1) + closesocket (serv->proxy_sok6); + return 1; + } + + if (serv->connected) + { + close_socket (serv->sok); + if (serv->proxy_sok) + close_socket (serv->proxy_sok); + serv->connected = FALSE; + serv->end_of_motd = FALSE; + return 2; + } + + /* is this server in a reconnect delay? remove it! */ + if (serv->recondelay_tag) + { + fe_timeout_remove (serv->recondelay_tag); + serv->recondelay_tag = 0; + return 3; + } + + return 0; +} + +static void +server_disconnect (session * sess, int sendquit, int err) +{ + server *serv = sess->server; + GSList *list; + char tbuf[64]; + gboolean shutup = FALSE; + + /* send our QUIT reason */ + if (sendquit && serv->connected) + { + server_sendquit (sess); + } + + fe_server_event (serv, FE_SE_DISCONNECT, 0); + + /* close all sockets & io tags */ + switch (server_cleanup (serv)) + { + case 0: /* it wasn't even connected! */ + notc_msg (sess); + return; + case 1: /* it was in the process of connecting */ + sprintf (tbuf, "%d", sess->server->childpid); + EMIT_SIGNAL (XP_TE_STOPCONNECT, sess, tbuf, NULL, NULL, NULL, 0); + return; + case 3: + shutup = TRUE; /* won't print "disconnected" in channels */ + } + + server_flush_queue (serv); + + list = sess_list; + while (list) + { + sess = (struct session *) list->data; + if (sess->server == serv) + { + if (!shutup || sess->type == SESS_SERVER) + /* print "Disconnected" to each window using this server */ + EMIT_SIGNAL (XP_TE_DISCON, sess, errorstring (err), NULL, NULL, NULL, 0); + + if (!sess->channel[0] || sess->type == SESS_CHANNEL) + clear_channel (sess); + } + list = list->next; + } + + serv->pos = 0; + serv->motd_skipped = FALSE; + serv->no_login = FALSE; + serv->servername[0] = 0; + serv->lag_sent = 0; + + notify_cleanup (); +} + +/* send a "print text" command to the parent process - MUST END IN \n! */ + +static void +proxy_error (int fd, char *msg) +{ + write (fd, "0\n", 2); + write (fd, msg, strlen (msg)); +} + +struct sock_connect +{ + char version; + char type; + guint16 port; + guint32 address; + char username[10]; +}; + +/* traverse_socks() returns: + * 0 success * + * 1 socks traversal failed */ + +static int +traverse_socks (int print_fd, int sok, char *serverAddr, int port) +{ + struct sock_connect sc; + unsigned char buf[256]; + + sc.version = 4; + sc.type = 1; + sc.port = htons (port); + sc.address = inet_addr (serverAddr); + g_strlcpy (sc.username, prefs.hex_irc_user_name, sizeof (sc.username)); + + send (sok, (char *) &sc, 8 + strlen (sc.username) + 1, 0); + buf[1] = 0; + recv (sok, buf, 10, 0); + if (buf[1] == 90) + return 0; + + g_snprintf (buf, sizeof (buf), "SOCKS\tServer reported error %d,%d.\n", buf[0], buf[1]); + proxy_error (print_fd, buf); + return 1; +} + +struct sock5_connect1 +{ + char version; + char nmethods; + char method; +}; + +static int +traverse_socks5 (int print_fd, int sok, char *serverAddr, int port) +{ + struct sock5_connect1 sc1; + unsigned char *sc2; + unsigned int packetlen, addrlen; + unsigned char buf[260]; + int auth = prefs.hex_net_proxy_auth && prefs.hex_net_proxy_user[0] && prefs.hex_net_proxy_pass[0]; + + sc1.version = 5; + sc1.nmethods = 1; + if (auth) + sc1.method = 2; /* Username/Password Authentication (UPA) */ + else + sc1.method = 0; /* NO Authentication */ + send (sok, (char *) &sc1, 3, 0); + if (recv (sok, buf, 2, 0) != 2) + goto read_error; + + if (buf[0] != 5) + { + proxy_error (print_fd, "SOCKS\tServer is not socks version 5.\n"); + return 1; + } + + /* did the server say no auth required? */ + if (buf[1] == 0) + auth = 0; + + if (auth) + { + int len_u=0, len_p=0; + unsigned char *u_p_buf; + + /* authentication sub-negotiation (RFC1929) */ + if (buf[1] != 2) /* UPA not supported by server */ + { + proxy_error (print_fd, "SOCKS\tServer doesn't support UPA authentication.\n"); + return 1; + } + + /* form the UPA request */ + len_u = strlen (prefs.hex_net_proxy_user); + len_p = strlen (prefs.hex_net_proxy_pass); + + packetlen = 2 + len_u + 1 + len_p; + u_p_buf = g_malloc0 (packetlen); + + u_p_buf[0] = 1; + u_p_buf[1] = len_u; + memcpy (u_p_buf + 2, prefs.hex_net_proxy_user, len_u); + u_p_buf[2 + len_u] = len_p; + memcpy (u_p_buf + 3 + len_u, prefs.hex_net_proxy_pass, len_p); + + send (sok, u_p_buf, packetlen, 0); + g_free(u_p_buf); + + if ( recv (sok, buf, 2, 0) != 2 ) + goto read_error; + if ( buf[1] != 0 ) + { + proxy_error (print_fd, "SOCKS\tAuthentication failed. " + "Is username and password correct?\n"); + return 1; /* UPA failed! */ + } + } + else + { + if (buf[1] != 0) + { + proxy_error (print_fd, "SOCKS\tAuthentication required but disabled in settings.\n"); + return 1; + } + } + + addrlen = strlen (serverAddr); + packetlen = 4 + 1 + addrlen + 2; + sc2 = g_malloc (packetlen); + sc2[0] = 5; /* version */ + sc2[1] = 1; /* command */ + sc2[2] = 0; /* reserved */ + sc2[3] = 3; /* address type */ + sc2[4] = (unsigned char) addrlen; /* hostname length */ + memcpy (sc2 + 5, serverAddr, addrlen); + *((unsigned short *) (sc2 + 5 + addrlen)) = htons (port); + send (sok, sc2, packetlen, 0); + g_free (sc2); + + /* consume all of the reply */ + if (recv (sok, buf, 4, 0) != 4) + goto read_error; + if (buf[0] != 5 || buf[1] != 0) + { + if (buf[1] == 2) + g_snprintf (buf, sizeof (buf), "SOCKS\tProxy refused to connect to host (not allowed).\n"); + else + g_snprintf (buf, sizeof (buf), "SOCKS\tProxy failed to connect to host (error %d).\n", buf[1]); + proxy_error (print_fd, buf); + return 1; + } + if (buf[3] == 1) /* IPV4 32bit address */ + { + if (recv (sok, buf, 6, 0) != 6) + goto read_error; + } else if (buf[3] == 4) /* IPV6 128bit address */ + { + if (recv (sok, buf, 18, 0) != 18) + goto read_error; + } else if (buf[3] == 3) /* string, 1st byte is size */ + { + if (recv (sok, buf, 1, 0) != 1) /* read the string size */ + goto read_error; + packetlen = buf[0] + 2; /* can't exceed 260 */ + if (recv (sok, buf, packetlen, 0) != packetlen) + goto read_error; + } + + return 0; /* success */ + +read_error: + proxy_error (print_fd, "SOCKS\tRead error from server.\n"); + return 1; +} + +static int +traverse_wingate (int print_fd, int sok, char *serverAddr, int port) +{ + char buf[128]; + + g_snprintf (buf, sizeof (buf), "%s %d\r\n", serverAddr, port); + send (sok, buf, strlen (buf), 0); + + return 0; +} + +/* stuff for HTTP auth is here */ + +static void +three_to_four (char *from, char *to) +{ + static const char tab64[64]= + { + 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P', + 'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f', + 'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v', + 'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/' + }; + + to[0] = tab64 [ (from[0] >> 2) & 63 ]; + to[1] = tab64 [ ((from[0] << 4) | (from[1] >> 4)) & 63 ]; + to[2] = tab64 [ ((from[1] << 2) | (from[2] >> 6)) & 63 ]; + to[3] = tab64 [ from[2] & 63 ]; +}; + +void +base64_encode (char *to, char *from, unsigned int len) +{ + while (len >= 3) + { + three_to_four (from, to); + len -= 3; + from += 3; + to += 4; + } + if (len) + { + char three[3] = {0,0,0}; + unsigned int i; + for (i = 0; i < len; i++) + { + three[i] = *from++; + } + three_to_four (three, to); + if (len == 1) + { + to[2] = to[3] = '='; + } + else if (len == 2) + { + to[3] = '='; + } + to += 4; + }; + to[0] = 0; +} + +static int +http_read_line (int print_fd, int sok, char *buf, int len) +{ + len = waitline (sok, buf, len, TRUE); + if (len >= 1) + { + /* print the message out (send it to the parent process) */ + write (print_fd, "0\n", 2); + + if (buf[len-1] == '\r') + { + buf[len-1] = '\n'; + write (print_fd, buf, len); + } else + { + write (print_fd, buf, len); + write (print_fd, "\n", 1); + } + } + + return len; +} + +static int +traverse_http (int print_fd, int sok, char *serverAddr, int port) +{ + char buf[512]; + char auth_data[256]; + char auth_data2[252]; + int n, n2; + + n = g_snprintf (buf, sizeof (buf), "CONNECT %s:%d HTTP/1.0\r\n", + serverAddr, port); + if (prefs.hex_net_proxy_auth) + { + n2 = g_snprintf (auth_data2, sizeof (auth_data2), "%s:%s", + prefs.hex_net_proxy_user, prefs.hex_net_proxy_pass); + base64_encode (auth_data, auth_data2, n2); + n += g_snprintf (buf+n, sizeof (buf)-n, "Proxy-Authorization: Basic %s\r\n", auth_data); + } + n += g_snprintf (buf+n, sizeof (buf)-n, "\r\n"); + send (sok, buf, n, 0); + + n = http_read_line (print_fd, sok, buf, sizeof (buf)); + /* "HTTP/1.0 200 OK" */ + if (n < 12) + return 1; + if (memcmp (buf, "HTTP/", 5) || memcmp (buf + 9, "200", 3)) + return 1; + while (1) + { + /* read until blank line */ + n = http_read_line (print_fd, sok, buf, sizeof (buf)); + if (n < 1 || (n == 1 && buf[0] == '\n')) + break; + } + return 0; +} + +static int +traverse_proxy (int proxy_type, int print_fd, int sok, char *ip, int port, netstore *ns_proxy, int csok4, int csok6, int *csok, char bound) +{ + switch (proxy_type) + { + case 1: + return traverse_wingate (print_fd, sok, ip, port); + case 2: + return traverse_socks (print_fd, sok, ip, port); + case 3: + return traverse_socks5 (print_fd, sok, ip, port); + case 4: + return traverse_http (print_fd, sok, ip, port); + } + + return 1; +} + +/* this is the child process making the connection attempt */ + +static int +server_child (server * serv) +{ + netstore *ns_server; + netstore *ns_proxy = NULL; + netstore *ns_local; + int port = serv->port; + int error; + int sok, psok; + char *hostname = serv->hostname; + char *real_hostname = NULL; + char *ip; + char *proxy_ip = NULL; + char *local_ip; + int connect_port; + char buf[512]; + char bound = 0; + int proxy_type = 0; + char *proxy_host = NULL; + int proxy_port; + + ns_server = net_store_new (); + + /* is a hostname set? - bind to it */ + if (prefs.hex_net_bind_host[0]) + { + ns_local = net_store_new (); + local_ip = net_resolve (ns_local, prefs.hex_net_bind_host, 0, &real_hostname); + if (local_ip != NULL) + { + g_snprintf (buf, sizeof (buf), "5\n%s\n", local_ip); + write (serv->childwrite, buf, strlen (buf)); + net_bind (ns_local, serv->sok4, serv->sok6); + bound = 1; + } else + { + write (serv->childwrite, "7\n", 2); + } + net_store_destroy (ns_local); + } + + if (!serv->dont_use_proxy) /* blocked in serverlist? */ + { + if (prefs.hex_net_proxy_type == 5) + { + char **proxy_list; + char *url, *proxy; + GProxyResolver *resolver; + GError *error = NULL; + + resolver = g_proxy_resolver_get_default (); + url = g_strdup_printf ("irc://%s:%d", hostname, port); + proxy_list = g_proxy_resolver_lookup (resolver, url, NULL, &error); + + if (proxy_list) { + /* can use only one */ + proxy = proxy_list[0]; + if (!strncmp (proxy, "direct", 6)) + proxy_type = 0; + else if (!strncmp (proxy, "http", 4)) + proxy_type = 4; + else if (!strncmp (proxy, "socks5", 6)) + proxy_type = 3; + else if (!strncmp (proxy, "socks", 5)) + proxy_type = 2; + } else { + write_error ("Failed to lookup proxy", &error); + } + + if (proxy_type) { + char *c; + c = strchr (proxy, ':') + 3; + proxy_host = g_strdup (c); + c = strchr (proxy_host, ':'); + *c = '\0'; + proxy_port = atoi (c + 1); + } + + g_strfreev (proxy_list); + g_free (url); + } + + if (prefs.hex_net_proxy_host[0] && + prefs.hex_net_proxy_type > 0 && + prefs.hex_net_proxy_use != 2) /* proxy is NOT dcc-only */ + { + proxy_type = prefs.hex_net_proxy_type; + proxy_host = g_strdup (prefs.hex_net_proxy_host); + proxy_port = prefs.hex_net_proxy_port; + } + } + + serv->proxy_type = proxy_type; + + /* first resolve where we want to connect to */ + if (proxy_type > 0) + { + g_snprintf (buf, sizeof (buf), "9\n%s\n", proxy_host); + write (serv->childwrite, buf, strlen (buf)); + ip = net_resolve (ns_server, proxy_host, proxy_port, &real_hostname); + g_free (proxy_host); + if (!ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + connect_port = proxy_port; + + /* if using socks4 or MS Proxy, attempt to resolve ip for irc server */ + if ((proxy_type == 2) || (proxy_type == 5)) + { + ns_proxy = net_store_new (); + proxy_ip = net_resolve (ns_proxy, hostname, port, &real_hostname); + if (!proxy_ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + } else /* otherwise we can just use the hostname */ + proxy_ip = g_strdup (hostname); + } else + { + ip = net_resolve (ns_server, hostname, port, &real_hostname); + if (!ip) + { + write (serv->childwrite, "1\n", 2); + goto xit; + } + connect_port = port; + } + + g_snprintf (buf, sizeof (buf), "3\n%s\n%s\n%d\n", + real_hostname, ip, connect_port); + write (serv->childwrite, buf, strlen (buf)); + + if (!serv->dont_use_proxy && (proxy_type == 5)) + error = net_connect (ns_server, serv->proxy_sok4, serv->proxy_sok6, &psok); + else + { + error = net_connect (ns_server, serv->sok4, serv->sok6, &sok); + psok = sok; + } + + if (error != 0) + { + g_snprintf (buf, sizeof (buf), "2\n%d\n", sock_error ()); + write (serv->childwrite, buf, strlen (buf)); + } else + { + /* connect succeeded */ + if (proxy_ip) + { + switch (traverse_proxy (proxy_type, serv->childwrite, psok, proxy_ip, port, ns_proxy, serv->sok4, serv->sok6, &sok, bound)) + { + case 0: /* success */ + g_snprintf (buf, sizeof (buf), "4\n%d\n", sok); /* success */ + write (serv->childwrite, buf, strlen (buf)); + break; + case 1: /* socks traversal failed */ + write (serv->childwrite, "8\n", 2); + break; + } + } else + { + g_snprintf (buf, sizeof (buf), "4\n%d\n", sok); /* success */ + write (serv->childwrite, buf, strlen (buf)); + } + } + +xit: + + /* this is probably not needed */ + net_store_destroy (ns_server); + if (ns_proxy) + net_store_destroy (ns_proxy); + + /* no need to free ip/real_hostname, this process is exiting */ +#ifdef WIN32 + /* under win32 we use a thread -> shared memory, must free! */ + g_free (proxy_ip); + g_free (ip); + g_free (real_hostname); +#endif + + return 0; + /* cppcheck-suppress memleak */ +} + +static void +server_connect (server *serv, char *hostname, int port, int no_login) +{ + int pid, read_des[2]; + session *sess = serv->server_session; + +#ifdef USE_OPENSSL + if (!serv->ctx && serv->use_ssl) + { + if (!(serv->ctx = _SSL_context_init (ssl_cb_info))) + { + fprintf (stderr, "_SSL_context_init failed\n"); + exit (1); + } + } +#endif + + if (!hostname[0]) + return; + + if (port < 1 || port > 65535) + { + /* use default port for this server type */ + port = 6667; +#ifdef USE_OPENSSL + if (serv->use_ssl) + port = 6697; +#endif + g_debug ("Attempted to connect to invalid port, assuming default port %d", port); + } + + if (serv->connected || serv->connecting || serv->recondelay_tag) + server_disconnect (sess, TRUE, -1); + + fe_progressbar_start (sess); + + EMIT_SIGNAL (XP_TE_SERVERLOOKUP, sess, hostname, NULL, NULL, NULL, 0); + + safe_strcpy (serv->servername, hostname, sizeof (serv->servername)); + /* overlap illegal in strncpy */ + if (hostname != serv->hostname) + safe_strcpy (serv->hostname, hostname, sizeof (serv->hostname)); + +#ifdef USE_OPENSSL + if (serv->use_ssl) + { + char *cert_file; + serv->have_cert = FALSE; + + /* first try network specific cert/key */ + cert_file = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "certs" G_DIR_SEPARATOR_S "%s.pem", + get_xdir (), server_get_network (serv, TRUE)); + if (SSL_CTX_use_certificate_file (serv->ctx, cert_file, SSL_FILETYPE_PEM) == 1) + { + if (SSL_CTX_use_PrivateKey_file (serv->ctx, cert_file, SSL_FILETYPE_PEM) == 1) + serv->have_cert = TRUE; + } + else + { + /* if that doesn't exist, try <config>/certs/client.pem */ + cert_file = g_build_filename (get_xdir (), "certs", "client.pem", NULL); + if (SSL_CTX_use_certificate_file (serv->ctx, cert_file, SSL_FILETYPE_PEM) == 1) + { + if (SSL_CTX_use_PrivateKey_file (serv->ctx, cert_file, SSL_FILETYPE_PEM) == 1) + serv->have_cert = TRUE; + } + } + g_free (cert_file); + } +#endif + + server_set_defaults (serv); + serv->connecting = TRUE; + serv->port = port; + serv->no_login = no_login; + + fe_server_event (serv, FE_SE_CONNECTING, 0); + fe_set_away (serv); + server_flush_queue (serv); + +#ifdef WIN32 + if (_pipe (read_des, 4096, _O_BINARY) < 0) +#else + if (pipe (read_des) < 0) +#endif + return; +#ifdef __EMX__ /* os/2 */ + setmode (read_des[0], O_BINARY); + setmode (read_des[1], O_BINARY); +#endif + serv->childread = read_des[0]; + serv->childwrite = read_des[1]; + + /* create both sockets now, drop one later */ + net_sockets (&serv->sok4, &serv->sok6); + serv->proxy_sok4 = -1; + serv->proxy_sok6 = -1; + +#ifdef WIN32 + CloseHandle (CreateThread (NULL, 0, + (LPTHREAD_START_ROUTINE)server_child, + serv, 0, (DWORD *)&pid)); +#else +#ifdef LOOKUPD + /* CL: net_resolve calls rand() when LOOKUPD is set, so prepare a different + * seed for each child. This method gives a bigger variation in seed values + * than calling srand(time(0)) in the child itself. + */ + rand(); +#endif + switch (pid = fork ()) + { + case -1: + return; + + case 0: + /* this is the child */ + setuid (getuid ()); + server_child (serv); + _exit (0); + } +#endif + serv->childpid = pid; +#ifdef WIN32 + serv->iotag = fe_input_add (serv->childread, FIA_READ|FIA_FD, server_read_child, +#else + serv->iotag = fe_input_add (serv->childread, FIA_READ, server_read_child, +#endif + serv); +} + +void +server_fill_her_up (server *serv) +{ + serv->connect = server_connect; + serv->disconnect = server_disconnect; + serv->cleanup = server_cleanup; + serv->flush_queue = server_flush_queue; + serv->auto_reconnect = auto_reconnect; + + proto_fill_her_up (serv); +} + +void +server_set_encoding (server *serv, char *new_encoding) +{ + char *space; + + g_free (serv->encoding); + + if (new_encoding) + { + serv->encoding = g_strdup (new_encoding); + /* the serverlist GUI might have added a space + and short description - remove it. */ + space = strchr (serv->encoding, ' '); + if (space) + space[0] = 0; + + /* Default legacy "IRC" encoding to utf-8. */ + if (g_ascii_strcasecmp (serv->encoding, "IRC") == 0) + { + g_free (serv->encoding); + serv->encoding = g_strdup ("UTF-8"); + } + + else if (!servlist_check_encoding (serv->encoding)) + { + g_free (serv->encoding); + serv->encoding = g_strdup ("UTF-8"); + } + } + else + { + serv->encoding = g_strdup ("UTF-8"); + } + + if (serv->read_converter != NULL) + { + g_iconv_close (serv->read_converter); + } + serv->read_converter = g_iconv_open ("UTF-8", serv->encoding); + + if (serv->write_converter != NULL) + { + g_iconv_close (serv->write_converter); + } + serv->write_converter = g_iconv_open (serv->encoding, "UTF-8"); +} + +server * +server_new (void) +{ + static int id = 0; + server *serv; + + serv = g_new0 (struct server, 1); + + /* use server.c and proto-irc.c functions */ + server_fill_her_up (serv); + + serv->id = id++; + serv->sok = -1; + strcpy (serv->nick, prefs.hex_irc_nick1); + server_set_defaults (serv); + + serv_list = g_slist_prepend (serv_list, serv); + + fe_new_server (serv); + + return serv; +} + +int +is_server (server *serv) +{ + return g_slist_find (serv_list, serv) ? 1 : 0; +} + +void +server_set_defaults (server *serv) +{ + g_free (serv->chantypes); + g_free (serv->chanmodes); + g_free (serv->nick_prefixes); + g_free (serv->nick_modes); +#ifdef USE_OPENSSL + g_clear_pointer (&serv->scram_session, scram_session_free); +#endif + serv->chantypes = g_strdup ("#&!+"); + serv->chanmodes = g_strdup ("beI,k,l"); + serv->nick_prefixes = g_strdup ("@%+"); + serv->nick_modes = g_strdup ("ohv"); + serv->modes_per_line = 3; /* https://datatracker.ietf.org/doc/html/rfc1459#section-4.2.3.1 */ + serv->sasl_mech = MECH_PLAIN; + + if (!serv->encoding) + server_set_encoding (serv, "UTF-8"); + + serv->nickcount = 1; + serv->end_of_motd = FALSE; + serv->sent_capend = FALSE; + serv->use_listargs = FALSE; + serv->is_away = FALSE; + serv->supports_watch = FALSE; + serv->supports_monitor = FALSE; + serv->bad_prefix = FALSE; + serv->use_who = TRUE; + serv->have_namesx = FALSE; + serv->have_awaynotify = FALSE; + serv->have_uhnames = FALSE; + serv->have_whox = FALSE; + serv->have_idmsg = FALSE; + serv->have_accnotify = FALSE; + serv->have_extjoin = FALSE; + serv->have_account_tag = FALSE; + serv->have_server_time = FALSE; + serv->have_sasl = FALSE; + serv->have_except = FALSE; + serv->have_invite = FALSE; +} + +char * +server_get_network (server *serv, gboolean fallback) +{ + /* check the network list */ + if (serv->network) + return ((ircnet *)serv->network)->name; + + /* check the network name given in 005 NETWORK=... */ + if (serv->server_session && *serv->server_session->channel) + return serv->server_session->channel; + + if (fallback) + return serv->servername; + + return NULL; +} + +void +server_set_name (server *serv, char *name) +{ + GSList *list = sess_list; + session *sess; + + if (name[0] == 0) + name = serv->hostname; + + /* strncpy parameters must NOT overlap */ + if (name != serv->servername) + { + safe_strcpy (serv->servername, name, sizeof (serv->servername)); + } + + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + fe_set_title (sess); + list = list->next; + } + + if (serv->server_session->type == SESS_SERVER) + { + if (serv->network) + { + safe_strcpy (serv->server_session->channel, ((ircnet *)serv->network)->name, CHANLEN); + } else + { + safe_strcpy (serv->server_session->channel, name, CHANLEN); + } + fe_set_channel (serv->server_session); + } +} + +struct away_msg * +server_away_find_message (server *serv, char *nick) +{ + struct away_msg *away; + GSList *list = away_list; + while (list) + { + away = (struct away_msg *) list->data; + if (away->server == serv && !serv->p_cmp (nick, away->nick)) + return away; + list = list->next; + } + return NULL; +} + +static void +server_away_free_messages (server *serv) +{ + GSList *list, *next; + struct away_msg *away; + + list = away_list; + while (list) + { + away = list->data; + next = list->next; + if (away->server == serv) + { + away_list = g_slist_remove (away_list, away); + g_free (away->message); + g_free (away); + next = away_list; + } + list = next; + } +} + +void +server_away_save_message (server *serv, char *nick, char *msg) +{ + struct away_msg *away = server_away_find_message (serv, nick); + + if (away) /* Change message for known user */ + { + g_free (away->message); + away->message = g_strdup (msg); + } + else + { + /* Create brand new entry */ + away = g_new(struct away_msg, 1); + away->server = serv; + safe_strcpy (away->nick, nick, sizeof (away->nick)); + away->message = g_strdup (msg); + away_list = g_slist_prepend (away_list, away); + } +} + +void +server_free (server *serv) +{ + serv->cleanup (serv); + + serv_list = g_slist_remove (serv_list, serv); + + dcc_notify_kill (serv); + serv->flush_queue (serv); + server_away_free_messages (serv); + + g_free (serv->nick_modes); + g_free (serv->nick_prefixes); + g_free (serv->chanmodes); + g_free (serv->chantypes); + g_free (serv->bad_nick_prefixes); + g_free (serv->last_away_reason); + g_free (serv->encoding); + + g_iconv_close (serv->read_converter); + g_iconv_close (serv->write_converter); + + if (serv->favlist) + g_slist_free_full (serv->favlist, (GDestroyNotify) servlist_favchan_free); +#ifdef USE_OPENSSL + if (serv->ctx) + _SSL_context_free (serv->ctx); + + g_clear_pointer (&serv->scram_session, scram_session_free); +#endif + + fe_server_callback (serv); + + g_free (serv); + + notify_cleanup (); +} diff --git a/src/common/server.h b/src/common/server.h new file mode 100644 index 0000000000000000000000000000000000000000..ff8ef4047ee66ae2f9d535e7c3f5ed53a42889cd --- /dev/null +++ b/src/common/server.h @@ -0,0 +1,44 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_SERVER_H +#define HEXCHAT_SERVER_H + +extern GSList *serv_list; + +/* eventually need to keep the tcp_* functions isolated to server.c */ +int tcp_send_len (server *serv, char *buf, int len); +void tcp_sendf (server *serv, const char *fmt, ...) G_GNUC_PRINTF (2, 3); +int tcp_send_real (void *ssl, int sok, GIConv write_converter, char *buf, int len); + +server *server_new (void); +int is_server (server *serv); +void server_fill_her_up (server *serv); +void server_set_encoding (server *serv, char *new_encoding); +void server_set_defaults (server *serv); +char *server_get_network (server *serv, gboolean fallback); +void server_set_name (server *serv, char *name); +void server_free (server *serv); + +void server_away_save_message (server *serv, char *nick, char *msg); +struct away_msg *server_away_find_message (server *serv, char *nick); + +void base64_encode (char *to, char *from, unsigned int len); + +#endif diff --git a/src/common/servlist.c b/src/common/servlist.c new file mode 100644 index 0000000000000000000000000000000000000000..1f29bb32d50a7a9b0d4f65a73cdfb87199f63b21 --- /dev/null +++ b/src/common/servlist.c @@ -0,0 +1,1244 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#include "hexchat.h" +#include "cfgfiles.h" +#include "fe.h" +#include "server.h" +#include "text.h" +#include "util.h" /* token_foreach */ +#include "hexchatc.h" + +#include "servlist.h" + + +struct defaultserver +{ + char *network; + char *host; + char *channel; + char *charset; + int loginmode; /* default authentication type */ + char *connectcmd; /* default connect command - should only be used for rare login types, paired with LOGIN_CUSTOM */ + gboolean ssl; +}; + +static const struct defaultserver def[] = +{ + {"2600net", 0}, + /* Invalid hostname in cert */ + {0, "irc.2600.net"}, + + + {"AfterNET", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.afternet.org"}, + + {"Aitvaras", 0}, +#ifdef USE_OPENSSL + {0, "irc.data.lt/+6668"}, + {0, "irc.omicron.lt/+6668"}, + {0, "irc.vub.lt/+6668"}, +#endif + {0, "irc.data.lt"}, + {0, "irc.omicron.lt"}, + {0, "irc.vub.lt"}, + + {"Anthrochat", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.anthrochat.net"}, + + {"ARCNet", 0}, + {0, "arcnet-irc.org"}, + + {"AustNet", 0}, + {0, "irc.austnet.org"}, + + {"AzzurraNet", 0}, + {0, "irc.azzurra.org"}, + + {"Canternet", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.canternet.org"}, + + {"Chat4all", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.chat4all.org"}, + + {"ChatJunkies", 0}, + {0, "irc.chatjunkies.org"}, + + {"chatpat", 0, 0, "CP1251", LOGIN_CUSTOM, "MSG NS IDENTIFY %p"}, + {0, "irc.unibg.net"}, + {0, "irc.chatpat.bg"}, + + {"ChatSpike", 0, 0, 0, LOGIN_SASL}, + {0, "irc.chatspike.net"}, + + {"DaIRC", 0}, + {0, "irc.dairc.net"}, + + {"DALnet", 0, 0, 0, LOGIN_NICKSERV}, + /* Self signed */ + {0, "us.dal.net"}, + + {"DarkMyst", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.darkmyst.org"}, + +#ifdef USE_OPENSSL + {"darkscience", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.darkscience.net"}, + {0, "irc.drk.sc"}, + {0, "irc.darkscience.ws"}, +#endif + + {"Dark-Tou-Net", 0}, + {0, "irc.d-t-net.de"}, + + {"DigitalIRC", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.digitalirc.org"}, + +#ifdef USE_OPENSSL + {"DosersNET", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.dosers.net/+6697"}, +#endif + + {"EFnet", 0}, + {0, "irc.choopa.net"}, + {0, "efnet.port80.se"}, + {0, "irc.underworld.no"}, + {0, "efnet.deic.eu"}, + + {"EnterTheGame", 0}, + {0, "irc.enterthegame.com"}, + + {"EntropyNet", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.entropynet.net"}, + + {"EsperNet", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.esper.net"}, + + {"EUIrc", 0}, + {0, "irc.euirc.net"}, + + {"EuropNet", 0}, + /* Self signed */ + {0, "irc.europnet.org"}, + + {"FDFNet", 0}, + /* Self signed */ + {0, "irc.fdfnet.net"}, + + {"GameSurge", 0}, + {0, "irc.gamesurge.net"}, + + {"GeekShed", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.geekshed.net"}, + + {"German-Elite", 0, 0, "CP1252"}, + {0, "irc.german-elite.net"}, + + {"GIMPNet", 0}, + /* Invalid hostname in cert */ + {0, "irc.gimp.org"}, + {0, "irc.gnome.org"}, + + {"GlobalGamers", 0}, +#ifdef USE_OPENSSL + {0, "irc.globalgamers.net/+6660"}, +#endif + {0, "irc.globalgamers.net"}, + +#ifdef USE_OPENSSL + {"hackint", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.hackint.org"}, + {0, "irc.eu.hackint.org"}, +#endif + + {"Hashmark", 0}, + {0, "irc.hashmark.net"}, + + {"ICQ-Chat", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.icq-chat.com"}, + + {"Interlinked", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.interlinked.me"}, + + {"Irc-Nerds", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.irc-nerds.net"}, + + {"IRC4Fun", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.irc4fun.net"}, + + {"IRCNet", 0}, + {0, "open.ircnet.net"}, + + {"IRCtoo", 0}, + {0, "irc.irctoo.net"}, + + {"Keyboard-Failure", 0}, + /* SSL is self-signed */ + {0, "irc.kbfail.net"}, + + {"Libera.Chat", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.libera.chat"}, + +#ifdef USE_OPENSSL + {"LibertaCasa", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.liberta.casa"}, +#endif + + {"LibraIRC", 0}, + /* Self signed */ + {0, "irc.librairc.net"}, + +#ifdef USE_OPENSSL + {"LinkNet", 0}, + {0, "irc.link-net.org/+7000"}, +#endif + + {"MindForge", 0, 0, 0, LOGIN_SASL}, + {0, "irc.mindforge.org"}, + + {"MIXXnet", 0}, + {0, "irc.mixxnet.net"}, + + {"Oceanius", 0, 0, 0, LOGIN_SASL}, + /* Self signed */ + {0, "irc.oceanius.com"}, + + {"OFTC", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.oftc.net"}, + + {"OtherNet", 0}, + {0, "irc.othernet.org"}, + + {"OzOrg", 0}, + {0, "irc.oz.org"}, + + {"PIK", 0}, + {0, "irc.krstarica.com"}, + + {"pirc.pl", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.pirc.pl"}, + + {"PTNet", 0}, + {0, "irc.ptnet.org"}, + {0, "uevora.ptnet.org"}, + {0, "claranet.ptnet.org"}, + {0, "sonaquela.ptnet.org"}, + {0, "uc.ptnet.org"}, + {0, "ipg.ptnet.org"}, + + {"QuakeNet", 0, 0, 0, LOGIN_CHALLENGEAUTH}, + {0, "irc.quakenet.org"}, + + {"Rizon", 0, 0, 0, 0, 0, TRUE}, + {0, "irc.rizon.net"}, + + {"RusNet", 0, 0, "KOI8-R (Cyrillic)"}, + /* Self signed */ + {0, "irc.tomsk.net"}, + {0, "irc.run.net"}, + {0, "irc.ru"}, + {0, "irc.lucky.net"}, + + {"Serenity-IRC", 0}, + {0, "irc.serenity-irc.net"}, + + {"SimosNap", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.simosnap.com"}, + + {"SlashNET", 0}, + /* Self signed */ + {0, "irc.slashnet.org"}, + + {"Snoonet", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.snoonet.org"}, + + {"Sohbet.Net", 0, 0, "CP1254"}, + {0, "irc.sohbet.net"}, + + {"SorceryNet", 0, 0, 0, LOGIN_SASL}, + /* Self signed */ + {0, "irc.sorcery.net"}, + + {"SpotChat", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.spotchat.org"}, + + {"Station51", 0}, + /* Self signed */ + {0, "irc.station51.net"}, + + {"StormBit", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.stormbit.net"}, + + {"SwiftIRC", 0}, + /* Expired cert */ + {0, "irc.swiftirc.net"}, + + {"synIRC", 0}, + /* Self signed */ + {0, "irc.synirc.net"}, + + {"Techtronix", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.techtronix.net"}, + + {"TechNet", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.technet.chat"}, + + {"tilde.chat", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.tilde.chat"}, + + {"TURLINet", 0, 0, 0, 0, 0, TRUE}, + /* all servers use UTF-8 and valid certs */ + {0, "irc.servx.org"}, + {0, "i.valware.uk"}, + + +#ifdef USE_OPENSSL + {"TripSit", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.tripsit.me"}, + {0, "newirc.tripsit.me"}, + {0, "coconut.tripsit.me"}, + {0, "innsbruck.tripsit.me"}, +#endif + + {"UnderNet", 0, 0, 0, LOGIN_CUSTOM, "MSG x@channels.undernet.org login %u %p"}, + {0, "irc.undernet.org"}, + + {"Xertion", 0, 0, 0, LOGIN_SASL, 0, TRUE}, + {0, "irc.xertion.org"}, + + {0,0} +}; + +GSList *network_list = 0; + +favchannel * +servlist_favchan_copy (favchannel *fav) +{ + favchannel *newfav; + + newfav = g_new (favchannel, 1); + newfav->name = g_strdup (fav->name); + newfav->key = g_strdup (fav->key); /* g_strdup() can handle NULLs so no need to check it */ + + return newfav; +} + +void +servlist_connect (session *sess, ircnet *net, gboolean join) +{ + ircserver *ircserv; + GSList *list; + char *port; + server *serv; + + if (!sess) + sess = new_ircwindow (NULL, NULL, SESS_SERVER, TRUE); + + serv = sess->server; + + /* connect to the currently selected Server-row */ + list = g_slist_nth (net->servlist, net->selected); + if (!list) + list = net->servlist; + if (!list) + return; + ircserv = list->data; + + /* in case a protocol switch is added to the servlist gui */ + server_fill_her_up (sess->server); + + if (join) + { + sess->willjoinchannel[0] = 0; + + if (net->favchanlist) + { + if (serv->favlist) + { + g_slist_free_full (serv->favlist, (GDestroyNotify) servlist_favchan_free); + } + serv->favlist = g_slist_copy_deep (net->favchanlist, (GCopyFunc) servlist_favchan_copy, NULL); + } + } + + if (net->logintype) + { + serv->loginmethod = net->logintype; + } + else + { + serv->loginmethod = LOGIN_DEFAULT_REAL; + } + + serv->password[0] = 0; + + if (net->pass) + { + safe_strcpy (serv->password, net->pass, sizeof (serv->password)); + } + + if (net->flags & FLAG_USE_GLOBAL) + { + strcpy (serv->nick, prefs.hex_irc_nick1); + } + else + { + if (net->nick) + strcpy (serv->nick, net->nick); + } + + serv->dont_use_proxy = (net->flags & FLAG_USE_PROXY) ? FALSE : TRUE; + +#ifdef USE_OPENSSL + serv->use_ssl = (net->flags & FLAG_USE_SSL) ? TRUE : FALSE; + serv->accept_invalid_cert = + (net->flags & FLAG_ALLOW_INVALID) ? TRUE : FALSE; +#endif + + serv->network = net; + + port = strrchr (ircserv->hostname, '/'); + if (port) + { + *port = 0; + + /* support "+port" to indicate SSL (like mIRC does) */ + if (port[1] == '+') + { +#ifdef USE_OPENSSL + serv->use_ssl = TRUE; +#endif + serv->connect (serv, ircserv->hostname, atoi (port + 2), FALSE); + } else + { + serv->connect (serv, ircserv->hostname, atoi (port + 1), FALSE); + } + + *port = '/'; + } else + serv->connect (serv, ircserv->hostname, -1, FALSE); + + server_set_encoding (serv, net->encoding); +} + +int +servlist_connect_by_netname (session *sess, char *network, gboolean join) +{ + ircnet *net; + GSList *list = network_list; + + while (list) + { + net = list->data; + + if (g_ascii_strcasecmp (net->name, network) == 0) + { + servlist_connect (sess, net, join); + return 1; + } + + list = list->next; + } + + return 0; +} + +int +servlist_have_auto (void) +{ + GSList *list = network_list; + ircnet *net; + + while (list) + { + net = list->data; + + if (net->flags & FLAG_AUTO_CONNECT) + return 1; + + list = list->next; + } + + return 0; +} + +int +servlist_auto_connect (session *sess) +{ + GSList *list = network_list; + ircnet *net; + int ret = 0; + + while (list) + { + net = list->data; + + if (net->flags & FLAG_AUTO_CONNECT) + { + servlist_connect (sess, net, TRUE); + ret = 1; + } + + list = list->next; + } + + return ret; +} + +static gint +servlist_cycle_cb (server *serv) +{ + if (serv->network) + { + PrintTextf (serv->server_session, + _("Cycling to next server in %s...\n"), ((ircnet *)serv->network)->name); + servlist_connect (serv->server_session, serv->network, TRUE); + } + + return 0; +} + +int +servlist_cycle (server *serv) +{ + ircnet *net; + int max, del; + + net = serv->network; + if (net) + { + max = g_slist_length (net->servlist); + if (max > 0) + { + /* try the next server, if that option is on */ + if (net->flags & FLAG_CYCLE) + { + net->selected++; + if (net->selected >= max) + net->selected = 0; + } + + del = prefs.hex_net_reconnect_delay * 1000; + if (del < 1000) + del = 500; /* so it doesn't block the gui */ + + if (del) + serv->recondelay_tag = fe_timeout_add (del, servlist_cycle_cb, serv); + else + servlist_connect (serv->server_session, net, TRUE); + + return TRUE; + } + } + + return FALSE; +} + +ircserver * +servlist_server_find (ircnet *net, char *name, int *pos) +{ + GSList *list = net->servlist; + ircserver *serv; + int i = 0; + + while (list) + { + serv = list->data; + if (strcmp (serv->hostname, name) == 0) + { + if (pos) + { + *pos = i; + } + return serv; + } + i++; + list = list->next; + } + + return NULL; +} + +favchannel * +servlist_favchan_find (ircnet *net, char *channel, int *pos) +{ + GSList *list; + favchannel *favchan; + int i = 0; + + if (net == NULL) + return NULL; + + list = net->favchanlist; + + while (list) + { + favchan = list->data; + if (g_ascii_strcasecmp (favchan->name, channel) == 0) + { + if (pos) + { + *pos = i; + } + return favchan; + } + i++; + list = list->next; + } + + return NULL; +} + +commandentry * +servlist_command_find (ircnet *net, char *cmd, int *pos) +{ + GSList *list = net->commandlist; + commandentry *entry; + int i = 0; + + while (list) + { + entry = list->data; + if (strcmp (entry->command, cmd) == 0) + { + if (pos) + { + *pos = i; + } + return entry; + } + i++; + list = list->next; + } + + return NULL; +} + +/* find a network (e.g. (ircnet *) to "FreeNode") from a hostname + (e.g. "irc.eu.freenode.net") */ + +ircnet * +servlist_net_find_from_server (char *server_name) +{ + GSList *list = network_list; + GSList *slist; + ircnet *net; + ircserver *serv; + + while (list) + { + net = list->data; + + slist = net->servlist; + while (slist) + { + gsize hostname_len; + const char *hostname, *p; + + serv = slist->data; + hostname = serv->hostname; + + /* Ignore port when comparing */ + if ((p = strchr (hostname, '/'))) + hostname_len = p - hostname; + else + hostname_len = strlen (hostname); + + if (g_ascii_strncasecmp (hostname, server_name, hostname_len) == 0) + return net; + slist = slist->next; + } + + list = list->next; + } + + return NULL; +} + +ircnet * +servlist_net_find (char *name, int *pos, int (*cmpfunc) (const char *, const char *)) +{ + GSList *list = network_list; + ircnet *net; + int i = 0; + + while (list) + { + net = list->data; + if (cmpfunc (net->name, name) == 0) + { + if (pos) + *pos = i; + return net; + } + i++; + list = list->next; + } + + return NULL; +} + +ircserver * +servlist_server_add (ircnet *net, char *name) +{ + ircserver *serv; + + serv = g_new (ircserver, 1); + serv->hostname = g_strdup (name); + + net->servlist = g_slist_append (net->servlist, serv); + + return serv; +} + +commandentry * +servlist_command_add (ircnet *net, char *cmd) +{ + commandentry *entry; + + entry = g_new (commandentry, 1); + entry->command = g_strdup (cmd); + + net->commandlist = g_slist_append (net->commandlist, entry); + + return entry; +} + +GSList * +servlist_favchan_listadd (GSList *chanlist, char *channel, char *key) +{ + favchannel *chan; + + chan = g_new (favchannel, 1); + chan->name = g_strdup (channel); + chan->key = g_strdup (key); + chanlist = g_slist_append (chanlist, chan); + + return chanlist; +} + +void +servlist_favchan_add (ircnet *net, char *channel) +{ + int pos; + char *name; + char *key; + + if (strchr (channel, ',') != NULL) + { + pos = (int) (strchr (channel, ',') - channel); + name = g_strndup (channel, pos); + key = g_strdup (channel + pos + 1); + } + else + { + name = g_strdup (channel); + key = NULL; + } + + net->favchanlist = servlist_favchan_listadd (net->favchanlist, name, key); + + g_free (name); + g_free (key); +} + +void +servlist_server_remove (ircnet *net, ircserver *serv) +{ + g_free (serv->hostname); + g_free (serv); + net->servlist = g_slist_remove (net->servlist, serv); +} + +static void +servlist_server_remove_all (ircnet *net) +{ + ircserver *serv; + + while (net->servlist) + { + serv = net->servlist->data; + servlist_server_remove (net, serv); + } +} + +void +servlist_command_free (commandentry *entry) +{ + g_free (entry->command); + g_free (entry); +} + +void +servlist_command_remove (ircnet *net, commandentry *entry) +{ + servlist_command_free (entry); + net->commandlist = g_slist_remove (net->commandlist, entry); +} + +void +servlist_favchan_free (favchannel *channel) +{ + g_free (channel->name); + g_free (channel->key); + g_free (channel); +} + +void +servlist_favchan_remove (ircnet *net, favchannel *channel) +{ + servlist_favchan_free (channel); + net->favchanlist = g_slist_remove (net->favchanlist, channel); +} + +static void +free_and_clear (char *str) +{ + if (str) + { + char *orig = str; + while (*str) + *str++ = 0; + g_free (orig); + } +} + +/* executed on exit: Clear any password strings */ + +void +servlist_cleanup (void) +{ + GSList *list; + ircnet *net; + + for (list = network_list; list; list = list->next) + { + net = list->data; + free_and_clear (net->pass); + } +} + +void +servlist_net_remove (ircnet *net) +{ + GSList *list; + server *serv; + + servlist_server_remove_all (net); + network_list = g_slist_remove (network_list, net); + + g_free (net->nick); + g_free (net->nick2); + g_free (net->user); + g_free (net->real); + free_and_clear (net->pass); + if (net->favchanlist) + g_slist_free_full (net->favchanlist, (GDestroyNotify) servlist_favchan_free); + if (net->commandlist) + g_slist_free_full (net->commandlist, (GDestroyNotify) servlist_command_free); + g_free (net->encoding); + g_free (net->name); + g_free (net); + + /* for safety */ + list = serv_list; + while (list) + { + serv = list->data; + if (serv->network == net) + { + serv->network = NULL; + } + list = list->next; + } +} + +ircnet * +servlist_net_add (char *name, char *comment, int prepend) +{ + ircnet *net; + + net = g_new0 (ircnet, 1); + net->name = g_strdup (name); + net->flags = FLAG_CYCLE | FLAG_USE_GLOBAL | FLAG_USE_PROXY; +#ifdef USE_OPENSSL + net->flags |= FLAG_USE_SSL; +#endif + + if (prepend) + network_list = g_slist_prepend (network_list, net); + else + network_list = g_slist_append (network_list, net); + + return net; +} + +static void +servlist_load_defaults (void) +{ + int i = 0, j = 0; + ircnet *net = NULL; + guint def_hash = g_str_hash ("Libera.Chat"); + + while (1) + { + if (def[i].network) + { + net = servlist_net_add (def[i].network, def[i].host, FALSE); + if (def[i].channel) + { + servlist_favchan_add (net, def[i].channel); + } + if (def[i].charset) + { + net->encoding = g_strdup (def[i].charset); + } + else + { + net->encoding = g_strdup (IRC_DEFAULT_CHARSET); + } + if (def[i].loginmode) + { + net->logintype = def[i].loginmode; + } + if (def[i].connectcmd) + { + servlist_command_add (net, def[i].connectcmd); + } + if (def[i].ssl) + { + net->flags |= FLAG_USE_SSL; + } + + if (g_str_hash (def[i].network) == def_hash) + { + prefs.hex_gui_slist_select = j; + } + + j++; + } + else + { + servlist_server_add (net, def[i].host); + if (!def[i+1].host && !def[i+1].network) + { + break; + } + } + i++; + } +} + +static int +servlist_load (void) +{ + FILE *fp; + char buf[2048]; + int len; + ircnet *net = NULL; + + /* simple migration we will keep for a short while */ + char *oldfile = g_build_filename (get_xdir (), "servlist_.conf", NULL); + char *newfile = g_build_filename (get_xdir (), "servlist.conf", NULL); + + if (g_file_test (oldfile, G_FILE_TEST_EXISTS) && !g_file_test (newfile, G_FILE_TEST_EXISTS)) + { + g_rename (oldfile, newfile); + } + + g_free (oldfile); + g_free (newfile); + + fp = hexchat_fopen_file ("servlist.conf", "r", 0); + if (!fp) + return FALSE; + + while (fgets (buf, sizeof (buf) - 2, fp)) + { + len = strlen (buf); + if (!len) + continue; + buf[len] = 0; + buf[len-1] = 0; /* remove the trailing \n */ + if (net) + { + switch (buf[0]) + { + case 'I': + net->nick = g_strdup (buf + 2); + break; + case 'i': + net->nick2 = g_strdup (buf + 2); + break; + case 'U': + net->user = g_strdup (buf + 2); + break; + case 'R': + net->real = g_strdup (buf + 2); + break; + case 'P': + net->pass = g_strdup (buf + 2); + break; + case 'L': + net->logintype = atoi (buf + 2); + break; + case 'E': + net->encoding = servlist_check_encoding (buf + 2) ? g_strdup (buf + 2) : g_strdup ("UTF-8"); + break; + case 'F': + net->flags = atoi (buf + 2); + break; + case 'S': /* new server/hostname for this network */ + servlist_server_add (net, buf + 2); + break; + case 'C': + servlist_command_add (net, buf + 2); + break; + case 'J': + servlist_favchan_add (net, buf + 2); + break; + case 'D': + net->selected = atoi (buf + 2); + break; + /* FIXME Migration code. In 2.9.5 the order was: + * + * P=serverpass, A=saslpass, B=nickservpass + * + * So if server password was unset, we can safely use SASL + * password for our new universal password, or if that's also + * unset, use NickServ password. + * + * Should be removed at some point. + */ + case 'A': + if (!net->pass) + { + net->pass = g_strdup (buf + 2); + if (!net->logintype) + { + net->logintype = LOGIN_SASL; + } + } + case 'B': + if (!net->pass) + { + net->pass = g_strdup (buf + 2); + if (!net->logintype) + { + net->logintype = LOGIN_NICKSERV; + } + } + } + } + if (buf[0] == 'N') + net = servlist_net_add (buf + 2, /* comment */ NULL, FALSE); + } + fclose (fp); + + return TRUE; +} + +void +servlist_init (void) +{ + if (!network_list) + if (!servlist_load ()) + servlist_load_defaults (); +} + +/* check if a charset is known by Iconv */ +int +servlist_check_encoding (char *charset) +{ + GIConv gic; + char *c; + + c = strchr (charset, ' '); + if (c) + c[0] = 0; + + gic = g_iconv_open (charset, "UTF-8"); + + if (c) + c[0] = ' '; + + if (gic != (GIConv)-1) + { + g_iconv_close (gic); + return TRUE; + } + + return FALSE; +} + +int +servlist_save (void) +{ + FILE *fp; + char *buf; + ircnet *net; + ircserver *serv; + commandentry *cmd; + favchannel *favchan; + GSList *list; + GSList *netlist; + GSList *cmdlist; + GSList *favlist; +#ifndef WIN32 + int first = FALSE; + + buf = g_build_filename (get_xdir (), "servlist.conf", NULL); + if (g_access (buf, F_OK) != 0) + first = TRUE; +#endif + + fp = hexchat_fopen_file ("servlist.conf", "w", 0); + if (!fp) + { +#ifndef WIN32 + g_free (buf); +#endif + return FALSE; + } + +#ifndef WIN32 + if (first) + g_chmod (buf, 0600); + + g_free (buf); +#endif + fprintf (fp, "v=" PACKAGE_VERSION "\n\n"); + + list = network_list; + while (list) + { + net = list->data; + + fprintf (fp, "N=%s\n", net->name); + if (net->nick) + fprintf (fp, "I=%s\n", net->nick); + if (net->nick2) + fprintf (fp, "i=%s\n", net->nick2); + if (net->user) + fprintf (fp, "U=%s\n", net->user); + if (net->real) + fprintf (fp, "R=%s\n", net->real); + if (net->pass) + fprintf (fp, "P=%s\n", net->pass); + if (net->logintype) + fprintf (fp, "L=%d\n", net->logintype); + if (net->encoding) + { + fprintf (fp, "E=%s\n", net->encoding); + if (!servlist_check_encoding (net->encoding)) + { + buf = g_strdup_printf (_("Warning: \"%s\" character set is unknown. No conversion will be applied for network %s."), + net->encoding, net->name); + fe_message (buf, FE_MSG_WARN); + g_free (buf); + } + } + + fprintf (fp, "F=%d\nD=%d\n", net->flags, net->selected); + + netlist = net->servlist; + while (netlist) + { + serv = netlist->data; + fprintf (fp, "S=%s\n", serv->hostname); + netlist = netlist->next; + } + + cmdlist = net->commandlist; + while (cmdlist) + { + cmd = cmdlist->data; + fprintf (fp, "C=%s\n", cmd->command); + cmdlist = cmdlist->next; + } + + favlist = net->favchanlist; + while (favlist) + { + favchan = favlist->data; + + if (favchan->key) + { + fprintf (fp, "J=%s,%s\n", favchan->name, favchan->key); + } + else + { + fprintf (fp, "J=%s\n", favchan->name); + } + + favlist = favlist->next; + } + + if (fprintf (fp, "\n") < 1) + { + fclose (fp); + return FALSE; + } + + list = list->next; + } + + fclose (fp); + return TRUE; +} + +static int +joinlist_find_chan (favchannel *curr_item, const char *channel) +{ + if (!g_ascii_strcasecmp (curr_item->name, channel)) + { + return 0; + } + else + { + return 1; + } +} + +gboolean +joinlist_is_in_list (server *serv, char *channel) +{ + if (!serv->network || !((ircnet *)serv->network)->favchanlist) + { + return FALSE; + } + + if (g_slist_find_custom (((ircnet *)serv->network)->favchanlist, channel, (GCompareFunc) joinlist_find_chan)) + { + return TRUE; + } + else + { + return FALSE; + } +} diff --git a/src/common/servlist.h b/src/common/servlist.h new file mode 100644 index 0000000000000000000000000000000000000000..c3d158b2f3794aed20c1ec5b915d5ec2bbdff7d2 --- /dev/null +++ b/src/common/servlist.h @@ -0,0 +1,132 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_SERVLIST_H +#define HEXCHAT_SERVLIST_H + +typedef struct ircserver +{ + char *hostname; +} ircserver; + +typedef struct commandentry +{ + char *command; +} commandentry; + +typedef struct favchannel +{ + char *name; + char *key; +} favchannel; + +typedef struct ircnet +{ + char *name; + char *nick; + char *nick2; + char *user; + char *real; + char *pass; + int logintype; + char *encoding; + GSList *servlist; + GSList *commandlist; + GSList *favchanlist; + int selected; + guint32 flags; +} ircnet; + +extern GSList *network_list; + +#define FLAG_CYCLE 1 +#define FLAG_USE_GLOBAL 2 +#define FLAG_USE_SSL 4 +#define FLAG_AUTO_CONNECT 8 +#define FLAG_USE_PROXY 16 +#define FLAG_ALLOW_INVALID 32 +#define FLAG_FAVORITE 64 +#define FLAG_COUNT 7 + +/* Login methods. Use server password by default - if we had a NickServ password, it'd be set to 2 already by servlist_load() */ +#define LOGIN_DEFAULT_REAL LOGIN_PASS /* this is to set the default login method for unknown servers */ +#define LOGIN_DEFAULT 0 /* this is for the login type dropdown, doesn't serve any other purpose */ +#define LOGIN_MSG_NICKSERV 1 +#define LOGIN_NICKSERV 2 +#if 0 +#define LOGIN_NS 3 +#define LOGIN_MSG_NS 4 +#define LOGIN_AUTH 5 +#endif +#define LOGIN_SASL 6 +#define LOGIN_PASS 7 +#define LOGIN_CHALLENGEAUTH 8 +#define LOGIN_CUSTOM 9 +#define LOGIN_SASLEXTERNAL 10 +#define LOGIN_SASL_SCRAM_SHA_1 11 +#define LOGIN_SASL_SCRAM_SHA_256 12 +#define LOGIN_SASL_SCRAM_SHA_512 13 + +#define CHALLENGEAUTH_ALGO "HMAC-SHA-256" +#define CHALLENGEAUTH_NICK "Q@CServe.quakenet.org" +#define CHALLENGEAUTH_FULLHOST "Q!TheQBot@CServe.quakenet.org" + +/* DEFAULT_CHARSET is already defined in wingdi.h */ +#define IRC_DEFAULT_CHARSET "UTF-8 (Unicode)" + +void servlist_init (void); +int servlist_save (void); +int servlist_cycle (server *serv); +void servlist_connect (session *sess, ircnet *net, gboolean join); +int servlist_connect_by_netname (session *sess, char *network, gboolean join); +int servlist_auto_connect (session *sess); +int servlist_have_auto (void); +int servlist_check_encoding (char *charset); +void servlist_cleanup (void); + +ircnet *servlist_net_add (char *name, char *comment, int prepend); +void servlist_net_remove (ircnet *net); +ircnet *servlist_net_find (char *name, int *pos, int (*cmpfunc) (const char *, const char *)); +ircnet *servlist_net_find_from_server (char *server_name); + +ircserver *servlist_server_find (ircnet *net, char *name, int *pos); +commandentry *servlist_command_find (ircnet *net, char *cmd, int *pos); +favchannel *servlist_favchan_find (ircnet *net, char *channel, int *pos); + +ircserver *servlist_server_add (ircnet *net, char *name); +commandentry *servlist_command_add (ircnet *net, char *command); +void servlist_favchan_add (ircnet *net, char *channel); + +void servlist_command_free (commandentry *entry); +void servlist_favchan_free (favchannel *channel); + +void servlist_server_remove (ircnet *net, ircserver *serv); +void servlist_command_remove (ircnet *net, commandentry *entry); +void servlist_favchan_remove (ircnet *net, favchannel *channel); + +favchannel *servlist_favchan_copy (favchannel *fav); +GSList *servlist_favchan_listadd (GSList *chanlist, char *channel, char *key); + +gboolean joinlist_is_in_list (server *serv, char *channel); + +/* FIXME +void joinlist_split (char *autojoin, GSList **channels, GSList **keys); +void joinlist_free (GSList *channels, GSList *keys); +*/ +#endif diff --git a/src/common/ssl.c b/src/common/ssl.c new file mode 100644 index 0000000000000000000000000000000000000000..e7f7e0a8cc5edfab6ab78fa15e6c8c40f0795a62 --- /dev/null +++ b/src/common/ssl.c @@ -0,0 +1,566 @@ +/* + * ssl.c v0.0.3 + * Copyright (C) 2000 -- DaP <profeta@freemail.c3.hu> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifdef __APPLE__ +#define __AVAILABILITYMACROS__ +#define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER +#endif + +#include "inet.h" /* make it first to avoid macro redefinitions */ +#include <openssl/ssl.h> /* SSL_() */ +#include <openssl/err.h> /* ERR_() */ +#include <openssl/x509v3.h> +#ifdef WIN32 +#include <openssl/rand.h> /* RAND_seed() */ +#endif +#include "config.h" +#include <time.h> /* asctime() */ +#include <string.h> /* strncpy() */ +#include "ssl.h" /* struct cert_info */ + +#include <glib.h> +#include <glib/gprintf.h> +#include <gio/gio.h> +#include "util.h" + +/* If openssl was built without ec */ +#ifndef SSL_OP_SINGLE_ECDH_USE +#define SSL_OP_SINGLE_ECDH_USE 0 +#endif + +#ifndef SSL_OP_NO_COMPRESSION +#define SSL_OP_NO_COMPRESSION 0 +#endif + +/* globals */ +static struct chiper_info chiper_info; /* static buffer for _SSL_get_cipher_info() */ +static char err_buf[256]; /* generic error buffer */ + + +/* +++++ Internal functions +++++ */ + +static void +__SSL_fill_err_buf (char *funcname) +{ + int err; + char buf[256]; + + + err = ERR_get_error (); + ERR_error_string (err, buf); + g_snprintf (err_buf, sizeof (err_buf), "%s: %s (%d)\n", funcname, buf, err); +} + + +static void +__SSL_critical_error (char *funcname) +{ + __SSL_fill_err_buf (funcname); + fprintf (stderr, "%s\n", err_buf); + + exit (1); +} + +/* +++++ SSL functions +++++ */ + +SSL_CTX * +_SSL_context_init (void (*info_cb_func)) +{ + SSL_CTX *ctx; + + SSLeay_add_ssl_algorithms (); + SSL_load_error_strings (); + ctx = SSL_CTX_new (SSLv23_client_method ()); + + SSL_CTX_set_session_cache_mode (ctx, SSL_SESS_CACHE_BOTH); + SSL_CTX_set_timeout (ctx, 300); + SSL_CTX_set_options (ctx, SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3 + |SSL_OP_NO_COMPRESSION + |SSL_OP_SINGLE_DH_USE|SSL_OP_SINGLE_ECDH_USE + |SSL_OP_NO_TICKET + |SSL_OP_CIPHER_SERVER_PREFERENCE); + +#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined (OPENSSL_NO_COMP) /* workaround for OpenSSL 0.9.8 */ + sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); +#endif + + /* used in SSL_connect(), SSL_accept() */ + SSL_CTX_set_info_callback (ctx, info_cb_func); + + return(ctx); +} + +static void +ASN1_TIME_snprintf (char *buf, int buf_len, ASN1_TIME * tm) +{ + char *expires = NULL; + BIO *inMem = BIO_new (BIO_s_mem ()); + + ASN1_TIME_print (inMem, tm); + BIO_get_mem_data (inMem, &expires); + buf[0] = 0; + if (expires != NULL) + { + /* expires is not \0 terminated */ + safe_strcpy (buf, expires, MIN(24, buf_len)); + } + BIO_free (inMem); +} + + +static void +broke_oneline (char *oneline, char *parray[]) +{ + char *pt, *ppt; + int i; + + + i = 0; + ppt = pt = oneline + 1; + while ((pt = strchr (pt, '/'))) + { + *pt = 0; + parray[i++] = ppt; + ppt = ++pt; + } + parray[i++] = ppt; + parray[i] = NULL; +} + + +/* + FIXME: Master-Key, Extensions, CA bits + (openssl x509 -text -in servcert.pem) +*/ +int +_SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl) +{ + X509 *peer_cert; + X509_PUBKEY *key; + X509_ALGOR *algor = NULL; + EVP_PKEY *peer_pkey; + char notBefore[64]; + char notAfter[64]; + int alg; + int sign_alg; + + + if (!(peer_cert = SSL_get_peer_certificate (ssl))) + return (1); /* FATAL? */ + + X509_NAME_oneline (X509_get_subject_name (peer_cert), cert_info->subject, + sizeof (cert_info->subject)); + X509_NAME_oneline (X509_get_issuer_name (peer_cert), cert_info->issuer, + sizeof (cert_info->issuer)); + broke_oneline (cert_info->subject, cert_info->subject_word); + broke_oneline (cert_info->issuer, cert_info->issuer_word); + + key = X509_get_X509_PUBKEY(peer_cert); + if (!X509_PUBKEY_get0_param(NULL, NULL, 0, &algor, key)) + return 1; + + alg = OBJ_obj2nid (algor->algorithm); +#ifndef HAVE_X509_GET_SIGNATURE_NID + sign_alg = OBJ_obj2nid (peer_cert->sig_alg->algorithm); +#else + sign_alg = X509_get_signature_nid (peer_cert); +#endif + ASN1_TIME_snprintf (notBefore, sizeof (notBefore), + X509_get_notBefore (peer_cert)); + ASN1_TIME_snprintf (notAfter, sizeof (notAfter), + X509_get_notAfter (peer_cert)); + + peer_pkey = X509_get_pubkey (peer_cert); + + safe_strcpy (cert_info->algorithm, + (alg == NID_undef) ? "Unknown" : OBJ_nid2ln (alg), + sizeof (cert_info->algorithm)); + cert_info->algorithm_bits = EVP_PKEY_bits (peer_pkey); + safe_strcpy (cert_info->sign_algorithm, + (sign_alg == NID_undef) ? "Unknown" : OBJ_nid2ln (sign_alg), + sizeof (cert_info->sign_algorithm)); + /* EVP_PKEY_bits(ca_pkey)); */ + cert_info->sign_algorithm_bits = 0; + safe_strcpy (cert_info->notbefore, notBefore, sizeof (cert_info->notbefore)); + safe_strcpy (cert_info->notafter, notAfter, sizeof (cert_info->notafter)); + + EVP_PKEY_free (peer_pkey); + + /* SSL_SESSION_print_fp(stdout, SSL_get_session(ssl)); */ +/* + if (ssl->session->sess_cert->peer_rsa_tmp) { + tmp_pkey = EVP_PKEY_new(); + EVP_PKEY_assign_RSA(tmp_pkey, ssl->session->sess_cert->peer_rsa_tmp); + cert_info->rsa_tmp_bits = EVP_PKEY_bits (tmp_pkey); + EVP_PKEY_free(tmp_pkey); + } else + fprintf(stderr, "REMOTE SIDE DOESN'T PROVIDES ->peer_rsa_tmp\n"); +*/ + cert_info->rsa_tmp_bits = 0; + + X509_free (peer_cert); + + return (0); +} + + +struct chiper_info * +_SSL_get_cipher_info (SSL * ssl) +{ + const SSL_CIPHER *c; + + + c = SSL_get_current_cipher (ssl); + safe_strcpy (chiper_info.version, SSL_CIPHER_get_version (c), + sizeof (chiper_info.version)); + safe_strcpy (chiper_info.chiper, SSL_CIPHER_get_name (c), + sizeof (chiper_info.chiper)); + SSL_CIPHER_get_bits (c, &chiper_info.chiper_bits); + + return (&chiper_info); +} + + +int +_SSL_send (SSL * ssl, char *buf, int len) +{ + int num; + + + num = SSL_write (ssl, buf, len); + + switch (SSL_get_error (ssl, num)) + { + case SSL_ERROR_SSL: /* setup errno! */ + /* ??? */ + __SSL_fill_err_buf ("SSL_write"); + fprintf (stderr, "%s\n", err_buf); + break; + case SSL_ERROR_SYSCALL: + /* ??? */ + perror ("SSL_write/write"); + break; + case SSL_ERROR_ZERO_RETURN: + /* fprintf(stderr, "SSL closed on write\n"); */ + break; + } + + return (num); +} + + +int +_SSL_recv (SSL * ssl, char *buf, int len) +{ + int num; + + + num = SSL_read (ssl, buf, len); + + switch (SSL_get_error (ssl, num)) + { + case SSL_ERROR_SSL: + /* ??? */ + __SSL_fill_err_buf ("SSL_read"); + fprintf (stderr, "%s\n", err_buf); + break; + case SSL_ERROR_SYSCALL: + /* ??? */ + if (!would_block ()) + perror ("SSL_read/read"); + break; + case SSL_ERROR_ZERO_RETURN: + /* fprintf(stdeerr, "SSL closed on read\n"); */ + break; + } + + return (num); +} + + +SSL * +_SSL_socket (SSL_CTX *ctx, int sd) +{ + SSL *ssl; + const SSL_METHOD *method; + + if (!(ssl = SSL_new (ctx))) + /* FATAL */ + __SSL_critical_error ("SSL_new"); + + SSL_set_fd (ssl, sd); + +#ifndef HAVE_SSL_CTX_GET_SSL_METHOD + method = ctx->method; +#else + method = SSL_CTX_get_ssl_method (ctx); +#endif + if (method == SSLv23_client_method()) + SSL_set_connect_state (ssl); + else + SSL_set_accept_state(ssl); + + return (ssl); +} + + +char * +_SSL_set_verify (SSL_CTX *ctx, void *verify_callback) +{ +#ifdef DEFAULT_CERT_FILE + if (!SSL_CTX_load_verify_locations (ctx, DEFAULT_CERT_FILE, NULL)) + { + __SSL_fill_err_buf ("SSL_CTX_load_verify_locations"); + return (err_buf); + } +#else + if (!SSL_CTX_set_default_verify_paths (ctx)) + { + __SSL_fill_err_buf ("SSL_CTX_set_default_verify_paths"); + return (err_buf); + } +#endif + + SSL_CTX_set_verify (ctx, SSL_VERIFY_PEER, verify_callback); + + return (NULL); +} + + +void +_SSL_close (SSL * ssl) +{ + SSL_set_shutdown (ssl, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN); + SSL_free (ssl); +#ifdef HAVE_ERR_REMOVE_THREAD_STATE +#if OPENSSL_VERSION_NUMBER >= 0x10000000L && OPENSSL_VERSION_NUMBER < 0x10100000L + /* OpenSSL handles this itself in 1.1+ and this is a no-op */ + ERR_remove_thread_state (NULL); +#endif +#else + ERR_remove_state (0); +#endif +} + +/* Hostname validation code based on OpenBSD's libtls. */ + +static int +_SSL_match_hostname (const char *cert_hostname, const char *hostname) +{ + const char *cert_domain, *domain, *next_dot; + + if (g_ascii_strcasecmp (cert_hostname, hostname) == 0) + return 0; + + /* Wildcard match? */ + if (cert_hostname[0] == '*') + { + /* + * Valid wildcards: + * - "*.domain.tld" + * - "*.sub.domain.tld" + * - etc. + * Reject "*.tld". + * No attempt to prevent the use of eg. "*.co.uk". + */ + cert_domain = &cert_hostname[1]; + /* Disallow "*" */ + if (cert_domain[0] == '\0') + return -1; + /* Disallow "*foo" */ + if (cert_domain[0] != '.') + return -1; + /* Disallow "*.." */ + if (cert_domain[1] == '.') + return -1; + next_dot = strchr (&cert_domain[1], '.'); + /* Disallow "*.bar" */ + if (next_dot == NULL) + return -1; + /* Disallow "*.bar.." */ + if (next_dot[1] == '.') + return -1; + + domain = strchr (hostname, '.'); + + /* No wildcard match against a hostname with no domain part. */ + if (domain == NULL || strlen(domain) == 1) + return -1; + + if (g_ascii_strcasecmp (cert_domain, domain) == 0) + return 0; + } + + return -1; +} + +static int +_SSL_check_subject_altname (X509 *cert, const char *host) +{ + STACK_OF(GENERAL_NAME) *altname_stack = NULL; + GInetAddress *addr; + GSocketFamily family; + int type = GEN_DNS; + int count, i; + int rv = -1; + + altname_stack = X509_get_ext_d2i (cert, NID_subject_alt_name, NULL, NULL); + if (altname_stack == NULL) + return -1; + + addr = g_inet_address_new_from_string (host); + if (addr != NULL) + { + family = g_inet_address_get_family (addr); + if (family == G_SOCKET_FAMILY_IPV4 || family == G_SOCKET_FAMILY_IPV6) + type = GEN_IPADD; + } + + count = sk_GENERAL_NAME_num(altname_stack); + for (i = 0; i < count; i++) + { + GENERAL_NAME *altname; + + altname = sk_GENERAL_NAME_value (altname_stack, i); + + if (altname->type != type) + continue; + + if (type == GEN_DNS) + { + const unsigned char *data; + int format; + + format = ASN1_STRING_type (altname->d.dNSName); + if (format == V_ASN1_IA5STRING) + { +#ifdef HAVE_ASN1_STRING_GET0_DATA + data = ASN1_STRING_get0_data (altname->d.dNSName); +#else + data = ASN1_STRING_data (altname->d.dNSName); +#endif + + if (ASN1_STRING_length (altname->d.dNSName) != (int)strlen(data)) + { + g_warning("NUL byte in subjectAltName, probably a malicious certificate.\n"); + rv = -2; + break; + } + + if (_SSL_match_hostname (data, host) == 0) + { + rv = 0; + break; + } + } + else + g_warning ("unhandled subjectAltName dNSName encoding (%d)\n", format); + + } + else if (type == GEN_IPADD) + { + const unsigned char *data; + const guint8 *addr_bytes; + int datalen, addr_len; + + datalen = ASN1_STRING_length (altname->d.iPAddress); +#ifdef HAVE_ASN1_STRING_GET0_DATA + data = ASN1_STRING_get0_data (altname->d.iPAddress); +#else + data = ASN1_STRING_data (altname->d.iPAddress); +#endif + + addr_bytes = g_inet_address_to_bytes (addr); + addr_len = (int)g_inet_address_get_native_size (addr); + + if (datalen == addr_len && memcmp (data, addr_bytes, addr_len) == 0) + { + rv = 0; + break; + } + } + } + + if (addr != NULL) + g_object_unref (addr); + sk_GENERAL_NAME_pop_free (altname_stack, GENERAL_NAME_free); + return rv; +} + +static int +_SSL_check_common_name (X509 *cert, const char *host) +{ + X509_NAME *name; + char *common_name = NULL; + int common_name_len; + int rv = -1; + GInetAddress *addr; + + name = X509_get_subject_name (cert); + if (name == NULL) + return -1; + + common_name_len = X509_NAME_get_text_by_NID (name, NID_commonName, NULL, 0); + if (common_name_len < 0) + return -1; + + common_name = g_malloc0 (common_name_len + 1); + + X509_NAME_get_text_by_NID (name, NID_commonName, common_name, common_name_len + 1); + + /* NUL bytes in CN? */ + if (common_name_len != (int)strlen(common_name)) + { + g_warning ("NUL byte in Common Name field, probably a malicious certificate.\n"); + rv = -2; + goto out; + } + + if ((addr = g_inet_address_new_from_string (host)) != NULL) + { + /* + * We don't want to attempt wildcard matching against IP + * addresses, so perform a simple comparison here. + */ + if (g_strcmp0 (common_name, host) == 0) + rv = 0; + else + rv = -1; + + g_object_unref (addr); + } + else if (_SSL_match_hostname (common_name, host) == 0) + rv = 0; + +out: + g_free(common_name); + return rv; +} + +int +_SSL_check_hostname (X509 *cert, const char *host) +{ + int rv; + + rv = _SSL_check_subject_altname (cert, host); + if (rv == 0 || rv == -2) + return rv; + + return _SSL_check_common_name (cert, host); +} diff --git a/src/common/ssl.h b/src/common/ssl.h new file mode 100644 index 0000000000000000000000000000000000000000..bea2f440a189c8ed013598a8de42f6f688963187 --- /dev/null +++ b/src/common/ssl.h @@ -0,0 +1,85 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_SSL_H +#define HEXCHAT_SSL_H + +struct cert_info { + char subject[256]; + char *subject_word[12]; + char issuer[256]; + char *issuer_word[12]; + char algorithm[32]; + int algorithm_bits; + char sign_algorithm[32]; + int sign_algorithm_bits; + char notbefore[32]; + char notafter[32]; + + int rsa_tmp_bits; +}; + +struct chiper_info { + char version[16]; + char chiper[48]; + int chiper_bits; +}; + +SSL_CTX *_SSL_context_init (void (*info_cb_func)); +#define _SSL_context_free(a) SSL_CTX_free(a); + +SSL *_SSL_socket (SSL_CTX *ctx, int sd); +char *_SSL_set_verify (SSL_CTX *ctx, void *(verify_callback)); +/* + int SSL_connect(SSL *); + int SSL_accept(SSL *); + int SSL_get_fd(SSL *); +*/ +void _SSL_close (SSL * ssl); +int _SSL_check_hostname(X509 *cert, const char *host); +int _SSL_get_cert_info (struct cert_info *cert_info, SSL * ssl); +struct chiper_info *_SSL_get_cipher_info (SSL * ssl); + +/*char *_SSL_add_keypair (SSL_CTX *ctx, char *privkey, char *cert);*/ +/*void _SSL_add_random_keypair(SSL_CTX *ctx, int bits);*/ + +int _SSL_send (SSL * ssl, char *buf, int len); +int _SSL_recv (SSL * ssl, char *buf, int len); + +/* misc */ +/*void broke_oneline (char *oneline, char *parray[]);*/ + +/*char *_SSL_do_cipher_base64(char *buf, int buf_len, char *key, int operation);*/ /* must be freed */ + +/*void *_SSL_get_sess_obj(SSL *ssl, int type);*/ /* NOT must be freed */ +#define _SSL_get_sess_pkey(a) _SSL_get_sess_obj(a, 0) +#define _SSL_get_sess_prkey(a) _SSL_get_sess_obj(a, 1) +#define _SSL_get_sess_x509(a) _SSL_get_sess_obj(a, 2) +/*char *_SSL_get_obj_base64(void *s, int type);*/ /* must be freed */ +#define _SSL_get_pkey_base64(a) _SSL_get_obj_base64(a, 0) +#define _SSL_get_prkey_base64(a) _SSL_get_obj_base64(a, 1) +#define _SSL_get_x509_base64(a) _SSL_get_obj_base64(a, 2) +/*char *_SSL_get_ctx_obj_base64(SSL_CTX *ctx, int type);*/ /* must be freed */ +#define _SSL_get_ctx_pkey_base64(a) _SSL_get_ctx_obj_base64(a, 0) +#define _SSL_get_ctx_prkey_base64(a) _SSL_get_ctx_obj_base64(a, 1) +#define _SSL_get_ctx_x509_base64(a) _SSL_get_ctx_obj_base64(a, 2) + +/*int _SSL_verify_x509(X509 *x509);*/ + +#endif diff --git a/src/common/sysinfo/sysinfo.h b/src/common/sysinfo/sysinfo.h new file mode 100644 index 0000000000000000000000000000000000000000..d63bf9d8c59ec459ff1be480637b619468cbccb1 --- /dev/null +++ b/src/common/sysinfo/sysinfo.h @@ -0,0 +1,13 @@ +#ifndef HEXCHAT_SYSINFO_H +#define HEXCHAT_SYSINFO_H + +#include <glib.h> + +int sysinfo_get_cpu_arch (void); +int sysinfo_get_build_arch (void); +char *sysinfo_get_cpu (void); +char *sysinfo_get_os (void); +void sysinfo_get_hdd_info (guint64 *hdd_capacity_out, guint64 *hdd_free_space_out); +char *sysinfo_get_gpu (void); + +#endif diff --git a/src/common/sysinfo/win32/backend.c b/src/common/sysinfo/win32/backend.c new file mode 100644 index 0000000000000000000000000000000000000000..e2ae83ed479b2751938677d840b0af9b25c62dfa --- /dev/null +++ b/src/common/sysinfo/win32/backend.c @@ -0,0 +1,483 @@ +/* HexChat + * Copyright (c) 2011-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <stdio.h> +#include <wchar.h> +#include <windows.h> +#include <wbemidl.h> + +#include "../sysinfo.h" + +/* Cache */ +static int cpu_arch = 0; +static int build_arch = 0; +static char *os_name = NULL; +static char *cpu_info = NULL; +static char *vga_name = NULL; + +typedef enum +{ + QUERY_WMI_OS, + QUERY_WMI_CPU, + QUERY_WMI_VGA, + QUERY_WMI_HDD, +} QueryWmiType; + +static char *query_wmi (QueryWmiType mode); +static char *read_os_name (IWbemClassObject *object); +static char *read_cpu_info (IWbemClassObject *object); +static char *read_vga_name (IWbemClassObject *object); + +static guint64 hdd_capacity; +static guint64 hdd_free_space; +static char *read_hdd_info (IWbemClassObject *object); + +static char *bstr_to_utf8 (BSTR bstr); +static guint64 variant_to_uint64 (VARIANT *variant); + +char * +sysinfo_get_cpu (void) +{ + if (cpu_info == NULL) + cpu_info = query_wmi (QUERY_WMI_CPU); + + return g_strdup (cpu_info); +} + +char * +sysinfo_get_os (void) +{ + if (os_name == NULL) + os_name = query_wmi (QUERY_WMI_OS); + + return g_strdup_printf ("%s (x%d)", os_name, sysinfo_get_cpu_arch ()); +} + +int +sysinfo_get_cpu_arch (void) +{ + SYSTEM_INFO si; + + if (cpu_arch != 0) + { + return cpu_arch; + } + + GetNativeSystemInfo (&si); + + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || + si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM64) + { + return cpu_arch = 64; + } + else + { + return cpu_arch = 86; + } +} + +int +sysinfo_get_build_arch (void) +{ + SYSTEM_INFO si; + + if (build_arch != 0) + { + return build_arch; + } + + GetSystemInfo (&si); + + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || + si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM64) + { + return build_arch = 64; + } + else + { + return build_arch = 86; + } +} + +char * +sysinfo_get_gpu (void) +{ + if (vga_name == NULL) + vga_name = query_wmi (QUERY_WMI_VGA); + + return g_strdup (vga_name); +} + +void +sysinfo_get_hdd_info (guint64 *hdd_capacity_out, guint64 *hdd_free_space_out) +{ + char *hdd_info; + + /* HDD information is always loaded dynamically since it includes the current amount of free space */ + *hdd_capacity_out = hdd_capacity = 0; + *hdd_free_space_out = hdd_free_space = 0; + + hdd_info = query_wmi (QUERY_WMI_HDD); + if (hdd_info == NULL) + { + return; + } + + *hdd_capacity_out = hdd_capacity; + *hdd_free_space_out = hdd_free_space; +} + +/* https://msdn.microsoft.com/en-us/library/aa390423 */ +static char *query_wmi (QueryWmiType type) +{ + GString *result = NULL; + HRESULT hr; + + IWbemLocator *locator = NULL; + BSTR namespaceName = NULL; + BSTR queryLanguageName = NULL; + BSTR query = NULL; + IWbemServices *namespace = NULL; + IUnknown *namespaceUnknown = NULL; + IEnumWbemClassObject *enumerator = NULL; + int i; + gboolean atleast_one_appended = FALSE; + + hr = CoCreateInstance (&CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, &IID_IWbemLocator, (LPVOID *) &locator); + if (FAILED (hr)) + { + goto exit; + } + + namespaceName = SysAllocString (L"root\\CIMV2"); + + hr = locator->lpVtbl->ConnectServer (locator, namespaceName, NULL, NULL, NULL, 0, NULL, NULL, &namespace); + if (FAILED (hr)) + { + goto release_locator; + } + + hr = namespace->lpVtbl->QueryInterface (namespace, &IID_IUnknown, (void**)&namespaceUnknown); + if (FAILED (hr)) + { + goto release_namespace; + } + + hr = CoSetProxyBlanket (namespaceUnknown, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL, RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE); + if (FAILED (hr)) + { + goto release_namespaceUnknown; + } + + queryLanguageName = SysAllocString (L"WQL"); + + switch (type) + { + case QUERY_WMI_OS: + query = SysAllocString (L"SELECT Caption FROM Win32_OperatingSystem"); + break; + case QUERY_WMI_CPU: + query = SysAllocString (L"SELECT Name, MaxClockSpeed FROM Win32_Processor"); + break; + case QUERY_WMI_VGA: + query = SysAllocString (L"SELECT Name FROM Win32_VideoController"); + break; + case QUERY_WMI_HDD: + query = SysAllocString (L"SELECT Name, Capacity, FreeSpace FROM Win32_Volume"); + break; + default: + goto release_queryLanguageName; + } + + hr = namespace->lpVtbl->ExecQuery (namespace, queryLanguageName, query, WBEM_FLAG_FORWARD_ONLY, NULL, &enumerator); + if (FAILED (hr)) + { + goto release_query; + } + + result = g_string_new (""); + + for (i = 0;; i++) + { + ULONG numReturned = 0; + IWbemClassObject *object; + char *line; + + hr = enumerator->lpVtbl->Next (enumerator, WBEM_INFINITE, 1, &object, &numReturned); + if (FAILED (hr) || numReturned == 0) + { + break; + } + + switch (type) + { + case QUERY_WMI_OS: + line = read_os_name (object); + break; + + case QUERY_WMI_CPU: + line = read_cpu_info (object); + break; + + case QUERY_WMI_VGA: + line = read_vga_name (object); + break; + + case QUERY_WMI_HDD: + line = read_hdd_info (object); + break; + + default: + break; + } + + object->lpVtbl->Release (object); + + if (line != NULL) + { + if (atleast_one_appended) + { + g_string_append (result, ", "); + } + + g_string_append (result, line); + + g_free (line); + + atleast_one_appended = TRUE; + } + } + + enumerator->lpVtbl->Release (enumerator); + +release_query: + SysFreeString (query); + +release_queryLanguageName: + SysFreeString (queryLanguageName); + +release_namespaceUnknown: + namespaceUnknown->lpVtbl->Release (namespaceUnknown); + +release_namespace: + namespace->lpVtbl->Release (namespace); + +release_locator: + locator->lpVtbl->Release (locator); + SysFreeString (namespaceName); + +exit: + if (result == NULL) + { + return NULL; + } + + return g_string_free (result, FALSE); +} + +static char *read_os_name (IWbemClassObject *object) +{ + HRESULT hr; + VARIANT caption_variant; + char *caption_utf8; + + hr = object->lpVtbl->Get (object, L"Caption", 0, &caption_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + caption_utf8 = bstr_to_utf8 (caption_variant.bstrVal); + + VariantClear(&caption_variant); + + if (caption_utf8 == NULL) + { + return NULL; + } + + g_strchomp (caption_utf8); + + return caption_utf8; +} + +static char *read_cpu_info (IWbemClassObject *object) +{ + HRESULT hr; + VARIANT name_variant; + char *name_utf8; + VARIANT max_clock_speed_variant; + guint cpu_freq_mhz; + char *result; + + hr = object->lpVtbl->Get (object, L"Name", 0, &name_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + name_utf8 = bstr_to_utf8 (name_variant.bstrVal); + + VariantClear (&name_variant); + + if (name_utf8 == NULL) + { + return NULL; + } + + hr = object->lpVtbl->Get (object, L"MaxClockSpeed", 0, &max_clock_speed_variant, NULL, NULL); + if (FAILED (hr)) + { + g_free (name_utf8); + + return NULL; + } + + cpu_freq_mhz = max_clock_speed_variant.uintVal; + + VariantClear (&max_clock_speed_variant); + + g_strchomp (name_utf8); + + if (cpu_freq_mhz > 1000) + { + result = g_strdup_printf ("%s (%.2fGHz)", name_utf8, cpu_freq_mhz / 1000.f); + } + else + { + result = g_strdup_printf ("%s (%" G_GUINT32_FORMAT "MHz)", name_utf8, cpu_freq_mhz); + } + + g_free (name_utf8); + + return result; +} + +static char *read_vga_name (IWbemClassObject *object) +{ + HRESULT hr; + VARIANT name_variant; + char *name_utf8; + + hr = object->lpVtbl->Get (object, L"Name", 0, &name_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + name_utf8 = bstr_to_utf8 (name_variant.bstrVal); + + VariantClear (&name_variant); + + if (name_utf8 == NULL) + { + return NULL; + } + + return g_strchomp (name_utf8); +} + +static char *read_hdd_info (IWbemClassObject *object) +{ + HRESULT hr; + VARIANT name_variant; + BSTR name_bstr; + gsize name_len; + VARIANT capacity_variant; + guint64 capacity; + VARIANT free_space_variant; + guint64 free_space; + + hr = object->lpVtbl->Get (object, L"Name", 0, &name_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + name_bstr = name_variant.bstrVal; + name_len = SysStringLen (name_variant.bstrVal); + + if (name_len >= 4 && name_bstr[0] == L'\\' && name_bstr[1] == L'\\' && name_bstr[2] == L'?' && name_bstr[3] == L'\\') + { + // This is not a named volume. Skip it. + VariantClear (&name_variant); + + return NULL; + } + + VariantClear (&name_variant); + + hr = object->lpVtbl->Get (object, L"Capacity", 0, &capacity_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + capacity = variant_to_uint64 (&capacity_variant); + + VariantClear (&capacity_variant); + + if (capacity == 0) + { + return NULL; + } + + hr = object->lpVtbl->Get (object, L"FreeSpace", 0, &free_space_variant, NULL, NULL); + if (FAILED (hr)) + { + return NULL; + } + + free_space = variant_to_uint64 (&free_space_variant); + + VariantClear (&free_space_variant); + + if (free_space == 0) + { + return NULL; + } + + hdd_capacity += capacity; + hdd_free_space += free_space; + + return NULL; +} + +static char *bstr_to_utf8 (BSTR bstr) +{ + return g_utf16_to_utf8 (bstr, SysStringLen (bstr), NULL, NULL, NULL); +} + +static guint64 variant_to_uint64 (VARIANT *variant) +{ + switch (V_VT (variant)) + { + case VT_UI8: + return variant->ullVal; + + case VT_BSTR: + return wcstoull (variant->bstrVal, NULL, 10); + + default: + return 0; + } +} diff --git a/src/common/text.c b/src/common/text.c new file mode 100644 index 0000000000000000000000000000000000000000..a77700fa359784e757e7fffe48db0b5ae894da5b --- /dev/null +++ b/src/common/text.c @@ -0,0 +1,2370 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <ctype.h> +#include <time.h> +#include <sys/types.h> +#include <fcntl.h> +#include <sys/stat.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#include <sys/mman.h> +#endif + +#include "hexchat.h" +#include "cfgfiles.h" +#include "chanopt.h" +#include "plugin.h" +#include "fe.h" +#include "server.h" +#include "util.h" +#include "outbound.h" +#include "hexchatc.h" +#include "text.h" +#include "typedef.h" +#ifdef WIN32 +#include <windows.h> +#endif + +#ifdef USE_LIBCANBERRA +#include <canberra.h> +#endif + +const gchar* unicode_fallback_string = "\357\277\275"; /* The Unicode replacement character 0xFFFD */ +const gchar* arbitrary_encoding_fallback_string = "?"; + +struct pevt_stage1 +{ + int len; + char *data; + struct pevt_stage1 *next; +}; + +#ifdef USE_LIBCANBERRA +static ca_context *ca_con; +#endif + +#define SCROLLBACK_MAX 32000 + +static void mkdir_p (char *filename); +static char *log_create_filename (char *channame); + +static char * +scrollback_get_filename (session *sess) +{ + char *net, *chan, *buf, *ret = NULL; + + net = server_get_network (sess->server, FALSE); + if (!net) + return NULL; + + net = log_create_filename (net); + buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "scrollback" G_DIR_SEPARATOR_S "%s" G_DIR_SEPARATOR_S "%s.txt", get_xdir (), net, ""); + mkdir_p (buf); + g_free (buf); + + chan = log_create_filename (sess->channel); + if (chan[0]) + buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "scrollback" G_DIR_SEPARATOR_S "%s" G_DIR_SEPARATOR_S "%s.txt", get_xdir (), net, chan); + else + buf = NULL; + g_free (chan); + g_free (net); + + if (buf) + { + ret = g_filename_from_utf8 (buf, -1, NULL, NULL, NULL); + g_free (buf); + } + + return ret; +} + +void +scrollback_close (session *sess) +{ + g_clear_object (&sess->scrollfile); +} + +/* shrink the file to roughly prefs.hex_text_max_lines */ + +static void +scrollback_shrink (session *sess) +{ + char *buf, *p; + gsize len; + gint offset, lines = 0; + const gint max_lines = MIN(prefs.hex_text_max_lines, SCROLLBACK_MAX); + + if (!g_file_load_contents (sess->scrollfile, NULL, &buf, &len, NULL, NULL)) + return; + + /* count all lines */ + p = buf; + while (p != buf + len) + { + if (*p == '\n') + lines++; + p++; + } + + offset = lines - max_lines; + + /* now just go back to where we want to start the file */ + p = buf; + lines = 0; + while (p != buf + len) + { + if (*p == '\n') + { + lines++; + if (lines == offset) + { + p++; + break; + } + } + p++; + } + + if (g_file_replace_contents (sess->scrollfile, p, strlen(p), NULL, FALSE, + G_FILE_CREATE_PRIVATE, NULL, NULL, NULL)) + sess->scrollwritten = lines; + + g_free (buf); +} + +static void +scrollback_save (session *sess, char *text, time_t stamp) +{ + GOutputStream *ostream; + char *buf; + + if (sess->type == SESS_SERVER && prefs.hex_gui_tab_server == 1) + return; + + if (sess->text_scrollback == SET_DEFAULT) + { + if (!prefs.hex_text_replay) + return; + } + else + { + if (sess->text_scrollback != SET_ON) + return; + } + + if (!sess->scrollfile) + { + if ((buf = scrollback_get_filename (sess)) == NULL) + return; + + sess->scrollfile = g_file_new_for_path (buf); + g_free (buf); + } + else + { + /* Users can delete the folder after it's created... */ + GFile *parent = g_file_get_parent (sess->scrollfile); + g_file_make_directory_with_parents (parent, NULL, NULL); + g_object_unref (parent); + } + + ostream = G_OUTPUT_STREAM(g_file_append_to (sess->scrollfile, G_FILE_CREATE_PRIVATE, NULL, NULL)); + if (!ostream) + return; + + if (!stamp) + stamp = time(0); + if (sizeof (stamp) == 4) /* gcc will optimize one of these out */ + buf = g_strdup_printf ("T %d ", (int) stamp); + else + buf = g_strdup_printf ("T %" G_GINT64_FORMAT " ", (gint64)stamp); + + g_output_stream_write (ostream, buf, strlen (buf), NULL, NULL); + g_output_stream_write (ostream, text, strlen (text), NULL, NULL); + if (!g_str_has_suffix (text, "\n")) + g_output_stream_write (ostream, "\n", 1, NULL, NULL); + + g_free (buf); + g_object_unref (ostream); + + sess->scrollwritten++; + + if ((sess->scrollwritten > prefs.hex_text_max_lines && prefs.hex_text_max_lines > 0) || + sess->scrollwritten > SCROLLBACK_MAX) + scrollback_shrink (sess); +} + +void +scrollback_load (session *sess) +{ + GInputStream *stream; + GDataInputStream *istream; + gchar *buf, *text; + gint lines = 0; + time_t stamp = 0; + + if (sess->text_scrollback == SET_DEFAULT) + { + if (!prefs.hex_text_replay) + return; + } + else + { + if (sess->text_scrollback != SET_ON) + return; + } + + if (!sess->scrollfile) + { + if ((buf = scrollback_get_filename (sess)) == NULL) + return; + + sess->scrollfile = g_file_new_for_path (buf); + g_free (buf); + } + + stream = G_INPUT_STREAM(g_file_read (sess->scrollfile, NULL, NULL)); + if (!stream) + return; + + istream = g_data_input_stream_new (stream); + /* + * This is to avoid any issues moving between windows/unix + * but the docs mention an invalid \r without a following \n + * can lock up the program... (Our write() always adds \n) + */ + g_data_input_stream_set_newline_type (istream, G_DATA_STREAM_NEWLINE_TYPE_ANY); + g_object_unref (stream); + + while (1) + { + GError *err = NULL; + gsize n_bytes; + + buf = g_data_input_stream_read_line_utf8 (istream, &n_bytes, NULL, &err); + + if (!err && buf) + { + /* + * Some scrollback lines have three blanks after the timestamp and a newline + * Some have only one blank and a newline + * Some don't even have a timestamp + * Some don't have any text at all + */ + if (buf[0] == 'T' && buf[1] == ' ') + { + if (sizeof (time_t) == 4) + stamp = strtoul (buf + 2, NULL, 10); + else + stamp = g_ascii_strtoull (buf + 2, NULL, 10); /* in case time_t is 64 bits */ + + if (G_UNLIKELY(stamp == 0)) + { + g_warning ("Invalid timestamp in scrollback file"); + continue; + } + + text = strchr (buf + 3, ' '); + if (text && text[1]) + { + if (prefs.hex_text_stripcolor_replay) + { + text = strip_color (text + 1, -1, STRIP_COLOR); + } + + fe_print_text (sess, text, stamp, TRUE); + + if (prefs.hex_text_stripcolor_replay) + { + g_free (text); + } + } + else + { + fe_print_text (sess, " ", stamp, TRUE); + } + } + else + { + if (strlen (buf)) + fe_print_text (sess, buf, 0, TRUE); + else + fe_print_text (sess, " ", 0, TRUE); + } + lines++; + + g_free (buf); + } + else if (err) + { + /* If its only an encoding error it may be specific to the line */ + if (g_error_matches (err, G_CONVERT_ERROR, G_CONVERT_ERROR_ILLEGAL_SEQUENCE)) + { + g_warning ("Invalid utf8 in scrollback file"); + g_clear_error (&err); + continue; + } + + /* For general errors just give up */ + g_clear_error (&err); + break; + } + else /* No new line */ + { + break; + } + } + + g_object_unref (istream); + + sess->scrollwritten = lines; + + if (lines) + { + text = ctime (&stamp); + buf = g_strdup_printf ("\n*\t%s %s\n", _("Loaded log from"), text); + fe_print_text (sess, buf, 0, TRUE); + g_free (buf); + /*EMIT_SIGNAL (XP_TE_GENMSG, sess, "*", buf, NULL, NULL, NULL, 0);*/ + } +} + +void +log_close (session *sess) +{ + char obuf[512]; + time_t currenttime; + + if (sess->logfd != -1) + { + currenttime = time (NULL); + write (sess->logfd, obuf, + g_snprintf (obuf, sizeof (obuf) - 1, _("**** ENDING LOGGING AT %s\n"), + ctime (¤ttime))); + close (sess->logfd); + sess->logfd = -1; + } +} + +/* + * filename should be in utf8 encoding and will be + * converted to filesystem encoding automatically. + */ +static void +mkdir_p (char *filename) +{ + char *dirname, *dirname_fs; + GError *err = NULL; + + dirname = g_path_get_dirname (filename); + dirname_fs = g_filename_from_utf8 (dirname, -1, NULL, NULL, &err); + if (!dirname_fs) + { + g_warning ("%s", err->message); + g_error_free (err); + g_free (dirname); + return; + } + + g_mkdir_with_parents (dirname_fs, 0700); + + g_free (dirname); + g_free (dirname_fs); +} + +static char * +log_create_filename (char *channame) +{ + char *tmp, *ret; + int mbl; + + ret = tmp = g_strdup (channame); + while (*tmp) + { + mbl = g_utf8_skip[((unsigned char *)tmp)[0]]; + if (mbl == 1) + { +#ifndef WIN32 + *tmp = rfc_tolower (*tmp); + if (*tmp == '/') +#else + /* win32 can't handle filenames with \|/><:"*? characters */ + if (*tmp == '\\' || *tmp == '|' || *tmp == '/' || + *tmp == '>' || *tmp == '<' || *tmp == ':' || + *tmp == '\"' || *tmp == '*' || *tmp == '?') +#endif + *tmp = '_'; + } + tmp += mbl; + } + + return ret; +} + +/* like strcpy, but % turns into %% */ + +static char * +log_escape_strcpy (char *dest, char *src, char *end) +{ + while (*src) + { + *dest = *src; + if (dest + 1 == end) + break; + dest++; + src++; + + if (*src == '%') + { + if (dest + 1 == end) + break; + dest[0] = '%'; + dest++; + } + } + + dest[0] = 0; + return dest - 1; +} + +/* substitutes %c %n %s into buffer */ + +static void +log_insert_vars (char *buf, int bufsize, char *fmt, char *c, char *n, char *s) +{ + char *end = buf + bufsize; + + while (1) + { + switch (fmt[0]) + { + case 0: + buf[0] = 0; + return; + + case '%': + fmt++; + switch (fmt[0]) + { + case 'c': + buf = log_escape_strcpy (buf, c, end); + break; + case 'n': + buf = log_escape_strcpy (buf, n, end); + break; + case 's': + buf = log_escape_strcpy (buf, s, end); + break; + default: + buf[0] = '%'; + buf++; + buf[0] = fmt[0]; + break; + } + break; + + default: + buf[0] = fmt[0]; + } + fmt++; + buf++; + /* doesn't fit? */ + if (buf == end) + { + buf[-1] = 0; + return; + } + } +} + +static char * +log_create_pathname (char *servname, char *channame, char *netname) +{ + char fname[384]; + char fnametime[384]; + time_t now; + + if (!netname) + { + netname = g_strdup ("NETWORK"); + } + else + { + netname = log_create_filename (netname); + } + + /* first, everything is in UTF-8 */ + if (!rfc_casecmp (channame, servname)) + { + channame = g_strdup ("server"); + } + else + { + channame = log_create_filename (channame); + } + + servname = log_create_filename (servname); + + log_insert_vars (fname, sizeof (fname), prefs.hex_irc_logmask, channame, netname, servname); + g_free (channame); + g_free (netname); + g_free (servname); + + /* insert time/date */ + now = time (NULL); + strftime_utf8 (fnametime, sizeof (fnametime), fname, now); + + /* If one uses log mask variables, such as "%c/...", %c will be empty upon + * connecting since there's no channel name yet, so we have to make sure + * we won't try to write to the FS root. */ + if (g_path_is_absolute (prefs.hex_irc_logmask)) + { + g_snprintf (fname, sizeof (fname), "%s", fnametime); + } + else /* relative path */ + { + g_snprintf (fname, sizeof (fname), "%s" G_DIR_SEPARATOR_S "logs" G_DIR_SEPARATOR_S "%s", get_xdir (), fnametime); + } + + /* create all the subdirectories */ + mkdir_p (fname); + + return g_strdup (fname); +} + +static int +log_open_file (char *servname, char *channame, char *netname) +{ + char buf[512]; + int fd; + char *file; + time_t currenttime; + + file = log_create_pathname (servname, channame, netname); + if (!file) + return -1; + + fd = g_open (file, O_CREAT | O_APPEND | O_WRONLY | OFLAGS, 0644); + g_free (file); + + if (fd == -1) + return -1; + currenttime = time (NULL); + write (fd, buf, + g_snprintf (buf, sizeof (buf), _("**** BEGIN LOGGING AT %s\n"), + ctime (¤ttime))); + + return fd; +} + +static void +log_open (session *sess) +{ + static gboolean log_error = FALSE; + + log_close (sess); + sess->logfd = log_open_file (sess->server->servername, sess->channel, + server_get_network (sess->server, FALSE)); + + if (!log_error && sess->logfd == -1) + { + char *filename = log_create_pathname (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE)); + char *message = g_strdup_printf (_("* Can't open log file(s) for writing. Check the\npermissions on %s"), filename); + + g_free (filename); + + fe_message (message, FE_MSG_WAIT | FE_MSG_ERROR); + + g_free (message); + + log_error = TRUE; + } +} + +void +log_open_or_close (session *sess) +{ + if (sess->text_logging == SET_DEFAULT) + { + if (prefs.hex_irc_logging) + log_open (sess); + else + log_close (sess); + } + else + { + if (sess->text_logging) + log_open (sess); + else + log_close (sess); + } +} + +int +get_stamp_str (char *fmt, time_t tim, char **ret) +{ + char dest[128]; + gsize len_locale; + gsize len_utf8; + + /* strftime requires the format string to be in locale encoding. */ + fmt = g_locale_from_utf8 (fmt, -1, NULL, NULL, NULL); + + len_locale = strftime_validated (dest, sizeof (dest), fmt, localtime (&tim)); + + g_free (fmt); + + if (len_locale == 0) + { + return 0; + } + + *ret = g_locale_to_utf8 (dest, len_locale, NULL, &len_utf8, NULL); + if (*ret == NULL) + { + return 0; + } + + return len_utf8; +} + +static void +log_write (session *sess, char *text, time_t ts) +{ + char *temp; + char *stamp; + char *file; + int len; + + if (sess->text_logging == SET_DEFAULT) + { + if (!prefs.hex_irc_logging) + return; + } + else + { + if (sess->text_logging != SET_ON) + return; + } + + if (sess->logfd == -1) + { + log_open (sess); + } + + /* change to a different log file? */ + file = log_create_pathname (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE)); + if (file) + { + if (g_access (file, F_OK) != 0) + { + if (sess->logfd != -1) + { + close (sess->logfd); + } + + sess->logfd = log_open_file (sess->server->servername, sess->channel, server_get_network (sess->server, FALSE)); + } + + g_free (file); + } + + if (sess->logfd == -1) + { + return; + } + + if (prefs.hex_stamp_log) + { + if (!ts) ts = time(0); + len = get_stamp_str (prefs.hex_stamp_log_format, ts, &stamp); + if (len) + { + write (sess->logfd, stamp, len); + g_free (stamp); + } + } + + temp = strip_color (text, -1, STRIP_ALL); + len = strlen (temp); + write (sess->logfd, temp, len); + /* lots of scripts/plugins print without a \n at the end */ + if (temp[len - 1] != '\n') + write (sess->logfd, "\n", 1); /* emulate what xtext would display */ + g_free (temp); +} + +/** + * Converts a given string using the given iconv converter. This is similar to g_convert_with_fallback, except that it is tolerant of sequences in + * the original input that are invalid even in from_encoding. g_convert_with_fallback fails for such text, whereas this function replaces such a + * sequence with the fallback string. + * + * If len is -1, strlen(text) is used to calculate the length. Do not pass -1 if text is supposed to contain \0 bytes, such as if from_encoding is a + * multi-byte encoding like UTF-16. + */ +gchar * +text_convert_invalid (const gchar* text, gssize len, GIConv converter, const gchar *fallback, gsize *len_out) +{ + gchar *result_part; + gsize result_part_len; + const gchar *end; + gsize invalid_start_pos; + GString *result; + const gchar *current_start; + + if (len == -1) + { + len = strlen (text); + } + + end = text + len; + + /* Find the first position of an invalid sequence. */ + result_part = g_convert_with_iconv (text, len, converter, &invalid_start_pos, &result_part_len, NULL); + g_iconv (converter, NULL, NULL, NULL, NULL); + + if (result_part != NULL) + { + /* All text converted successfully on the first try. Return it. */ + + if (len_out != NULL) + { + *len_out = result_part_len; + } + + return result_part; + } + + /* One or more invalid sequences exist that need to be replaced with the fallback. */ + + result = g_string_sized_new (len); + current_start = text; + + for (;;) + { + g_assert (current_start + invalid_start_pos < end); + + /* Convert everything before the position of the invalid sequence. It should be successful. + * But iconv may not convert everything till invalid_start_pos since the last few bytes may be part of a shift sequence. + * So get the new bytes_read and use it as the actual invalid_start_pos to handle this. + * + * See https://github.com/hexchat/hexchat/issues/1758 + */ + result_part = g_convert_with_iconv (current_start, invalid_start_pos, converter, &invalid_start_pos, &result_part_len, NULL); + g_iconv (converter, NULL, NULL, NULL, NULL); + + g_assert (result_part != NULL); + g_string_append_len (result, result_part, result_part_len); + g_free (result_part); + + /* Append the fallback */ + g_string_append (result, fallback); + + /* Now try converting everything after the invalid sequence. */ + current_start += invalid_start_pos + 1; + + result_part = g_convert_with_iconv (current_start, end - current_start, converter, &invalid_start_pos, &result_part_len, NULL); + g_iconv (converter, NULL, NULL, NULL, NULL); + + if (result_part != NULL) + { + /* The rest of the text converted successfully. Append it and return the whole converted text. */ + + g_string_append_len (result, result_part, result_part_len); + g_free (result_part); + + if (len_out != NULL) + { + *len_out = result->len; + } + + return g_string_free (result, FALSE); + } + + /* The rest of the text didn't convert successfully. invalid_start_pos has the position of the next invalid sequence. */ + } +} + +/** + * Replaces any invalid UTF-8 in the given text with the unicode replacement character. + */ +gchar * +text_fixup_invalid_utf8 (const gchar* text, gssize len, gsize *len_out) +{ +#if GLIB_CHECK_VERSION (2, 52, 0) +G_GNUC_BEGIN_IGNORE_DEPRECATIONS + gchar *result = g_utf8_make_valid (text, len); +G_GNUC_END_IGNORE_DEPRECATIONS + if (len_out) + { + *len_out = strlen (result); + } + return result; +#else + static GIConv utf8_fixup_converter = NULL; + if (utf8_fixup_converter == NULL) + { + utf8_fixup_converter = g_iconv_open ("UTF-8", "UTF-8"); + } + + return text_convert_invalid (text, len, utf8_fixup_converter, unicode_fallback_string, len_out); +#endif +} + +void +PrintTextTimeStamp (session *sess, char *text, time_t timestamp) +{ + if (!sess) + { + if (!sess_list) + return; + sess = (session *) sess_list->data; + } + + /* make sure it's valid utf8 */ + if (text[0] == '\0') + { + text = g_strdup ("\n"); + } + else + { + text = text_fixup_invalid_utf8 (text, -1, NULL); + } + + log_write (sess, text, timestamp); + scrollback_save (sess, text, timestamp); + fe_print_text (sess, text, timestamp, FALSE); + g_free (text); +} + +void +PrintText (session *sess, char *text) +{ + PrintTextTimeStamp (sess, text, 0); +} + +void +PrintTextf (session *sess, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + PrintText (sess, buf); + g_free (buf); +} + +void +PrintTextTimeStampf (session *sess, time_t timestamp, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + PrintTextTimeStamp (sess, buf, timestamp); + g_free (buf); +} + +/* Print Events stuff here --AGL */ + +/* Consider the following a NOTES file: + + The main upshot of this is: + * Plugins and Perl scripts (when I get round to signaling perl.c) can intercept text events and do what they like + * The default text engine can be config'ed + + By default it should appear *exactly* the same (I'm working hard not to change the default style) but if you go into Settings->Edit Event Texts you can change the text's. The format is thus: + + The normal %Cx (color) and %B (bold) etc work + + $x is replaced with the data in var x (e.g. $1 is often the nick) + + $axxx is replace with a single byte of value xxx (in base 10) + + AGL (990507) + */ + +/* These lists are thus: + pntevts_text[] are the strings the user sees (WITH %x etc) + pntevts[] are the data strings with \000 etc + */ + +/* To add a new event: + + Think up a name (like "Join") + Make up a pevt_name_help struct + Add an entry to textevents.in + Type: make textevents + */ + +/* Internals: + + On startup ~/.xchat/printevents.conf is loaded if it doesn't exist the + defaults are loaded. Any missing events are filled from defaults. + Each event is parsed by pevt_build_string and a binary output is produced + which looks like: + + (byte) value: 0 = { + (int) numbers of bytes + (char []) that number of byte to be memcpy'ed into the buffer + } + 1 = + (byte) number of varable to insert + 2 = end of buffer + + Each XP_TE_* signal is hard coded to call text_emit which calls + display_event which decodes the data + + This means that this system *should be faster* than g_snprintf because + it always 'knows' that format of the string (basically is preparses much + of the work) + + --AGL + */ + +char *pntevts_text[NUM_XP]; +char *pntevts[NUM_XP]; + +#define pevt_generic_none_help NULL + +static char * const pevt_genmsg_help[] = { + N_("Left message"), + N_("Right message"), +}; + +#if 0 +static char * const pevt_identd_help[] = { + N_("IP address"), + N_("Username") +}; +#endif + +static char * const pevt_join_help[] = { + N_("The nick of the joining person"), + N_("The channel being joined"), + N_("The host of the person"), + N_("The account of the person"), +}; + +static char * const pevt_chanaction_help[] = { + N_("Nickname"), + N_("The action"), + N_("Mode char"), + N_("Identified text"), +}; + +static char * const pevt_chanmsg_help[] = { + N_("Nickname"), + N_("The text"), + N_("Mode char"), + N_("Identified text"), +}; + +static char * const pevt_privmsg_help[] = { + N_("Nickname"), + N_("The message"), + N_("Identified text") +}; + +static char * const pevt_capack_help[] = { + N_("Server Name"), + N_("Acknowledged Capabilities") +}; + +static char * const pevt_capdel_help[] = { + N_("Server Name"), + N_("Removed Capabilities") +}; + +static char * const pevt_caplist_help[] = { + N_("Server Name"), + N_("Server Capabilities") +}; + +static char * const pevt_capreq_help[] = { + N_("Requested Capabilities") +}; + +static char * const pevt_changenick_help[] = { + N_("Old nickname"), + N_("New nickname"), +}; + +static char * const pevt_newtopic_help[] = { + N_("Nick of person who changed the topic"), + N_("Topic"), + N_("Channel"), +}; + +static char * const pevt_topic_help[] = { + N_("Channel"), + N_("Topic"), +}; + +static char * const pevt_kick_help[] = { + N_("The nickname of the kicker"), + N_("The person being kicked"), + N_("The channel"), + N_("The reason"), +}; + +static char * const pevt_part_help[] = { + N_("The nick of the person leaving"), + N_("The host of the person"), + N_("The channel"), +}; + +static char * const pevt_chandate_help[] = { + N_("The channel"), + N_("The time"), +}; + +static char * const pevt_topicdate_help[] = { + N_("The channel"), + N_("The creator"), + N_("The time"), +}; + +static char * const pevt_quit_help[] = { + N_("Nick"), + N_("Reason"), + N_("Host"), +}; + +static char * const pevt_pingrep_help[] = { + N_("Who it's from"), + N_("The time in x.x format (see below)"), +}; + +static char * const pevt_notice_help[] = { + N_("Who it's from"), + N_("The message"), +}; + +static char * const pevt_channotice_help[] = { + N_("Who it's from"), + N_("The Channel it's going to"), + N_("The message"), +}; + +static char * const pevt_uchangenick_help[] = { + N_("Old nickname"), + N_("New nickname"), +}; + +static char * const pevt_ukick_help[] = { + N_("The person being kicked"), + N_("The channel"), + N_("The nickname of the kicker"), + N_("The reason"), +}; + +static char * const pevt_partreason_help[] = { + N_("The nick of the person leaving"), + N_("The host of the person"), + N_("The channel"), + N_("The reason"), +}; + +static char * const pevt_ctcpsnd_help[] = { + N_("The sound"), + N_("The nick of the person"), + N_("The channel"), +}; + +static char * const pevt_ctcpgen_help[] = { + N_("The CTCP event"), + N_("The nick of the person"), +}; + +static char * const pevt_ctcpgenc_help[] = { + N_("The CTCP event"), + N_("The nick of the person"), + N_("The Channel it's going to"), +}; + +static char * const pevt_chansetkey_help[] = { + N_("The nick of the person who set the key"), + N_("The key"), +}; + +static char * const pevt_chansetlimit_help[] = { + N_("The nick of the person who set the limit"), + N_("The limit"), +}; + +static char * const pevt_chanop_help[] = { + N_("The nick of the person who did the op'ing"), + N_("The nick of the person who has been op'ed"), +}; + +static char * const pevt_chanhop_help[] = { + N_("The nick of the person who has been halfop'ed"), + N_("The nick of the person who did the halfop'ing"), +}; + +static char * const pevt_chanvoice_help[] = { + N_("The nick of the person who did the voice'ing"), + N_("The nick of the person who has been voice'ed"), +}; + +static char * const pevt_chanban_help[] = { + N_("The nick of the person who did the banning"), + N_("The ban mask"), +}; + +static char * const pevt_chanquiet_help[] = { + N_("The nick of the person who did the quieting"), + N_("The quiet mask"), +}; + +static char * const pevt_chanrmkey_help[] = { + N_("The nick who removed the key"), +}; + +static char * const pevt_chanrmlimit_help[] = { + N_("The nick who removed the limit"), +}; + +static char * const pevt_chandeop_help[] = { + N_("The nick of the person who did the deop'ing"), + N_("The nick of the person who has been deop'ed"), +}; +static char * const pevt_chandehop_help[] = { + N_("The nick of the person who did the dehalfop'ing"), + N_("The nick of the person who has been dehalfop'ed"), +}; + +static char * const pevt_chandevoice_help[] = { + N_("The nick of the person who did the devoice'ing"), + N_("The nick of the person who has been devoice'ed"), +}; + +static char * const pevt_chanunban_help[] = { + N_("The nick of the person who did the unban'ing"), + N_("The ban mask"), +}; + +static char * const pevt_chanunquiet_help[] = { + N_("The nick of the person who did the unquiet'ing"), + N_("The quiet mask"), +}; + +static char * const pevt_chanexempt_help[] = { + N_("The nick of the person who did the exempt"), + N_("The exempt mask"), +}; + +static char * const pevt_chanrmexempt_help[] = { + N_("The nick of the person removed the exempt"), + N_("The exempt mask"), +}; + +static char * const pevt_chaninvite_help[] = { + N_("The nick of the person who did the invite"), + N_("The invite mask"), +}; + +static char * const pevt_chanrminvite_help[] = { + N_("The nick of the person removed the invite"), + N_("The invite mask"), +}; + +static char * const pevt_chanmodegen_help[] = { + N_("The nick of the person setting the mode"), + N_("The mode's sign (+/-)"), + N_("The mode letter"), + N_("The channel it's being set on"), +}; + +static char * const pevt_whois1_help[] = { + N_("Nickname"), + N_("Username"), + N_("Host"), + N_("Full name"), +}; + +static char * const pevt_whois2_help[] = { + N_("Nickname"), + N_("Channel Membership/\"is an IRC operator\""), +}; + +static char * const pevt_whois3_help[] = { + N_("Nickname"), + N_("Server Information"), +}; + +static char * const pevt_whois4_help[] = { + N_("Nickname"), + N_("Idle time"), +}; + +static char * const pevt_whois4t_help[] = { + N_("Nickname"), + N_("Idle time"), + N_("Signon time"), +}; + +static char * const pevt_whois5_help[] = { + N_("Nickname"), + N_("Away reason"), +}; + +static char * const pevt_whois6_help[] = { + N_("Nickname"), +}; + +static char * const pevt_whoisid_help[] = { + N_("Nickname"), + N_("Message"), + "Numeric" +}; + +static char * const pevt_whoisauth_help[] = { + N_("Nickname"), + N_("Message"), + N_("Account"), +}; + +static char * const pevt_whoisrealhost_help[] = { + N_("Nickname"), + N_("Real user@host"), + N_("Real IP"), + N_("Message"), +}; + +static char * const pevt_generic_channel_help[] = { + N_("Channel Name"), +}; + +static char * const pevt_saslauth_help[] = { + N_("Username"), + N_("Mechanism") +}; + +static char * const pevt_saslresponse_help[] = { + N_("Server Name"), + N_("Raw Numeric or Identifier"), + N_("Username"), + N_("Message") +}; + +static char * const pevt_servertext_help[] = { + N_("Text"), + N_("Server Name"), + N_("Raw Numeric or Identifier") +}; + +static char * const pevt_sslmessage_help[] = { + N_("Text"), + N_("Server Name") +}; + +static char * const pevt_invited_help[] = { + N_("Channel Name"), + N_("Nick of person who invited you"), + N_("Server Name"), +}; + +static char * const pevt_invitedother_help[] = { + N_("Channel Name"), + N_("Nick of person who sent the invite"), + N_("Nick of person who was invited"), + N_("Server Name"), +}; + +static char * const pevt_usersonchan_help[] = { + N_("Channel Name"), + N_("Users"), +}; + +static char * const pevt_nickclash_help[] = { + N_("Nickname in use"), + N_("Nick being tried"), +}; + +static char * const pevt_connfail_help[] = { + N_("Error"), +}; + +static char * const pevt_connect_help[] = { + N_("Host"), + N_("IP"), + N_("Port"), +}; + +static char * const pevt_sconnect_help[] = { + "PID" +}; + +static char * const pevt_generic_nick_help[] = { + N_("Nickname"), + N_("Server Name"), + N_("Network") +}; + +static char * const pevt_chanmodes_help[] = { + N_("Channel Name"), + N_("Modes string"), +}; + +static char * const pevt_chanurl_help[] = { + N_("Channel Name"), + N_("URL"), +}; + +static char * const pevt_rawmodes_help[] = { + N_("Nickname"), + N_("Modes string"), +}; + +static char * const pevt_kill_help[] = { + N_("Nickname"), + N_("Reason"), +}; + +static char * const pevt_dccchaterr_help[] = { + N_("Nickname"), + N_("IP address"), + N_("Port"), + N_("Error"), +}; + +static char * const pevt_dccstall_help[] = { + N_("DCC Type"), + N_("Filename"), + N_("Nickname"), +}; + +static char * const pevt_generic_file_help[] = { + N_("Filename"), + N_("Error"), +}; + +static char * const pevt_dccrecverr_help[] = { + N_("Filename"), + N_("Destination filename"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccrecvcomp_help[] = { + N_("Filename"), + N_("Destination filename"), + N_("Nickname"), + N_("CPS"), +}; + +static char * const pevt_dccconfail_help[] = { + N_("DCC Type"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccchatcon_help[] = { + N_("Nickname"), + N_("IP address"), +}; + +static char * const pevt_dcccon_help[] = { + N_("Nickname"), + N_("IP address"), + N_("Filename"), +}; + +static char * const pevt_dccsendfail_help[] = { + N_("Filename"), + N_("Nickname"), + N_("Error"), +}; + +static char * const pevt_dccsendcomp_help[] = { + N_("Filename"), + N_("Nickname"), + N_("CPS"), +}; + +static char * const pevt_dccoffer_help[] = { + N_("Filename"), + N_("Nickname"), + N_("Pathname"), +}; + +static char * const pevt_dccfileabort_help[] = { + N_("Nickname"), + N_("Filename") +}; + +static char * const pevt_dccchatabort_help[] = { + N_("Nickname"), +}; + +static char * const pevt_dccresumeoffer_help[] = { + N_("Nickname"), + N_("Filename"), + N_("Position"), +}; + +static char * const pevt_dccsendoffer_help[] = { + N_("Nickname"), + N_("Filename"), + N_("Size"), + N_("IP address"), +}; + +static char * const pevt_dccgenericoffer_help[] = { + N_("DCC String"), + N_("Nickname"), +}; + +static char * const pevt_notifyaway_help[] = { + N_("Nickname"), + N_("Away Reason"), +}; + +static char * const pevt_notifynumber_help[] = { + N_("Number of notify items"), +}; + +static char * const pevt_serverlookup_help[] = { + N_("Server Name"), +}; + +static char * const pevt_servererror_help[] = { + N_("Text"), +}; + +static char * const pevt_foundip_help[] = { + N_("IP"), +}; + +static char * const pevt_dccrename_help[] = { + N_("Old Filename"), + N_("New Filename"), +}; + +static char * const pevt_ctcpsend_help[] = { + N_("Receiver"), + N_("Message"), +}; + +static char * const pevt_ignoreaddremove_help[] = { + N_("Hostmask"), +}; + +static char * const pevt_resolvinguser_help[] = { + N_("Nickname"), + N_("Hostname"), +}; + +static char * const pevt_malformed_help[] = { + N_("Nickname"), + N_("The Packet"), +}; + +static char * const pevt_pingtimeout_help[] = { + N_("Seconds"), +}; + +static char * const pevt_uinvite_help[] = { + N_("Nick of person who have been invited"), + N_("Channel Name"), + N_("Server Name"), +}; + +static char * const pevt_banlist_help[] = { + N_("Channel"), + N_("Banmask"), + N_("Who set the ban"), + N_("Ban time"), +}; + +static char * const pevt_discon_help[] = { + N_("Error"), +}; + +static char * const pevt_stdrpl_help[] = { + N_("Error Code"), + N_("Error Message"), +}; + +static char * const pevt_stdrplcmd_help[] = { + N_("Command"), + N_("Error Code"), + N_("Error Message"), +}; + +#include "textevents.h" + +static void +pevent_load_defaults (void) +{ + int i; + + for (i = 0; i < NUM_XP; i++) + { + g_free (pntevts_text[i]); + + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + if (te[i].num_args & 128) + pntevts_text[i] = g_strdup (te[i].def); + else + pntevts_text[i] = g_strdup (_(te[i].def)); + } +} + +void +pevent_make_pntevts (void) +{ + int i, m; + + for (i = 0; i < NUM_XP; i++) + { + g_free (pntevts[i]); + if (pevt_build_string (pntevts_text[i], &(pntevts[i]), &m) != 0) + { + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + const gboolean translate = !(te[i].num_args & 128); + + g_warning ("Error parsing event %s\nLoading default.", te[i].name); + g_free (pntevts_text[i]); + + if (translate) + pntevts_text[i] = g_strdup (_(te[i].def)); + else + pntevts_text[i] = g_strdup (te[i].def); + + if (pevt_build_string (pntevts_text[i], &(pntevts[i]), &m) != 0 && !translate) + { + g_error ("HexChat CRITICAL *** default event text failed to build!"); + } + else + { + g_warning ("Error parsing translated event %s\nLoading untranslated.", te[i].name); + g_free (pntevts_text[i]); + + pntevts_text[i] = g_strdup (te[i].def); + + if (pevt_build_string (pntevts_text[i], &(pntevts[i]), &m) != 0) + { + g_error ("HexChat CRITICAL *** default event text failed to build!"); + } + } + } + } +} + +/* Loading happens at 2 levels: + 1) File is read into blocks + 2) Pe block is parsed and loaded + + --AGL */ + +/* Better hope you pass good args.. --AGL */ + +static void +pevent_trigger_load (int *i_penum, char **i_text, char **i_snd) +{ + int penum = *i_penum; + char *text = *i_text, *snd = *i_snd; + + if (penum != -1 && text != NULL) + { + g_free (pntevts_text[penum]); + pntevts_text[penum] = g_strdup (text); + } + + g_free (text); + g_free (snd); + *i_text = NULL; + *i_snd = NULL; + *i_penum = 0; +} + +static int +pevent_find (char *name, int *i_i) +{ + int i = *i_i, j; + + j = i + 1; + while (1) + { + if (j == NUM_XP) + j = 0; + if (strcmp (te[j].name, name) == 0) + { + *i_i = j; + return j; + } + if (j == i) + return -1; + j++; + } +} + +int +pevent_load (char *filename) +{ + /* AGL, I've changed this file and pevent_save, could you please take a look at + * the changes and possibly modify them to suit you + * //David H + */ + char *buf, *ibuf; + int fd, i = 0, pnt = 0; + struct stat st; + char *text = NULL, *snd = NULL; + int penum = 0; + char *ofs; + + if (filename == NULL) + fd = hexchat_open_file ("pevents.conf", O_RDONLY, 0, 0); + else + fd = hexchat_open_file (filename, O_RDONLY, 0, XOF_FULLPATH); + + if (fd == -1) + return 1; + if (fstat (fd, &st) != 0) + { + close (fd); + return 1; + } + ibuf = g_malloc (st.st_size); + read (fd, ibuf, st.st_size); + close (fd); + + while (buf_get_line (ibuf, &buf, &pnt, st.st_size)) + { + if (buf[0] == '#') + continue; + if (strlen (buf) == 0) + continue; + + ofs = strchr (buf, '='); + if (!ofs) + continue; + *ofs = 0; + ofs++; + + if (strcmp (buf, "event_name") == 0) + { + if (penum >= 0) + pevent_trigger_load (&penum, &text, &snd); + penum = pevent_find (ofs, &i); + continue; + } else if (strcmp (buf, "event_text") == 0) + { + g_free (text); + text = g_strdup (ofs); + continue; + } + + continue; + } + + pevent_trigger_load (&penum, &text, &snd); + g_free (ibuf); + return 0; +} + +static void +pevent_check_all_loaded (void) +{ + int i; + + for (i = 0; i < NUM_XP; i++) + { + if (pntevts_text[i] == NULL) + { + /*printf ("%s\n", te[i].name); + g_snprintf(out, sizeof(out), "The data for event %s failed to load. Reverting to defaults.\nThis may be because a new version of HexChat is loading an old config file.\n\nCheck all print event texts are correct", evtnames[i]); + gtkutil_simpledialog(out); */ + /* make-te.c sets this 128 flag (DON'T call gettext() flag) */ + if (te[i].num_args & 128) + pntevts_text[i] = g_strdup (te[i].def); + else + pntevts_text[i] = g_strdup (_(te[i].def)); + } + } +} + +void +load_text_events () +{ + memset (&pntevts_text, 0, sizeof (char *) * (NUM_XP)); + memset (&pntevts, 0, sizeof (char *) * (NUM_XP)); + + if (pevent_load (NULL)) + pevent_load_defaults (); + pevent_check_all_loaded (); + pevent_make_pntevts (); +} + +/* + CL: format_event now handles filtering of arguments: + 1) if prefs.hex_text_stripcolor_msg is set, filter all style control codes from arguments + 2) always strip \010 (ATTR_HIDDEN) from arguments: it is only for use in the format string itself +*/ +#define ARG_FLAG(argn) (1 << (argn)) + +void +format_event (session *sess, int index, char **args, char *o, gsize sizeofo, unsigned int stripcolor_args) +{ + int len, ii, numargs; + gsize oi; + char *i, *ar, d, a, done_all = FALSE; + + i = pntevts[index]; + numargs = te[index].num_args & 0x7f; + + oi = ii = len = d = a = 0; + o[0] = 0; + + if (i == NULL) + return; + + while (done_all == FALSE) + { + d = i[ii++]; + switch (d) + { + case 0: + memcpy (&len, &(i[ii]), sizeof (int)); + ii += sizeof (int); + if (oi + len > sizeofo) + { + printf ("Overflow in display_event (%s)\n", i); + o[0] = 0; + return; + } + memcpy (&(o[oi]), &(i[ii]), len); + oi += len; + ii += len; + break; + case 1: + a = i[ii++]; + if (a > numargs) + { + fprintf (stderr, + "HexChat DEBUG: display_event: arg > numargs (%d %d %s)\n", + a, numargs, i); + break; + } + ar = args[(int) a + 1]; + if (ar == NULL) + { + printf ("arg[%d] is NULL in print event\n", a + 1); + } else + { + if (strlen (ar) > sizeofo - oi - 4) + ar[sizeofo - oi - 4] = 0; /* Avoid buffer overflow */ + if (stripcolor_args & ARG_FLAG(a + 1)) len = strip_color2 (ar, -1, &o[oi], STRIP_ALL); + else len = strip_hidden_attribute (ar, &o[oi]); + oi += len; + } + break; + case 2: + o[oi++] = '\n'; + o[oi++] = 0; + done_all = TRUE; + continue; + case 3: + if (prefs.hex_text_indent) + o[oi++] = '\t'; + else + o[oi++] = ' '; + break; + } + } + o[oi] = 0; + if (*o == '\n') + o[0] = 0; +} + +static void +display_event (session *sess, int event, char **args, + unsigned int stripcolor_args, time_t timestamp) +{ + char o[4096]; + format_event (sess, event, args, o, sizeof (o), stripcolor_args); + if (o[0]) + PrintTextTimeStamp (sess, o, timestamp); +} + +int +pevt_build_string (const char *input, char **output, int *max_arg) +{ + struct pevt_stage1 *s = NULL, *base = NULL, *last = NULL, *next; + int clen; + char o[4096], d, *obuf, *i; + int oi, ii, max = -1, len, x; + + len = strlen (input); + i = g_malloc (len + 1); + memcpy (i, input, len + 1); + check_special_chars (i, TRUE); + + len = strlen (i); + + clen = oi = ii = 0; + + for (;;) + { + if (ii == len) + break; + d = i[ii++]; + if (d != '$') + { + o[oi++] = d; + continue; + } + if (i[ii] == '$') + { + o[oi++] = '$'; + continue; + } + if (oi > 0) + { + s = g_new (struct pevt_stage1, 1); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = g_malloc (oi + sizeof (int) + 1); + s->len = oi + sizeof (int) + 1; + clen += oi + sizeof (int) + 1; + s->data[0] = 0; + memcpy (&(s->data[1]), &oi, sizeof (int)); + memcpy (&(s->data[1 + sizeof (int)]), o, oi); + oi = 0; + } + if (ii == len) + { + fe_message ("String ends with a $", FE_MSG_WARN); + goto err; + } + d = i[ii++]; + if (d == 'a') + { + /* Hex value */ + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x = d * 100; + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x += d * 10; + if (ii == len) + goto a_len_error; + d = i[ii++]; + d -= '0'; + x += d; + if (x > 255) + goto a_range_error; + o[oi++] = x; + continue; + + a_len_error: + fe_message ("String ends in $a", FE_MSG_WARN); + goto err; + a_range_error: + fe_message ("$a value is greater than 255", FE_MSG_WARN); + goto err; + } + if (d == 't') + { + /* Tab - if tabnicks is set then write '\t' else ' ' */ + s = g_new (struct pevt_stage1, 1); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = g_malloc (1); + s->len = 1; + clen += 1; + s->data[0] = 3; + + continue; + } + if (d < '1' || d > '9') + { + g_snprintf (o, sizeof (o), "Error, invalid argument $%c\n", d); + fe_message (o, FE_MSG_WARN); + goto err; + } + d -= '0'; + if (max < d) + max = d; + s = g_new (struct pevt_stage1, 1); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = g_malloc (2); + s->len = 2; + clen += 2; + s->data[0] = 1; + s->data[1] = d - 1; + } + if (oi > 0) + { + s = g_new (struct pevt_stage1, 1); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + last = s; + s->next = NULL; + s->data = g_malloc (oi + sizeof (int) + 1); + s->len = oi + sizeof (int) + 1; + clen += oi + sizeof (int) + 1; + s->data[0] = 0; + memcpy (&(s->data[1]), &oi, sizeof (int)); + memcpy (&(s->data[1 + sizeof (int)]), o, oi); + oi = 0; + } + s = g_new (struct pevt_stage1, 1); + if (base == NULL) + base = s; + if (last != NULL) + last->next = s; + s->next = NULL; + s->data = g_malloc (1); + s->len = 1; + clen += 1; + s->data[0] = 2; + + oi = 0; + s = base; + obuf = g_malloc (clen); + + while (s) + { + next = s->next; + memcpy (&obuf[oi], s->data, s->len); + oi += s->len; + g_free (s->data); + g_free (s); + s = next; + } + + g_free (i); + + if (max_arg) + *max_arg = max; + if (output) + *output = obuf; + else + g_free (obuf); + + return 0; + +err: + while (s) + { + next = s->next; + g_free (s->data); + g_free (s); + s = next; + } + + g_free(i); + + return 1; +} + + +/* black n white(0/1) are bad colors for nicks, and we'll use color 2 for us */ +/* also light/dark gray (14/15) */ +/* 5,7,8 are all shades of yellow which happen to look damn near the same */ + +static char rcolors[] = { 19, 20, 22, 24, 25, 26, 27, 28, 29 }; + +int +text_color_of (char *name) +{ + int i = 0, sum = 0; + + while (name[i]) + sum += name[i++]; + sum %= sizeof (rcolors) / sizeof (char); + return rcolors[sum]; +} + + +/* called by EMIT_SIGNAL macro */ + +void +text_emit (int index, session *sess, char *a, char *b, char *c, char *d, + time_t timestamp) +{ + char *word[PDIWORDS]; + int i; + tab_state_flags current_state = sess->tab_state; + tab_state_flags plugin_state = sess->last_tab_state; + unsigned int stripcolor_args = (chanopt_is_set (prefs.hex_text_stripcolor_msg, sess->text_strip) ? 0xFFFFFFFF : 0); + char tbuf[NICKLEN + 4]; + + if (a != NULL && prefs.hex_text_color_nicks && (index == XP_TE_CHANACTION || index == XP_TE_CHANMSG)) + { + g_snprintf (tbuf, sizeof (tbuf), "\003%d%s", text_color_of (a), a); + a = tbuf; + stripcolor_args &= ~ARG_FLAG(1); /* don't strip color from this argument */ + } + + word[0] = te[index].name; + word[1] = (a ? a : "\000"); + word[2] = (b ? b : "\000"); + word[3] = (c ? c : "\000"); + word[4] = (d ? d : "\000"); + for (i = 5; i < PDIWORDS; i++) + word[i] = "\000"; + + /* We want to ignore the tab state if the plugin emits new events + * and restore it if it doesn't eat the current one */ + sess->tab_state = plugin_state; + if (plugin_emit_print (sess, word, timestamp)) + return; + + /* The plugin may have changed the state which we should respect. + * If the state is NEW_DATA we don't actually know if that was on + * purpose though as print() sets it, so for now we ignore that. FIXME */ + if (sess->tab_state == plugin_state || sess->tab_state == TAB_STATE_NEW_DATA) + sess->tab_state = current_state; + + /* If a plugin's callback executes "/close", 'sess' may be invalid */ + if (!is_session (sess)) + return; + + switch (index) + { + case XP_TE_JOIN: + case XP_TE_PART: + case XP_TE_PARTREASON: + case XP_TE_QUIT: + /* implement ConfMode / Hide Join and Part Messages */ + if (chanopt_is_set (prefs.hex_irc_conf_mode, sess->text_hidejoinpart)) + return; + break; + + /* ===Private message=== */ + case XP_TE_PRIVMSG: + case XP_TE_DPRIVMSG: + case XP_TE_PRIVACTION: + case XP_TE_DPRIVACTION: + if (chanopt_is_set (prefs.hex_input_beep_priv, sess->alert_beep) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + sound_beep (sess); + if (chanopt_is_set (prefs.hex_input_flash_priv, sess->alert_taskbar) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + fe_flash_window (sess); + /* why is this one different? because of plugin-tray.c's hooks! ugly */ + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + + /* ===Highlighted message=== */ + case XP_TE_HCHANACTION: + case XP_TE_HCHANMSG: + if (chanopt_is_set (prefs.hex_input_beep_hilight, sess->alert_beep) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + sound_beep (sess); + if (chanopt_is_set (prefs.hex_input_flash_hilight, sess->alert_taskbar) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + fe_flash_window (sess); + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + + /* ===Channel message=== */ + case XP_TE_CHANACTION: + case XP_TE_CHANMSG: + if (chanopt_is_set (prefs.hex_input_beep_chans, sess->alert_beep) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + sound_beep (sess); + if (chanopt_is_set (prefs.hex_input_flash_chans, sess->alert_taskbar) && (!prefs.hex_away_omit_alerts || !sess->server->is_away)) + fe_flash_window (sess); + if (sess->alert_tray == SET_ON) + fe_tray_set_icon (FE_ICON_MESSAGE); + break; + + /* ===Nick change message=== */ + case XP_TE_CHANGENICK: + if (prefs.hex_irc_hide_nickchange) + return; + break; + } + + if (!prefs.hex_away_omit_alerts || !sess->server->is_away) + sound_play_event (index); + display_event (sess, index, word, stripcolor_args, timestamp); +} + +char * +text_find_format_string (char *name) +{ + int i = 0; + + i = pevent_find (name, &i); + if (i >= 0) + return pntevts_text[i]; + + return NULL; +} + +int +text_emit_by_name (char *name, session *sess, time_t timestamp, + char *a, char *b, char *c, char *d) +{ + int i = 0; + + i = pevent_find (name, &i); + if (i >= 0) + { + text_emit (i, sess, a, b, c, d, timestamp); + return 1; + } + + return 0; +} + +void +pevent_save (char *fn) +{ + int fd, i; + char buf[1024]; + + if (!fn) + fd = hexchat_open_file ("pevents.conf", O_CREAT | O_TRUNC | O_WRONLY, + 0x180, XOF_DOMODE); + else + fd = hexchat_open_file (fn, O_CREAT | O_TRUNC | O_WRONLY, 0x180, + XOF_FULLPATH | XOF_DOMODE); + if (fd == -1) + { + /* + fe_message ("Error opening config file\n", FALSE); + If we get here when X-Chat is closing the fe-message causes a nice & hard crash + so we have to use perror which doesn't rely on GTK + */ + + perror ("Error opening config file\n"); + return; + } + + for (i = 0; i < NUM_XP; i++) + { + write (fd, buf, g_snprintf (buf, sizeof (buf), + "event_name=%s\n", te[i].name)); + write (fd, buf, g_snprintf (buf, sizeof (buf), + "event_text=%s\n\n", pntevts_text[i])); + } + + close (fd); +} + +/* =========================== */ +/* ========== SOUND ========== */ +/* =========================== */ + +char *sound_files[NUM_XP]; + +void +sound_beep (session *sess) +{ + if (!prefs.hex_gui_focus_omitalerts || fe_gui_info (sess, 0) != 1) + { + if (sound_files[XP_TE_BEEP] && sound_files[XP_TE_BEEP][0]) + /* user defined beep _file_ */ + sound_play_event (XP_TE_BEEP); + else + /* system beep */ + fe_beep (sess); + } +} + +void +sound_play (const char *file, gboolean quiet) +{ + char *buf; + char *wavfile; +#ifndef WIN32 + char *cmd; +#endif + + /* the pevents GUI editor triggers this after removing a soundfile */ + if (!file[0]) + { + return; + } + + /* check for fullpath */ + if (g_path_is_absolute (file)) + { + wavfile = g_strdup (file); + } + else + { + wavfile = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, file, NULL); + } + + if (g_access (wavfile, R_OK) == 0) + { +#ifdef WIN32 + gunichar2 *wavfile_utf16 = g_utf8_to_utf16 (wavfile, -1, NULL, NULL, NULL); + + if (wavfile_utf16 != NULL) + { + PlaySoundW (wavfile_utf16, NULL, SND_NODEFAULT | SND_FILENAME | SND_ASYNC); + + g_free (wavfile_utf16); + } +#else +#ifdef USE_LIBCANBERRA + if (ca_con == NULL) + { + ca_context_create (&ca_con); + ca_context_change_props (ca_con, + CA_PROP_APPLICATION_ID, "hexchat", + CA_PROP_APPLICATION_NAME, "HexChat", + CA_PROP_APPLICATION_ICON_NAME, "hexchat", NULL); + } + + if (ca_context_play (ca_con, 0, CA_PROP_MEDIA_FILENAME, wavfile, NULL) != 0) +#endif + { + cmd = g_find_program_in_path ("play"); + + if (cmd) + { + buf = g_strdup_printf ("%s \"%s\"", cmd, wavfile); + hexchat_exec (buf); + g_free (buf); + g_free (cmd); + } + } +#endif + } + else + { + if (!quiet) + { + buf = g_strdup_printf (_("Cannot read sound file:\n%s"), wavfile); + fe_message (buf, FE_MSG_ERROR); + g_free (buf); + } + } + + g_free (wavfile); +} + +void +sound_play_event (int i) +{ + if (sound_files[i]) + { + sound_play (sound_files[i], FALSE); + } +} + +static void +sound_load_event (char *evt, char *file) +{ + int i = 0; + + if (file[0] && pevent_find (evt, &i) != -1) + { + g_free (sound_files[i]); + sound_files[i] = g_strdup (file); + } +} + +void +sound_load () +{ + int fd; + char buf[512]; + char evt[128]; + + memset (&sound_files, 0, sizeof (char *) * (NUM_XP)); + + fd = hexchat_open_file ("sound.conf", O_RDONLY, 0, 0); + if (fd == -1) + return; + + evt[0] = 0; + while (waitline (fd, buf, sizeof buf, FALSE) != -1) + { + if (strncmp (buf, "event=", 6) == 0) + { + safe_strcpy (evt, buf + 6, sizeof (evt)); + } + else if (strncmp (buf, "sound=", 6) == 0) + { + if (evt[0] != 0) + { + sound_load_event (evt, buf + 6); + evt[0] = 0; + } + } + } + + close (fd); +} + +void +sound_save () +{ + int fd, i; + char buf[512]; + + fd = hexchat_open_file ("sound.conf", O_CREAT | O_TRUNC | O_WRONLY, 0x180, + XOF_DOMODE); + if (fd == -1) + return; + + for (i = 0; i < NUM_XP; i++) + { + if (sound_files[i] && sound_files[i][0]) + { + write (fd, buf, g_snprintf (buf, sizeof (buf), + "event=%s\n", te[i].name)); + write (fd, buf, g_snprintf (buf, sizeof (buf), + "sound=%s\n\n", sound_files[i])); + } + } + + close (fd); +} diff --git a/src/common/text.h b/src/common/text.h new file mode 100644 index 0000000000000000000000000000000000000000..485b7ce8790b67e7ccf8ece0ae9ea52f6df07003 --- /dev/null +++ b/src/common/text.h @@ -0,0 +1,75 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <time.h> +#include "textenums.h" + +#ifndef HEXCHAT_TEXT_H +#define HEXCHAT_TEXT_H + +/* timestamp is non-zero if we are using server-time */ +#define EMIT_SIGNAL_TIMESTAMP(i, sess, a, b, c, d, e, timestamp) \ + text_emit(i, sess, a, b, c, d, timestamp) +#define EMIT_SIGNAL(i, sess, a, b, c, d, e) \ + text_emit(i, sess, a, b, c, d, 0) + +struct text_event +{ + char *name; + char * const *help; + int num_args; + char *def; +}; + +void scrollback_close (session *sess); +void scrollback_load (session *sess); + +int text_word_check (char *word, int len); +void PrintText (session *sess, char *text); +void PrintTextTimeStamp (session *sess, char *text, time_t timestamp); +void PrintTextf (session *sess, const char *format, ...) G_GNUC_PRINTF (2, 3); +void PrintTextTimeStampf (session *sess, time_t timestamp, const char *format, ...) G_GNUC_PRINTF (3, 4); +void log_close (session *sess); +void log_open_or_close (session *sess); +void load_text_events (void); +void pevent_save (char *fn); +int pevt_build_string (const char *input, char **output, int *max_arg); +int pevent_load (char *filename); +void pevent_make_pntevts (void); +int text_color_of (char *name); +void text_emit (int index, session *sess, char *a, char *b, char *c, char *d, + time_t timestamp); +int text_emit_by_name (char *name, session *sess, time_t timestamp, + char *a, char *b, char *c, char *d); +gchar *text_convert_invalid (const gchar* text, gssize len, GIConv converter, const gchar *fallback, gsize *len_out); +gchar *text_fixup_invalid_utf8 (const gchar* text, gssize len, gsize *len_out); +int get_stamp_str (char *fmt, time_t tim, char **ret); +void format_event (session *sess, int index, char **args, char *o, gsize sizeofo, unsigned int stripcolor_args); +char *text_find_format_string (char *name); + +extern const gchar* unicode_fallback_string; +extern const gchar* arbitrary_encoding_fallback_string; + +void sound_play (const char *file, gboolean quiet); +void sound_play_event (int i); +void sound_beep (session *); +void sound_load (void); +void sound_save (void); + +#endif diff --git a/src/common/textevents.in b/src/common/textevents.in new file mode 100644 index 0000000000000000000000000000000000000000..19b0d497baf8c81242ae7ab5d42babbf008131b2 --- /dev/null +++ b/src/common/textevents.in @@ -0,0 +1,954 @@ +Add Notify +XP_TE_ADDNOTIFY +pevt_generic_nick_help +%C18*%O$t%C18$1%O added to notify list. +1 + +Ban List +XP_TE_BANLIST +pevt_banlist_help +%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O +4 + +Banned +XP_TE_BANNED +pevt_generic_channel_help +%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O). +1 + +Beep +XP_TE_BEEP +pevt_generic_none_help + +n0 + +Capability Acknowledgement +XP_TE_CAPACK +pevt_capack_help +%C29*%O$tCapabilities acknowledged: %C29$2%O +2 + +Capability Deleted +XP_TE_CAPDEL +pevt_capdel_help +%C29*%O$tCapabilities removed: %C29$2%O +2 + +Capability List +XP_TE_CAPLIST +pevt_caplist_help +%C23*%O$tCapabilities supported: %C29$2%O +2 + +Capability Request +XP_TE_CAPREQ +pevt_capreq_help +%C23*%O$tCapabilities requested: %C29$1%O +1 + +Change Nick +XP_TE_CHANGENICK +pevt_changenick_help +%C24*%O$t%C28$1%O is now known as %C18$2%O +2 + +Channel Action +XP_TE_CHANACTION +pevt_chanaction_help +%C18*$t%B$1%O $2 +n4 + +Channel Action Hilight +XP_TE_HCHANACTION +pevt_chanaction_help +%C19*$t%B$1%B $2%O +n4 + +Channel Ban +XP_TE_CHANBAN +pevt_chanban_help +%C22*%O$t%C26$1%O sets ban on %C18$2%O +2 + +Channel Creation +XP_TE_CHANDATE +pevt_chandate_help +%C22*%O$tChannel %C22$1%O created on %C24$2%O +2 + +Channel DeHalfOp +XP_TE_CHANDEHOP +pevt_chandehop_help +%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O +2 + +Channel DeOp +XP_TE_CHANDEOP +pevt_chandeop_help +%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O +2 + +Channel DeVoice +XP_TE_CHANDEVOICE +pevt_chandevoice_help +%C22*%O$t%C26$1%O removes voice from %C18$2%O +2 + +Channel Exempt +XP_TE_CHANEXEMPT +pevt_chanexempt_help +%C22*%O$t%C26$1%C sets exempt on %C18$2%O +2 + +Channel Half-Operator +XP_TE_CHANHOP +pevt_chanhop_help +%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O +2 + +Channel INVITE +XP_TE_CHANINVITE +pevt_chaninvite_help +%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O +2 + +Channel List +XP_TE_CHANLISTHEAD +pevt_generic_none_help +%UChannel Users Topic +0 + +Channel Message +XP_TE_CHANMSG +pevt_chanmsg_help +%C18%H<%H$4$1%C18%H>%H%O$t$2 +n4 + +Channel Mode Generic +XP_TE_CHANMODEGEN +pevt_chanmodegen_help +%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O +4 + +Channel Modes +XP_TE_CHANMODES +pevt_chanmodes_help +%C22*%O$tChannel %C22$1%O modes: %C24$2 +2 + +Channel Msg Hilight +XP_TE_HCHANMSG +pevt_chanmsg_help +%C19%H<%H$4%B$1%B%H>%H$t$2%O +n4 + +Channel Notice +XP_TE_CHANNOTICE +pevt_channotice_help +-%C18$1%C/%C22$2%C-$t$3%O +n3 + +Channel Operator +XP_TE_CHANOP +pevt_chanop_help +%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O +2 + +Channel Quiet +XP_TE_CHANQUIET +pevt_chanquiet_help +%C22*%O$t%C26$1%O sets quiet on %C18$2%O +2 + +Channel Remove Exempt +XP_TE_CHANRMEXEMPT +pevt_chanrmexempt_help +%C22*%O$t%C26$1%O removes exempt on %C18$2%O +2 + +Channel Remove Invite +XP_TE_CHANRMINVITE +pevt_chanrminvite_help +%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O +2 + +Channel Remove Keyword +XP_TE_CHANRMKEY +pevt_chanrmkey_help +%C22*%O$t%C26$1%O removes channel keyword +1 + +Channel Remove Limit +XP_TE_CHANRMLIMIT +pevt_chanrmlimit_help +%C22*%O$t%C26$1%O removes user limit +1 + +Channel Set Key +XP_TE_CHANSETKEY +pevt_chansetkey_help +%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O +2 + +Channel Set Limit +XP_TE_CHANSETLIMIT +pevt_chansetlimit_help +%C22*%O$t%C26$1%O sets channel limit to %C24$2%O +2 + +Channel UnBan +XP_TE_CHANUNBAN +pevt_chanunban_help +%C22*%O$t%C26$1%O removes ban on %C18$2%O +2 + +Channel UnQuiet +XP_TE_CHANUNQUIET +pevt_chanunquiet_help +%C22*%O$t%C26$1%O removes quiet on %C18$2%O +2 + +Channel Url +XP_TE_CHANURL +pevt_chanurl_help +%C22*%O$tChannel %C22$1%O url: %C24$2 +2 + +Channel Voice +XP_TE_CHANVOICE +pevt_chanvoice_help +%C22*%O$t%C26$1%O gives voice to %C18$2%O +2 + +Connected +XP_TE_CONNECTED +pevt_generic_none_help +%C23*%O$tConnected. Now logging in. +0 + +Connecting +XP_TE_CONNECT +pevt_connect_help +%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O) +3 + +Connection Failed +XP_TE_CONNFAIL +pevt_connfail_help +%C20*%O$tConnection failed (%C20$1%O) +1 + +CTCP Generic +XP_TE_CTCPGEN +pevt_ctcpgen_help +%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O +2 + +CTCP Generic to Channel +XP_TE_CTCPGENC +pevt_ctcpgenc_help +%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O +3 + +CTCP Send +XP_TE_CTCPSEND +pevt_ctcpsend_help +>%C18$1%C<$tCTCP %C24$2%O +n2 + +CTCP Sound +XP_TE_CTCPSND +pevt_ctcpsnd_help +%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O +2 + +CTCP Sound to Channel +XP_TE_CTCPSNDC +pevt_ctcpsnd_help +%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O) +3 + +DCC CHAT Abort +XP_TE_DCCCHATABORT +pevt_dccchatabort_help +%C23*%O$tDCC CHAT to %C18$1%O aborted. +1 + +DCC CHAT Connect +XP_TE_DCCCONCHAT +pevt_dccchatcon_help +%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O +2 + +DCC CHAT Failed +XP_TE_DCCCHATF +pevt_dccchaterr_help +%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O) +4 + +DCC CHAT Offer +XP_TE_DCCCHATOFFER +pevt_generic_nick_help +%C24*%O$tReceived a DCC CHAT offer from %C18$1%O +1 + +DCC CHAT Offering +XP_TE_DCCCHATOFFERING +pevt_generic_nick_help +%C24*%O$tOffering DCC CHAT to %C18$1%O +1 + +DCC CHAT Reoffer +XP_TE_DCCCHATREOFFER +pevt_generic_nick_help +%C24*%O$tAlready offering CHAT to %C18$1%O +1 + +DCC Conection Failed +XP_TE_DCCCONFAIL +pevt_dccconfail_help +%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O) +3 + +DCC Generic Offer +XP_TE_DCCGENERICOFFER +pevt_dccgenericoffer_help +%C23*%O$tReceived '%C23$1%C' from %C18$2%O +2 + +DCC Header +XP_TE_DCCHEAD +pevt_generic_none_help +%C16,17 Type To/From Status Size Pos File +0 + +DCC Malformed +XP_TE_MALFORMED +pevt_malformed_help +%C20*%O$tReceived a malformed DCC request from %C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O +2 + +DCC Offer +XP_TE_DCCOFFER +pevt_dccoffer_help +%C24*%O$tOffering '%C24$1%O' to %C18$2%O +3 + +DCC Offer Not Valid +XP_TE_DCCIVAL +pevt_generic_none_help +%C23*%O$tNo such DCC offer. +0 + +DCC RECV Abort +XP_TE_DCCRECVABORT +pevt_dccfileabort_help +%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted. +2 + +DCC RECV Complete +XP_TE_DCCRECVCOMP +pevt_dccrecvcomp_help +%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O +4 + +DCC RECV Connect +XP_TE_DCCCONRECV +pevt_dcccon_help +%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O +3 + +DCC RECV Failed +XP_TE_DCCRECVERR +pevt_dccrecverr_help +%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O) +4 + +DCC RECV File Open Error +XP_TE_DCCFILEERR +pevt_generic_file_help +%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O) +2 + +DCC Rename +XP_TE_DCCRENAME +pevt_dccrename_help +%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' instead. +2 + +DCC RESUME Request +XP_TE_DCCRESUMEREQUEST +pevt_dccresumeoffer_help +%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O. +3 + +DCC SEND Abort +XP_TE_DCCSENDABORT +pevt_dccfileabort_help +%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted. +2 + +DCC SEND Complete +XP_TE_DCCSENDCOMP +pevt_dccsendcomp_help +%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O +3 + +DCC SEND Connect +XP_TE_DCCCONSEND +pevt_dcccon_help +%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O +3 + +DCC SEND Failed +XP_TE_DCCSENDFAIL +pevt_dccsendfail_help +%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O) +3 + +DCC SEND Offer +XP_TE_DCCSENDOFFER +pevt_dccsendoffer_help +%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes) +4 + +DCC Stall +XP_TE_DCCSTALL +pevt_dccstall_help +%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting. +3 + +DCC Timeout +XP_TE_DCCTOUT +pevt_dccstall_help +%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting. +3 + +Delete Notify +XP_TE_DELNOTIFY +pevt_generic_nick_help +%C24*%O$t%C18$1%O deleted from notify list. +1 + +Disconnected +XP_TE_DISCON +pevt_discon_help +%C20*%O$tDisconnected (%C20$1%O) +1 + +Fail +XP_TE_FAIL +pevt_stdrpl_help +%C20*%O$t$2%O +2 + +Fail Command +XP_TE_FAILCMD +pevt_stdrplcmd_help +%C20*%O$t$1: $3%O +3 + +Found IP +XP_TE_FOUNDIP +pevt_foundip_help +%C24*%O$tFound your IP: %C30[%C24$1%C30]%O +1 + +Generic Message +XP_TE_GENMSG +pevt_genmsg_help +$1$t$2 +n2 + +Ignore Add +XP_TE_IGNOREADD +pevt_ignoreaddremove_help +%O%C18$1%O added to ignore list. +1 + +Ignore Changed +XP_TE_IGNORECHANGE +pevt_ignoreaddremove_help +%OIgnore on %C18$1%O changed. +1 + +Ignore Footer +XP_TE_IGNOREFOOTER +pevt_generic_none_help +%C16,17 +0 + +Ignore Header +XP_TE_IGNOREHEADER +pevt_generic_none_help +%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG +0 + +Ignore Remove +XP_TE_IGNOREREMOVE +pevt_ignoreaddremove_help +%O%C18$1%O removed from ignore list. +1 + +Ignorelist Empty +XP_TE_IGNOREEMPTY +pevt_generic_none_help +%OIgnore list is empty. +0 + +Invite +XP_TE_INVITE +pevt_generic_channel_help +%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O) +1 + +Invited +XP_TE_INVITED +pevt_invited_help +%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O) +3 + +Invited Other +XP_TE_INVITEDOTHER +pevt_invitedother_help +%C24*%O$t%C26$3%C has been invited to %C22$1%O by %C18$2%O (%C29$4%O) +4 + +Join +XP_TE_JOIN +pevt_join_help +%C23*$t$1 ($3%C23) has joined +4 + +Keyword +XP_TE_KEYWORD +pevt_generic_channel_help +%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O) +1 + +Kick +XP_TE_KICK +pevt_kick_help +%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O) +4 + +Killed +XP_TE_KILL +pevt_kill_help +%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O) +2 + +Message Send +XP_TE_MSGSEND +pevt_ctcpsend_help +%O>%C18$1%C<%O$t$2 +n2 + +Motd +XP_TE_MOTD +pevt_servertext_help +%C29*%O$t%C29$1%O +n1 + +MOTD Skipped +XP_TE_MOTDSKIP +pevt_generic_none_help +%C29*%O$t%C29MOTD Skipped%O +0 + +Nick Clash +XP_TE_NICKCLASH +pevt_nickclash_help +%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O... +2 + +Nick Erroneous +XP_TE_NICKERROR +pevt_nickclash_help +%C23*%O$t%C28$1%C is erroneous. Retrying with %C18$2%O... +2 + +Nick Failed +XP_TE_NICKFAIL +pevt_generic_none_help +%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another. +0 + +No DCC +XP_TE_NODCC +pevt_generic_none_help +%C20*%O$tNo such DCC. +0 + +No Running Process +XP_TE_NOCHILD +pevt_generic_none_help +%C23*%O$tNo process is currently running +0 + +Note +XP_TE_NOTE +pevt_stdrpl_help +%C22*%O$t$2%O +2 + +Note Command +XP_TE_NOTECMD +pevt_stdrplcmd_help +%C22*%O$t$1: $3%O +3 + +Notice +XP_TE_NOTICE +pevt_notice_help +%O-%C18$1%O-$t$2 +n2 + +Notice Send +XP_TE_NOTICESEND +pevt_ctcpsend_help +%O->%C18$1%O<-$t$2 +n2 + +Notify Away +XP_TE_NOTIFYAWAY +pevt_notifyaway_help +%C23*%O$tNotify: %C18$1%C is away (%C24$2%O) +2 + +Notify Back +XP_TE_NOTIFYBACK +pevt_generic_nick_help +%C23*%O$tNotify: %C18$1%C is back +1 + +Notify Empty +XP_TE_NOTIFYEMPTY +pevt_generic_none_help +$tNotify list is empty. +0 + +Notify Header +XP_TE_NOTIFYHEAD +pevt_generic_none_help +%C16,17 Notify List +0 + +Notify Number +XP_TE_NOTIFYNUMBER +pevt_notifynumber_help +%C23*%O$t%C23$1%O users in notify list. +1 + +Notify Offline +XP_TE_NOTIFYOFFLINE +pevt_generic_nick_help +%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O) +3 + +Notify Online +XP_TE_NOTIFYONLINE +pevt_generic_nick_help +%C23*%O$tNotify: %C18$1%C is online (%C29$3%O) +3 + +Open Dialog +XP_TE_OPENDIALOG +pevt_generic_none_help + +n0 + +Part +XP_TE_PART +pevt_part_help +%C24*$t$1 ($2%C24) has left +3 + +Part with Reason +XP_TE_PARTREASON +pevt_partreason_help +%C24*$t$1 ($2%C24) has left ($4) +4 + +Ping Reply +XP_TE_PINGREP +pevt_pingrep_help +%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s) +2 + +Ping Timeout +XP_TE_PINGTIMEOUT +pevt_pingtimeout_help +%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting. +1 + +Private Action +XP_TE_PRIVACTION +pevt_privmsg_help +%C18**$t$3$1%O $2 %C18** +n3 + +Private Action to Dialog +XP_TE_DPRIVACTION +pevt_privmsg_help +%C18*$t$3$1%O $2 +n3 + +Private Message +XP_TE_PRIVMSG +pevt_privmsg_help +%C18*%C18$3$1*%O$t$2 +n3 + +Private Message to Dialog +XP_TE_DPRIVMSG +pevt_privmsg_help +%C18%H<%H$3$1%H>%H%O$t$2 +n3 + +Process Already Running +XP_TE_ALREADYPROCESS +pevt_generic_none_help +%C24*%O$tA process is already running +0 + +Quit +XP_TE_QUIT +pevt_quit_help +%C24*$t$1 has quit ($2) +3 + +Raw Modes +XP_TE_RAWMODES +pevt_rawmodes_help +%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O +2 + +Receive Wallops +XP_TE_WALLOPS +pevt_privmsg_help +%O-%C29$1/Wallops%O-$t$2 +2 + +Resolving User +XP_TE_RESOLVINGUSER +pevt_resolvinguser_help +%C24*%O$tLooking up IP number for %C18$1%O... +2 + +SASL Authenticating +XP_TE_SASLAUTH +pevt_saslauth_help +%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O) +2 + +SASL Response +XP_TE_SASLRESPONSE +pevt_saslresponse_help +%C29*%O$t$4 +n4 + +Server Connected +XP_TE_SERVERCONNECTED +pevt_generic_none_help +%C29*%O$tConnected. +0 + +Server Error +XP_TE_SERVERERROR +pevt_servererror_help +%C29*%O$t%C20$1%O +n1 + +Server Lookup +XP_TE_SERVERLOOKUP +pevt_serverlookup_help +%C29*%O$tLooking up %C29$1%O +1 + +Server Notice +XP_TE_SERVNOTICE +pevt_servertext_help +%C29*%O$t$1 +n2 + +Server Text +XP_TE_SERVTEXT +pevt_servertext_help +%C29*%O$t$1 +n3 + +SSL Message +XP_TE_SSLMESSAGE +pevt_sslmessage_help +%C29*%O$t$1 +n2 + +Stop Connection +XP_TE_STOPCONNECT +pevt_sconnect_help +%C23*%O$tStopped previous connection attempt (%C24$1%O) +1 + +Topic +XP_TE_TOPIC +pevt_topic_help +%C22*%O$tTopic for %C22$1%C is: $2%O +2 + +Topic Change +XP_TE_NEWTOPIC +pevt_newtopic_help +%C22*%O$t%C26$1%C has changed the topic to: $2%O +3 + +Topic Creation +XP_TE_TOPICDATE +pevt_topicdate_help +%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O) +3 + +Unknown Host +XP_TE_UKNHOST +pevt_generic_none_help +%C20*%O$tUnknown host. Maybe you misspelled it? +0 + +User Limit +XP_TE_USERLIMIT +pevt_generic_channel_help +%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O) +1 + +Users On Channel +XP_TE_USERSONCHAN +pevt_usersonchan_help +%C22*%O$tUsers on %C22$1%C: %C24$2%O +2 + +Warn +XP_TE_WARN +pevt_stdrpl_help +%C23*%O$t$2%O +2 + +Warn Command +XP_TE_WARNCMD +pevt_stdrplcmd_help +%C23*%O$t$1: $3%O +3 + +WhoIs Authenticated +XP_TE_WHOIS_AUTH +pevt_whoisauth_help +%C23*%O$t%C28[%C18$1%C28]%O $2 %C18$3%O +n3 + +WhoIs Away Line +XP_TE_WHOIS5 +pevt_whois5_help +%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O +2 + +WhoIs Channel/Oper Line +XP_TE_WHOIS2 +pevt_whois2_help +%C23*%O$t%C28[%C18$1%C28]%O $2 +n2 + +WhoIs End +XP_TE_WHOIS6 +pevt_whois6_help +%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list. +1 + +WhoIs Identified +XP_TE_WHOIS_ID +pevt_whoisid_help +%C23*%O$t%C28[%C18$1%C28]%O $2 +n2 + +WhoIs Idle Line +XP_TE_WHOIS4 +pevt_whois4_help +%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O +2 + +WhoIs Idle Line with Signon +XP_TE_WHOIS4T +pevt_whois4t_help +%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O +3 + +WhoIs Name Line +XP_TE_WHOIS1 +pevt_whois1_help +%C23*%O$t%C28[%C18$1%C28] %C30(%C24$2@$3%C30)%O: %C18$4%O +n4 + +WhoIs Real Host +XP_TE_WHOIS_REALHOST +pevt_whoisrealhost_help +%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O +4 + +WhoIs Server Line +XP_TE_WHOIS3 +pevt_whois3_help +%C23*%O$t%C28[%C18$1%C28]%O %C29$2%O +n2 + +WhoIs Special +XP_TE_WHOIS_SPECIAL +pevt_whoisid_help +%C23*%O$t%C28[%C18$1%C28]%O $2 +n3 + +You Join +XP_TE_UJOIN +pevt_join_help +%C19*%O$tNow talking on %C22$2%O +3 + +You Kicked +XP_TE_UKICK +pevt_ukick_help +%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O) +4 + +You Part +XP_TE_UPART +pevt_part_help +%C19*%O$tYou have left channel %C22$3%O +3 + +You Part with Reason +XP_TE_UPARTREASON +pevt_partreason_help +%C19*%O$tYou have left channel %C22$3%C (%C24$4%O) +4 + +Your Action +XP_TE_UACTION +pevt_chanaction_help +%C20*$t%B$1%B %C30$2%O +n3 + +Your Invitation +XP_TE_UINVITE +pevt_uinvite_help +%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O) +3 + +Your Message +XP_TE_UCHANMSG +pevt_chanmsg_help +%C20%H<%H$4$1%H>%H%O%C30$t$2%O +n4 + +Your Nick Changing +XP_TE_UCHANGENICK +pevt_uchangenick_help +%C20*%O$tYou are now known as %C18$2%O +2 + diff --git a/src/common/tree.c b/src/common/tree.c new file mode 100644 index 0000000000000000000000000000000000000000..b9a894d263a61b6a296da8dcb5916fe1e21f5589 --- /dev/null +++ b/src/common/tree.c @@ -0,0 +1,254 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* +This is used for quick userlist insertion and lookup. It's not really +a tree, but it could be :) +*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "tree.h" + +#define ARRAY_GROW 32 + +struct _tree +{ + int elements; + int array_size; + void **array; + tree_cmp_func *cmp; + void *data; +}; + +tree * +tree_new (tree_cmp_func *cmp, void *data) +{ + tree *t = g_new0 (tree, 1); + t->cmp = cmp; + t->data = data; + return t; +} + +void +tree_destroy (tree *t) +{ + if (t) + { + g_free (t->array); + g_free (t); + } +} + +static int +tree_find_insertion_pos (tree *t, void *key, int *done) +{ + int c, u, l, idx; + + if (t->elements < 1) + { + *done = 1; + t->array[0] = key; + t->elements++; + return 0; + } + + if (t->elements < 2) + { + *done = 1; + c = t->cmp (key, t->array[0], t->data); + if (c == 0) + return -1; + t->elements++; + if (c > 0) + { + t->array[1] = key; + return 1; + } + t->array[1] = t->array[0]; + t->array[0] = key; + return 0; + } + + *done = 0; + + c = t->cmp (key, t->array[0], t->data); + if (c < 0) + return 0; /* prepend */ + + c = t->cmp (key, t->array[t->elements - 1], t->data); + if (c > 0) + return t->elements; /* append */ + + l = 0; + u = t->elements - 1; + while (1) + { + idx = (l + u) / 2; + c = t->cmp (key, t->array[idx], t->data); + + if (0 > c) + u = idx; + else if (0 < c && 0 > t->cmp (key, t->array[idx+1], t->data)) + return idx + 1; + else if (c == 0) + return -1; + else + l = idx + 1; + } +} + +static void +tree_insert_at_pos (tree *t, void *key, int pos) +{ + int post_bytes; + + /* append is easy */ + if (pos != t->elements) + { + post_bytes = (t->elements - pos) * sizeof (void *); + memmove (&t->array[pos + 1], &t->array[pos], post_bytes); + } + + t->array[pos] = key; + t->elements++; +} + +static void * +mybsearch (const void *key, void **array, size_t nmemb, + int (*compar) (const void *, const void *, void *data), void *data, int *pos) +{ + int l, u, idx; + int comparison; + + l = 0; + u = nmemb; + while (l < u) + { + idx = (l + u) / 2; + comparison = (*compar) (key, array[idx], data); + if (comparison < 0) + u = idx; + else if (comparison > 0) + l = idx + 1; + else + { + *pos = idx; + return array[idx]; + } + } + + return NULL; +} + +void * +tree_find (tree *t, const void *key, tree_cmp_func *cmp, void *data, int *pos) +{ + if (!t || !t->array) + return NULL; + + return mybsearch (key, &t->array[0], t->elements, cmp, data, pos); +} + +void * +tree_remove_at_pos (tree *t, int pos) +{ + int post_bytes; + void *ret = t->array[pos]; + + t->elements--; + if (pos != t->elements) + { + post_bytes = (t->elements - pos) * sizeof (void *); + memmove (&t->array[pos], &t->array[pos + 1], post_bytes); + } + return ret; +} + +int +tree_remove (tree *t, void *key, int *pos) +{ + void *data; + + data = tree_find (t, key, t->cmp, t->data, pos); + if (!data) + return 0; + + tree_remove_at_pos (t, *pos); + return 1; +} + +void +tree_foreach (tree *t, tree_traverse_func *func, void *data) +{ + int j; + + if (!t || !t->array) + return; + + for (j = 0; j < t->elements; j++) + { + if (!func (t->array[j], data)) + break; + } +} + +static void +tree_grow (tree *t) +{ + if (t->array_size < t->elements + 1) + { + int new_size = t->array_size + ARRAY_GROW; + + t->array = realloc (t->array, sizeof (void *) * new_size); + t->array_size = new_size; + } + +} + +int +tree_insert (tree *t, void *key) +{ + int pos, done; + + if (!t) + return -1; + + tree_grow (t); + pos = tree_find_insertion_pos (t, key, &done); + if (!done && pos != -1) + tree_insert_at_pos (t, key, pos); + + return pos; +} + +void +tree_append (tree *t, void *key) +{ + tree_grow (t); + tree_insert_at_pos (t, key, t->elements); +} + +int tree_size (tree *t) +{ + return t->elements; +} + diff --git a/src/common/tree.h b/src/common/tree.h new file mode 100644 index 0000000000000000000000000000000000000000..8cde93eab6a78c1f2e2f1176ddb16560727c8465 --- /dev/null +++ b/src/common/tree.h @@ -0,0 +1,40 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_TREE_H +#define HEXCHAT_TREE_H + +#include <glib.h> + +typedef struct _tree tree; + +typedef int (tree_cmp_func) (const void *keya, const void *keyb, void *data); +typedef int (tree_traverse_func) (const void *key, void *data); + +tree *tree_new (tree_cmp_func *cmp, void *data); +void tree_destroy (tree *t); +void *tree_find (tree *t, const void *key, tree_cmp_func *cmp, void *data, int *pos); +int tree_remove (tree *t, void *key, int *pos); +void *tree_remove_at_pos (tree *t, int pos); +void tree_foreach (tree *t, tree_traverse_func *func, void *data); +int tree_insert (tree *t, void *key); +void tree_append (tree* t, void *key); +int tree_size (tree *t); + +#endif diff --git a/src/common/typedef.h b/src/common/typedef.h new file mode 100644 index 0000000000000000000000000000000000000000..2034f923a63573438d78a364b3de851755fd4080 --- /dev/null +++ b/src/common/typedef.h @@ -0,0 +1,44 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_TYPEDEF_H +#define HEXCHAT_TYPEDEF_H + +#ifdef WIN32 + +#ifndef SSIZE_T_DEFINED +#ifdef ssize_t +#undef ssize_t +#endif +#ifdef _WIN64 +typedef __int64 ssize_t; +#else +typedef _W64 int ssize_t; +#endif +#define SSIZE_T_DEFINED +#endif + +#ifndef fstat +#define fstat _fstat +#define stat _stat +#endif + +#endif + +#endif diff --git a/src/common/url.c b/src/common/url.c new file mode 100644 index 0000000000000000000000000000000000000000..ae85ae44bebba32b5077f2872cd4959a039efa62 --- /dev/null +++ b/src/common/url.c @@ -0,0 +1,685 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include "hexchat.h" +#include "hexchatc.h" +#include "cfgfiles.h" +#include "fe.h" +#include "tree.h" +#include "url.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + +void *url_tree = NULL; +GTree *url_btree = NULL; +static gboolean regex_match (const GRegex *re, const char *word, + int *start, int *end); +static const GRegex *re_url (void); +static const GRegex *re_url_no_scheme (void); +static const GRegex *re_host (void); +static const GRegex *re_host6 (void); +static const GRegex *re_email (void); +static const GRegex *re_nick (void); +static const GRegex *re_channel (void); +static const GRegex *re_path (void); +static gboolean match_nick (const char *word, int *start, int *end); +static gboolean match_channel (const char *word, int *start, int *end); +static gboolean match_email (const char *word, int *start, int *end); +static gboolean match_url (const char *word, int *start, int *end); +static gboolean match_host (const char *word, int *start, int *end); +static gboolean match_host6 (const char *word, int *start, int *end); +static gboolean match_path (const char *word, int *start, int *end); + +static int +url_free (char *url, void *data) +{ + g_free (url); + return TRUE; +} + +void +url_clear (void) +{ + tree_foreach (url_tree, (tree_traverse_func *)url_free, NULL); + tree_destroy (url_tree); + url_tree = NULL; + g_tree_destroy (url_btree); + url_btree = NULL; +} + +static int +url_save_cb (char *url, FILE *fd) +{ + fprintf (fd, "%s\n", url); + return TRUE; +} + +void +url_save_tree (const char *fname, const char *mode, gboolean fullpath) +{ + FILE *fd; + + if (fullpath) + fd = hexchat_fopen_file (fname, mode, XOF_FULLPATH); + else + fd = hexchat_fopen_file (fname, mode, 0); + if (fd == NULL) + return; + + tree_foreach (url_tree, (tree_traverse_func *)url_save_cb, fd); + fclose (fd); +} + +static void +url_save_node (char* url) +{ + FILE *fd; + + /* open <config>/url.log in append mode */ + fd = hexchat_fopen_file ("url.log", "a", 0); + if (fd == NULL) + { + return; + } + + fprintf (fd, "%s\n", url); + fclose (fd); +} + +static int +url_find (char *urltext) +{ + return (g_tree_lookup_extended (url_btree, urltext, NULL, NULL)); +} + +static void +url_add (char *urltext, int len) +{ + char *data; + int size; + + /* we don't need any URLs if we have neither URL grabbing nor URL logging enabled */ + if (!prefs.hex_url_grabber && !prefs.hex_url_logging) + { + return; + } + + data = g_strndup (urltext, len); + + if (data[len - 1] == '.') /* chop trailing dot */ + { + len--; + data[len] = 0; + } + /* chop trailing ) but only if there's no counterpart */ + if (data[len - 1] == ')' && strchr (data, '(') == NULL) + { + data[len - 1] = 0; + } + + if (prefs.hex_url_logging) + { + url_save_node (data); + } + + /* the URL is saved already, only continue if we need the URL grabber too */ + if (!prefs.hex_url_grabber) + { + g_free (data); + return; + } + + if (!url_tree) + { + url_tree = tree_new ((tree_cmp_func *)strcasecmp, NULL); + url_btree = g_tree_new ((GCompareFunc)strcasecmp); + } + + if (url_find (data)) + { + g_free (data); + return; + } + + size = tree_size (url_tree); + /* 0 is unlimited */ + if (prefs.hex_url_grabber_limit > 0 && size >= prefs.hex_url_grabber_limit) + { + /* the loop is necessary to handle having the limit lowered while + HexChat is running */ + size -= prefs.hex_url_grabber_limit; + for(; size > 0; size--) + { + char *pos; + + pos = tree_remove_at_pos (url_tree, 0); + g_tree_remove (url_btree, pos); + g_free (pos); + } + } + + tree_append (url_tree, data); + g_tree_insert (url_btree, data, GINT_TO_POINTER (tree_size (url_tree) - 1)); + fe_url_add (data); +} + +/* check if a word is clickable. This is called on mouse motion events, so + keep it FAST! This new version was found to be almost 3x faster than + 2.4.4 release. */ + +static int laststart = 0; +static int lastend = 0; +static int lasttype = 0; + +#define NICKPRE "~+!@%&" +#define CHANPRE "#&!+" + +int +url_check_word (const char *word) +{ + struct { + gboolean (*match) (const char *word, int *start, int *end); + int type; + } m[] = { + { match_url, WORD_URL }, + { match_email, WORD_EMAIL }, + { match_channel, WORD_CHANNEL }, + { match_host6, WORD_HOST6 }, + { match_host, WORD_HOST }, + { match_path, WORD_PATH }, + { match_nick, WORD_NICK }, + { NULL, 0} + }; + int i; + + laststart = lastend = lasttype = 0; + + for (i = 0; m[i].match; i++) + if (m[i].match (word, &laststart, &lastend)) + { + lasttype = m[i].type; + return lasttype; + } + + return 0; +} + +static gboolean +match_nick (const char *word, int *start, int *end) +{ + const server *serv = current_sess->server; + const char *nick_prefixes = serv ? serv->nick_prefixes : NICKPRE; + char *str; + + if (!regex_match (re_nick (), word, start, end)) + return FALSE; + + /* ignore matches with prefixes that the server doesn't use */ + if (strchr (NICKPRE, word[*start]) + && !strchr (nick_prefixes, word[*start])) + return FALSE; + + /* nick prefix is not part of the matched word */ + if (strchr (nick_prefixes, word[*start])) + (*start)++; + + str = g_strndup (&word[*start], *end - *start); + + if (!userlist_find (current_sess, str)) + { + g_free (str); + return FALSE; + } + + g_free (str); + + return TRUE; +} + +static gboolean +match_channel (const char *word, int *start, int *end) +{ + const server *serv = current_sess->server; + const char *chan_prefixes = serv ? serv->chantypes : CHANPRE; + const char *nick_prefixes = serv ? serv->nick_prefixes : NICKPRE; + + if (!regex_match (re_channel (), word, start, end)) + return FALSE; + + /* Check for +#channel (for example whois output) */ + if (strchr (nick_prefixes, word[*start]) != NULL + && strchr (chan_prefixes, word[*start + 1]) != NULL) + { + (*start)++; + return TRUE; + } + /* Or just #channel */ + else if (strchr (chan_prefixes, word[*start]) != NULL) + return TRUE; + + return FALSE; +} + +static gboolean +match_email (const char *word, int *start, int *end) +{ + return regex_match (re_email (), word, start, end); +} + +static gboolean +match_url (const char *word, int *start, int *end) +{ + if (regex_match (re_url (), word, start, end)) + return TRUE; + + return regex_match (re_url_no_scheme (), word, start, end); +} + +static gboolean +match_host (const char *word, int *start, int *end) +{ + return regex_match (re_host (), word, start, end); +} + +static gboolean +match_host6 (const char *word, int *start, int *end) +{ + return regex_match (re_host6 (), word, start, end); +} + +static gboolean +match_path (const char *word, int *start, int *end) +{ + return regex_match (re_path (), word, start, end); +} + +/* List of IRC commands for which contents (and thus possible URLs) + * are visible to the user. NOTE: Trailing blank required in each. */ +static char *commands[] = { + "NOTICE ", + "PRIVMSG ", + "TOPIC ", + "332 ", /* RPL_TOPIC */ + "372 " /* RPL_MOTD */ +}; + +#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) + +void +url_check_line (char *buf) +{ + GRegex *re(void); + GMatchInfo *gmi; + char *po = buf; + size_t i; + + /* Skip over message prefix */ + if (*po == ':') + { + po = strchr (po, ' '); + if (!po) + return; + po++; + } + /* Allow only commands from the above list */ + for (i = 0; i < ARRAY_SIZE (commands); i++) + { + char *cmd = commands[i]; + int len = strlen (cmd); + + if (strncmp (cmd, po, len) == 0) + { + po += len; + break; + } + } + if (i == ARRAY_SIZE (commands)) + return; + + /* Skip past the channel name or user nick */ + po = strchr (po, ' '); + if (!po) + return; + po++; + + g_regex_match(re_url(), po, 0, &gmi); + while (g_match_info_matches(gmi)) + { + int start, end; + + g_match_info_fetch_pos(gmi, 0, &start, &end); + while (end > start && (po[end - 1] == '\r' || po[end - 1] == '\n')) + end--; + url_add(po + start, end - start); + g_match_info_next(gmi, NULL); + } + g_match_info_free(gmi); +} + +int +url_last (int *lstart, int *lend) +{ + *lstart = laststart; + *lend = lastend; + return lasttype; +} + +static gboolean +regex_match (const GRegex *re, const char *word, int *start, int *end) +{ + GMatchInfo *gmi; + + g_regex_match (re, word, 0, &gmi); + + if (!g_match_info_matches (gmi)) + { + g_match_info_free (gmi); + return FALSE; + } + + while (g_match_info_matches (gmi)) + { + g_match_info_fetch_pos (gmi, 0, start, end); + g_match_info_next (gmi, NULL); + } + + g_match_info_free (gmi); + + return TRUE; +} + +/* Miscellaneous description --- */ +#define DOMAIN "[_\\pL\\pN\\pS][-_\\pL\\pN\\pS]*(\\.[-_\\pL\\pN\\pS]+)*" +#define TLD "\\.[\\pL][-\\pL\\pN]*[\\pL]" +#define IPADDR "[0-9]{1,3}(\\.[0-9]{1,3}){3}" +#define IPV6GROUP "([0-9a-f]{0,4})" +#define IPV6ADDR "((" IPV6GROUP "(:" IPV6GROUP "){7})" \ + "|(" IPV6GROUP "(:" IPV6GROUP ")*:(:" IPV6GROUP ")+))" /* with :: compression */ +#define HOST "(" DOMAIN TLD "|" IPADDR "|" IPV6ADDR ")" +/* In urls the IPv6 must be enclosed in square brackets */ +#define HOST_URL "(" DOMAIN TLD "|" IPADDR "|" "\\[" IPV6ADDR "\\]" ")" +#define HOST_URL_OPT_TLD "(" DOMAIN "|" HOST_URL ")" +#define PORT "(:[1-9][0-9]{0,4})" +#define OPT_PORT "(" PORT ")?" + +static GRegex * +make_re (const char *grist) +{ + GRegex *ret; + GError *err = NULL; + + ret = g_regex_new (grist, G_REGEX_CASELESS | G_REGEX_OPTIMIZE, 0, &err); + + return ret; +} + +/* HOST description --- */ +/* (see miscellaneous above) */ +static const GRegex * +re_host (void) +{ + static GRegex *host_ret; + + if (host_ret) return host_ret; + + host_ret = make_re ("(" "(" HOST_URL PORT ")|(" HOST ")" ")"); + + return host_ret; +} + +static const GRegex * +re_host6 (void) +{ + static GRegex *host6_ret; + + if (host6_ret) return host6_ret; + + host6_ret = make_re ("(" "(" IPV6ADDR ")|(" "\\[" IPV6ADDR "\\]" PORT ")" ")"); + + return host6_ret; +} + +/* URL description --- */ +#define SCHEME "(%s)" +#define LPAR "\\(" +#define RPAR "\\)" +#define NOPARENS "[^() \t]*" +#define PATH \ + "(" \ + "(" LPAR NOPARENS RPAR ")" \ + "|" \ + "(" NOPARENS ")" \ + ")*" /* Zero or more occurrences of either of these */ \ + "(?<![.,?!\\]])" /* Not allowed to end with these */ +#define USERINFO "([-a-z0-9._~%]+(:[-a-z0-9._~%]*)?@)" + +/* Flags used to describe URIs (RFC 3986) + * + * Bellow is an example of what the flags match. + * + * URI_AUTHORITY - http://example.org:80/foo/bar + * ^^^^^^^^^^^^^^^^ + * URI_USERINFO/URI_OPT_USERINFO - http://user@example.org:80/foo/bar + * ^^^^^ + * URI_PATH - http://example.org:80/foo/bar + * ^^^^^^^^ + */ +#define URI_AUTHORITY (1 << 0) +#define URI_OPT_USERINFO (1 << 1) +#define URI_USERINFO (1 << 2) +#define URI_PATH (1 << 3) + +struct +{ + const char *scheme; /* scheme name. e.g. http */ + const char *path_sep; /* string that begins the path */ + int flags; /* see above (flag macros) */ +} uri[] = { + { "irc", "/", URI_PATH }, + { "ircs", "/", URI_PATH }, + { "rtsp", "/", URI_AUTHORITY | URI_PATH }, + { "feed", "/", URI_AUTHORITY | URI_PATH }, + { "teamspeak", "?", URI_AUTHORITY | URI_PATH }, + { "ftp", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "sftp", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "ftps", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "http", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "https", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "cvs", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "svn", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "git", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "bzr", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "rsync", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "mumble", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "ventrilo", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "xmpp", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "h323", ";", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "imap", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "pop", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "nfs", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "smb", "/", URI_AUTHORITY | URI_OPT_USERINFO | URI_PATH }, + { "gopher", "/", URI_AUTHORITY | URI_PATH }, + { "gemini", "/", URI_AUTHORITY | URI_PATH }, + { "ssh", "", URI_AUTHORITY | URI_OPT_USERINFO }, + { "sip", "", URI_AUTHORITY | URI_USERINFO }, + { "sips", "", URI_AUTHORITY | URI_USERINFO }, + { "magnet", "?", URI_PATH }, + { "mailto", "", URI_PATH }, + { "bitcoin", "", URI_PATH }, + { "gtalk", "", URI_PATH }, + { "steam", "", URI_PATH }, + { "file", "/", URI_PATH }, + { "callto", "", URI_PATH }, + { "skype", "", URI_PATH }, + { "geo", "", URI_PATH }, + { "spotify", "", URI_PATH }, + { "lastfm", "/", URI_PATH }, + { "xfire", "", URI_PATH }, + { "ts3server", "", URI_PATH }, + { NULL, "", 0} +}; + +static const GRegex * +re_url_no_scheme (void) +{ + static GRegex *url_ret = NULL; + + if (url_ret) return url_ret; + + url_ret = make_re ("(" HOST_URL OPT_PORT "/" "(" PATH ")?" ")"); + + return url_ret; +} + +static const GRegex * +re_url (void) +{ + static GRegex *url_ret = NULL; + GString *grist_gstr; + char *grist; + int i; + + if (url_ret) return url_ret; + + grist_gstr = g_string_new (NULL); + + for (i = 0; uri[i].scheme; i++) + { + if (i) + g_string_append (grist_gstr, "|"); + + g_string_append (grist_gstr, "("); + g_string_append_printf (grist_gstr, "%s:", uri[i].scheme); + + if (uri[i].flags & URI_AUTHORITY) + g_string_append (grist_gstr, "//"); + + if (uri[i].flags & URI_USERINFO) + g_string_append (grist_gstr, USERINFO); + else if (uri[i].flags & URI_OPT_USERINFO) + g_string_append (grist_gstr, USERINFO "?"); + + if (uri[i].flags & URI_AUTHORITY) + g_string_append (grist_gstr, HOST_URL_OPT_TLD OPT_PORT); + + if (uri[i].flags & URI_PATH) + { + char *sep_escaped = g_regex_escape_string (uri[i].path_sep, strlen(uri[i].path_sep)); + + g_string_append_printf (grist_gstr, "(" "%s" PATH ")?", sep_escaped); + + g_free (sep_escaped); + } + + g_string_append (grist_gstr, ")"); + } + + grist = g_string_free (grist_gstr, FALSE); + + url_ret = make_re (grist); + g_free (grist); + + return url_ret; +} + +/* EMAIL description --- */ +#define EMAIL "[a-z0-9][._%+-a-z0-9]+@" "(" HOST_URL ")" + +static const GRegex * +re_email (void) +{ + static GRegex *email_ret; + + if (email_ret) return email_ret; + + email_ret = make_re ("(" EMAIL ")"); + + return email_ret; +} + +/* NICK description --- */ +/* For NICKPRE see before url_check_word() */ +#define NICKHYP "-" +#define NICKLET "a-z" +#define NICKDIG "0-9" +/* Note for NICKSPE: \\\\ boils down to a single \ */ +#define NICKSPE "\\[\\]\\\\`_^{|}" +#if 0 +#define NICK0 "[" NICKPRE "]?[" NICKLET NICKSPE "]" +#else +/* Allow violation of rfc 2812 by allowing digit as first char */ +/* Rationale is that do_an_re() above will anyway look up what */ +/* we find, and that WORD_NICK is the last item in the array */ +/* that do_an_re() runs through. */ +#define NICK0 "^[" NICKPRE "]?[" NICKLET NICKDIG NICKSPE "]" +#endif +#define NICK1 "[" NICKHYP NICKLET NICKDIG NICKSPE "]*" +#define NICK NICK0 NICK1 + +static const GRegex * +re_nick (void) +{ + static GRegex *nick_ret; + + if (nick_ret) return nick_ret; + + nick_ret = make_re ("(" NICK ")"); + + return nick_ret; +} + +/* CHANNEL description --- */ +#define CHANNEL "[" CHANPRE "][^ \t\a,]+(?:,[" CHANPRE "][^ \t\a,]+)*" + +static const GRegex * +re_channel (void) +{ + static GRegex *channel_ret; + + if (channel_ret) return channel_ret; + + channel_ret = make_re ("(" CHANNEL ")"); + + return channel_ret; +} + +/* PATH description --- */ +#ifdef WIN32 +/* Windows path can be .\ ..\ or C: D: etc */ +#define FS_PATH "^(\\.{1,2}\\\\|[a-z]:).*" +#else +/* Linux path can be / or ./ or ../ etc */ +#define FS_PATH "^(/|\\./|\\.\\./).*" +#endif + +static const GRegex * +re_path (void) +{ + static GRegex *path_ret; + + if (path_ret) return path_ret; + + path_ret = make_re ("(" FS_PATH ")"); + + return path_ret; +} diff --git a/src/common/url.h b/src/common/url.h new file mode 100644 index 0000000000000000000000000000000000000000..1b1deb3d86b875dfb49b87c26be7a6bcaabbf94e --- /dev/null +++ b/src/common/url.h @@ -0,0 +1,41 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_URL_H +#define HEXCHAT_URL_H + +extern void *url_tree; + +#define WORD_URL 1 +#define WORD_CHANNEL 2 +#define WORD_HOST 3 +#define WORD_HOST6 4 +#define WORD_EMAIL 5 +#define WORD_NICK 6 +/* anything >0 will be displayed as a link by gtk_xtext_motion_notify() */ +#define WORD_DIALOG -1 +#define WORD_PATH -2 + +void url_clear (void); +void url_save_tree (const char *fname, const char *mode, gboolean fullpath); +int url_last (int *, int *); +int url_check_word (const char *word); +void url_check_line (char *buf); + +#endif diff --git a/src/common/userlist.c b/src/common/userlist.c new file mode 100644 index 0000000000000000000000000000000000000000..5f2d67f2adc684dd3eef333c42a99765ce4ecc6b --- /dev/null +++ b/src/common/userlist.c @@ -0,0 +1,471 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "hexchat.h" +#include "modes.h" +#include "fe.h" +#include "notify.h" +#include "tree.h" +#include "hexchatc.h" +#include "util.h" + + +int +nick_cmp_az_ops (server *serv, struct User *user1, struct User *user2) +{ + unsigned int access1 = user1->access; + unsigned int access2 = user2->access; + int pos; + + if (access1 != access2) + { + for (pos = 0; pos < USERACCESS_SIZE; pos++) + { + if ((access1&(1<<pos)) && (access2&(1<<pos))) + break; + if ((access1&(1<<pos)) && !(access2&(1<<pos))) + return -1; + if (!(access1&(1<<pos)) && (access2&(1<<pos))) + return 1; + } + } + + return serv->p_cmp (user1->nick, user2->nick); +} + +int +nick_cmp_alpha (struct User *user1, struct User *user2, server *serv) +{ + return serv->p_cmp (user1->nick, user2->nick); +} + +/* + insert name in appropriate place in linked list. Returns row number or: + -1: duplicate +*/ + +static int +userlist_insertname (session *sess, struct User *newuser) +{ + if (!sess->usertree) + { + sess->usertree = tree_new ((tree_cmp_func *)nick_cmp_alpha, sess->server); + } + + return tree_insert (sess->usertree, newuser); +} + +void +userlist_set_away (struct session *sess, char *nick, unsigned int away) +{ + struct User *user; + + user = userlist_find (sess, nick); + if (user) + { + if (user->away != away) + { + user->away = away; + /* rehash GUI */ + fe_userlist_rehash (sess, user); + if (away) + fe_userlist_update (sess, user); + } + } +} + +void +userlist_set_account (struct session *sess, char *nick, char *account) +{ + struct User *user; + + user = userlist_find (sess, nick); + if (user) + { + if (strcmp (account, "*") == 0) + { + g_clear_pointer (&user->account, g_free); + } else if (g_strcmp0 (user->account, account)) + { + g_free (user->account); + user->account = g_strdup (account); + } + + /* gui doesnt currently reflect login status, maybe later + fe_userlist_rehash (sess, user); */ + } +} + +int +userlist_add_hostname (struct session *sess, char *nick, char *hostname, + char *realname, char *servername, char *account, unsigned int away) +{ + struct User *user; + gboolean do_rehash = FALSE; + + user = userlist_find (sess, nick); + if (user) + { + if (hostname && (!user->hostname || strcmp(user->hostname, hostname))) + { + if (prefs.hex_gui_ulist_show_hosts) + do_rehash = TRUE; + g_free (user->hostname); + user->hostname = g_strdup (hostname); + } + if (realname && *realname && g_strcmp0 (user->realname, realname) != 0) + { + g_free (user->realname); + user->realname = g_strdup (realname); + } + if (!user->servername && servername) + user->servername = g_strdup (servername); + if (!user->account && account && strcmp (account, "0") != 0) + user->account = g_strdup (account); + if (away != 0xff) + { + if (user->away != away) + do_rehash = TRUE; + user->away = away; + } + + fe_userlist_update (sess, user); + if (do_rehash) + fe_userlist_rehash (sess, user); + + return 1; + } + return 0; +} + +static int +free_user (struct User *user, gpointer data) +{ + g_free (user->realname); + g_free (user->hostname); + g_free (user->servername); + g_free (user->account); + g_free (user); + + return TRUE; +} + +void +userlist_free (session *sess) +{ + tree_foreach (sess->usertree, (tree_traverse_func *)free_user, NULL); + tree_destroy (sess->usertree); + + sess->usertree = NULL; + sess->me = NULL; + + sess->ops = 0; + sess->hops = 0; + sess->voices = 0; + sess->total = 0; +} + +void +userlist_clear (session *sess) +{ + fe_userlist_clear (sess); + userlist_free (sess); + fe_userlist_numbers (sess); +} + +static int +find_cmp (const char *name, struct User *user, server *serv) +{ + return serv->p_cmp ((char *)name, user->nick); +} + +struct User * +userlist_find (struct session *sess, const char *name) +{ + int pos; + + if (sess->usertree) + return tree_find (sess->usertree, name, + (tree_cmp_func *)find_cmp, sess->server, &pos); + + return NULL; +} + +struct User * +userlist_find_global (struct server *serv, char *name) +{ + struct User *user; + session *sess; + GSList *list = sess_list; + while (list) + { + sess = (session *) list->data; + if (sess->server == serv) + { + user = userlist_find (sess, name); + if (user) + return user; + } + list = list->next; + } + return NULL; +} + +static void +update_counts (session *sess, struct User *user, char prefix, + int level, int offset) +{ + switch (prefix) + { + case '@': + user->op = level; + sess->ops += offset; + break; + case '%': + user->hop = level; + sess->hops += offset; + break; + case '+': + user->voice = level; + sess->voices += offset; + break; + } +} + +void +userlist_update_mode (session *sess, char *name, char mode, char sign) +{ + int access; + int offset = 0; + int level; + int pos; + char prefix; + struct User *user; + + user = userlist_find (sess, name); + if (!user) + return; + + /* remove from binary trees, before we loose track of it */ + tree_remove (sess->usertree, user, &pos); + fe_userlist_remove (sess, user); + + /* which bit number is affected? */ + access = mode_access (sess->server, mode, &prefix); + + if (sign == '+') + { + level = TRUE; + if (!(user->access & (1 << access))) + { + offset = 1; + user->access |= (1 << access); + } + } else + { + level = FALSE; + if (user->access & (1 << access)) + { + offset = -1; + user->access &= ~(1 << access); + } + } + + /* now what is this users highest prefix? e.g. @ for ops */ + user->prefix[0] = get_nick_prefix (sess->server, user->access); + + /* update the various counts using the CHANGED prefix only */ + update_counts (sess, user, prefix, level, offset); + + /* insert it back into its new place */ + tree_insert (sess->usertree, user); + fe_userlist_insert (sess, user, FALSE); + fe_userlist_numbers (sess); +} + +int +userlist_change (struct session *sess, char *oldname, char *newname) +{ + struct User *user = userlist_find (sess, oldname); + int pos; + + if (user) + { + tree_remove (sess->usertree, user, &pos); + fe_userlist_remove (sess, user); + + safe_strcpy (user->nick, newname, NICKLEN); + + tree_insert (sess->usertree, user); + fe_userlist_insert (sess, user, FALSE); + + return 1; + } + + return 0; +} + +int +userlist_remove (struct session *sess, char *name) +{ + struct User *user; + + user = userlist_find (sess, name); + if (!user) + return FALSE; + + userlist_remove_user (sess, user); + return TRUE; +} + +void +userlist_remove_user (struct session *sess, struct User *user) +{ + int pos; + if (user->voice) + sess->voices--; + if (user->op) + sess->ops--; + if (user->hop) + sess->hops--; + sess->total--; + fe_userlist_numbers (sess); + fe_userlist_remove (sess, user); + + if (user == sess->me) + sess->me = NULL; + + tree_remove (sess->usertree, user, &pos); + free_user (user, NULL); +} + +void +userlist_add (struct session *sess, char *name, char *hostname, + char *account, char *realname, const message_tags_data *tags_data) +{ + struct User *user; + int row, prefix_chars; + unsigned int acc; + + acc = nick_access (sess->server, name, &prefix_chars); + + notify_set_online (sess->server, name + prefix_chars, tags_data); + + user = g_new0 (struct User, 1); + + user->access = acc; + + /* assume first char is the highest level nick prefix */ + if (prefix_chars) + user->prefix[0] = name[0]; + + /* add it to our linked list */ + if (hostname) + user->hostname = g_strdup (hostname); + safe_strcpy (user->nick, name + prefix_chars, NICKLEN); + /* is it me? */ + if (!sess->server->p_cmp (user->nick, sess->server->nick)) + user->me = TRUE; + /* extended join info */ + if (sess->server->have_extjoin) + { + if (account && *account) + user->account = g_strdup (account); + if (realname && *realname) + user->realname = g_strdup (realname); + } + + row = userlist_insertname (sess, user); + + /* duplicate? some broken servers trigger this */ + if (row == -1) + { + g_free (user->hostname); + g_free (user->account); + g_free (user->realname); + g_free (user); + return; + } + + sess->total++; + + /* most ircds don't support multiple modechars in front of the nickname + for /NAMES - though they should. */ + while (prefix_chars) + { + update_counts (sess, user, name[0], TRUE, 1); + name++; + prefix_chars--; + } + + if (user->me) + sess->me = user; + + fe_userlist_insert (sess, user, FALSE); + if(sess->end_of_names) + fe_userlist_numbers (sess); +} + +static int +rehash_cb (struct User *user, session *sess) +{ + fe_userlist_rehash (sess, user); + return TRUE; +} + +void +userlist_rehash (session *sess) +{ + tree_foreach (sess->usertree, (tree_traverse_func *)rehash_cb, sess); +} + +static int +flat_cb (struct User *user, GSList **list) +{ + *list = g_slist_prepend (*list, user); + return TRUE; +} + +GSList * +userlist_flat_list (session *sess) +{ + GSList *list = NULL; + + tree_foreach (sess->usertree, (tree_traverse_func *)flat_cb, &list); + return g_slist_reverse (list); +} + +static int +double_cb (struct User *user, GList **list) +{ + *list = g_list_prepend(*list, user); + return TRUE; +} + +GList * +userlist_double_list(session *sess) +{ + GList *list = NULL; + + tree_foreach (sess->usertree, (tree_traverse_func *)double_cb, &list); + return list; +} diff --git a/src/common/userlist.h b/src/common/userlist.h new file mode 100644 index 0000000000000000000000000000000000000000..0c53dc71a9ea5aed7aed534325c68e68de485cc1 --- /dev/null +++ b/src/common/userlist.h @@ -0,0 +1,67 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <time.h> +#include "proto-irc.h" + +#ifndef HEXCHAT_USERLIST_H +#define HEXCHAT_USERLIST_H + +struct User +{ + char nick[NICKLEN]; + char *hostname; + char *realname; + char *servername; + char *account; + time_t lasttalk; + unsigned int access; /* axs bit field */ + char prefix[2]; /* @ + % */ + unsigned int op:1; + unsigned int hop:1; + unsigned int voice:1; + unsigned int me:1; + unsigned int away:1; + unsigned int selected:1; +}; + +#define USERACCESS_SIZE 12 + +int userlist_add_hostname (session *sess, char *nick, + char *hostname, char *realname, + char *servername, char *account, unsigned int away); +void userlist_set_away (session *sess, char *nick, unsigned int away); +void userlist_set_account (session *sess, char *nick, char *account); +struct User *userlist_find (session *sess, const char *name); +struct User *userlist_find_global (server *serv, char *name); +void userlist_clear (session *sess); +void userlist_free (session *sess); +void userlist_add (session *sess, char *name, char *hostname, char *account, + char *realname, const message_tags_data *tags_data); +int userlist_remove (session *sess, char *name); +void userlist_remove_user (session *sess, struct User *user); +int userlist_change (session *sess, char *oldname, char *newname); +void userlist_update_mode (session *sess, char *name, char mode, char sign); +GSList *userlist_flat_list (session *sess); +GList *userlist_double_list (session *sess); +void userlist_rehash (session *sess); +int nick_cmp_az_ops (server *serv, struct User *user1, struct User *user2); +int nick_cmp_alpha (struct User *user1, struct User *user2, server *serv); + +#endif diff --git a/src/common/util.c b/src/common/util.c new file mode 100644 index 0000000000000000000000000000000000000000..bd920cae44d05d101846d895742b92cdabefe81e --- /dev/null +++ b/src/common/util.c @@ -0,0 +1,1557 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#define WANTSOCKET +#include "inet.h" /* make it first to avoid macro redefinitions */ + +#define __APPLE_API_STRICT_CONFORMANCE + +#define _FILE_OFFSET_BITS 64 +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <time.h> +#include <sys/types.h> +#include <sys/stat.h> + +#ifdef WIN32 +#include <sys/timeb.h> +#include <io.h> +#include "./sysinfo/sysinfo.h" +#else +#include <unistd.h> +#include <pwd.h> +#include <sys/time.h> +#include <sys/utsname.h> +#endif + +#include "config.h" +#include <fcntl.h> +#include <errno.h> +#include "hexchat.h" +#include "hexchatc.h" +#include <ctype.h> +#include "util.h" + +#if defined (__FreeBSD__) || defined (__APPLE__) +#include <sys/sysctl.h> +#endif + +/* SASL mechanisms */ +#ifdef USE_OPENSSL +#include <openssl/bn.h> +#include <openssl/rand.h> +#ifndef WIN32 +#include <netinet/in.h> +#endif +#endif + +char * +file_part (char *file) +{ + char *filepart = file; + if (!file) + return ""; + while (1) + { + switch (*file) + { + case 0: + return (filepart); + case '/': +#ifdef WIN32 + case '\\': +#endif + filepart = file + 1; + break; + } + file++; + } +} + +void +path_part (char *file, char *path, int pathlen) +{ + unsigned char t; + char *filepart = file_part (file); + t = *filepart; + *filepart = 0; + safe_strcpy (path, file, pathlen); + *filepart = t; +} + +char * /* like strstr(), but nocase */ +nocasestrstr (const char *s, const char *wanted) +{ + register const int len = strlen (wanted); + + if (len == 0) + return (char *)s; + while (rfc_tolower(*s) != rfc_tolower(*wanted) || g_ascii_strncasecmp (s, wanted, len)) + if (*s++ == '\0') + return (char *)NULL; + return (char *)s; +} + +char * +errorstring (int err) +{ + switch (err) + { + case -1: + return ""; + case 0: + return _("Remote host closed socket"); +#ifndef WIN32 + } +#else + case WSAECONNREFUSED: + return _("Connection refused"); + case WSAENETUNREACH: + case WSAEHOSTUNREACH: + return _("No route to host"); + case WSAETIMEDOUT: + return _("Connection timed out"); + case WSAEADDRNOTAVAIL: + return _("Cannot assign that address"); + case WSAECONNRESET: + return _("Connection reset by peer"); + } + + /* can't use strerror() on Winsock errors! */ + if (err >= WSABASEERR) + { + static char tbuf[384]; + OSVERSIONINFO osvi; + + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); + GetVersionEx (&osvi); + + /* FormatMessage works on WSA*** errors starting from Win2000 */ + if (osvi.dwMajorVersion >= 5) + { + if (FormatMessageA (FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS | + FORMAT_MESSAGE_MAX_WIDTH_MASK, + NULL, err, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + tbuf, sizeof (tbuf), NULL)) + { + int len; + char *utf; + + tbuf[sizeof (tbuf) - 1] = 0; + len = strlen (tbuf); + if (len >= 2) + tbuf[len - 2] = 0; /* remove the cr-lf */ + + /* now convert to utf8 */ + utf = g_locale_to_utf8 (tbuf, -1, 0, 0, 0); + if (utf) + { + safe_strcpy (tbuf, utf, sizeof (tbuf)); + g_free (utf); + return tbuf; + } + } + } /* ! if (osvi.dwMajorVersion >= 5) */ + + /* fallback to error number */ + sprintf (tbuf, "%s %d", _("Error"), err); + return tbuf; + } /* ! if (err >= WSABASEERR) */ +#endif /* ! WIN32 */ + + return strerror (err); +} + +int +waitline (int sok, char *buf, int bufsize, int use_recv) +{ + int i = 0; + + while (1) + { + if (use_recv) + { + if (recv (sok, &buf[i], 1, 0) < 1) + return -1; + } else + { + if (read (sok, &buf[i], 1) < 1) + return -1; + } + if (buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} + +#ifdef WIN32 +/* waitline2 using win32 file descriptor and glib instead of _read. win32 can't _read() sok! */ +int +waitline2 (GIOChannel *source, char *buf, int bufsize) +{ + int i = 0; + gsize len; + GError *error = NULL; + + while (1) + { + g_io_channel_set_buffered (source, FALSE); + g_io_channel_set_encoding (source, NULL, &error); + + if (g_io_channel_read_chars (source, &buf[i], 1, &len, &error) != G_IO_STATUS_NORMAL) + { + return -1; + } + if (buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} +#endif + +/* checks for "~" in a file and expands */ + +char * +expand_homedir (char *file) +{ +#ifndef WIN32 + char *user; + struct passwd *pw; + + if (file[0] == '~') + { + char *slash_pos; + + if (file[1] == '\0' || file[1] == '/') + return g_strconcat (g_get_home_dir (), &file[1], NULL); + + user = g_strdup(file); + + slash_pos = strchr(user, '/'); + if (slash_pos != NULL) + *slash_pos = '\0'; + + pw = getpwnam(user + 1); + g_free(user); + + if (pw == NULL) + return g_strdup(file); + + slash_pos = strchr(file, '/'); + if (slash_pos == NULL) + return g_strdup (pw->pw_dir); + else + return g_strconcat (pw->pw_dir, slash_pos, NULL); + } +#endif + return g_strdup (file); +} + +gchar * +strip_color (const char *text, int len, int flags) +{ + char *new_str; + + if (len == -1) + len = strlen (text); + + new_str = g_malloc (len + 2); + strip_color2 (text, len, new_str, flags); + + if (flags & STRIP_ESCMARKUP) + { + char *esc = g_markup_escape_text (new_str, -1); + g_free (new_str); + return esc; + } + + return new_str; +} + +/* CL: strip_color2 strips src and writes the output at dst; pass the same pointer + in both arguments to strip in place. */ +int +strip_color2 (const char *src, int len, char *dst, int flags) +{ + int rcol = 0, bgcol = 0; + char *start = dst; + + if (len == -1) len = strlen (src); + while (len-- > 0) + { + if (rcol > 0 && (isdigit ((unsigned char)*src) || + (*src == ',' && isdigit ((unsigned char)src[1]) && !bgcol))) + { + if (src[1] != ',') rcol--; + if (*src == ',') + { + rcol = 2; + bgcol = 1; + } + } else + { + rcol = bgcol = 0; + switch (*src) + { + case '\003': /*ATTR_COLOR: */ + if (!(flags & STRIP_COLOR)) goto pass_char; + rcol = 2; + break; + case HIDDEN_CHAR: /* CL: invisible text (for event formats only) */ /* this takes care of the topic */ + if (!(flags & STRIP_HIDDEN)) goto pass_char; + break; + case '\007': /*ATTR_BEEP: */ + case '\017': /*ATTR_RESET: */ + case '\026': /*ATTR_REVERSE: */ + case '\002': /*ATTR_BOLD: */ + case '\037': /*ATTR_UNDERLINE: */ + case '\036': /*ATTR_STRIKETHROUGH: */ + case '\035': /*ATTR_ITALICS: */ + if (!(flags & STRIP_ATTRIB)) goto pass_char; + break; + default: + pass_char: + *dst++ = *src; + } + } + src++; + } + *dst = 0; + + return (int) (dst - start); +} + +int +strip_hidden_attribute (char *src, char *dst) +{ + int len = 0; + while (*src != '\000') + { + if (*src != HIDDEN_CHAR) + { + *dst++ = *src; + len++; + } + src++; + } + return len; +} + +#if defined (__linux__) || defined (__FreeBSD__) || defined (__APPLE__) || defined (__CYGWIN__) + +static void +get_cpu_info (double *mhz, int *cpus) +{ + +#if defined(__linux__) || defined (__CYGWIN__) + + char buf[256]; + int fh; + + *mhz = 0; + *cpus = 0; + + fh = open ("/proc/cpuinfo", O_RDONLY); /* linux 2.2+ only */ + if (fh == -1) + { + *cpus = 1; + return; + } + + while (1) + { + if (waitline (fh, buf, sizeof buf, FALSE) < 0) + break; + if (!strncmp (buf, "cycle frequency [Hz]\t:", 22)) /* alpha */ + { + *mhz = atoi (buf + 23) / 1000000; + } else if (!strncmp (buf, "cpu MHz\t\t:", 10)) /* i386 */ + { + *mhz = atof (buf + 11) + 0.5; + } else if (!strncmp (buf, "clock\t\t:", 8)) /* PPC */ + { + *mhz = atoi (buf + 9); + } else if (!strncmp (buf, "processor\t", 10)) + { + (*cpus)++; + } + } + close (fh); + if (!*cpus) + *cpus = 1; + +#endif +#ifdef __FreeBSD__ + + int mib[2], ncpu; + u_long freq; + size_t len; + + freq = 0; + *mhz = 0; + *cpus = 0; + + mib[0] = CTL_HW; + mib[1] = HW_NCPU; + + len = sizeof(ncpu); + sysctl(mib, 2, &ncpu, &len, NULL, 0); + + len = sizeof(freq); + sysctlbyname("machdep.tsc_freq", &freq, &len, NULL, 0); + + *cpus = ncpu; + *mhz = (freq / 1000000); + +#endif +#ifdef __APPLE__ + + int mib[2], ncpu; + unsigned long long freq; + size_t len; + + freq = 0; + *mhz = 0; + *cpus = 0; + + mib[0] = CTL_HW; + mib[1] = HW_NCPU; + + len = sizeof(ncpu); + sysctl(mib, 2, &ncpu, &len, NULL, 0); + + len = sizeof(freq); + sysctlbyname("hw.cpufrequency", &freq, &len, NULL, 0); + + *cpus = ncpu; + *mhz = (freq / 1000000); + +#endif + +} +#endif + +#ifdef WIN32 + +int +get_cpu_arch (void) +{ + return sysinfo_get_build_arch (); +} + +char * +get_sys_str (int with_cpu) +{ + static char *without_cpu_buffer = NULL; + static char *with_cpu_buffer = NULL; + + if (with_cpu == 0) + { + if (without_cpu_buffer == NULL) + { + without_cpu_buffer = sysinfo_get_os (); + } + + return without_cpu_buffer; + } + + if (with_cpu_buffer == NULL) + { + char *os = sysinfo_get_os (); + char *cpu = sysinfo_get_cpu (); + with_cpu_buffer = g_strconcat (os, " [", cpu, "]", NULL); + g_free (cpu); + g_free (os); + } + + return with_cpu_buffer; +} + +#else + +char * +get_sys_str (int with_cpu) +{ +#if defined (__linux__) || defined (__FreeBSD__) || defined (__APPLE__) || defined (__CYGWIN__) + double mhz; +#endif + int cpus = 1; + struct utsname un; + static char *buf = NULL; + + if (buf) + return buf; + + uname (&un); + +#if defined (__linux__) || defined (__FreeBSD__) || defined (__APPLE__) || defined (__CYGWIN__) + get_cpu_info (&mhz, &cpus); + if (mhz && with_cpu) + { + double cpuspeed = ( mhz > 1000 ) ? mhz / 1000 : mhz; + const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz"; + buf = g_strdup_printf ( + (cpus == 1) ? "%s %s [%s/%.2f%s]" : "%s %s [%s/%.2f%s/SMP]", + un.sysname, un.release, un.machine, + cpuspeed, cpuspeedstr); + } + else + buf = g_strdup_printf ("%s %s", un.sysname, un.release); +#else + buf = g_strdup_printf ("%s %s", un.sysname, un.release); +#endif + + return buf; +} + +#endif + +int +buf_get_line (char *ibuf, char **buf, int *position, int len) +{ + int pos = *position, spos = pos; + + if (pos == len) + return 0; + + while (ibuf[pos++] != '\n') + { + if (pos == len) + return 0; + } + pos--; + ibuf[pos] = 0; + *buf = &ibuf[spos]; + pos++; + *position = pos; + return 1; +} + +int match(const char *mask, const char *string) +{ + register const char *m = mask, *s = string; + register char ch; + const char *bm, *bs; /* Will be reg anyway on a decent CPU/compiler */ + + /* Process the "head" of the mask, if any */ + while ((ch = *m++) && (ch != '*')) + switch (ch) + { + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + if (rfc_tolower(*s) != rfc_tolower(ch)) + return 0; + case '?': + if (!*s++) + return 0; + }; + if (!ch) + return !(*s); + + /* We got a star: quickly find if/where we match the next char */ +got_star: + bm = m; /* Next try rollback here */ + while ((ch = *m++)) + switch (ch) + { + case '?': + if (!*s++) + return 0; + case '*': + bm = m; + continue; /* while */ + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + goto break_while; /* C is structured ? */ + }; +break_while: + if (!ch) + return 1; /* mask ends with '*', we got it */ + ch = rfc_tolower(ch); + while (rfc_tolower(*s++) != ch) + if (!*s) + return 0; + bs = s; /* Next try start from here */ + + /* Check the rest of the "chunk" */ + while ((ch = *m++)) + { + switch (ch) + { + case '*': + goto got_star; + case '\\': + if (*m == '?' || *m == '*') + ch = *m++; + default: + if (rfc_tolower(*s) != rfc_tolower(ch)) + { + if (!*s) + return 0; + m = bm; + s = bs; + goto got_star; + }; + case '?': + if (!*s++) + return 0; + }; + }; + if (*s) + { + m = bm; + s = bs; + goto got_star; + }; + return 1; +} + +void +for_files (const char *dirname, const char *mask, void callback (char *file)) +{ + GDir *dir; + const gchar *entry_name; + char *buf; + + dir = g_dir_open (dirname, 0, NULL); + if (dir) + { + while ((entry_name = g_dir_read_name (dir))) + { + if (strcmp (entry_name, ".") && strcmp (entry_name, "..")) + { + if (match (mask, entry_name)) + { + buf = g_build_filename (dirname, entry_name, NULL); + callback (buf); + g_free (buf); + } + } + } + g_dir_close (dir); + } +} + +/*void +tolowerStr (char *str) +{ + while (*str) + { + *str = rfc_tolower (*str); + str++; + } +}*/ + +typedef struct +{ + char *code, *country; +} domain_t; + +static int +country_compare (const void *a, const void *b) +{ + return g_ascii_strcasecmp (a, ((domain_t *)b)->code); +} + +static const domain_t domain[] = +{ + {"AC", N_("Ascension Island") }, + {"AD", N_("Andorra") }, + {"AE", N_("United Arab Emirates") }, + {"AERO", N_("Aviation-Related Fields") }, + {"AF", N_("Afghanistan") }, + {"AG", N_("Antigua and Barbuda") }, + {"AI", N_("Anguilla") }, + {"AL", N_("Albania") }, + {"AM", N_("Armenia") }, + {"AN", N_("Netherlands Antilles") }, + {"AO", N_("Angola") }, + {"AQ", N_("Antarctica") }, + {"AR", N_("Argentina") }, + {"ARPA", N_("Reverse DNS") }, + {"AS", N_("American Samoa") }, + {"ASIA", N_("Asia-Pacific Region") }, + {"AT", N_("Austria") }, + {"ATO", N_("Nato Fiel") }, + {"AU", N_("Australia") }, + {"AW", N_("Aruba") }, + {"AX", N_("Aland Islands") }, + {"AZ", N_("Azerbaijan") }, + {"BA", N_("Bosnia and Herzegovina") }, + {"BB", N_("Barbados") }, + {"BD", N_("Bangladesh") }, + {"BE", N_("Belgium") }, + {"BF", N_("Burkina Faso") }, + {"BG", N_("Bulgaria") }, + {"BH", N_("Bahrain") }, + {"BI", N_("Burundi") }, + {"BIZ", N_("Businesses"), }, + {"BJ", N_("Benin") }, + {"BM", N_("Bermuda") }, + {"BN", N_("Brunei Darussalam") }, + {"BO", N_("Bolivia") }, + {"BR", N_("Brazil") }, + {"BS", N_("Bahamas") }, + {"BT", N_("Bhutan") }, + {"BV", N_("Bouvet Island") }, + {"BW", N_("Botswana") }, + {"BY", N_("Belarus") }, + {"BZ", N_("Belize") }, + {"CA", N_("Canada") }, + {"CAT", N_("Catalan") }, + {"CC", N_("Cocos Islands") }, + {"CD", N_("Democratic Republic of Congo") }, + {"CF", N_("Central African Republic") }, + {"CG", N_("Congo") }, + {"CH", N_("Switzerland") }, + {"CI", N_("Cote d'Ivoire") }, + {"CK", N_("Cook Islands") }, + {"CL", N_("Chile") }, + {"CM", N_("Cameroon") }, + {"CN", N_("China") }, + {"CO", N_("Colombia") }, + {"COM", N_("Internic Commercial") }, + {"COOP", N_("Cooperatives") }, + {"CR", N_("Costa Rica") }, + {"CS", N_("Serbia and Montenegro") }, + {"CU", N_("Cuba") }, + {"CV", N_("Cape Verde") }, + {"CX", N_("Christmas Island") }, + {"CY", N_("Cyprus") }, + {"CZ", N_("Czech Republic") }, + {"DD", N_("East Germany") }, + {"DE", N_("Germany") }, + {"DJ", N_("Djibouti") }, + {"DK", N_("Denmark") }, + {"DM", N_("Dominica") }, + {"DO", N_("Dominican Republic") }, + {"DZ", N_("Algeria") }, + {"EC", N_("Ecuador") }, + {"EDU", N_("Educational Institution") }, + {"EE", N_("Estonia") }, + {"EG", N_("Egypt") }, + {"EH", N_("Western Sahara") }, + {"ER", N_("Eritrea") }, + {"ES", N_("Spain") }, + {"ET", N_("Ethiopia") }, + {"EU", N_("European Union") }, + {"FI", N_("Finland") }, + {"FJ", N_("Fiji") }, + {"FK", N_("Falkland Islands") }, + {"FM", N_("Micronesia") }, + {"FO", N_("Faroe Islands") }, + {"FR", N_("France") }, + {"GA", N_("Gabon") }, + {"GB", N_("Great Britain") }, + {"GD", N_("Grenada") }, + {"GE", N_("Georgia") }, + {"GF", N_("French Guiana") }, + {"GG", N_("British Channel Isles") }, + {"GH", N_("Ghana") }, + {"GI", N_("Gibraltar") }, + {"GL", N_("Greenland") }, + {"GM", N_("Gambia") }, + {"GN", N_("Guinea") }, + {"GOV", N_("Government") }, + {"GP", N_("Guadeloupe") }, + {"GQ", N_("Equatorial Guinea") }, + {"GR", N_("Greece") }, + {"GS", N_("S. Georgia and S. Sandwich Isles") }, + {"GT", N_("Guatemala") }, + {"GU", N_("Guam") }, + {"GW", N_("Guinea-Bissau") }, + {"GY", N_("Guyana") }, + {"HK", N_("Hong Kong") }, + {"HM", N_("Heard and McDonald Islands") }, + {"HN", N_("Honduras") }, + {"HR", N_("Croatia") }, + {"HT", N_("Haiti") }, + {"HU", N_("Hungary") }, + {"ID", N_("Indonesia") }, + {"IE", N_("Ireland") }, + {"IL", N_("Israel") }, + {"IM", N_("Isle of Man") }, + {"IN", N_("India") }, + {"INFO", N_("Informational") }, + {"INT", N_("International") }, + {"IO", N_("British Indian Ocean Territory") }, + {"IQ", N_("Iraq") }, + {"IR", N_("Iran") }, + {"IS", N_("Iceland") }, + {"IT", N_("Italy") }, + {"JE", N_("Jersey") }, + {"JM", N_("Jamaica") }, + {"JO", N_("Jordan") }, + {"JOBS", N_("Company Jobs") }, + {"JP", N_("Japan") }, + {"KE", N_("Kenya") }, + {"KG", N_("Kyrgyzstan") }, + {"KH", N_("Cambodia") }, + {"KI", N_("Kiribati") }, + {"KM", N_("Comoros") }, + {"KN", N_("St. Kitts and Nevis") }, + {"KP", N_("North Korea") }, + {"KR", N_("South Korea") }, + {"KW", N_("Kuwait") }, + {"KY", N_("Cayman Islands") }, + {"KZ", N_("Kazakhstan") }, + {"LA", N_("Laos") }, + {"LB", N_("Lebanon") }, + {"LC", N_("Saint Lucia") }, + {"LI", N_("Liechtenstein") }, + {"LK", N_("Sri Lanka") }, + {"LR", N_("Liberia") }, + {"LS", N_("Lesotho") }, + {"LT", N_("Lithuania") }, + {"LU", N_("Luxembourg") }, + {"LV", N_("Latvia") }, + {"LY", N_("Libya") }, + {"MA", N_("Morocco") }, + {"MC", N_("Monaco") }, + {"MD", N_("Moldova") }, + {"ME", N_("Montenegro") }, + {"MED", N_("United States Medical") }, + {"MG", N_("Madagascar") }, + {"MH", N_("Marshall Islands") }, + {"MIL", N_("Military") }, + {"MK", N_("Macedonia") }, + {"ML", N_("Mali") }, + {"MM", N_("Myanmar") }, + {"MN", N_("Mongolia") }, + {"MO", N_("Macau") }, + {"MOBI", N_("Mobile Devices") }, + {"MP", N_("Northern Mariana Islands") }, + {"MQ", N_("Martinique") }, + {"MR", N_("Mauritania") }, + {"MS", N_("Montserrat") }, + {"MT", N_("Malta") }, + {"MU", N_("Mauritius") }, + {"MUSEUM", N_("Museums") }, + {"MV", N_("Maldives") }, + {"MW", N_("Malawi") }, + {"MX", N_("Mexico") }, + {"MY", N_("Malaysia") }, + {"MZ", N_("Mozambique") }, + {"NA", N_("Namibia") }, + {"NAME", N_("Individual's Names") }, + {"NC", N_("New Caledonia") }, + {"NE", N_("Niger") }, + {"NET", N_("Internic Network") }, + {"NF", N_("Norfolk Island") }, + {"NG", N_("Nigeria") }, + {"NI", N_("Nicaragua") }, + {"NL", N_("Netherlands") }, + {"NO", N_("Norway") }, + {"NP", N_("Nepal") }, + {"NR", N_("Nauru") }, + {"NU", N_("Niue") }, + {"NZ", N_("New Zealand") }, + {"OM", N_("Oman") }, + {"ORG", N_("Internic Non-Profit Organization") }, + {"PA", N_("Panama") }, + {"PE", N_("Peru") }, + {"PF", N_("French Polynesia") }, + {"PG", N_("Papua New Guinea") }, + {"PH", N_("Philippines") }, + {"PK", N_("Pakistan") }, + {"PL", N_("Poland") }, + {"PM", N_("St. Pierre and Miquelon") }, + {"PN", N_("Pitcairn") }, + {"PR", N_("Puerto Rico") }, + {"PRO", N_("Professions") }, + {"PS", N_("Palestinian Territory") }, + {"PT", N_("Portugal") }, + {"PW", N_("Palau") }, + {"PY", N_("Paraguay") }, + {"QA", N_("Qatar") }, + {"RE", N_("Reunion") }, + {"RO", N_("Romania") }, + {"RPA", N_("Old School ARPAnet") }, + {"RS", N_("Serbia") }, + {"RU", N_("Russian Federation") }, + {"RW", N_("Rwanda") }, + {"SA", N_("Saudi Arabia") }, + {"SB", N_("Solomon Islands") }, + {"SC", N_("Seychelles") }, + {"SD", N_("Sudan") }, + {"SE", N_("Sweden") }, + {"SG", N_("Singapore") }, + {"SH", N_("St. Helena") }, + {"SI", N_("Slovenia") }, + {"SJ", N_("Svalbard and Jan Mayen Islands") }, + {"SK", N_("Slovak Republic") }, + {"SL", N_("Sierra Leone") }, + {"SM", N_("San Marino") }, + {"SN", N_("Senegal") }, + {"SO", N_("Somalia") }, + {"SR", N_("Suriname") }, + {"SS", N_("South Sudan") }, + {"ST", N_("Sao Tome and Principe") }, + {"SU", N_("Former USSR") }, + {"SV", N_("El Salvador") }, + {"SY", N_("Syria") }, + {"SZ", N_("Swaziland") }, + {"TC", N_("Turks and Caicos Islands") }, + {"TD", N_("Chad") }, + {"TEL", N_("Internet Communication Services") }, + {"TF", N_("French Southern Territories") }, + {"TG", N_("Togo") }, + {"TH", N_("Thailand") }, + {"TJ", N_("Tajikistan") }, + {"TK", N_("Tokelau") }, + {"TL", N_("East Timor") }, + {"TM", N_("Turkmenistan") }, + {"TN", N_("Tunisia") }, + {"TO", N_("Tonga") }, + {"TP", N_("East Timor") }, + {"TR", N_("Turkey") }, + {"TRAVEL", N_("Travel and Tourism") }, + {"TT", N_("Trinidad and Tobago") }, + {"TV", N_("Tuvalu") }, + {"TW", N_("Taiwan") }, + {"TZ", N_("Tanzania") }, + {"UA", N_("Ukraine") }, + {"UG", N_("Uganda") }, + {"UK", N_("United Kingdom") }, + {"US", N_("United States of America") }, + {"UY", N_("Uruguay") }, + {"UZ", N_("Uzbekistan") }, + {"VA", N_("Vatican City State") }, + {"VC", N_("St. Vincent and the Grenadines") }, + {"VE", N_("Venezuela") }, + {"VG", N_("British Virgin Islands") }, + {"VI", N_("US Virgin Islands") }, + {"VN", N_("Vietnam") }, + {"VU", N_("Vanuatu") }, + {"WF", N_("Wallis and Futuna Islands") }, + {"WS", N_("Samoa") }, + {"XXX", N_("Adult Entertainment") }, + {"YE", N_("Yemen") }, + {"YT", N_("Mayotte") }, + {"YU", N_("Yugoslavia") }, + {"ZA", N_("South Africa") }, + {"ZM", N_("Zambia") }, + {"ZW", N_("Zimbabwe") }, +}; + +char * +country (char *hostname) +{ + char *p; + domain_t *dom; + + if (!hostname || !*hostname || isdigit ((unsigned char) hostname[strlen (hostname) - 1])) + return NULL; + if ((p = strrchr (hostname, '.'))) + p++; + else + p = hostname; + + dom = bsearch (p, domain, sizeof (domain) / sizeof (domain_t), + sizeof (domain_t), country_compare); + + if (!dom) + return NULL; + + return _(dom->country); +} + +void +country_search (char *pattern, void *ud, void (*print)(void *, char *, ...)) +{ + const domain_t *dom; + size_t i; + + for (i = 0; i < sizeof (domain) / sizeof (domain_t); i++) + { + dom = &domain[i]; + if (match (pattern, dom->country) || match (pattern, _(dom->country))) + { + print (ud, "%s = %s\n", dom->code, _(dom->country)); + } + } +} + +void +util_exec (const char *cmd) +{ + g_spawn_command_line_async (cmd, NULL); +} + +unsigned long +make_ping_time (void) +{ +#ifndef WIN32 + struct timeval timev; + gettimeofday (&timev, 0); +#else + GTimeVal timev; + g_get_current_time (&timev); +#endif + return (timev.tv_sec - 50000) * 1000 + timev.tv_usec/1000; +} + +int +rfc_casecmp (const char *s1, const char *s2) +{ + int c1, c2; + + while (*s1 && *s2) + { + c1 = (int)rfc_tolower (*s1); + c2 = (int)rfc_tolower (*s2); + if (c1 != c2) + return (c1 - c2); + s1++; + s2++; + } + return (((int)*s1) - ((int)*s2)); +} + +int +rfc_ncasecmp (char *s1, char *s2, int n) +{ + int c1, c2; + + while (*s1 && *s2 && n > 0) + { + c1 = (int)rfc_tolower (*s1); + c2 = (int)rfc_tolower (*s2); + if (c1 != c2) + return (c1 - c2); + n--; + s1++; + s2++; + } + c1 = (int)rfc_tolower (*s1); + c2 = (int)rfc_tolower (*s2); + return (n == 0) ? 0 : (c1 - c2); +} + +const unsigned char rfc_tolowertab[] = + { 0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, + 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14, + 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, + 0x1e, 0x1f, + ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')', + '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + ':', ';', '<', '=', '>', '?', + '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', + 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', + '_', + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', + 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', + 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, + 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, + 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, + 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, + 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, + 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, + 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff +}; + +static gboolean +file_exists (char *fname) +{ + return (g_access (fname, F_OK) == 0) ? TRUE : FALSE; +} + +static gboolean +copy_file (char *dl_src, char *dl_dest, int permissions) +{ + int tmp_src, tmp_dest; + gboolean ok = FALSE; + char dl_tmp[4096]; + int return_tmp, return_tmp2; + + if ((tmp_src = g_open (dl_src, O_RDONLY | OFLAGS, 0600)) == -1) + { + g_fprintf (stderr, "Unable to open() file '%s' (%s) !", dl_src, + strerror (errno)); + return FALSE; + } + + if ((tmp_dest = + g_open (dl_dest, O_WRONLY | O_CREAT | O_TRUNC | OFLAGS, permissions)) < 0) + { + close (tmp_src); + g_fprintf (stderr, "Unable to create file '%s' (%s) !", dl_src, + strerror (errno)); + return FALSE; + } + + for (;;) + { + return_tmp = read (tmp_src, dl_tmp, sizeof (dl_tmp)); + + if (!return_tmp) + { + ok = TRUE; + break; + } + + if (return_tmp < 0) + { + fprintf (stderr, "download_move_to_completed_dir(): " + "error reading while moving file to save directory (%s)", + strerror (errno)); + break; + } + + return_tmp2 = write (tmp_dest, dl_tmp, return_tmp); + + if (return_tmp2 < 0) + { + fprintf (stderr, "download_move_to_completed_dir(): " + "error writing while moving file to save directory (%s)", + strerror (errno)); + break; + } + + if (return_tmp < sizeof (dl_tmp)) + { + ok = TRUE; + break; + } + } + + close (tmp_dest); + close (tmp_src); + return ok; +} + +/* Takes care of moving a file from a temporary download location to a completed location. */ +void +move_file (char *src_dir, char *dst_dir, char *fname, int dccpermissions) +{ + char *src; + char *dst; + int res, i; + + /* if dcc_dir and dcc_completed_dir are the same then we are done */ + if (0 == strcmp (src_dir, dst_dir) || + 0 == dst_dir[0]) + return; /* Already in "completed dir" */ + + src = g_build_filename (src_dir, fname, NULL); + dst = g_build_filename (dst_dir, fname, NULL); + + /* already exists in completed dir? Append a number */ + if (file_exists (dst)) + { + for (i = 0; ; i++) + { + g_free (dst); + dst = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "%s.%d", dst_dir, fname, i); + if (!file_exists (dst)) + break; + } + } + + /* first try a simple rename move */ + res = g_rename (src, dst); + + if (res == -1 && (errno == EXDEV || errno == EPERM)) + { + /* link failed because either the two paths aren't on the */ + /* same filesystem or the filesystem doesn't support hard */ + /* links, so we have to do a copy. */ + if (copy_file (src, dst, dccpermissions)) + g_unlink (src); + } + + g_free (dst); + g_free (src); +} + +/* separates a string according to a 'sep' char, then calls the callback + function for each token found */ + +int +token_foreach (char *str, char sep, + int (*callback) (char *str, void *ud), void *ud) +{ + char t, *start = str; + + while (1) + { + if (*str == sep || *str == 0) + { + t = *str; + *str = 0; + if (callback (start, ud) < 1) + { + *str = t; + return FALSE; + } + *str = t; + + if (*str == 0) + break; + str++; + start = str; + + } else + { + /* chars $00-$7f can never be embedded in utf-8 */ + str++; + } + } + + return TRUE; +} + +/* 31 bit string hash functions */ + +guint32 +str_hash (const char *key) +{ + const char *p = key; + guint32 h = *p; + + if (h) + for (p += 1; *p != '\0'; p++) + h = (h << 5) - h + *p; + + return h; +} + +guint32 +str_ihash (const unsigned char *key) +{ + const char *p = key; + guint32 h = rfc_tolowertab [(guint)*p]; + + if (h) + for (p += 1; *p != '\0'; p++) + h = (h << 5) - h + rfc_tolowertab [(guint)*p]; + + return h; +} + +/* features: 1. "src" must be valid, NULL terminated UTF-8 */ +/* 2. "dest" will be left with valid UTF-8 - no partial chars! */ + +void +safe_strcpy (char *dest, const char *src, int bytes_left) +{ + int mbl; + + while (1) + { + mbl = g_utf8_skip[*((unsigned char *)src)]; + + if (bytes_left < (mbl + 1)) /* can't fit with NULL? */ + { + *dest = 0; + break; + } + + if (mbl == 1) /* one byte char */ + { + *dest = *src; + if (*src == 0) + break; /* it all fit */ + dest++; + src++; + bytes_left--; + } + else /* multibyte char */ + { + memcpy (dest, src, mbl); + dest += mbl; + src += mbl; + bytes_left -= mbl; + } + } +} + +void +canonalize_key (char *key) +{ + char *pos, token; + + for (pos = key; (token = *pos) != 0; pos++) + { + if (token != '_' && (token < '0' || token > '9') && (token < 'A' || token > 'Z') && (token < 'a' || token > 'z')) + { + *pos = '_'; + } + else + { + *pos = tolower(token); + } + } +} + +int +portable_mode (void) +{ +#ifdef WIN32 + static int is_portable = -1; + + if (G_UNLIKELY(is_portable == -1)) + { + char *path = g_win32_get_package_installation_directory_of_module (NULL); + char *filename; + + if (path == NULL) + path = g_strdup ("."); + + filename = g_build_filename (path, "portable-mode", NULL); + is_portable = g_file_test (filename, G_FILE_TEST_EXISTS); + + g_free (path); + g_free (filename); + } + + return is_portable; +#else + return 0; +#endif +} + +char * +encode_sasl_pass_plain (char *user, char *pass) +{ + int authlen; + char *buffer; + char *encoded; + + /* we can't call strlen() directly on buffer thanks to the atrocious \0 characters it requires */ + authlen = strlen (user) * 2 + 2 + strlen (pass); + buffer = g_strdup_printf ("%s%c%s%c%s", user, '\0', user, '\0', pass); + encoded = g_base64_encode ((unsigned char*) buffer, authlen); + g_free (buffer); + + return encoded; +} + +#ifdef USE_OPENSSL +static char * +str_sha256hash (char *string) +{ + int i; + unsigned char hash[SHA256_DIGEST_LENGTH]; + char buf[SHA256_DIGEST_LENGTH * 2 + 1]; /* 64 digit hash + '\0' */ + +#if OPENSSL_VERSION_NUMBER >= 0x30000000L + SHA256 (string, strlen (string), hash); +#else + SHA256_CTX sha256; + + SHA256_Init (&sha256); + SHA256_Update (&sha256, string, strlen (string)); + SHA256_Final (hash, &sha256); +#endif + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + { + sprintf (buf + (i * 2), "%02x", hash[i]); + } + + buf[SHA256_DIGEST_LENGTH * 2] = 0; + + return g_strdup (buf); +} + +static char * +rfc_strlower (const char *str) +{ + size_t i, len = strlen(str); + char *lower = g_new(char, len + 1); + + for (i = 0; i < len; ++i) + { + lower[i] = rfc_tolower(str[i]); + } + lower[i] = '\0'; + + return lower; +} + +/** + * \brief Generate CHALLENGEAUTH response for QuakeNet login. + * + * \param username QuakeNet user name + * \param password password for the user + * \param challenge the CHALLENGE response we got from Q + * + * After a successful connection to QuakeNet a CHALLENGE is requested from Q. + * Generate the CHALLENGEAUTH response from this CHALLENGE and our user + * credentials as per the + * <a href="http://www.quakenet.org/development/challengeauth">CHALLENGEAUTH</a> + * docs. As for using OpenSSL HMAC, see + * <a href="http://www.askyb.com/cpp/openssl-hmac-hasing-example-in-cpp/">example 1</a>, + * <a href="http://stackoverflow.com/questions/242665/understanding-engine-initialization-in-openssl">example 2</a>. + */ +char * +challengeauth_response (const char *username, const char *password, const char *challenge) +{ + int i; + char *user; + char *pass; + char *passhash; + char *key; + char *keyhash; + unsigned char *digest; + GString *buf = g_string_new_len (NULL, SHA256_DIGEST_LENGTH * 2); + + user = rfc_strlower (username); /* convert username to lowercase as per the RFC */ + + pass = g_strndup (password, 10); /* truncate to 10 characters */ + passhash = str_sha256hash (pass); + g_free (pass); + + key = g_strdup_printf ("%s:%s", user, passhash); + g_free (user); + g_free (passhash); + + keyhash = str_sha256hash (key); + g_free (key); + + digest = HMAC (EVP_sha256 (), keyhash, strlen (keyhash), (unsigned char *) challenge, strlen (challenge), NULL, NULL); + g_free (keyhash); + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + { + g_string_append_printf (buf, "%02x", (unsigned int) digest[i]); + } + + return g_string_free (buf, FALSE); +} +#endif + +/** + * \brief Wrapper around strftime for Windows + * + * Prevents crashing when using an invalid format by escaping them. + * + * Behaves the same as strftime with the addition that + * it returns 0 if the escaped format string is too large. + * + * Based upon work from znc-msvc project. + * + * This assumes format is a locale-encoded string. For utf-8 strings, use strftime_utf8 + */ +size_t +strftime_validated (char *dest, size_t destsize, const char *format, const struct tm *time) +{ +#ifndef WIN32 + return strftime (dest, destsize, format, time); +#else + char safe_format[64]; + const char *p = format; + int i = 0; + + if (strlen (format) >= sizeof(safe_format)) + return 0; + + memset (safe_format, 0, sizeof(safe_format)); + + while (*p) + { + if (*p == '%') + { + int has_hash = (*(p + 1) == '#'); + char c = *(p + (has_hash ? 2 : 1)); + + if (i >= sizeof (safe_format)) + return 0; + + switch (c) + { + case 'a': case 'A': case 'b': case 'B': case 'c': case 'd': case 'H': case 'I': case 'j': case 'm': case 'M': + case 'p': case 'S': case 'U': case 'w': case 'W': case 'x': case 'X': case 'y': case 'Y': case 'z': case 'Z': + case '%': + /* formatting code is fine */ + break; + default: + /* replace bad formatting code with itself, escaped, e.g. "%V" --> "%%V" */ + g_strlcat (safe_format, "%%", sizeof(safe_format)); + i += 2; + p++; + break; + } + + /* the current loop run will append % (and maybe #) and the next one will do the actual char. */ + if (has_hash) + { + safe_format[i] = *p; + p++; + i++; + } + if (c == '%') + { + safe_format[i] = *p; + p++; + i++; + } + } + + if (*p) + { + safe_format[i] = *p; + p++; + i++; + } + } + + return strftime (dest, destsize, safe_format, time); +#endif +} + +/** + * \brief Similar to strftime except it works with utf-8 formats, since strftime treats the format as locale-encoded. + */ +gsize +strftime_utf8 (char *dest, gsize destsize, const char *format, time_t time) +{ + gsize result; + GDate* date = g_date_new (); + g_date_set_time_t (date, time); + result = g_date_strftime (dest, destsize, format, date); + g_date_free (date); + return result; +} diff --git a/src/common/util.h b/src/common/util.h new file mode 100644 index 0000000000000000000000000000000000000000..fcb238345ee7ee3677b447122fd813f020bd3911 --- /dev/null +++ b/src/common/util.h @@ -0,0 +1,83 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/************************************************************************ + * This technique was borrowed in part from the source code to + * ircd-hybrid-5.3 to implement case-insensitive string matches which + * are fully compliant with Section 2.2 of RFC 1459, the copyright + * of that code being (C) 1990 Jarkko Oikarinen and under the GPL. + * + * A special thanks goes to Mr. Okarinen for being the one person who + * seems to have ever noticed this section in the original RFC and + * written code for it. Shame on all the rest of you (myself included). + * + * --+ Dagmar d'Surreal + */ + +#ifndef HEXCHAT_UTIL_H +#define HEXCHAT_UTIL_H + +#define rfc_tolower(c) (rfc_tolowertab[(unsigned char)(c)]) + +#define ELLIPSIS "\xe2\x80\xa6" + +extern const unsigned char rfc_tolowertab[]; + +char *expand_homedir (char *file); +void path_part (char *file, char *path, int pathlen); +int match (const char *mask, const char *string); +char *file_part (char *file); +void for_files (const char *dirname, const char *mask, void callback (char *file)); +int rfc_casecmp (const char *, const char *); +int rfc_ncasecmp (char *, char *, int); +int buf_get_line (char *, char **, int *, int len); +char *nocasestrstr (const char *text, const char *tofind); +char *country (char *); +void country_search (char *pattern, void *ud, void (*print)(void *, char *, ...)); +char *get_sys_str (int with_cpu); +void util_exec (const char *cmd); +#define STRIP_COLOR 1 +#define STRIP_ATTRIB 2 +#define STRIP_HIDDEN 4 +#define STRIP_ESCMARKUP 8 +#define STRIP_ALL 7 +gchar *strip_color (const char *text, int len, int flags); +int strip_color2 (const char *src, int len, char *dst, int flags); +int strip_hidden_attribute (char *src, char *dst); +char *errorstring (int err); +int waitline (int sok, char *buf, int bufsize, int); +#ifdef WIN32 +int waitline2 (GIOChannel *source, char *buf, int bufsize); +int get_cpu_arch (void); +#else +#define waitline2(source,buf,size) waitline(serv->childread,buf,size,0) +#endif +unsigned long make_ping_time (void); +void move_file (char *src_dir, char *dst_dir, char *fname, int dccpermissions); +int token_foreach (char *str, char sep, int (*callback) (char *str, void *ud), void *ud); +guint32 str_hash (const char *key); +guint32 str_ihash (const unsigned char *key); +void safe_strcpy (char *dest, const char *src, int bytes_left); +void canonalize_key (char *key); +int portable_mode (void); +char *encode_sasl_pass_plain (char *user, char *pass); +char *challengeauth_response (const char *username, const char *password, const char *challenge); +size_t strftime_validated (char *dest, size_t destsize, const char *format, const struct tm *time); +gsize strftime_utf8 (char *dest, gsize destsize, const char *format, time_t time); +#endif diff --git a/src/dirent/dirent-win32.h b/src/dirent/dirent-win32.h new file mode 100644 index 0000000000000000000000000000000000000000..d1954c6bd240a0cb1f36c90b456a3878bed7271c --- /dev/null +++ b/src/dirent/dirent-win32.h @@ -0,0 +1,867 @@ +/* + * dirent.h - dirent API for Microsoft Visual Studio + * + * Copyright (C) 2006-2012 Toni Ronkko + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * ``Software''), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * + * Version 1.13, Dec 12 2012, Toni Ronkko + * Use traditional 8+3 file name if the name cannot be represented in the + * default ANSI code page. Now compiles again with MSVC 6.0. Thanks to + * Konstantin Khomoutov for testing. + * + * Version 1.12.1, Oct 1 2012, Toni Ronkko + * Bug fix: renamed wide-character DIR structure _wDIR to _WDIR (with + * capital W) in order to maintain compatibility with MingW. + * + * Version 1.12, Sep 30 2012, Toni Ronkko + * Define PATH_MAX and NAME_MAX. Added wide-character variants _wDIR, + * _wdirent, _wopendir(), _wreaddir(), _wclosedir() and _wrewinddir(). + * Thanks to Edgar Buerkle and Jan Nijtmans for ideas and code. + * + * Do not include windows.h. This allows dirent.h to be integrated more + * easily into programs using winsock. Thanks to Fernando Azaldegui. + * + * Version 1.11, Mar 15, 2011, Toni Ronkko + * Defined FILE_ATTRIBUTE_DEVICE for MSVC 6.0. + * + * Version 1.10, Aug 11, 2010, Toni Ronkko + * Added d_type and d_namlen fields to dirent structure. The former is + * especially useful for determining whether directory entry represents a + * file or a directory. For more information, see + * http://www.delorie.com/gnu/docs/glibc/libc_270.html + * + * Improved conformance to the standards. For example, errno is now set + * properly on failure and assert() is never used. Thanks to Peter Brockam + * for suggestions. + * + * Fixed a bug in rewinddir(): when using relative directory names, change + * of working directory no longer causes rewinddir() to fail. + * + * Version 1.9, Dec 15, 2009, John Cunningham + * Added rewinddir member function + * + * Version 1.8, Jan 18, 2008, Toni Ronkko + * Using FindFirstFileA and WIN32_FIND_DATAA to avoid converting string + * between multi-byte and unicode representations. This makes the + * code simpler and also allows the code to be compiled under MingW. Thanks + * to Azriel Fasten for the suggestion. + * + * Mar 4, 2007, Toni Ronkko + * Bug fix: due to the strncpy_s() function this file only compiled in + * Visual Studio 2005. Using the new string functions only when the + * compiler version allows. + * + * Nov 2, 2006, Toni Ronkko + * Major update: removed support for Watcom C, MS-DOS and Turbo C to + * simplify the file, updated the code to compile cleanly on Visual + * Studio 2005 with both unicode and multi-byte character strings, + * removed rewinddir() as it had a bug. + * + * Aug 20, 2006, Toni Ronkko + * Removed all remarks about MSVC 1.0, which is antiqued now. Simplified + * comments by removing SGML tags. + * + * May 14 2002, Toni Ronkko + * Embedded the function definitions directly to the header so that no + * source modules need to be included in the Visual Studio project. Removed + * all the dependencies to other projects so that this header file can be + * used independently. + * + * May 28 1998, Toni Ronkko + * First version. + *****************************************************************************/ +#ifndef DIRENT_H +#define DIRENT_H + +#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86) +# define _X86_ +#endif +#include <stdio.h> +#include <stdarg.h> +#include <windef.h> +#include <winbase.h> +#include <wchar.h> +#include <string.h> +#include <stdlib.h> +#include <malloc.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <errno.h> + +/* Indicates that d_type field is available in dirent structure */ +#define _DIRENT_HAVE_D_TYPE + +/* Indicates that d_namlen field is available in dirent structure */ +#define _DIRENT_HAVE_D_NAMLEN + +/* Entries missing from MSVC 6.0 */ +#if !defined(FILE_ATTRIBUTE_DEVICE) +# define FILE_ATTRIBUTE_DEVICE 0x40 +#endif + +/* File type and permission flags for stat() */ +#if !defined(S_IFMT) +# define S_IFMT _S_IFMT /* File type mask */ +#endif +#if !defined(S_IFDIR) +# define S_IFDIR _S_IFDIR /* Directory */ +#endif +#if !defined(S_IFCHR) +# define S_IFCHR _S_IFCHR /* Character device */ +#endif +#if !defined(S_IFFIFO) +# define S_IFFIFO _S_IFFIFO /* Pipe */ +#endif +#if !defined(S_IFREG) +# define S_IFREG _S_IFREG /* Regular file */ +#endif +#if !defined(S_IREAD) +# define S_IREAD _S_IREAD /* Read permission */ +#endif +#if !defined(S_IWRITE) +# define S_IWRITE _S_IWRITE /* Write permission */ +#endif +#if !defined(S_IEXEC) +# define S_IEXEC _S_IEXEC /* Execute permission */ +#endif +#if !defined(S_IFIFO) +# define S_IFIFO _S_IFIFO /* Pipe */ +#endif +#if !defined(S_IFBLK) +# define S_IFBLK 0 /* Block device */ +#endif +#if !defined(S_IFLNK) +# define S_IFLNK 0 /* Link */ +#endif +#if !defined(S_IFSOCK) +# define S_IFSOCK 0 /* Socket */ +#endif + +#if defined(_MSC_VER) +# define S_IRUSR S_IREAD /* Read user */ +# define S_IWUSR S_IWRITE /* Write user */ +# define S_IXUSR 0 /* Execute user */ +# define S_IRGRP 0 /* Read group */ +# define S_IWGRP 0 /* Write group */ +# define S_IXGRP 0 /* Execute group */ +# define S_IROTH 0 /* Read others */ +# define S_IWOTH 0 /* Write others */ +# define S_IXOTH 0 /* Execute others */ +#endif + +/* Maximum length of file name */ +#if !defined(PATH_MAX) +# define PATH_MAX MAX_PATH +#endif +#if !defined(FILENAME_MAX) +# define FILENAME_MAX MAX_PATH +#endif +#if !defined(NAME_MAX) +# define NAME_MAX FILENAME_MAX +#endif + +/* File type flags for d_type */ +#define DT_UNKNOWN 0 +#define DT_REG S_IFREG +#define DT_DIR S_IFDIR +#define DT_FIFO S_IFIFO +#define DT_SOCK S_IFSOCK +#define DT_CHR S_IFCHR +#define DT_BLK S_IFBLK + +/* Macros for converting between st_mode and d_type */ +#define IFTODT(mode) ((mode) & S_IFMT) +#define DTTOIF(type) (type) + +/* + * File type macros. Note that block devices, sockets and links cannot be + * distinguished on Windows and the macros S_ISBLK, S_ISSOCK and S_ISLNK are + * only defined for compatibility. These macros should always return false + * on Windows. + */ +#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO) +#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) +#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) +#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) +#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) + +/* Return the exact length of d_namlen without zero terminator */ +#define _D_EXACT_NAMLEN(p) ((p)->d_namlen) + +/* Return number of bytes needed to store d_namlen */ +#define _D_ALLOC_NAMLEN(p) (PATH_MAX + 1) + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Wide-character version */ +struct _wdirent { + long d_ino; /* Always zero */ + unsigned short d_reclen; /* Structure size */ + size_t d_namlen; /* Length of name without \0 */ + int d_type; /* File type */ + wchar_t d_name[PATH_MAX + 1]; /* File name */ +}; +typedef struct _wdirent _wdirent; + +struct _WDIR { + struct _wdirent ent; /* Current directory entry */ + WIN32_FIND_DATAW data; /* Private file data */ + int cached; /* True if data is valid */ + HANDLE handle; /* Win32 search handle */ + wchar_t *patt; /* Initial directory name */ +}; +typedef struct _WDIR _WDIR; + +static _WDIR *_wopendir (const wchar_t *dirname); +static struct _wdirent *_wreaddir (_WDIR *dirp); +static int _wclosedir (_WDIR *dirp); +static void _wrewinddir (_WDIR* dirp); + + +/* For compatibility with Symbian */ +#define wdirent _wdirent +#define WDIR _WDIR +#define wopendir _wopendir +#define wreaddir _wreaddir +#define wclosedir _wclosedir +#define wrewinddir _wrewinddir + + +/* Multi-byte character versions */ +struct dirent { + long d_ino; /* Always zero */ + unsigned short d_reclen; /* Structure size */ + size_t d_namlen; /* Length of name without \0 */ + int d_type; /* File type */ + char d_name[PATH_MAX + 1]; /* File name */ +}; +typedef struct dirent dirent; + +struct DIR { + struct dirent ent; + struct _WDIR *wdirp; +}; +typedef struct DIR DIR; + +static DIR *opendir (const char *dirname); +static struct dirent *readdir (DIR *dirp); +static int closedir (DIR *dirp); +static void rewinddir (DIR* dirp); + + +/* Internal utility functions */ +static WIN32_FIND_DATAW *dirent_first (_WDIR *dirp); +static WIN32_FIND_DATAW *dirent_next (_WDIR *dirp); + +static int dirent_mbstowcs_s( + size_t *pReturnValue, + wchar_t *wcstr, + size_t sizeInWords, + const char *mbstr, + size_t count); + +static int dirent_wcstombs_s( + size_t *pReturnValue, + char *mbstr, + size_t sizeInBytes, + const wchar_t *wcstr, + size_t count); + +static void dirent_set_errno (int error); + +/* + * Open directory stream DIRNAME for read and return a pointer to the + * internal working area that is used to retrieve individual directory + * entries. + */ +static _WDIR* +_wopendir( + const wchar_t *dirname) +{ + _WDIR *dirp = NULL; + int error; + DWORD n; + + /* Must have directory name */ + if (dirname == NULL || dirname[0] == '\0') { + dirent_set_errno (ENOENT); + return NULL; + } + + /* Allocate new _WDIR structure */ + dirp = (_WDIR*) g_new (struct _WDIR, 1); + /* Reset _WDIR structure */ + dirp->handle = INVALID_HANDLE_VALUE; + dirp->patt = NULL; + dirp->cached = 0; + + /* Compute the length of full path plus zero terminator */ + n = GetFullPathNameW (dirname, 0, NULL, NULL); + + /* Allocate room for absolute directory name and search pattern */ + dirp->patt = g_malloc (sizeof (wchar_t) * n + 16); + /* + * Convert relative directory name to an absolute one. This + * allows rewinddir() to function correctly even when current + * working directory is changed between opendir() and rewinddir(). + */ + n = GetFullPathNameW (dirname, n, dirp->patt, NULL); + if (n > 0) { + wchar_t *p; + + /* Append search pattern \* to the directory name */ + p = dirp->patt + n; + if (dirp->patt < p) { + switch (p[-1]) { + case '\\': + case '/': + case ':': + /* Directory ends in path separator, e.g. c:\temp\ */ + /*NOP*/; + break; + + default: + /* Directory name doesn't end in path separator */ + *p++ = '\\'; + } + } + *p++ = '*'; + *p = '\0'; + + /* Open directory stream and retrieve the first entry */ + if (dirent_first (dirp)) { + /* Directory stream opened successfully */ + error = 0; + } else { + /* Cannot retrieve first entry */ + error = 1; + dirent_set_errno (ENOENT); + } + + } else { + /* Cannot retrieve full path name */ + dirent_set_errno (ENOENT); + error = 1; + } + + /* Clean up in case of error */ + if (error && dirp) { + _wclosedir (dirp); + dirp = NULL; + } + + return dirp; +} + +/* + * Read next directory entry. The directory entry is returned in dirent + * structure in the d_name field. Individual directory entries returned by + * this function include regular files, sub-directories, pseudo-directories + * "." and ".." as well as volume labels, hidden files and system files. + */ +static struct _wdirent* +_wreaddir( + _WDIR *dirp) +{ + WIN32_FIND_DATAW *datap; + struct _wdirent *entp; + + /* Read next directory entry */ + datap = dirent_next (dirp); + if (datap) { + size_t n; + DWORD attr; + + /* Pointer to directory entry to return */ + entp = &dirp->ent; + + /* + * Copy file name as wide-character string. If the file name is too + * long to fit in to the destination buffer, then truncate file name + * to PATH_MAX characters and zero-terminate the buffer. + */ + n = 0; + while (n < PATH_MAX && datap->cFileName[n] != 0) { + entp->d_name[n] = datap->cFileName[n]; + n++; + } + dirp->ent.d_name[n] = 0; + + /* Length of file name excluding zero terminator */ + entp->d_namlen = n; + + /* File type */ + attr = datap->dwFileAttributes; + if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) { + entp->d_type = DT_CHR; + } else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) { + entp->d_type = DT_DIR; + } else { + entp->d_type = DT_REG; + } + + /* Reset dummy fields */ + entp->d_ino = 0; + entp->d_reclen = sizeof (struct _wdirent); + + } else { + + /* Last directory entry read */ + entp = NULL; + + } + + return entp; +} + +/* + * Close directory stream opened by opendir() function. This invalidates the + * DIR structure as well as any directory entry read previously by + * _wreaddir(). + */ +static int +_wclosedir( + _WDIR *dirp) +{ + int ok; + if (dirp) { + + /* Release search handle */ + if (dirp->handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->handle); + dirp->handle = INVALID_HANDLE_VALUE; + } + + /* Release search pattern */ + g_free (dirp->patt); + dirp->patt = NULL; + + /* Release directory structure */ + g_free (dirp); + ok = /*success*/0; + + } else { + /* Invalid directory stream */ + dirent_set_errno (EBADF); + ok = /*failure*/-1; + } + return ok; +} + +/* + * Rewind directory stream such that _wreaddir() returns the very first + * file name again. + */ +static void +_wrewinddir( + _WDIR* dirp) +{ + if (dirp) { + /* Release existing search handle */ + if (dirp->handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->handle); + } + + /* Open new search handle */ + dirent_first (dirp); + } +} + +/* Get first directory entry (internal) */ +static WIN32_FIND_DATAW* +dirent_first( + _WDIR *dirp) +{ + WIN32_FIND_DATAW *datap; + + /* Open directory and retrieve the first entry */ + dirp->handle = FindFirstFileW (dirp->patt, &dirp->data); + if (dirp->handle != INVALID_HANDLE_VALUE) { + + /* a directory entry is now waiting in memory */ + datap = &dirp->data; + dirp->cached = 1; + + } else { + + /* Failed to re-open directory: no directory entry in memory */ + dirp->cached = 0; + datap = NULL; + + } + return datap; +} + +/* Get next directory entry (internal) */ +static WIN32_FIND_DATAW* +dirent_next( + _WDIR *dirp) +{ + WIN32_FIND_DATAW *p; + + /* Get next directory entry */ + if (dirp->cached != 0) { + + /* A valid directory entry already in memory */ + p = &dirp->data; + dirp->cached = 0; + + } else if (dirp->handle != INVALID_HANDLE_VALUE) { + + /* Get the next directory entry from stream */ + if (FindNextFileW (dirp->handle, &dirp->data) != FALSE) { + /* Got a file */ + p = &dirp->data; + } else { + /* The very last entry has been processed or an error occured */ + FindClose (dirp->handle); + dirp->handle = INVALID_HANDLE_VALUE; + p = NULL; + } + + } else { + + /* End of directory stream reached */ + p = NULL; + + } + + return p; +} + +/* + * Open directory stream using plain old C-string. + */ +static DIR* +opendir( + const char *dirname) +{ + struct DIR *dirp; + int error; + wchar_t wname[PATH_MAX + 1]; + size_t n; + + /* Must have directory name */ + if (dirname == NULL || dirname[0] == '\0') { + dirent_set_errno (ENOENT); + return NULL; + } + + /* Allocate memory for DIR structure */ + dirp = (DIR*) g_new (struct DIR, 1); + + /* Convert directory name to wide-character string */ + error = dirent_mbstowcs_s( + &n, wname, PATH_MAX + 1, dirname, PATH_MAX); + if (!error) { + + /* Open directory stream using wide-character name */ + dirp->wdirp = _wopendir (wname); + if (dirp->wdirp) { + /* Directory stream opened */ + error = 0; + } else { + /* Failed to open directory stream */ + error = 1; + } + + } else { + /* + * Cannot convert file name to wide-character string. This + * occurs if the string contains invalid multi-byte sequences or + * the output buffer is too small to contain the resulting + * string. + */ + error = 1; + } + + /* Clean up in case of error */ + if (error != 0) { + g_free (dirp); + dirp = NULL; + } + + return dirp; +} + +/* + * Read next directory entry. + * + * When working with text consoles, please note that file names returned by + * readdir() are represented in the default ANSI code page while any output to + * console is typically formatted on another code page. Thus, non-ASCII + * characters in file names will not usually display correctly on console. The + * problem can be fixed in two ways: (1) change the character set of console + * to 1252 using chcp utility and use Lucida Console font, or (2) use + * _cprintf function when writing to console. The _cprinf() will re-encode + * ANSI strings to the console code page so many non-ASCII characters will + * display correcly. + */ +static struct dirent* +readdir( + DIR *dirp) +{ + WIN32_FIND_DATAW *datap; + struct dirent *entp; + + /* Read next directory entry */ + datap = dirent_next (dirp->wdirp); + if (datap) { + size_t n; + int error; + + /* Attempt to convert file name to multi-byte string */ + error = dirent_wcstombs_s( + &n, dirp->ent.d_name, MAX_PATH + 1, datap->cFileName, MAX_PATH); + + /* + * If the file name cannot be represented by a multi-byte string, + * then attempt to use old 8+3 file name. This allows traditional + * Unix-code to access some file names despite of unicode + * characters, although file names may seem unfamiliar to the user. + * + * Be ware that the code below cannot come up with a short file + * name unless the file system provides one. At least + * VirtualBox shared folders fail to do this. + */ + if (error && datap->cAlternateFileName[0] != '\0') { + error = dirent_wcstombs_s( + &n, dirp->ent.d_name, MAX_PATH + 1, datap->cAlternateFileName, + sizeof (datap->cAlternateFileName) / + sizeof (datap->cAlternateFileName[0])); + } + + if (!error) { + DWORD attr; + + /* Initialize directory entry for return */ + entp = &dirp->ent; + + /* Length of file name excluding zero terminator */ + entp->d_namlen = n - 1; + + /* File attributes */ + attr = datap->dwFileAttributes; + if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) { + entp->d_type = DT_CHR; + } else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) { + entp->d_type = DT_DIR; + } else { + entp->d_type = DT_REG; + } + + /* Reset dummy fields */ + entp->d_ino = 0; + entp->d_reclen = sizeof (struct dirent); + + } else { + /* + * Cannot convert file name to multi-byte string so construct + * an errornous directory entry and return that. Note that + * we cannot return NULL as that would stop the processing + * of directory entries completely. + */ + entp = &dirp->ent; + entp->d_name[0] = '?'; + entp->d_name[1] = '\0'; + entp->d_namlen = 1; + entp->d_type = DT_UNKNOWN; + entp->d_ino = 0; + entp->d_reclen = 0; + } + + } else { + /* No more directory entries */ + entp = NULL; + } + + return entp; +} + +/* + * Close directory stream. + */ +static int +closedir( + DIR *dirp) +{ + int ok; + if (dirp != NULL) { + + /* Close wide-character directory stream */ + ok = _wclosedir (dirp->wdirp); + dirp->wdirp = NULL; + + /* Release multi-byte character version */ + g_free (dirp); + + } else { + + /* Invalid directory stream */ + dirent_set_errno (EBADF); + ok = /*failure*/-1; + + } + return ok; +} + +/* + * Rewind directory stream to beginning. + */ +static void +rewinddir( + DIR* dirp) +{ + /* Rewind wide-character string directory stream */ + _wrewinddir (dirp->wdirp); +} + +/* Convert multi-byte string to wide character string */ +static int +dirent_mbstowcs_s( + size_t *pReturnValue, + wchar_t *wcstr, + size_t sizeInWords, + const char *mbstr, + size_t count) +{ + int error; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + + /* Microsoft Visual Studio 2005 or later */ + error = mbstowcs_s (pReturnValue, wcstr, sizeInWords, mbstr, count); + +#else + + /* Older Visual Studio or non-Microsoft compiler */ + size_t n; + + /* Convert to wide-character string */ + n = mbstowcs (wcstr, mbstr, count); + if (n < sizeInWords) { + + /* Zero-terminate output buffer */ + if (wcstr) { + wcstr[n] = 0; + } + + /* Length of resuting multi-byte string WITH zero terminator */ + if (pReturnValue) { + *pReturnValue = n + 1; + } + + /* Success */ + error = 0; + + } else { + + /* Could not convert string */ + error = 1; + + } + +#endif + + return error; +} + +/* Convert wide-character string to multi-byte string */ +static int +dirent_wcstombs_s( + size_t *pReturnValue, + char *mbstr, + size_t sizeInBytes, + const wchar_t *wcstr, + size_t count) +{ + int error; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + + /* Microsoft Visual Studio 2005 or later */ + error = wcstombs_s (pReturnValue, mbstr, sizeInBytes, wcstr, count); + +#else + + /* Older Visual Studio or non-Microsoft compiler */ + size_t n; + + /* Convert to multi-byte string */ + n = wcstombs (mbstr, wcstr, count); + if (n < sizeInBytes) { + + /* Zero-terminate output buffer */ + if (mbstr) { + mbstr[n] = '\0'; + } + + /* Lenght of resulting multi-bytes string WITH zero-terminator */ + if (pReturnValue) { + *pReturnValue = n + 1; + } + + /* Success */ + error = 0; + + } else { + + /* Cannot convert string */ + error = 1; + + } + +#endif + + return error; +} + +/* Set errno variable */ +static void +dirent_set_errno( + int error) +{ +#if defined(_MSC_VER) + + /* Microsoft Visual Studio */ + _set_errno (error); + +#else + + /* Non-Microsoft compiler */ + errno = error; + +#endif +} + + +#ifdef __cplusplus +} +#endif +#endif /*DIRENT_H*/ + diff --git a/src/fe-gtk/ascii.c b/src/fe-gtk/ascii.c new file mode 100644 index 0000000000000000000000000000000000000000..56b0198b09bf5cbded2749888b8ab15a1862d98a --- /dev/null +++ b/src/fe-gtk/ascii.c @@ -0,0 +1,171 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "gtkutil.h" +#include "ascii.h" +#include "maingui.h" + +static const unsigned char table[]= +{ +/* Line 1 */ '\n', +0xc2,0xa1,0xc2,0xbf,0xc2,0xa2,0xc2,0xa3,0xe2,0x82,0xac,0xc2,0xa5,0xc2,0xa6,0xc2, +0xa7,0xc2,0xa8,0xc2,0xa9,0xc2,0xae,0xc2,0xaa,0xc2,0xab,0xc2,0xbb,0xc2,0xac,0xc2, +0xad,0xc2,0xaf,0xe2,0x99,0xaa, +/* Line 2 */ '\n', +0xc2,0xba,0xc2,0xb9,0xc2,0xb2,0xc2,0xb3,0xc2,0xb4,0xc2,0xb5,0xc3,0x9e,0xc3,0xbe, +0xc2,0xb6,0xc2,0xb7,0xc2,0xb8,0xc2,0xb0,0xc2,0xbc,0xc2,0xbd,0xc2,0xbe,0xc3,0x97, +0xc2,0xb1,0xc3,0xb7, +/* Line 3 */ '\n', +0xc3,0x80,0xc3,0x81,0xc3,0x82,0xc3,0x83,0xc3,0x84,0xc3,0x85,0xc3,0x86,0xc4,0x82, +0xc4,0x84,0x20,0xc3,0x87,0xc4,0x86,0xc4,0x8c,0xc5,0x92,0x20,0xc4,0x8e,0xc4,0x90, +0x20, +/* Line 4 */ '\n', +0xc3,0xa0,0xc3,0xa1,0xc3,0xa2,0xc3,0xa3,0xc3,0xa4,0xc3,0xa5,0xc3,0xa6,0xc4,0x83, +0xc4,0x85,0x20,0xc3,0xa7,0xc4,0x87,0xc4,0x8d,0xc5,0x93,0x20,0xc4,0x8f,0xc4,0x91, +0x20, +/* Line 5 */ '\n', +0xc3,0x88,0xc3,0x89,0xc3,0x8a,0xc3,0x8b,0xc4,0x98,0xc4,0x9a,0x20,0xc4,0x9e,0x20, +0xc3,0x8c,0xc3,0x8d,0xc3,0x8e,0xc3,0x8f,0xc4,0xb0,0x20,0xc4,0xb9,0xc4,0xbd,0xc5, +0x81, +/* Line 6 */ '\n', +0xc3,0xa8,0xc3,0xa9,0xc3,0xaa,0xc3,0xab,0xc4,0x99,0xc4,0x9b,0x20,0xc4,0x9f,0x20, +0xc3,0xac,0xc3,0xad,0xc3,0xae,0xc3,0xaf,0xc4,0xb1,0x20,0xc4,0xba,0xc4,0xbe,0xc5, +0x82, +/* Line 7 */ '\n', +0xc3,0x91,0xc5,0x83,0xc5,0x87,0x20,0xc3,0x92,0xc3,0x93,0xc3,0x94,0xc3,0x95,0xc3, +0x96,0xc3,0x98,0xc5,0x90,0x20,0xc5,0x94,0xc5,0x98,0x20,0xc5,0x9a,0xc5,0x9e,0xc5, +0xa0, +/* Line 8 */ '\n', +0xc3,0xb1,0xc5,0x84,0xc5,0x88,0x20,0xc3,0xb2,0xc3,0xb3,0xc3,0xb4,0xc3,0xb5,0xc3, +0xb6,0xc3,0xb8,0xc5,0x91,0x20,0xc5,0x95,0xc5,0x99,0x20,0xc5,0x9b,0xc5,0x9f,0xc5, +0xa1, +/* Line 9 */ '\n', +0x20,0xc5,0xa2,0xc5,0xa4,0x20,0xc3,0x99,0xc3,0x9a,0xc3,0x9b,0xc5,0xb2,0xc3,0x9c, +0xc5,0xae,0xc5,0xb0,0x20,0xc3,0x9d,0xc3,0x9f,0x20,0xc5,0xb9,0xc5,0xbb,0xc5,0xbd, +/* Line 10 */ '\n', +0x20,0xc5,0xa3,0xc5,0xa5,0x20,0xc3,0xb9,0xc3,0xba,0xc3,0xbb,0xc5,0xb3,0xc3,0xbc, +0xc5,0xaf,0xc5,0xb1,0x20,0xc3,0xbd,0xc3,0xbf,0x20,0xc5,0xba,0xc5,0xbc,0xc5,0xbe, +/* Line 11 */ '\n', +0xd0,0x90,0xd0,0x91,0xd0,0x92,0xd0,0x93,0xd0,0x94,0xd0,0x95,0xd0,0x81,0xd0,0x96, +0xd0,0x97,0xd0,0x98,0xd0,0x99,0xd0,0x9a,0xd0,0x9b,0xd0,0x9c,0xd0,0x9d,0xd0,0x9e, +0xd0,0x9f,0xd0,0xa0, +/* Line 12 */ '\n', +0xd0,0xb0,0xd0,0xb1,0xd0,0xb2,0xd0,0xb3,0xd0,0xb4,0xd0,0xb5,0xd1,0x91,0xd0,0xb6, +0xd0,0xb7,0xd0,0xb8,0xd0,0xb9,0xd0,0xba,0xd0,0xbb,0xd0,0xbc,0xd0,0xbd,0xd0,0xbe, +0xd0,0xbf,0xd1,0x80, +/* Line 13 */ '\n', +0xd0,0xa1,0xd0,0xa2,0xd0,0xa3,0xd0,0xa4,0xd0,0xa5,0xd0,0xa6,0xd0,0xa7,0xd0,0xa8, +0xd0,0xa9,0xd0,0xaa,0xd0,0xab,0xd0,0xac,0xd0,0xad,0xd0,0xae,0xd0,0xaf, +/* Line 14 */ '\n', +0xd1,0x81,0xd1,0x82,0xd1,0x83,0xd1,0x84,0xd1,0x85,0xd1,0x86,0xd1,0x87,0xd1,0x88, +0xd1,0x89,0xd1,0x8a,0xd1,0x8b,0xd1,0x8c,0xd1,0x8d,0xd1,0x8e,0xd1,0x8f,0 +}; + +static gboolean +ascii_enter (GtkWidget * wid, GdkEventCrossing *event, GtkWidget *label) +{ + char buf[64]; + const char *text; + gunichar u; + + text = gtk_button_get_label (GTK_BUTTON (wid)); + u = g_utf8_get_char (text); + sprintf (buf, "%s U+%04X", text, u); + gtk_label_set_text (GTK_LABEL (label), buf); + + return FALSE; +} + +static void +ascii_click (GtkWidget * wid, gpointer userdata) +{ + int tmp_pos; + const char *text; + + if (current_sess) + { + text = gtk_button_get_label (GTK_BUTTON (wid)); + wid = current_sess->gui->input_box; + tmp_pos = SPELL_ENTRY_GET_POS (wid); + SPELL_ENTRY_INSERT (wid, text, -1, &tmp_pos); + SPELL_ENTRY_SET_POS (wid, tmp_pos); + } +} + +void +ascii_open (void) +{ + int i, len; + const unsigned char *table_pos; + char name[8]; + GtkWidget *frame, *label, *but, *hbox = NULL, *vbox, *win; + + win = mg_create_generic_tab ("charmap", _("Character Chart"), TRUE, TRUE, + NULL, NULL, 0, 0, &vbox, NULL); + gtk_container_set_border_width (GTK_CONTAINER (win), 5); + gtkutil_destroy_on_esc (win); + + label = gtk_label_new (NULL); + + table_pos = table; + i = 0; + while (table_pos[0] != 0) + { + if (table_pos[0] == '\n' || i == 0) + { + table_pos++; + hbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + gtk_widget_show (hbox); + i++; + continue; + } + + i++; + len = g_utf8_skip[table_pos[0]]; + memcpy (name, table_pos, len); + name[len] = 0; + + but = gtk_button_new_with_label (name); + gtk_widget_set_size_request (but, 28, -1); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (ascii_click), NULL); + g_signal_connect (G_OBJECT (but), "enter_notify_event", + G_CALLBACK (ascii_enter), label); + gtk_box_pack_start (GTK_BOX (hbox), but, 0, 0, 0); + gtk_widget_show (but); + + table_pos += len; + } + + frame = gtk_frame_new (""); + gtk_container_add (GTK_CONTAINER (hbox), frame); + gtk_container_add (GTK_CONTAINER (frame), label); + gtk_widget_show (label); + gtk_widget_show (frame); + + gtk_widget_show (win); +} diff --git a/src/fe-gtk/ascii.h b/src/fe-gtk/ascii.h new file mode 100644 index 0000000000000000000000000000000000000000..18d63415672a51d46fc53a9b66ae08c22cbcf4eb --- /dev/null +++ b/src/fe-gtk/ascii.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_ASCII_H +#define HEXCHAT_ASCII_H + +void ascii_open (void); + +#endif diff --git a/src/fe-gtk/banlist.c b/src/fe-gtk/banlist.c new file mode 100644 index 0000000000000000000000000000000000000000..9e844f24effb87d4ae2f719627dcaa3015d9d8f4 --- /dev/null +++ b/src/fe-gtk/banlist.c @@ -0,0 +1,854 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <time.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "../common/modes.h" +#include "../common/outbound.h" +#include "../common/hexchatc.h" +#include "gtkutil.h" +#include "maingui.h" +#include "banlist.h" + +/* + * These supports_* routines set capable, readable, writable bits */ +static void supports_bans (banlist_info *, int); +static void supports_exempt (banlist_info *, int); +static void supports_invite (banlist_info *, int); +static void supports_quiet (banlist_info *, int); + +static mode_info modes[MODE_CT] = { + { + N_("Bans"), + N_("Ban"), + 'b', + RPL_BANLIST, + RPL_ENDOFBANLIST, + 1<<MODE_BAN, + supports_bans + } + ,{ + N_("Exempts"), + N_("Exempt"), + 'e', + RPL_EXCEPTLIST, + RPL_ENDOFEXCEPTLIST, + 1<<MODE_EXEMPT, + supports_exempt + } + ,{ + N_("Invites"), + N_("Invite"), + 'I', + RPL_INVITELIST, + RPL_ENDOFINVITELIST, + 1<<MODE_INVITE, + supports_invite + } + ,{ + N_("Quiets"), + N_("Quiet"), + 'q', + RPL_QUIETLIST, + RPL_ENDOFQUIETLIST, + 1<<MODE_QUIET, + supports_quiet + } +}; + +/* model for the banlist tree */ +enum +{ + TYPE_COLUMN, + MASK_COLUMN, + FROM_COLUMN, + DATE_COLUMN, + N_COLUMNS +}; + +static GtkTreeView * +get_view (struct session *sess) +{ + return GTK_TREE_VIEW (sess->res->banlist->treeview); +} + +static GtkListStore * +get_store (struct session *sess) +{ + return GTK_LIST_STORE (gtk_tree_view_get_model (get_view (sess))); +} + +static void +supports_bans (banlist_info *banl, int i) +{ + int bit = 1<<i; + + banl->capable |= bit; + banl->readable |= bit; + banl->writeable |= bit; + return; +} + +static void +supports_exempt (banlist_info *banl, int i) +{ + server *serv = banl->sess->server; + char *cm = serv->chanmodes; + int bit = 1<<i; + + if (serv->have_except) + goto yes; + + if (!cm) + return; + + while (*cm) + { + if (*cm == ',') + break; + if (*cm == 'e') + goto yes; + cm++; + } + return; + +yes: + banl->capable |= bit; + banl->writeable |= bit; +} + +static void +supports_invite (banlist_info *banl, int i) +{ + server *serv = banl->sess->server; + char *cm = serv->chanmodes; + int bit = 1<<i; + + if (serv->have_invite) + goto yes; + + if (!cm) + return; + + while (*cm) + { + if (*cm == ',') + break; + if (*cm == 'I') + goto yes; + cm++; + } + return; + +yes: + banl->capable |= bit; + banl->writeable |= bit; +} + +static void +supports_quiet (banlist_info *banl, int i) +{ + server *serv = banl->sess->server; + char *cm = serv->chanmodes; + int bit = 1<<i; + + if (!cm) + return; + + while (*cm) + { + if (*cm == ',') + break; + if (*cm == modes[i].letter) + goto yes; + cm++; + } + return; + +yes: + banl->capable |= bit; + banl->readable |= bit; + banl->writeable |= bit; +} + +/* fe_add_ban_list() and fe_ban_list_end() return TRUE if consumed, FALSE otherwise */ +gboolean +fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int rplcode) +{ + banlist_info *banl = sess->res->banlist; + int i; + GtkListStore *store; + GtkTreeIter iter; + + if (!banl) + return FALSE; + + for (i = 0; i < MODE_CT; i++) + if (modes[i].code == rplcode) + break; + if (i == MODE_CT) + { + /* printf ("Unexpected value in fe_add_ban_list: %d\n", rplcode); */ + return FALSE; + } + if (banl->pending & 1<<i) + { + store = get_store (sess); + gtk_list_store_append (store, &iter); + + gtk_list_store_set (store, &iter, TYPE_COLUMN, _(modes[i].type), MASK_COLUMN, mask, + FROM_COLUMN, who, DATE_COLUMN, when, -1); + + banl->line_ct++; + return TRUE; + } + else return FALSE; +} + +/* Sensitize checkboxes and buttons as appropriate for the moment */ +static void +banlist_sensitize (banlist_info *banl) +{ + int checkable, i; + gboolean is_op = FALSE; + + if (banl->sess->me == NULL) + return; + + /* FIXME: More access levels than these can unban */ + if (banl->sess->me->op || banl->sess->me->hop) + is_op = TRUE; + + /* CHECKBOXES -- */ + checkable = is_op? banl->writeable: banl->readable; + for (i = 0; i < MODE_CT; i++) + { + if (banl->checkboxes[i] == NULL) + continue; + if ((checkable & 1<<i) == 0) + /* Checkbox is not checkable. Grey it and uncheck it. */ + { + gtk_widget_set_sensitive (banl->checkboxes[i], FALSE); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (banl->checkboxes[i]), FALSE); + } + else + /* Checkbox is checkable. Be sure it's sensitive. */ + { + gtk_widget_set_sensitive (banl->checkboxes[i], TRUE); + } + } + + /* BUTTONS --- */ + if (!is_op || banl->line_ct == 0) + { + /* If user is not op or list is empty, buttons should be all greyed */ + gtk_widget_set_sensitive (banl->but_clear, FALSE); + gtk_widget_set_sensitive (banl->but_crop, FALSE); + gtk_widget_set_sensitive (banl->but_remove, FALSE); + } + else + { + /* If no lines are selected, only the CLEAR button should be sensitive */ + if (banl->select_ct == 0) + { + gtk_widget_set_sensitive (banl->but_clear, TRUE); + gtk_widget_set_sensitive (banl->but_crop, FALSE); + gtk_widget_set_sensitive (banl->but_remove, FALSE); + } + /* If any lines are selected, only the REMOVE and CROP buttons should be sensitive */ + else + { + gtk_widget_set_sensitive (banl->but_clear, FALSE); + gtk_widget_set_sensitive (banl->but_crop, banl->line_ct == banl->select_ct? FALSE: TRUE); + gtk_widget_set_sensitive (banl->but_remove, TRUE); + } + } + + /* Set "Refresh" sensitvity */ + gtk_widget_set_sensitive (banl->but_refresh, banl->pending? FALSE: banl->checked? TRUE: FALSE); +} +/* fe_ban_list_end() returns TRUE if consumed, FALSE otherwise */ +gboolean +fe_ban_list_end (struct session *sess, int rplcode) +{ + banlist_info *banl = sess->res->banlist; + int i; + + if (!banl) + return FALSE; + + for (i = 0; i < MODE_CT; i++) + if (modes[i].endcode == rplcode) + break; + if (i == MODE_CT) + { + /* printf ("Unexpected rplcode value in fe_ban_list_end: %d\n", rplcode); */ + return FALSE; + } + if (banl->pending & modes[i].bit) + { + banl->pending &= ~modes[i].bit; + if (!banl->pending) + { + gtk_widget_set_sensitive (banl->but_refresh, TRUE); + banlist_sensitize (banl); + } + return TRUE; + } + else return FALSE; +} + +static void +banlist_copyentry (GtkWidget *menuitem, GtkTreeView *view) +{ + GtkTreeModel *model; + GtkTreeSelection *sel; + GtkTreeIter iter; + GValue mask; + GValue from; + GValue date; + char *str; + + memset (&mask, 0, sizeof (mask)); + memset (&from, 0, sizeof (from)); + memset (&date, 0, sizeof (date)); + + /* get selection (which should have been set on click) + * and temporarily switch to single mode to get selected iter */ + sel = gtk_tree_view_get_selection (view); + gtk_tree_selection_set_mode (sel, GTK_SELECTION_SINGLE); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get_value (model, &iter, MASK_COLUMN, &mask); + gtk_tree_model_get_value (model, &iter, FROM_COLUMN, &from); + gtk_tree_model_get_value (model, &iter, DATE_COLUMN, &date); + + /* poor way to get which is selected but it works */ + if (strcmp (_("Copy mask"), gtk_menu_item_get_label (GTK_MENU_ITEM(menuitem))) == 0) + str = g_value_dup_string (&mask); + else + str = g_strdup_printf (_("%s on %s by %s"), g_value_get_string (&mask), + g_value_get_string (&date), g_value_get_string (&from)); + + if (str[0] != 0) + gtkutil_copy_to_clipboard (menuitem, NULL, str); + + g_value_unset (&mask); + g_value_unset (&from); + g_value_unset (&date); + g_free (str); + } + gtk_tree_selection_set_mode (sel, GTK_SELECTION_MULTIPLE); +} + +static gboolean +banlist_button_pressed (GtkWidget *wid, GdkEventButton *event, gpointer userdata) +{ + GtkTreePath *path; + GtkWidget *menu, *maskitem, *allitem; + + /* Check for right click */ + if (event->type == GDK_BUTTON_PRESS && event->button == 3) + { + if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (wid), event->x, event->y, + &path, NULL, NULL, NULL)) + { + /* Must set the row active for use in callback */ + gtk_tree_view_set_cursor (GTK_TREE_VIEW(wid), path, NULL, FALSE); + gtk_tree_path_free (path); + + menu = gtk_menu_new (); + maskitem = gtk_menu_item_new_with_label (_("Copy mask")); + allitem = gtk_menu_item_new_with_label (_("Copy entry")); + g_signal_connect (maskitem, "activate", G_CALLBACK(banlist_copyentry), wid); + g_signal_connect (allitem, "activate", G_CALLBACK(banlist_copyentry), wid); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), maskitem); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), allitem); + gtk_widget_show_all (menu); + + gtk_menu_popup (GTK_MENU(menu), NULL, NULL, NULL, NULL, + event->button, gtk_get_current_event_time ()); + } + + return TRUE; + } + + return FALSE; +} + +static void +banlist_select_changed (GtkWidget *item, banlist_info *banl) +{ + GList *list; + + if (banl->line_ct == 0) + banl->select_ct = 0; + else + { + list = gtk_tree_selection_get_selected_rows (GTK_TREE_SELECTION (item), NULL); + banl->select_ct = g_list_length (list); + g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); + g_list_free (list); + } + banlist_sensitize (banl); +} + +/** + * * Performs the actual refresh operations. + * */ +static void +banlist_do_refresh (banlist_info *banl) +{ + session *sess = banl->sess; + char tbuf[256]; + int i; + + banlist_sensitize (banl); + + if (sess->server->connected) + { + GtkListStore *store; + + g_snprintf (tbuf, sizeof tbuf, "Ban List (%s, %s) - %s", + sess->channel, sess->server->servername, _(DISPLAY_NAME)); + mg_set_title (banl->window, tbuf); + + store = get_store (sess); + gtk_list_store_clear (store); + banl->line_ct = 0; + banl->pending = banl->checked; + if (banl->pending) + { + for (i = 0; i < MODE_CT; i++) + if (banl->pending & 1<<i) + { + g_snprintf (tbuf, sizeof tbuf, "quote mode %s +%c", sess->channel, modes[i].letter); + handle_command (sess, tbuf, FALSE); + } + } + } + else + { + fe_message (_("Not connected."), FE_MSG_ERROR); + } +} + +static void +banlist_refresh (GtkWidget * wid, banlist_info *banl) +{ + /* JG NOTE: Didn't see actual use of wid here, so just forwarding + * * this to chanlist_do_refresh because I use it without any widget + * * param in chanlist_build_gui_list when the user presses enter + * * or apply for the first time if the list has not yet been + * * received. + * */ + banlist_do_refresh (banl); +} + +static int +banlist_unban_inner (gpointer none, banlist_info *banl, int mode_num) +{ + session *sess = banl->sess; + GtkTreeModel *model; + GtkTreeSelection *sel; + GtkTreeIter iter; + char tbuf[2048]; + char **masks, *mask, *type; + int num_sel, i; + + + /* grab the list of selected items */ + model = GTK_TREE_MODEL (get_store (sess)); + sel = gtk_tree_view_get_selection (get_view (sess)); + + if (!gtk_tree_model_get_iter_first (model, &iter)) + return 0; + + masks = g_new (char *, banl->line_ct); + num_sel = 0; + do + { + if (gtk_tree_selection_iter_is_selected (sel, &iter)) + { + /* Get the mask part of this selected line */ + gtk_tree_model_get (model, &iter, TYPE_COLUMN, &type, MASK_COLUMN, &mask, -1); + + /* If it's the wrong type of mask, just continue */ + if (strcmp (_(modes[mode_num].type), type) != 0) + continue; + + /* Otherwise add it to our array of mask pointers */ + masks[num_sel++] = g_strdup (mask); + g_free (mask); + g_free (type); + } + } + while (gtk_tree_model_iter_next (model, &iter)); + + /* and send to server */ + if (num_sel) + send_channel_modes (sess, tbuf, masks, 0, num_sel, '-', modes[mode_num].letter, 0); + + /* now free everything */ + for (i=0; i < num_sel; i++) + g_free (masks[i]); + g_free (masks); + + return num_sel; +} + +static void +banlist_unban (GtkWidget * wid, banlist_info *banl) +{ + int i, num = 0; + + for (i = 0; i < MODE_CT; i++) + num += banlist_unban_inner (wid, banl, i); + + /* This really should not occur with the redesign */ + if (num < 1) + { + fe_message (_("You must select some bans."), FE_MSG_ERROR); + return; + } + + banlist_do_refresh (banl); +} + +static void +banlist_clear_cb (GtkDialog *dialog, gint response, gpointer data) +{ + banlist_info *banl = data; + GtkTreeSelection *sel; + + gtk_widget_destroy (GTK_WIDGET (dialog)); + + if (response == GTK_RESPONSE_OK) + { + sel = gtk_tree_view_get_selection (get_view (banl->sess)); + gtk_tree_selection_select_all (sel); + banlist_unban (NULL, banl); + } +} + +static void +banlist_clear (GtkWidget * wid, banlist_info *banl) +{ + GtkWidget *dialog; + + dialog = gtk_message_dialog_new (NULL, 0, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, + _("Are you sure you want to remove all listed items in %s?"), banl->sess->channel); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (banlist_clear_cb), banl); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); +} + +static void +banlist_add_selected_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) +{ + GSList **lp = data; + GtkTreeIter *copy; + + if (lp == NULL) + { + return; + } + + copy = g_new (GtkTreeIter, 1); + *copy = *iter; + + *lp = g_slist_append (*lp, copy); +} + +static void +banlist_crop (GtkWidget * wid, banlist_info *banl) +{ + session *sess = banl->sess; + GtkTreeSelection *select; + GSList *list = NULL, *node; + int num_sel; + + /* remember which bans are selected */ + select = gtk_tree_view_get_selection (get_view (sess)); + /* gtk_tree_selected_get_selected_rows() isn't present in gtk 2.0.x */ + gtk_tree_selection_selected_foreach (select, banlist_add_selected_cb, + &list); + + num_sel = g_slist_length (list); + /* select all, then unselect those that we remembered */ + if (num_sel) + { + gtk_tree_selection_select_all (select); + + for (node = list; node; node = node->next) + gtk_tree_selection_unselect_iter (select, node->data); + + g_slist_foreach (list, (GFunc)g_free, NULL); + g_slist_free (list); + + banlist_unban (NULL, banl); + } else + fe_message (_("You must select some bans."), FE_MSG_ERROR); +} + +static void +banlist_toggle (GtkWidget *item, gpointer data) +{ + banlist_info *banl = data; + int i, bit = 0; + + for (i = 0; i < MODE_CT; i++) + if (banl->checkboxes[i] == item) + { + bit = 1<<i; + break; + } + + if (bit) /* Should be gassert() */ + { + banl->checked &= ~bit; + banl->checked |= (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (item)))? bit: 0; + banlist_do_refresh (banl); + } +} + +/* NOTICE: The official strptime() is not available on all platforms so + * I've implemented a special version here. The official version is + * vastly more general than this: it uses locales for weekday and month + * names and its second arg is a format character-string. This special + * version depends on the format returned by ctime(3) whose manpage + * says it returns: + * "a null-terminated string of the form "Wed Jun 30 21:49:08 1993\n" + * + * If the real strpftime() comes available, use this format string: + * #define DATE_FORMAT "%a %b %d %T %Y" + */ +static void +banlist_strptime (char *ti, struct tm *tm) +{ + /* Expect something like "Sat Mar 16 21:24:27 2013" */ + static char *mon[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", NULL }; + int M = -1, d = -1, h = -1, m = -1, s = -1, y = -1; + + if (*ti == 0) + { + memset (tm, 0, sizeof *tm); + return; + } + /* No need to supply tm->tm_wday; mktime() doesn't read it */ + ti += 4; + while ((mon[++M])) + if (strncmp (ti, mon[M], 3) == 0) + break; + ti += 4; + + d = strtol (ti, &ti, 10); + h = strtol (++ti, &ti, 10); + m = strtol (++ti, &ti, 10); + s = strtol (++ti, &ti, 10); + y = strtol (++ti, NULL, 10) - 1900; + + tm->tm_sec = s; + tm->tm_min = m; + tm->tm_hour = h; + tm->tm_mday = d; + tm->tm_mon = M; + tm->tm_year = y; +} + +gint +banlist_date_sort (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) +{ + struct tm tm1, tm2; + time_t t1, t2; + char *time1, *time2; + + gtk_tree_model_get(model, a, DATE_COLUMN, &time1, -1); + gtk_tree_model_get(model, b, DATE_COLUMN, &time2, -1); + banlist_strptime (time1, &tm1); + banlist_strptime (time2, &tm2); + t1 = mktime (&tm1); + t2 = mktime (&tm2); + + if (t1 < t2) return 1; + if (t1 == t2) return 0; + return -1; +} + +static GtkWidget * +banlist_treeview_new (GtkWidget *box, banlist_info *banl) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeSelection *select; + GtkTreeViewColumn *col; + GtkTreeSortable *sortable; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + sortable = GTK_TREE_SORTABLE (store); + gtk_tree_sortable_set_sort_func (sortable, DATE_COLUMN, banlist_date_sort, GINT_TO_POINTER (DATE_COLUMN), NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + TYPE_COLUMN, _("Type"), + MASK_COLUMN, _("Mask"), + FROM_COLUMN, _("From"), + DATE_COLUMN, _("Date"), -1); + g_signal_connect (G_OBJECT (view), "button-press-event", G_CALLBACK (banlist_button_pressed), NULL); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), MASK_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_min_width (col, 100); + gtk_tree_view_column_set_sort_column_id (col, MASK_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, TRUE); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), TYPE_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_sort_column_id (col, TYPE_COLUMN); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), FROM_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_sort_column_id (col, FROM_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, TRUE); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), DATE_COLUMN); + gtk_tree_view_column_set_alignment (col, 0.5); + gtk_tree_view_column_set_sort_column_id (col, DATE_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, TRUE); + + select = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + g_signal_connect (G_OBJECT (select), "changed", G_CALLBACK (banlist_select_changed), banl); + gtk_tree_selection_set_mode (select, GTK_SELECTION_MULTIPLE); + + gtk_widget_show (view); + return view; +} + +static void +banlist_closegui (GtkWidget *wid, banlist_info *banl) +{ + session *sess = banl->sess; + + if (sess->res->banlist == banl) + { + g_free (banl); + sess->res->banlist = NULL; + } +} + +void +banlist_opengui (struct session *sess) +{ + banlist_info *banl; + int i; + GtkWidget *table, *vbox, *bbox; + char tbuf[256]; + + if (sess->type != SESS_CHANNEL || sess->channel[0] == 0) + { + fe_message (_("You can only open the Ban List window while in a channel tab."), FE_MSG_ERROR); + return; + } + + if (sess->res->banlist == NULL) + { + sess->res->banlist = g_new0 (banlist_info, 1); + } + banl = sess->res->banlist; + if (banl->window) + { + mg_bring_tofront (banl->window); + return; + } + + /* New banlist for this session -- Initialize it */ + banl->sess = sess; + /* For each mode set its bit in capable/readable/writeable */ + for (i = 0; i < MODE_CT; i++) + modes[i].tester (banl, i); + /* Force on the checkmark in the "Bans" box */ + banl->checked = 1<<MODE_BAN; + + g_snprintf (tbuf, sizeof tbuf, _("Ban List (%s) - %s"), + sess->server->servername, _(DISPLAY_NAME)); + + banl->window = mg_create_generic_tab ("BanList", tbuf, FALSE, + TRUE, banlist_closegui, banl, 700, 300, &vbox, sess->server); + gtkutil_destroy_on_esc (banl->window); + + gtk_container_set_border_width (GTK_CONTAINER (banl->window), 3); + gtk_box_set_spacing (GTK_BOX (vbox), 3); + + /* create banlist view */ + banl->treeview = banlist_treeview_new (vbox, banl); + + table = gtk_table_new (1, MODE_CT, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 16); + gtk_box_pack_start (GTK_BOX (vbox), table, 0, 0, 0); + + for (i = 0; i < MODE_CT; i++) + { + if (!(banl->capable & 1<<i)) + continue; + banl->checkboxes[i] = gtk_check_button_new_with_label (_(modes[i].name)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (banl->checkboxes[i]), (banl->checked & 1<<i? TRUE: FALSE)); + g_signal_connect (G_OBJECT (banl->checkboxes[i]), "toggled", + G_CALLBACK (banlist_toggle), banl); + gtk_table_attach (GTK_TABLE (table), banl->checkboxes[i], i+1, i+2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + } + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), bbox, 0, 0, 0); + gtk_widget_show (bbox); + + banl->but_remove = gtkutil_button (bbox, GTK_STOCK_REMOVE, 0, banlist_unban, banl, + _("Remove")); + banl->but_crop = gtkutil_button (bbox, GTK_STOCK_REMOVE, 0, banlist_crop, banl, + _("Crop")); + banl->but_clear = gtkutil_button (bbox, GTK_STOCK_CLEAR, 0, banlist_clear, banl, + _("Clear")); + + banl->but_refresh = gtkutil_button (bbox, GTK_STOCK_REFRESH, 0, banlist_refresh, banl, _("Refresh")); + + banlist_do_refresh (banl); + + gtk_widget_show_all (banl->window); +} diff --git a/src/fe-gtk/banlist.h b/src/fe-gtk/banlist.h new file mode 100644 index 0000000000000000000000000000000000000000..ee31c2f8066cd80576184c899cb8d448dbdfc4a5 --- /dev/null +++ b/src/fe-gtk/banlist.h @@ -0,0 +1,75 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_BANLIST_H +#define HEXCHAT_BANLIST_H + +#include "../common/hexchat.h" +void banlist_opengui (session *sess); + +#ifndef RPL_BANLIST +/* Where's that darn header file, that would have all these defines ? */ +#define RPL_BANLIST 367 +#define RPL_ENDOFBANLIST 368 +#define RPL_INVITELIST 346 +#define RPL_ENDOFINVITELIST 347 +#define RPL_EXCEPTLIST 348 +#define RPL_ENDOFEXCEPTLIST 349 +#define RPL_QUIETLIST 728 +#define RPL_ENDOFQUIETLIST 729 +#endif + +typedef enum banlist_modes_e { + MODE_BAN, + MODE_EXEMPT, + MODE_INVITE, + MODE_QUIET, + MODE_CT +} banlist_modes; + +typedef struct banlist_info_s { + session *sess; + int capable; /* MODE bitmask */ + int readable; /* subset of capable if not op */ + int writeable; /* subset of capable if op */ + int checked; /* subset of (op? writeable: readable) */ + int pending; /* subset of checked */ + int current; /* index of currently processing mode */ + int line_ct; /* count of presented lines */ + int select_ct; /* count of selected lines */ + GtkWidget *window; + GtkWidget *treeview; + GtkWidget *checkboxes[MODE_CT]; + GtkWidget *but_remove; + GtkWidget *but_crop; + GtkWidget *but_clear; + GtkWidget *but_refresh; +} banlist_info; + +typedef struct mode_info_s { + char *name; /* Checkbox name, e.g. "Bans" */ + char *type; /* Type for type column, e.g. "Ban" */ + char letter; /* /mode-command letter, e.g. 'b' for MODE_BAN */ + int code; /* rfc RPL_foo code, e.g. 367 for RPL_BANLIST */ + int endcode; /* rfc RPL_ENDOFfoo code, e.g. 368 for RPL_ENDOFBANLIST */ + int bit; /* Mask bit, e.g., 1<<MODE_BAN */ + void (*tester)(banlist_info *, int); /* Function returns true to set bit into checkable */ +} mode_info; + +#endif /* HEXCHAT_BANLIST_H */ diff --git a/src/fe-gtk/chanlist.c b/src/fe-gtk/chanlist.c new file mode 100644 index 0000000000000000000000000000000000000000..abf62843a0e981bff54a66564cd00ef369c88204 --- /dev/null +++ b/src/fe-gtk/chanlist.c @@ -0,0 +1,954 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <time.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "fe-gtk.h" + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "gtkutil.h" +#include "maingui.h" +#include "menu.h" + +#include "custom-list.h" + +enum +{ + COL_CHANNEL, + COL_USERS, + COL_TOPIC, + N_COLUMNS +}; + +#ifndef CUSTOM_LIST +typedef struct /* this is now in custom-list.h */ +{ + char *topic; + char *collation_key; + guint32 pos; + guint32 users; + /* channel string lives beyond "users" */ +#define GET_CHAN(row) (((char *)row)+sizeof(chanlistrow)) +} +chanlistrow; +#endif + +#define GET_MODEL(xserv) (gtk_tree_view_get_model(GTK_TREE_VIEW(xserv->gui->chanlist_list))) + + +static gboolean +chanlist_match (server *serv, const char *str) +{ + switch (serv->gui->chanlist_search_type) + { + case 1: + return match (gtk_entry_get_text (GTK_ENTRY (serv->gui->chanlist_wild)), str); + case 2: + if (!serv->gui->have_regex) + return 0; + + return g_regex_match (serv->gui->chanlist_match_regex, str, 0, NULL); + default: /* case 0: */ + return nocasestrstr (str, gtk_entry_get_text (GTK_ENTRY (serv->gui->chanlist_wild))) ? 1 : 0; + } +} + +/** + * Updates the caption to reflect the number of users and channels + */ +static void +chanlist_update_caption (server *serv) +{ + gchar tbuf[256]; + + g_snprintf (tbuf, sizeof tbuf, + _("Displaying %d/%d users on %d/%d channels."), + serv->gui->chanlist_users_shown_count, + serv->gui->chanlist_users_found_count, + serv->gui->chanlist_channels_shown_count, + serv->gui->chanlist_channels_found_count); + + gtk_label_set_text (GTK_LABEL (serv->gui->chanlist_label), tbuf); + serv->gui->chanlist_caption_is_stale = FALSE; +} + +static void +chanlist_update_buttons (server *serv) +{ + if (serv->gui->chanlist_channels_shown_count) + { + gtk_widget_set_sensitive (serv->gui->chanlist_join, TRUE); + gtk_widget_set_sensitive (serv->gui->chanlist_savelist, TRUE); + } + else + { + gtk_widget_set_sensitive (serv->gui->chanlist_join, FALSE); + gtk_widget_set_sensitive (serv->gui->chanlist_savelist, FALSE); + } +} + +static void +chanlist_reset_counters (server *serv) +{ + serv->gui->chanlist_users_found_count = 0; + serv->gui->chanlist_users_shown_count = 0; + serv->gui->chanlist_channels_found_count = 0; + serv->gui->chanlist_channels_shown_count = 0; + + chanlist_update_caption (serv); + chanlist_update_buttons (serv); +} + +/* free up our entire linked list and all the nodes */ + +static void +chanlist_data_free (server *serv) +{ + GSList *rows; + chanlistrow *data; + + if (serv->gui->chanlist_data_stored_rows) + { + for (rows = serv->gui->chanlist_data_stored_rows; rows != NULL; + rows = rows->next) + { + data = rows->data; + g_free (data->topic); + g_free (data->collation_key); + g_free (data); + } + + g_slist_free (serv->gui->chanlist_data_stored_rows); + serv->gui->chanlist_data_stored_rows = NULL; + } + + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; +} + +/* add any rows we received from the server in the last 0.25s to the GUI */ + +static void +chanlist_flush_pending (server *serv) +{ + GSList *list = serv->gui->chanlist_pending_rows; + GtkTreeModel *model; + chanlistrow *row; + + if (!list) + { + if (serv->gui->chanlist_caption_is_stale) + chanlist_update_caption (serv); + return; + } + model = GET_MODEL (serv); + + while (list) + { + row = list->data; + custom_list_append (CUSTOM_LIST (model), row); + list = list->next; + } + + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; + chanlist_update_caption (serv); +} + +static gboolean +chanlist_timeout (server *serv) +{ + chanlist_flush_pending (serv); + return TRUE; +} + +/** + * Places a data row into the gui GtkTreeView, if and only if the row matches + * the user and regex/search requirements. + */ +static void +chanlist_place_row_in_gui (server *serv, chanlistrow *next_row, gboolean force) +{ + GtkTreeModel *model; + + /* First, update the 'found' counter values */ + serv->gui->chanlist_users_found_count += next_row->users; + serv->gui->chanlist_channels_found_count++; + + if (serv->gui->chanlist_channels_shown_count == 1) + /* join & save buttons become live */ + chanlist_update_buttons (serv); + + if (next_row->users < serv->gui->chanlist_minusers) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + + if (next_row->users > serv->gui->chanlist_maxusers + && serv->gui->chanlist_maxusers > 0) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + + if (gtk_entry_get_text (GTK_ENTRY (serv->gui->chanlist_wild))[0]) + { + /* Check what the user wants to match. If both buttons or _neither_ + * button is checked, look for match in both by default. + */ + if (serv->gui->chanlist_match_wants_channel == + serv->gui->chanlist_match_wants_topic) + { + if (!chanlist_match (serv, GET_CHAN (next_row)) + && !chanlist_match (serv, next_row->topic)) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + + else if (serv->gui->chanlist_match_wants_channel) + { + if (!chanlist_match (serv, GET_CHAN (next_row))) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + + else if (serv->gui->chanlist_match_wants_topic) + { + if (!chanlist_match (serv, next_row->topic)) + { + serv->gui->chanlist_caption_is_stale = TRUE; + return; + } + } + } + + if (force || serv->gui->chanlist_channels_shown_count < 20) + { + model = GET_MODEL (serv); + /* makes it appear fast :) */ + custom_list_append (CUSTOM_LIST (model), next_row); + chanlist_update_caption (serv); + } + else + /* add it to GUI at the next update interval */ + serv->gui->chanlist_pending_rows = g_slist_prepend (serv->gui->chanlist_pending_rows, next_row); + + /* Update the 'shown' counter values */ + serv->gui->chanlist_users_shown_count += next_row->users; + serv->gui->chanlist_channels_shown_count++; +} + +/* Performs the LIST download from the IRC server. */ + +static void +chanlist_do_refresh (server *serv) +{ + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + + if (!serv->connected) + { + fe_message (_("Not connected."), FE_MSG_ERROR); + return; + } + + custom_list_clear ((CustomList *)GET_MODEL (serv)); + gtk_widget_set_sensitive (serv->gui->chanlist_refresh, FALSE); + + chanlist_data_free (serv); + chanlist_reset_counters (serv); + + /* can we request a list with minusers arg? */ + if (serv->use_listargs) + { + /* yes - it will download faster */ + serv->p_list_channels (serv, "", serv->gui->chanlist_minusers); + /* don't allow the spin button below this value from now on */ + serv->gui->chanlist_minusers_downloaded = serv->gui->chanlist_minusers; + } + else + { + /* download all, filter minusers locally only */ + serv->p_list_channels (serv, "", 1); + serv->gui->chanlist_minusers_downloaded = 1; + } + +/* gtk_spin_button_set_range ((GtkSpinButton *)serv->gui->chanlist_min_spin, + serv->gui->chanlist_minusers_downloaded, 999999);*/ +} + +static void +chanlist_refresh (GtkWidget * wid, server *serv) +{ + chanlist_do_refresh (serv); +} + +/** + * Fills the gui GtkTreeView with stored items from the GSList. + */ +static void +chanlist_build_gui_list (server *serv) +{ + GSList *rows; + + /* first check if the list is present */ + if (serv->gui->chanlist_data_stored_rows == NULL) + { + /* start a download */ + chanlist_do_refresh (serv); + return; + } + + custom_list_clear ((CustomList *)GET_MODEL (serv)); + + /* discard pending rows FIXME: free the structs? */ + g_slist_free (serv->gui->chanlist_pending_rows); + serv->gui->chanlist_pending_rows = NULL; + + /* Reset the counters */ + chanlist_reset_counters (serv); + + /* Refill the list */ + for (rows = serv->gui->chanlist_data_stored_rows; rows != NULL; + rows = rows->next) + { + chanlist_place_row_in_gui (serv, rows->data, TRUE); + } + + custom_list_resort ((CustomList *)GET_MODEL (serv)); +} + +/** + * Accepts incoming channel data from inbound.c, allocates new space for a + * chanlistrow, adds it to our linked list and calls chanlist_place_row_in_gui. + */ +void +fe_add_chan_list (server *serv, char *chan, char *users, char *topic) +{ + chanlistrow *next_row; + int len = strlen (chan) + 1; + + /* we allocate the struct and channel string in one go */ + next_row = g_malloc (sizeof (chanlistrow) + len); + memcpy (((char *)next_row) + sizeof (chanlistrow), chan, len); + next_row->topic = strip_color (topic, -1, STRIP_ALL); + next_row->collation_key = g_utf8_collate_key (chan, len-1); + if (!(next_row->collation_key)) + next_row->collation_key = g_strdup (chan); + next_row->users = atoi (users); + + /* add this row to the data */ + serv->gui->chanlist_data_stored_rows = + g_slist_prepend (serv->gui->chanlist_data_stored_rows, next_row); + + /* _possibly_ add the row to the gui */ + chanlist_place_row_in_gui (serv, next_row, FALSE); +} + +void +fe_chan_list_end (server *serv) +{ + /* download complete */ + chanlist_flush_pending (serv); + gtk_widget_set_sensitive (serv->gui->chanlist_refresh, TRUE); + custom_list_resort ((CustomList *)GET_MODEL (serv)); +} + +static void +chanlist_search_pressed (GtkButton * button, server *serv) +{ + chanlist_build_gui_list (serv); +} + +static void +chanlist_find_cb (GtkWidget * wid, server *serv) +{ + const char *pattern = gtk_entry_get_text (GTK_ENTRY (wid)); + + /* recompile the regular expression. */ + if (serv->gui->have_regex) + { + serv->gui->have_regex = 0; + g_regex_unref (serv->gui->chanlist_match_regex); + } + + serv->gui->chanlist_match_regex = g_regex_new (pattern, G_REGEX_CASELESS | G_REGEX_EXTENDED, + G_REGEX_MATCH_NOTBOL, NULL); + + if (serv->gui->chanlist_match_regex) + serv->gui->have_regex = 1; +} + +static void +chanlist_match_channel_button_toggled (GtkWidget * wid, server *serv) +{ + serv->gui->chanlist_match_wants_channel = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wid)); +} + +static void +chanlist_match_topic_button_toggled (GtkWidget * wid, server *serv) +{ + serv->gui->chanlist_match_wants_topic = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wid)); +} + +static char * +chanlist_get_selected (server *serv, gboolean get_topic) +{ + char *chan; + GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (serv->gui->chanlist_list)); + GtkTreeModel *model; + GtkTreeIter iter; + + if (!gtk_tree_selection_get_selected (sel, &model, &iter)) + return NULL; + + gtk_tree_model_get (model, &iter, get_topic ? COL_TOPIC : COL_CHANNEL, &chan, -1); + return chan; +} + +static void +chanlist_join (GtkWidget * wid, server *serv) +{ + char tbuf[CHANLEN + 6]; + char *chan = chanlist_get_selected (serv, FALSE); + if (chan) + { + if (serv->connected && (strcmp (chan, "*") != 0)) + { + g_snprintf (tbuf, sizeof (tbuf), "join %s", chan); + handle_command (serv->server_session, tbuf, FALSE); + } else + gdk_beep (); + g_free (chan); + } +} + +static void +chanlist_filereq_done (server *serv, char *file) +{ + time_t t = time (0); + int fh, users; + char *chan, *topic; + char buf[1024]; + GtkTreeModel *model = GET_MODEL (serv); + GtkTreeIter iter; + + if (!file) + return; + + fh = hexchat_open_file (file, O_TRUNC | O_WRONLY | O_CREAT, 0600, + XOF_DOMODE | XOF_FULLPATH); + if (fh == -1) + return; + + g_snprintf (buf, sizeof buf, "HexChat Channel List: %s - %s\n", + serv->servername, ctime (&t)); + write (fh, buf, strlen (buf)); + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, + COL_CHANNEL, &chan, + COL_USERS, &users, + COL_TOPIC, &topic, -1); + g_snprintf (buf, sizeof buf, "%-16s %-5d%s\n", chan, users, topic); + g_free (chan); + g_free (topic); + write (fh, buf, strlen (buf)); + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + close (fh); +} + +static void +chanlist_save (GtkWidget * wid, server *serv) +{ + GtkTreeIter iter; + GtkTreeModel *model = GET_MODEL (serv); + + if (gtk_tree_model_get_iter_first (model, &iter)) + gtkutil_file_req (NULL, _("Select an output filename"), chanlist_filereq_done, + serv, NULL, NULL, FRF_WRITE); +} + +static gboolean +chanlist_flash (server *serv) +{ + if (gtk_widget_get_state (serv->gui->chanlist_refresh) != GTK_STATE_ACTIVE) + gtk_widget_set_state (serv->gui->chanlist_refresh, GTK_STATE_ACTIVE); + else + gtk_widget_set_state (serv->gui->chanlist_refresh, GTK_STATE_PRELIGHT); + + return TRUE; +} + +static void +chanlist_minusers (GtkSpinButton *wid, server *serv) +{ + serv->gui->chanlist_minusers = gtk_spin_button_get_value_as_int (wid); + prefs.hex_gui_chanlist_minusers = serv->gui->chanlist_minusers; + save_config(); + + if (serv->gui->chanlist_minusers < serv->gui->chanlist_minusers_downloaded) + { + if (serv->gui->chanlist_flash_tag == 0) + serv->gui->chanlist_flash_tag = g_timeout_add (500, (GSourceFunc)chanlist_flash, serv); + } + else + { + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + } +} + +static void +chanlist_maxusers (GtkSpinButton *wid, server *serv) +{ + serv->gui->chanlist_maxusers = gtk_spin_button_get_value_as_int (wid); + prefs.hex_gui_chanlist_maxusers = serv->gui->chanlist_maxusers; + save_config(); +} + +static void +chanlist_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + chanlist_join (0, (server *) data); /* double clicked a row */ +} + +static void +chanlist_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +} + +static void +chanlist_copychannel (GtkWidget *item, server *serv) +{ + char *chan = chanlist_get_selected (serv, FALSE); + if (chan) + { + gtkutil_copy_to_clipboard (item, NULL, chan); + g_free (chan); + } +} + +static void +chanlist_copytopic (GtkWidget *item, server *serv) +{ + char *topic = chanlist_get_selected (serv, TRUE); + if (topic) + { + gtkutil_copy_to_clipboard (item, NULL, topic); + g_free (topic); + } +} + +static gboolean +chanlist_button_cb (GtkTreeView *tree, GdkEventButton *event, server *serv) +{ + GtkWidget *menu; + GtkTreeSelection *sel; + GtkTreePath *path; + char *chan; + + if (event->button != 3) + return FALSE; + + if (!gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) + return FALSE; + + /* select what they right-clicked on */ + sel = gtk_tree_view_get_selection (tree); + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + gtk_tree_path_free (path); + + menu = gtk_menu_new (); + if (event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_window_get_screen (event->window)); + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (chanlist_menu_destroy), NULL); + mg_create_icon_item (_("_Join Channel"), GTK_STOCK_JUMP_TO, menu, + chanlist_join, serv); + mg_create_icon_item (_("_Copy Channel Name"), GTK_STOCK_COPY, menu, + chanlist_copychannel, serv); + mg_create_icon_item (_("Copy _Topic Text"), GTK_STOCK_COPY, menu, + chanlist_copytopic, serv); + + chan = chanlist_get_selected (serv, FALSE); + menu_addfavoritemenu (serv, menu, chan, FALSE); + g_free (chan); + + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, event->time); + + return TRUE; +} + +static void +chanlist_destroy_widget (GtkWidget *wid, server *serv) +{ + custom_list_clear ((CustomList *)GET_MODEL (serv)); + chanlist_data_free (serv); + + if (serv->gui->chanlist_flash_tag) + { + g_source_remove (serv->gui->chanlist_flash_tag); + serv->gui->chanlist_flash_tag = 0; + } + + if (serv->gui->chanlist_tag) + { + g_source_remove (serv->gui->chanlist_tag); + serv->gui->chanlist_tag = 0; + } + + if (serv->gui->have_regex) + { + g_regex_unref (serv->gui->chanlist_match_regex); + serv->gui->have_regex = 0; + } +} + +static void +chanlist_closegui (GtkWidget *wid, server *serv) +{ + if (is_server (serv)) + serv->gui->chanlist_window = NULL; +} + +static void +chanlist_add_column (GtkWidget *tree, int textcol, int size, char *title, gboolean right_justified) +{ + GtkCellRenderer *renderer; + GtkTreeViewColumn *col; + + renderer = gtk_cell_renderer_text_new (); + if (right_justified) + g_object_set (G_OBJECT (renderer), "xalign", (gfloat) 1.0, NULL); + g_object_set (G_OBJECT (renderer), "ypad", (gint) 0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), -1, title, + renderer, "text", textcol, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (tree), textcol); + gtk_tree_view_column_set_sort_column_id (col, textcol); + gtk_tree_view_column_set_resizable (col, TRUE); + if (textcol == COL_CHANNEL) + { + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_fixed_width (col, size); + } + else if (textcol == COL_USERS) + { + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, FALSE); + } +} + +static void +chanlist_combo_cb (GtkWidget *combo, server *serv) +{ + serv->gui->chanlist_search_type = gtk_combo_box_get_active (GTK_COMBO_BOX (combo)); +} + +void +chanlist_opengui (server *serv, int do_refresh) +{ + GtkWidget *vbox, *hbox, *table, *wid, *view; + char tbuf[256]; + GtkListStore *store; + + if (serv->gui->chanlist_window) + { + mg_bring_tofront (serv->gui->chanlist_window); + return; + } + + g_snprintf (tbuf, sizeof tbuf, _("Channel List (%s) - %s"), + server_get_network (serv, TRUE), _(DISPLAY_NAME)); + + serv->gui->chanlist_pending_rows = NULL; + serv->gui->chanlist_tag = 0; + serv->gui->chanlist_flash_tag = 0; + serv->gui->chanlist_data_stored_rows = NULL; + + if (!serv->gui->chanlist_minusers) + { + if (prefs.hex_gui_chanlist_minusers < 1 || prefs.hex_gui_chanlist_minusers > 999999) + { + prefs.hex_gui_chanlist_minusers = 5; + save_config(); + } + + serv->gui->chanlist_minusers = prefs.hex_gui_chanlist_minusers; + } + + if (!serv->gui->chanlist_maxusers) + { + if (prefs.hex_gui_chanlist_maxusers < 1 || prefs.hex_gui_chanlist_maxusers > 999999) + { + prefs.hex_gui_chanlist_maxusers = 9999; + save_config(); + } + + serv->gui->chanlist_maxusers = prefs.hex_gui_chanlist_maxusers; + } + + serv->gui->chanlist_window = + mg_create_generic_tab ("ChanList", tbuf, FALSE, TRUE, chanlist_closegui, + serv, 640, 480, &vbox, serv); + gtkutil_destroy_on_esc (serv->gui->chanlist_window); + + gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); + gtk_box_set_spacing (GTK_BOX (vbox), 12); + + /* make a label to store the user/channel info */ + wid = gtk_label_new (NULL); + gtk_box_pack_start (GTK_BOX (vbox), wid, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_label = wid; + + /* ============================================================= */ + + store = (GtkListStore *) custom_list_new(); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (gtk_widget_get_parent (view)), + GTK_SHADOW_IN); + serv->gui->chanlist_list = view; + + g_signal_connect (G_OBJECT (view), "row_activated", + G_CALLBACK (chanlist_dclick_cb), serv); + g_signal_connect (G_OBJECT (view), "button-press-event", + G_CALLBACK (chanlist_button_cb), serv); + + chanlist_add_column (view, COL_CHANNEL, 96, _("Channel"), FALSE); + chanlist_add_column (view, COL_USERS, 50, _("Users"), TRUE); + chanlist_add_column (view, COL_TOPIC, 50, _("Topic"), FALSE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + /* this is a speed up, but no horizontal scrollbar :( */ + /*gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE);*/ + gtk_widget_show (view); + + /* ============================================================= */ + + table = gtk_table_new (4, 4, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 12); + gtk_table_set_row_spacings (GTK_TABLE (table), 3); + gtk_box_pack_start (GTK_BOX (vbox), table, 0, 1, 0); + gtk_widget_show (table); + + wid = gtkutil_button (NULL, GTK_STOCK_FIND, 0, chanlist_search_pressed, serv, + _("_Search")); + serv->gui->chanlist_search = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 3, 4, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_REFRESH, 0, chanlist_refresh, serv, + _("_Download List")); + serv->gui->chanlist_refresh = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_SAVE_AS, 0, chanlist_save, serv, + _("Save _List...")); + serv->gui->chanlist_savelist = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + wid = gtkutil_button (NULL, GTK_STOCK_JUMP_TO, 0, chanlist_join, serv, + _("_Join Channel")); + serv->gui->chanlist_join = wid; + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, 0, 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + /* ============================================================= */ + + wid = gtk_label_new (_("Show only:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 3, 4, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + hbox = gtk_hbox_new (0, 0); + gtk_box_set_spacing (GTK_BOX (hbox), 9); + gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 3, 4, + GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (hbox); + + wid = gtk_label_new (_("channels with")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_spin_button_new_with_range (1, 999999, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + serv->gui->chanlist_minusers); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (chanlist_minusers), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_min_spin = wid; + + wid = gtk_label_new (_("to")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_spin_button_new_with_range (1, 999999, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + serv->gui->chanlist_maxusers); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (chanlist_maxusers), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_label_new (_("users.")); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + /* ============================================================= */ + + wid = gtk_label_new (_("Look in:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + hbox = gtk_hbox_new (0, 0); + gtk_box_set_spacing (GTK_BOX (hbox), 12); + gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, 2, 3, + GTK_FILL, GTK_FILL, 0, 0); + gtk_widget_show (hbox); + + wid = gtk_check_button_new_with_label (_("Channel name")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK(chanlist_match_channel_button_toggled), serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + wid = gtk_check_button_new_with_label (_("Topic")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (chanlist_match_topic_button_toggled), + serv); + gtk_box_pack_start (GTK_BOX (hbox), wid, 0, 0, 0); + gtk_widget_show (wid); + + serv->gui->chanlist_match_wants_channel = 1; + serv->gui->chanlist_match_wants_topic = 1; + + /* ============================================================= */ + + wid = gtk_label_new (_("Search type:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + wid = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Simple Search")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Pattern Match (Wildcards)")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (wid), _("Regular Expression")); + gtk_combo_box_set_active (GTK_COMBO_BOX (wid), serv->gui->chanlist_search_type); + gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + g_signal_connect (G_OBJECT (wid), "changed", + G_CALLBACK (chanlist_combo_cb), serv); + gtk_widget_show (wid); + + /* ============================================================= */ + + wid = gtk_label_new (_("Find:")); + gtk_misc_set_alignment (GTK_MISC (wid), 0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 0, 1, 0, 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + wid = gtk_entry_new (); + gtk_entry_set_max_length (GTK_ENTRY(wid), 255); + g_signal_connect (G_OBJECT (wid), "changed", + G_CALLBACK (chanlist_find_cb), serv); + g_signal_connect (G_OBJECT (wid), "activate", + G_CALLBACK (chanlist_search_pressed), + (gpointer) serv); + gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 0, 1, + GTK_EXPAND | GTK_FILL, 0, 0, 0); + gtk_widget_show (wid); + serv->gui->chanlist_wild = wid; + + chanlist_find_cb (wid, serv); + + /* ============================================================= */ + + wid = gtk_vseparator_new (); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, 0, 5, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + gtk_widget_show (wid); + + g_signal_connect (G_OBJECT (serv->gui->chanlist_window), "destroy", + G_CALLBACK (chanlist_destroy_widget), serv); + + /* reset the counters. */ + chanlist_reset_counters (serv); + + serv->gui->chanlist_tag = g_timeout_add (250, (GSourceFunc)chanlist_timeout, serv); + + if (do_refresh) + chanlist_do_refresh (serv); + + chanlist_update_buttons (serv); + gtk_widget_show (serv->gui->chanlist_window); + gtk_widget_grab_focus (serv->gui->chanlist_refresh); +} diff --git a/src/fe-gtk/chanlist.h b/src/fe-gtk/chanlist.h new file mode 100644 index 0000000000000000000000000000000000000000..481beec3e0676b65cd9eee27b4bcbc4a385fd1e3 --- /dev/null +++ b/src/fe-gtk/chanlist.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_CHANLIST_H +#define HEXCHAT_CHANLIST_H + +void chanlist_opengui (server *serv, int do_refresh); + +#endif diff --git a/src/fe-gtk/chanview-tabs.c b/src/fe-gtk/chanview-tabs.c new file mode 100644 index 0000000000000000000000000000000000000000..5681f9d65b22ddcb2151b73f8e19a6fe0d110c2b --- /dev/null +++ b/src/fe-gtk/chanview-tabs.c @@ -0,0 +1,821 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* file included in chanview.c */ + +typedef struct +{ + GtkWidget *outer; /* outer box */ + GtkWidget *inner; /* inner box */ + GtkWidget *b1; /* button1 */ + GtkWidget *b2; /* button2 */ +} tabview; + +static void chanview_populate (chanview *cv); + +/* ignore "toggled" signal? */ +static int ignore_toggle = FALSE; +static int tab_left_is_moving = 0; +static int tab_right_is_moving = 0; + +/* userdata for gobjects used here: + * + * tab (togglebuttons inside boxes): + * "u" userdata passed to tab-focus callback function (sess) + * "c" the tab's (chan *) + * + * box (family box) + * "f" family + * + */ + +/* + * GtkViewports request at least as much space as their children do. + * If we don't intervene here, the GtkViewport will be granted its + * request, even at the expense of resizing the top-level window. + */ +static void +cv_tabs_sizerequest (GtkWidget *viewport, GtkRequisition *requisition, chanview *cv) +{ + if (!cv->vertical) + requisition->width = 1; + else + requisition->height = 1; +} + +static void +cv_tabs_sizealloc (GtkWidget *widget, GtkAllocation *allocation, chanview *cv) +{ + GdkWindow *parent_win; + GtkAdjustment *adj; + GtkWidget *inner; + gint viewport_size; + + inner = ((tabview *)cv)->inner; + parent_win = gtk_widget_get_window (gtk_widget_get_parent (inner)); + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (gtk_widget_get_parent (inner))); + gdk_window_get_geometry (parent_win, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (gtk_widget_get_parent (inner))); + gdk_window_get_geometry (parent_win, 0, 0, &viewport_size, 0, 0); + } + + if (gtk_adjustment_get_upper (adj) <= viewport_size) + { + gtk_widget_hide (((tabview *)cv)->b1); + gtk_widget_hide (((tabview *)cv)->b2); + } else + { + gtk_widget_show (((tabview *)cv)->b1); + gtk_widget_show (((tabview *)cv)->b2); + } +} + +static gint +tab_search_offset (GtkWidget *inner, gint start_offset, + gboolean forward, gboolean vertical) +{ + GList *boxes; + GList *tabs; + GtkWidget *box; + GtkWidget *button; + GtkAllocation allocation; + gint found; + + boxes = gtk_container_get_children (GTK_CONTAINER (inner)); + if (!forward && boxes) + boxes = g_list_last (boxes); + + while (boxes) + { + box = (GtkWidget *)boxes->data; + boxes = (forward ? boxes->next : boxes->prev); + + tabs = gtk_container_get_children (GTK_CONTAINER (box)); + if (!forward && tabs) + tabs = g_list_last (tabs); + + while (tabs) + { + button = (GtkWidget *)tabs->data; + tabs = (forward ? tabs->next : tabs->prev); + + if (!GTK_IS_TOGGLE_BUTTON (button)) + continue; + + gtk_widget_get_allocation (button, &allocation); + found = (vertical ? allocation.y : allocation.x); + if ((forward && found > start_offset) || + (!forward && found < start_offset)) + return found; + } + } + + return 0; +} + +static void +tab_scroll_left_up_clicked (GtkWidget *widget, chanview *cv) +{ + GtkAdjustment *adj; + gint viewport_size; + gfloat new_value; + GtkWidget *inner; + GdkWindow *parent_win; + gdouble i; + + inner = ((tabview *)cv)->inner; + parent_win = gtk_widget_get_window (gtk_widget_get_parent (inner)); + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (gtk_widget_get_parent(inner))); + gdk_window_get_geometry (parent_win, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (gtk_widget_get_parent(inner))); + gdk_window_get_geometry (parent_win, 0, 0, &viewport_size, 0, 0); + } + + new_value = tab_search_offset (inner, gtk_adjustment_get_value (adj), 0, cv->vertical); + + if (new_value + viewport_size > gtk_adjustment_get_upper (adj)) + new_value = gtk_adjustment_get_upper (adj) - viewport_size; + + if (!tab_left_is_moving) + { + tab_left_is_moving = 1; + + for (i = gtk_adjustment_get_value (adj); ((i > new_value) && (tab_left_is_moving)); i -= 0.1) + { + gtk_adjustment_set_value (adj, i); + while (g_main_context_pending (NULL)) + g_main_context_iteration (NULL, TRUE); + } + + gtk_adjustment_set_value (adj, new_value); + + tab_left_is_moving = 0; /* hSP: set to false in case we didnt get stopped (the normal case) */ + } + else + { + tab_left_is_moving = 0; /* hSP: jump directly to next element if user is clicking faster than we can scroll.. */ + } +} + +static void +tab_scroll_right_down_clicked (GtkWidget *widget, chanview *cv) +{ + GtkAdjustment *adj; + gint viewport_size; + gfloat new_value; + GtkWidget *inner; + GdkWindow *parent_win; + gdouble i; + + inner = ((tabview *)cv)->inner; + parent_win = gtk_widget_get_window (gtk_widget_get_parent (inner)); + + if (cv->vertical) + { + adj = gtk_viewport_get_vadjustment (GTK_VIEWPORT (gtk_widget_get_parent(inner))); + gdk_window_get_geometry (parent_win, 0, 0, 0, &viewport_size, 0); + } else + { + adj = gtk_viewport_get_hadjustment (GTK_VIEWPORT (gtk_widget_get_parent(inner))); + gdk_window_get_geometry (parent_win, 0, 0, &viewport_size, 0, 0); + } + + new_value = tab_search_offset (inner, gtk_adjustment_get_value (adj), 1, cv->vertical); + + if (new_value == 0 || new_value + viewport_size > gtk_adjustment_get_upper (adj)) + new_value = gtk_adjustment_get_upper (adj) - viewport_size; + + if (!tab_right_is_moving) + { + tab_right_is_moving = 1; + + for (i = gtk_adjustment_get_value (adj); ((i < new_value) && (tab_right_is_moving)); i += 0.1) + { + gtk_adjustment_set_value (adj, i); + while (g_main_context_pending (NULL)) + g_main_context_iteration (NULL, TRUE); + } + + gtk_adjustment_set_value (adj, new_value); + + tab_right_is_moving = 0; /* hSP: set to false in case we didnt get stopped (the normal case) */ + } + else + { + tab_right_is_moving = 0; /* hSP: jump directly to next element if user is clicking faster than we can scroll.. */ + } +} + +static gboolean +tab_scroll_cb (GtkWidget *widget, GdkEventScroll *event, gpointer cv) +{ + if (prefs.hex_gui_tab_scrollchans) + { + if (event->direction == GDK_SCROLL_DOWN) + mg_switch_page (1, 1); + else if (event->direction == GDK_SCROLL_UP) + mg_switch_page (1, -1); + } + else + { + /* mouse wheel scrolling */ + if (event->direction == GDK_SCROLL_UP) + tab_scroll_left_up_clicked (widget, cv); + else if (event->direction == GDK_SCROLL_DOWN) + tab_scroll_right_down_clicked (widget, cv); + } + + return FALSE; +} + +static void +cv_tabs_xclick_cb (GtkWidget *button, chanview *cv) +{ + cv->cb_xbutton (cv, cv->focused, cv->focused->tag, cv->focused->userdata); +} + +/* make a Scroll (arrow) button */ + +static GtkWidget * +make_sbutton (GtkArrowType type, void *click_cb, void *userdata) +{ + GtkWidget *button, *arrow; + + button = gtk_button_new (); + arrow = gtk_arrow_new (type, GTK_SHADOW_NONE); + gtk_container_add (GTK_CONTAINER (button), arrow); + gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); + g_signal_connect (G_OBJECT (button), "clicked", + G_CALLBACK (click_cb), userdata); + g_signal_connect (G_OBJECT (button), "scroll_event", + G_CALLBACK (tab_scroll_cb), userdata); + gtk_widget_show (arrow); + + return button; +} + +static void +cv_tabs_init (chanview *cv) +{ + GtkWidget *box, *hbox = NULL; + GtkWidget *viewport; + GtkWidget *outer; + GtkWidget *button; + + if (cv->vertical) + outer = gtk_vbox_new (0, 0); + else + outer = gtk_hbox_new (0, 0); + ((tabview *)cv)->outer = outer; + g_signal_connect (G_OBJECT (outer), "size_allocate", + G_CALLBACK (cv_tabs_sizealloc), cv); +/* gtk_container_set_border_width (GTK_CONTAINER (outer), 2);*/ + gtk_widget_show (outer); + + viewport = gtk_viewport_new (0, 0); + gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); + g_signal_connect (G_OBJECT (viewport), "size_request", + G_CALLBACK (cv_tabs_sizerequest), cv); + g_signal_connect (G_OBJECT (viewport), "scroll_event", + G_CALLBACK (tab_scroll_cb), cv); + gtk_box_pack_start (GTK_BOX (outer), viewport, 1, 1, 0); + gtk_widget_show (viewport); + + if (cv->vertical) + box = gtk_vbox_new (FALSE, 0); + else + box = gtk_hbox_new (FALSE, 0); + ((tabview *)cv)->inner = box; + gtk_container_add (GTK_CONTAINER (viewport), box); + gtk_widget_show (box); + + /* if vertical, the buttons can be side by side */ + if (cv->vertical) + { + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (outer), hbox, 0, 0, 0); + gtk_widget_show (hbox); + } + + /* make the Scroll buttons */ + ((tabview *)cv)->b2 = make_sbutton (cv->vertical ? + GTK_ARROW_UP : GTK_ARROW_LEFT, + tab_scroll_left_up_clicked, + cv); + + ((tabview *)cv)->b1 = make_sbutton (cv->vertical ? + GTK_ARROW_DOWN : GTK_ARROW_RIGHT, + tab_scroll_right_down_clicked, + cv); + + if (hbox) + { + gtk_container_add (GTK_CONTAINER (hbox), ((tabview *)cv)->b2); + gtk_container_add (GTK_CONTAINER (hbox), ((tabview *)cv)->b1); + } else + { + gtk_box_pack_start (GTK_BOX (outer), ((tabview *)cv)->b2, 0, 0, 0); + gtk_box_pack_start (GTK_BOX (outer), ((tabview *)cv)->b1, 0, 0, 0); + } + + button = gtkutil_button (outer, GTK_STOCK_CLOSE, NULL, cv_tabs_xclick_cb, + cv, 0); + gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); + gtk_widget_set_can_focus (button, FALSE); + + gtk_container_add (GTK_CONTAINER (cv->box), outer); +} + +static void +cv_tabs_postinit (chanview *cv) +{ +} + +static void +tab_add_sorted (chanview *cv, GtkWidget *box, GtkWidget *tab, chan *ch) +{ + GList *list; + GtkWidget *child; + int i = 0; + void *b; + + if (!cv->sorted) + { + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_widget_show (tab); + return; + } + + /* sorting TODO: + * - move tab if renamed (dialogs) */ + + /* userdata, passed to mg_tabs_compare() */ + b = ch->userdata; + + list = gtk_container_get_children (GTK_CONTAINER (box)); + while (list) + { + child = list->data; + if (!GTK_IS_SEPARATOR (child)) + { + void *a = g_object_get_data (G_OBJECT (child), "u"); + + if (ch->tag == 0 && cv->cb_compare (a, b) > 0) + { + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), tab, ++i); + gtk_widget_show (tab); + return; + } + } + i++; + list = list->next; + } + + /* append */ + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), tab, i); + gtk_widget_show (tab); +} + +/* remove empty boxes and separators */ + +static void +cv_tabs_prune (chanview *cv) +{ + GList *boxes, *children; + GtkWidget *box, *inner; + GtkWidget *child; + int empty; + + inner = ((tabview *)cv)->inner; + boxes = gtk_container_get_children (GTK_CONTAINER (inner)); + while (boxes) + { + child = boxes->data; + box = child; + boxes = boxes->next; + + /* check if the box is empty (except a vseperator) */ + empty = TRUE; + children = gtk_container_get_children (GTK_CONTAINER (box)); + while (children) + { + if (!GTK_IS_SEPARATOR ((GtkWidget *)children->data)) + { + empty = FALSE; + break; + } + children = children->next; + } + + if (empty) + gtk_widget_destroy (box); + } +} + +static void +tab_add_real (chanview *cv, GtkWidget *tab, chan *ch) +{ + GList *boxes, *children; + GtkWidget *sep, *box, *inner; + GtkWidget *child; + int empty; + + inner = ((tabview *)cv)->inner; + /* see if a family for this tab already exists */ + boxes = gtk_container_get_children (GTK_CONTAINER (inner)); + while (boxes) + { + child = boxes->data; + box = child; + + if (g_object_get_data (G_OBJECT (box), "f") == ch->family) + { + tab_add_sorted (cv, box, tab, ch); + gtk_widget_queue_resize (gtk_widget_get_parent(inner)); + return; + } + + boxes = boxes->next; + + /* check if the box is empty (except a vseperator) */ + empty = TRUE; + children = gtk_container_get_children (GTK_CONTAINER (box)); + while (children) + { + if (!GTK_IS_SEPARATOR ((GtkWidget *)children->data)) + { + empty = FALSE; + break; + } + children = children->next; + } + + if (empty) + gtk_widget_destroy (box); + } + + /* create a new family box */ + if (cv->vertical) + { + /* vertical */ + box = gtk_vbox_new (FALSE, 0); + sep = gtk_hseparator_new (); + } else + { + /* horiz */ + box = gtk_hbox_new (FALSE, 0); + sep = gtk_vseparator_new (); + } + + gtk_box_pack_end (GTK_BOX (box), sep, 0, 0, 4); + gtk_widget_show (sep); + gtk_box_pack_start (GTK_BOX (inner), box, 0, 0, 0); + g_object_set_data (G_OBJECT (box), "f", ch->family); + gtk_box_pack_start (GTK_BOX (box), tab, 0, 0, 0); + gtk_widget_show (tab); + gtk_widget_show (box); + gtk_widget_queue_resize (gtk_widget_get_parent(inner)); +} + +static gboolean +tab_ignore_cb (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data) +{ + return TRUE; +} + +/* called when a tab is clicked (button down) */ + +static void +tab_pressed_cb (GtkToggleButton *tab, chan *ch) +{ + chan *old_tab; + int is_switching = TRUE; + chanview *cv = ch->cv; + + ignore_toggle = TRUE; + /* de-activate the old tab */ + old_tab = cv->focused; + if (old_tab && old_tab->impl) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (old_tab->impl), FALSE); + if (old_tab == ch) + is_switching = FALSE; + } + gtk_toggle_button_set_active (tab, TRUE); + ignore_toggle = FALSE; + cv->focused = ch; + + if (/*tab->active*/is_switching) + /* call the focus callback */ + cv->cb_focus (cv, ch, ch->tag, ch->userdata); +} + +/* called for keyboard tab toggles only */ +static void +tab_toggled_cb (GtkToggleButton *tab, chan *ch) +{ + if (ignore_toggle) + return; + + /* activated a tab via keyboard */ + tab_pressed_cb (tab, ch); +} + +static gboolean +tab_click_cb (GtkWidget *wid, GdkEventButton *event, chan *ch) +{ + return ch->cv->cb_contextmenu (ch->cv, ch, ch->tag, ch->userdata, event); +} + +static void * +cv_tabs_add (chanview *cv, chan *ch, char *name, GtkTreeIter *parent) +{ + GtkWidget *but; + + but = gtk_toggle_button_new_with_label (name); + gtk_widget_set_name (but, "hexchat-tab"); + g_object_set_data (G_OBJECT (but), "c", ch); + /* used to trap right-clicks */ + g_signal_connect (G_OBJECT (but), "button_press_event", + G_CALLBACK (tab_click_cb), ch); + /* avoid prelights */ + g_signal_connect (G_OBJECT (but), "enter_notify_event", + G_CALLBACK (tab_ignore_cb), NULL); + g_signal_connect (G_OBJECT (but), "leave_notify_event", + G_CALLBACK (tab_ignore_cb), NULL); + g_signal_connect (G_OBJECT (but), "pressed", + G_CALLBACK (tab_pressed_cb), ch); + /* for keyboard */ + g_signal_connect (G_OBJECT (but), "toggled", + G_CALLBACK (tab_toggled_cb), ch); + g_object_set_data (G_OBJECT (but), "u", ch->userdata); + + tab_add_real (cv, but, ch); + + return but; +} + +/* traverse all the family boxes of tabs + * + * A "group" is basically: + * GtkV/HBox + * `-GtkViewPort + * `-GtkV/HBox (inner box) + * `- GtkBox (family box) + * `- GtkToggleButton + * `- GtkToggleButton + * `- ... + * `- GtkBox + * `- GtkToggleButton + * `- GtkToggleButton + * `- ... + * `- ... + * + * */ + +static int +tab_group_for_each_tab (chanview *cv, + int (*callback) (GtkWidget *tab, int num, int usernum), + int usernum) +{ + GList *tabs; + GList *boxes; + GtkWidget *child; + GtkBox *innerbox; + int i; + + innerbox = (GtkBox *) ((tabview *)cv)->inner; + boxes = gtk_container_get_children (GTK_CONTAINER (innerbox)); + i = 0; + while (boxes) + { + child = boxes->data; + tabs = gtk_container_get_children (GTK_CONTAINER (child)); + + while (tabs) + { + child = tabs->data; + + if (!GTK_IS_SEPARATOR (child)) + { + if (callback (child, i, usernum) != -1) + return i; + i++; + } + tabs = tabs->next; + } + + boxes = boxes->next; + } + + return i; +} + +static int +tab_check_focus_cb (GtkWidget *tab, int num, int unused) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tab))) + return num; + + return -1; +} + +/* returns the currently focused tab number */ + +static int +tab_group_get_cur_page (chanview *cv) +{ + return tab_group_for_each_tab (cv, tab_check_focus_cb, 0); +} + +static void +cv_tabs_focus (chan *ch) +{ + if (ch->impl) + /* focus the new one (tab_pressed_cb defocuses the old one) */ + tab_pressed_cb (GTK_TOGGLE_BUTTON (ch->impl), ch); +} + +static int +tab_focus_num_cb (GtkWidget *tab, int num, int want) +{ + if (num == want) + { + cv_tabs_focus (g_object_get_data (G_OBJECT (tab), "c")); + return 1; + } + + return -1; +} + +static void +cv_tabs_change_orientation (chanview *cv) +{ + /* cleanup the old one */ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + /* now rebuild a new tabbar or tree */ + cv->func_init (cv); + chanview_populate (cv); +} + +/* switch to the tab number specified */ + +static void +cv_tabs_move_focus (chanview *cv, gboolean relative, int num) +{ + int i, max; + + if (relative) + { + max = cv->size; + i = tab_group_get_cur_page (cv) + num; + /* make it wrap around at both ends */ + if (i < 0) + i = max - 1; + if (i >= max) + i = 0; + tab_group_for_each_tab (cv, tab_focus_num_cb, i); + return; + } + + tab_group_for_each_tab (cv, tab_focus_num_cb, num); +} + +static void +cv_tabs_remove (chan *ch) +{ + gtk_widget_destroy (ch->impl); + ch->impl = NULL; + + cv_tabs_prune (ch->cv); +} + +static void +cv_tabs_move (chan *ch, int delta) +{ + int i = 0; + int pos = 0; + GList *list; + GtkWidget *parent = gtk_widget_get_parent(GTK_WIDGET (ch->impl)); + + for (list = gtk_container_get_children (GTK_CONTAINER (parent)); list; list = list->next) + { + GtkWidget *child_entry; + + child_entry = list->data; + if (child_entry == ch->impl) + pos = i; + + /* keep separator at end to not throw off our count */ + if (GTK_IS_SEPARATOR (child_entry)) + gtk_box_reorder_child (GTK_BOX (parent), child_entry, -1); + else + i++; + } + + pos = (pos - delta) % i; + gtk_box_reorder_child (GTK_BOX (parent), ch->impl, pos); +} + +static void +cv_tabs_move_family (chan *ch, int delta) +{ + int i, pos = 0; + GList *list; + GtkWidget *box = NULL; + + /* find position of tab's family */ + i = 0; + for (list = gtk_container_get_children (GTK_CONTAINER (((tabview *)ch->cv)->inner)); list; list = list->next) + { + GtkWidget *child_entry; + void *fam; + + child_entry = list->data; + fam = g_object_get_data (G_OBJECT (child_entry), "f"); + if (fam == ch->family) + { + box = child_entry; + pos = i; + } + i++; + } + + pos = (pos - delta) % i; + gtk_box_reorder_child (GTK_BOX (gtk_widget_get_parent(box)), box, pos); +} + +static void +cv_tabs_cleanup (chanview *cv) +{ + if (cv->box) + gtk_widget_destroy (((tabview *)cv)->outer); +} + +static void +cv_tabs_set_color (chan *ch, PangoAttrList *list) +{ + gtk_label_set_attributes (GTK_LABEL (gtk_bin_get_child (GTK_BIN (ch->impl))), list); +} + +static void +cv_tabs_rename (chan *ch, char *name) +{ + PangoAttrList *attr; + GtkWidget *tab = ch->impl; + + attr = gtk_label_get_attributes (GTK_LABEL (gtk_bin_get_child (GTK_BIN (tab)))); + if (attr) + pango_attr_list_ref (attr); + + gtk_button_set_label (GTK_BUTTON (tab), name); + gtk_widget_queue_resize (gtk_widget_get_parent(gtk_widget_get_parent(gtk_widget_get_parent(tab)))); + + if (attr) + { + gtk_label_set_attributes (GTK_LABEL (gtk_bin_get_child (GTK_BIN (tab))), attr); + pango_attr_list_unref (attr); + } +} + +static gboolean +cv_tabs_is_collapsed (chan *ch) +{ + return FALSE; +} + +static chan * +cv_tabs_get_parent (chan *ch) +{ + return NULL; +} diff --git a/src/fe-gtk/chanview-tree.c b/src/fe-gtk/chanview-tree.c new file mode 100644 index 0000000000000000000000000000000000000000..261304db8d508ad1453e650ac46fcac8ee24d344 --- /dev/null +++ b/src/fe-gtk/chanview-tree.c @@ -0,0 +1,396 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* file included in chanview.c */ + +typedef struct +{ + GtkTreeView *tree; + GtkWidget *scrollw; /* scrolledWindow */ +} treeview; + +#include <gdk/gdk.h> + +static void /* row-activated, when a row is double clicked */ +cv_tree_activated_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + if (gtk_tree_view_row_expanded (view, path)) + gtk_tree_view_collapse_row (view, path); + else + gtk_tree_view_expand_row (view, path, FALSE); +} + +static void /* row selected callback */ +cv_tree_sel_cb (GtkTreeSelection *sel, chanview *cv) +{ + GtkTreeModel *model; + GtkTreeIter iter; + chan *ch; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, COL_CHAN, &ch, -1); + + cv->focused = ch; + cv->cb_focus (cv, ch, ch->tag, ch->userdata); + } +} + +static gboolean +cv_tree_click_cb (GtkTreeView *tree, GdkEventButton *event, chanview *cv) +{ + chan *ch; + GtkTreePath *path; + GtkTreeIter iter; + int ret = FALSE; + + if (gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) + { + if (gtk_tree_model_get_iter (GTK_TREE_MODEL (cv->store), &iter, path)) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + ret = cv->cb_contextmenu (cv, ch, ch->tag, ch->userdata, event); + } + gtk_tree_path_free (path); + } + return ret; +} + +static gboolean +cv_tree_scroll_event_cb (GtkWidget *widget, GdkEventScroll *event, gpointer user_data) +{ + if (prefs.hex_gui_tab_scrollchans) + { + if (event->direction == GDK_SCROLL_DOWN) + mg_switch_page (1, 1); + else if (event->direction == GDK_SCROLL_UP) + mg_switch_page (1, -1); + + return TRUE; + } + + return FALSE; +} + +static void +cv_tree_init (chanview *cv) +{ + GtkWidget *view, *win; + GtkCellRenderer *renderer; + GtkTreeViewColumn *col; + int wid1, wid2; + static const GtkTargetEntry dnd_src_target[] = + { + {"HEXCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 } + }; + static const GtkTargetEntry dnd_dest_target[] = + { + {"HEXCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + win = gtk_scrolled_window_new (0, 0); + /*gtk_container_set_border_width (GTK_CONTAINER (win), 1);*/ + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (win), + GTK_SHADOW_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (cv->box), win); + gtk_widget_show (win); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (cv->store)); + gtk_widget_set_name (view, "hexchat-tree"); + if (cv->style) + gtk_widget_set_style (view, cv->style); + /*gtk_widget_modify_base (view, GTK_STATE_NORMAL, &colors[COL_BG]);*/ + gtk_widget_set_can_focus (view, FALSE); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view), FALSE); + + if (prefs.hex_gui_tab_dots) + { + gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (view), TRUE); + } + + /* Indented channels with no server looks silly, but we still want expanders */ + if (!prefs.hex_gui_tab_server) + { + gtk_widget_style_get (view, "expander-size", &wid1, "horizontal-separator", &wid2, NULL); + gtk_tree_view_set_level_indentation (GTK_TREE_VIEW (view), -wid1 - wid2); + } + + + gtk_container_add (GTK_CONTAINER (win), view); + col = gtk_tree_view_column_new(); + + /* icon column */ + if (cv->use_icons) + { + renderer = gtk_cell_renderer_pixbuf_new (); + if (prefs.hex_gui_compact) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + + gtk_tree_view_column_pack_start(col, renderer, FALSE); + gtk_tree_view_column_set_attributes (col, renderer, "pixbuf", COL_PIXBUF, NULL); + } + + /* main column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.hex_gui_compact) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_column_pack_start(col, renderer, TRUE); + gtk_tree_view_column_set_attributes (col, renderer, "text", COL_NAME, "attributes", COL_ATTR, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); + + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), + "changed", G_CALLBACK (cv_tree_sel_cb), cv); + g_signal_connect (G_OBJECT (view), "button-press-event", + G_CALLBACK (cv_tree_click_cb), cv); + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (cv_tree_activated_cb), NULL); + g_signal_connect (G_OBJECT (view), "scroll_event", + G_CALLBACK (cv_tree_scroll_event_cb), NULL); + + gtk_drag_dest_set (view, GTK_DEST_DEFAULT_ALL, dnd_dest_target, 1, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + gtk_drag_source_set (view, GDK_BUTTON1_MASK, dnd_src_target, 1, GDK_ACTION_COPY); + + g_signal_connect (G_OBJECT (view), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), NULL); + g_signal_connect (G_OBJECT (view), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); + + ((treeview *)cv)->tree = GTK_TREE_VIEW (view); + ((treeview *)cv)->scrollw = win; + gtk_widget_show (view); +} + +static void +cv_tree_postinit (chanview *cv) +{ + gtk_tree_view_expand_all (((treeview *)cv)->tree); +} + +static void * +cv_tree_add (chanview *cv, chan *ch, char *name, GtkTreeIter *parent) +{ + GtkTreePath *path; + + if (parent) + { + /* expand the parent node */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (cv->store), parent); + if (path) + { + gtk_tree_view_expand_row (((treeview *)cv)->tree, path, FALSE); + gtk_tree_path_free (path); + } + } + + return NULL; +} + +static void +cv_tree_change_orientation (chanview *cv) +{ +} + +static void +cv_tree_focus (chan *ch) +{ + GtkTreeView *tree = ((treeview *)ch->cv)->tree; + GtkTreeModel *model = gtk_tree_view_get_model (tree); + GtkTreePath *path; + GtkTreeIter parent; + GdkRectangle cell_rect; + GdkRectangle vis_rect; + gint dest_y; + + /* expand the parent node */ + if (gtk_tree_model_iter_parent (model, &parent, &ch->iter)) + { + path = gtk_tree_model_get_path (model, &parent); + if (path) + { + /*if (!gtk_tree_view_row_expanded (tree, path)) + { + gtk_tree_path_free (path); + return; + }*/ + gtk_tree_view_expand_row (tree, path, FALSE); + gtk_tree_path_free (path); + } + } + + path = gtk_tree_model_get_path (model, &ch->iter); + if (path) + { + /* This full section does what + * gtk_tree_view_scroll_to_cell (tree, path, NULL, TRUE, 0.5, 0.5); + * does, except it only scrolls the window if the provided cell is + * not visible. Basic algorithm taken from gtktreeview.c */ + + /* obtain information to see if the cell is visible */ + gtk_tree_view_get_background_area (tree, path, NULL, &cell_rect); + gtk_tree_view_get_visible_rect (tree, &vis_rect); + + /* The cordinates aren't offset correctly */ + gtk_tree_view_convert_widget_to_bin_window_coords ( tree, cell_rect.x, cell_rect.y, NULL, &cell_rect.y ); + + /* only need to scroll if out of bounds */ + if (cell_rect.y < vis_rect.y || + cell_rect.y + cell_rect.height > vis_rect.y + vis_rect.height) + { + dest_y = cell_rect.y - ((vis_rect.height - cell_rect.height) * 0.5); + if (dest_y < 0) + dest_y = 0; + gtk_tree_view_scroll_to_point (tree, -1, dest_y); + } + /* theft done, now make it focused like */ + gtk_tree_view_set_cursor (tree, path, NULL, FALSE); + gtk_tree_path_free (path); + } +} + +static void +cv_tree_move_focus (chanview *cv, gboolean relative, int num) +{ + chan *ch; + + if (relative) + { + num += cv_find_number_of_chan (cv, cv->focused); + num %= cv->size; + /* make it wrap around at both ends */ + if (num < 0) + num = cv->size - 1; + } + + ch = cv_find_chan_by_number (cv, num); + if (ch) + cv_tree_focus (ch); +} + +static void +cv_tree_remove (chan *ch) +{ +} + +static void +move_row (chan *ch, int delta, GtkTreeIter *parent) +{ + GtkTreeStore *store = ch->cv->store; + GtkTreeIter *src = &ch->iter; + GtkTreeIter dest = ch->iter; + GtkTreePath *dest_path; + + if (delta < 0) /* down */ + { + if (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &dest)) + gtk_tree_store_swap (store, src, &dest); + else /* move to top */ + gtk_tree_store_move_after (store, src, NULL); + + } else + { + dest_path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &dest); + if (gtk_tree_path_prev (dest_path)) + { + gtk_tree_model_get_iter (GTK_TREE_MODEL (store), &dest, dest_path); + gtk_tree_store_swap (store, src, &dest); + } else + { /* move to bottom */ + gtk_tree_store_move_before (store, src, NULL); + } + + gtk_tree_path_free (dest_path); + } +} + +static void +cv_tree_move (chan *ch, int delta) +{ + GtkTreeIter parent; + + /* do nothing if this is a server row */ + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (ch->cv->store), &parent, &ch->iter)) + move_row (ch, delta, &parent); +} + +static void +cv_tree_move_family (chan *ch, int delta) +{ + move_row (ch, delta, NULL); +} + +static void +cv_tree_cleanup (chanview *cv) +{ + if (cv->box) + /* kill the scrolled window */ + gtk_widget_destroy (((treeview *)cv)->scrollw); +} + +static void +cv_tree_set_color (chan *ch, PangoAttrList *list) +{ + /* nothing to do, it's already set in the store */ +} + +static void +cv_tree_rename (chan *ch, char *name) +{ + /* nothing to do, it's already renamed in the store */ +} + +static chan * +cv_tree_get_parent (chan *ch) +{ + chan *parent_ch = NULL; + GtkTreeIter parent; + + if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (ch->cv->store), &parent, &ch->iter)) + { + gtk_tree_model_get (GTK_TREE_MODEL (ch->cv->store), &parent, COL_CHAN, &parent_ch, -1); + } + + return parent_ch; +} + +static gboolean +cv_tree_is_collapsed (chan *ch) +{ + chan *parent = cv_tree_get_parent (ch); + GtkTreePath *path = NULL; + gboolean ret; + + if (parent == NULL) + return FALSE; + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (parent->cv->store), + &parent->iter); + ret = !gtk_tree_view_row_expanded (((treeview *)parent->cv)->tree, path); + gtk_tree_path_free (path); + + return ret; +} diff --git a/src/fe-gtk/chanview.c b/src/fe-gtk/chanview.c new file mode 100644 index 0000000000000000000000000000000000000000..e5556d9f5ab6d622c25ae2089c40c968b2b937dc --- /dev/null +++ b/src/fe-gtk/chanview.c @@ -0,0 +1,661 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* abstract channel view: tabs or tree or anything you like */ + +#include <stdlib.h> +#include <string.h> + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "fe-gtk.h" +#include "maingui.h" +#include "gtkutil.h" +#include "chanview.h" + +/* treeStore columns */ +#define COL_NAME 0 /* (char *) */ +#define COL_CHAN 1 /* (chan *) */ +#define COL_ATTR 2 /* (PangoAttrList *) */ +#define COL_PIXBUF 3 /* (GdkPixbuf *) */ + +struct _chanview +{ + /* impl scratch area */ + char implscratch[sizeof (void *) * 8]; + + GtkTreeStore *store; + int size; /* number of channels in view */ + + GtkWidget *box; /* the box we destroy when changing implementations */ + GtkStyle *style; /* style used for tree */ + chan *focused; /* currently focused channel */ + int trunc_len; + + /* callbacks */ + void (*cb_focus) (chanview *, chan *, int tag, void *userdata); + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata); + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *); + int (*cb_compare) (void *a, void *b); + + /* impl */ + void (*func_init) (chanview *); + void (*func_postinit) (chanview *); + void *(*func_add) (chanview *, chan *, char *, GtkTreeIter *); + void (*func_move_focus) (chanview *, gboolean, int); + void (*func_change_orientation) (chanview *); + void (*func_remove) (chan *); + void (*func_move) (chan *, int delta); + void (*func_move_family) (chan *, int delta); + void (*func_focus) (chan *); + void (*func_set_color) (chan *, PangoAttrList *); + void (*func_rename) (chan *, char *); + gboolean (*func_is_collapsed) (chan *); + chan *(*func_get_parent) (chan *); + void (*func_cleanup) (chanview *); + + unsigned int sorted:1; + unsigned int vertical:1; + unsigned int use_icons:1; +}; + +struct _chan +{ + chanview *cv; /* our owner */ + GtkTreeIter iter; + void *userdata; /* session * */ + void *family; /* server * or null */ + void *impl; /* togglebutton or null */ + GdkPixbuf *icon; + short allow_closure; /* allow it to be closed when it still has children? */ + short tag; +}; + +static chan *cv_find_chan_by_number (chanview *cv, int num); +static int cv_find_number_of_chan (chanview *cv, chan *find_ch); + + +/* ======= TABS ======= */ + +#include "chanview-tabs.c" + + +/* ======= TREE ======= */ + +#include "chanview-tree.c" + + +/* ==== ABSTRACT CHANVIEW ==== */ + +static char * +truncate_tab_name (char *name, int max) +{ + char *buf; + + if (max > 2 && g_utf8_strlen (name, -1) > max) + { + /* truncate long channel names */ + buf = g_malloc (strlen (name) + 4); + g_utf8_strncpy (buf, name, max); + strcat (buf, ".."); + return buf; + } + + return name; +} + +/* iterate through a model, into 1 depth of children */ + +static void +model_foreach_1 (GtkTreeModel *model, void (*func)(void *, GtkTreeIter *), + void *userdata) +{ + GtkTreeIter iter, inner; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + func (userdata, &iter); + if (gtk_tree_model_iter_children (model, &inner, &iter)) + { + do + func (userdata, &inner); + while (gtk_tree_model_iter_next (model, &inner)); + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} + +static void +chanview_pop_cb (chanview *cv, GtkTreeIter *iter) +{ + chan *ch; + char *name; + PangoAttrList *attr; + + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), iter, + COL_NAME, &name, COL_CHAN, &ch, COL_ATTR, &attr, -1); + ch->impl = cv->func_add (cv, ch, name, NULL); + if (attr) + { + cv->func_set_color (ch, attr); + pango_attr_list_unref (attr); + } + g_free (name); +} + +static void +chanview_populate (chanview *cv) +{ + model_foreach_1 (GTK_TREE_MODEL (cv->store), (void *)chanview_pop_cb, cv); +} + +void +chanview_set_impl (chanview *cv, int type) +{ + /* cleanup the old one */ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + switch (type) + { + case 0: + cv->func_init = cv_tabs_init; + cv->func_postinit = cv_tabs_postinit; + cv->func_add = cv_tabs_add; + cv->func_move_focus = cv_tabs_move_focus; + cv->func_change_orientation = cv_tabs_change_orientation; + cv->func_remove = cv_tabs_remove; + cv->func_move = cv_tabs_move; + cv->func_move_family = cv_tabs_move_family; + cv->func_focus = cv_tabs_focus; + cv->func_set_color = cv_tabs_set_color; + cv->func_rename = cv_tabs_rename; + cv->func_is_collapsed = cv_tabs_is_collapsed; + cv->func_get_parent = cv_tabs_get_parent; + cv->func_cleanup = cv_tabs_cleanup; + break; + + default: + cv->func_init = cv_tree_init; + cv->func_postinit = cv_tree_postinit; + cv->func_add = cv_tree_add; + cv->func_move_focus = cv_tree_move_focus; + cv->func_change_orientation = cv_tree_change_orientation; + cv->func_remove = cv_tree_remove; + cv->func_move = cv_tree_move; + cv->func_move_family = cv_tree_move_family; + cv->func_focus = cv_tree_focus; + cv->func_set_color = cv_tree_set_color; + cv->func_rename = cv_tree_rename; + cv->func_is_collapsed = cv_tree_is_collapsed; + cv->func_get_parent = cv_tree_get_parent; + cv->func_cleanup = cv_tree_cleanup; + break; + } + + /* now rebuild a new tabbar or tree */ + cv->func_init (cv); + + chanview_populate (cv); + + cv->func_postinit (cv); + + /* force re-focus */ + if (cv->focused) + cv->func_focus (cv->focused); +} + +static void +chanview_free_ch (chanview *cv, GtkTreeIter *iter) +{ + chan *ch; + + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), iter, COL_CHAN, &ch, -1); + g_free (ch); +} + +static void +chanview_destroy_store (chanview *cv) /* free every (chan *) in the store */ +{ + model_foreach_1 (GTK_TREE_MODEL (cv->store), (void *)chanview_free_ch, cv); + g_object_unref (cv->store); +} + +static void +chanview_destroy (chanview *cv) +{ + if (cv->func_cleanup) + cv->func_cleanup (cv); + + if (cv->box) + gtk_widget_destroy (cv->box); + + chanview_destroy_store (cv); + g_free (cv); +} + +static void +chanview_box_destroy_cb (GtkWidget *box, chanview *cv) +{ + cv->box = NULL; + chanview_destroy (cv); +} + +chanview * +chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons, + GtkStyle *style) +{ + chanview *cv; + + cv = g_new0 (chanview, 1); + cv->store = gtk_tree_store_new (4, G_TYPE_STRING, G_TYPE_POINTER, + PANGO_TYPE_ATTR_LIST, GDK_TYPE_PIXBUF); + cv->style = style; + cv->box = gtk_hbox_new (0, 0); + cv->trunc_len = trunc_len; + cv->sorted = sort; + cv->use_icons = use_icons; + gtk_widget_show (cv->box); + chanview_set_impl (cv, type); + + g_signal_connect (G_OBJECT (cv->box), "destroy", + G_CALLBACK (chanview_box_destroy_cb), cv); + + return cv; +} + +/* too lazy for signals */ + +void +chanview_set_callbacks (chanview *cv, + void (*cb_focus) (chanview *, chan *, int tag, void *userdata), + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata), + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *), + int (*cb_compare) (void *a, void *b)) +{ + cv->cb_focus = cb_focus; + cv->cb_xbutton = cb_xbutton; + cv->cb_contextmenu = cb_contextmenu; + cv->cb_compare = cb_compare; +} + +/* find a place to insert this new entry, based on the compare function */ + +static void +chanview_insert_sorted (chanview *cv, GtkTreeIter *add_iter, GtkTreeIter *parent, void *ud) +{ + GtkTreeIter iter; + chan *ch; + + if (cv->sorted && gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &iter, parent)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + if (ch->tag == 0 && cv->cb_compare (ch->userdata, ud) > 0) + { + gtk_tree_store_insert_before (cv->store, add_iter, parent, &iter); + return; + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + gtk_tree_store_append (cv->store, add_iter, parent); +} + +/* find a parent node with the same "family" pointer (i.e. the Server tab) */ + +static int +chanview_find_parent (chanview *cv, void *family, GtkTreeIter *search_iter, chan *avoid) +{ + chan *search_ch; + + /* find this new row's parent, if any */ + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), search_iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), search_iter, + COL_CHAN, &search_ch, -1); + if (family == search_ch->family && search_ch != avoid /*&& + gtk_tree_store_iter_depth (cv->store, search_iter) == 0*/) + return TRUE; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), search_iter)); + } + + return FALSE; +} + +static chan * +chanview_add_real (chanview *cv, char *name, void *family, void *userdata, + gboolean allow_closure, int tag, GdkPixbuf *icon, + chan *ch, chan *avoid) +{ + GtkTreeIter parent_iter; + GtkTreeIter iter; + gboolean has_parent = FALSE; + + if (chanview_find_parent (cv, family, &parent_iter, avoid)) + { + chanview_insert_sorted (cv, &iter, &parent_iter, userdata); + has_parent = TRUE; + } else + { + gtk_tree_store_append (cv->store, &iter, NULL); + } + + if (!ch) + { + ch = g_new0 (chan, 1); + ch->userdata = userdata; + ch->family = family; + ch->cv = cv; + ch->allow_closure = allow_closure; + ch->tag = tag; + ch->icon = icon; + } + memcpy (&(ch->iter), &iter, sizeof (iter)); + + gtk_tree_store_set (cv->store, &iter, COL_NAME, name, COL_CHAN, ch, + COL_PIXBUF, icon, -1); + + cv->size++; + if (!has_parent) + ch->impl = cv->func_add (cv, ch, name, NULL); + else + ch->impl = cv->func_add (cv, ch, name, &parent_iter); + + return ch; +} + +chan * +chanview_add (chanview *cv, char *name, void *family, void *userdata, gboolean allow_closure, int tag, GdkPixbuf *icon) +{ + char *new_name; + chan *ret; + + new_name = truncate_tab_name (name, cv->trunc_len); + + ret = chanview_add_real (cv, new_name, family, userdata, allow_closure, tag, icon, NULL, NULL); + + if (new_name != name) + g_free (new_name); + + return ret; +} + +int +chanview_get_size (chanview *cv) +{ + return cv->size; +} + +GtkWidget * +chanview_get_box (chanview *cv) +{ + return cv->box; +} + +void +chanview_move_focus (chanview *cv, gboolean relative, int num) +{ + cv->func_move_focus (cv, relative, num); +} + +GtkOrientation +chanview_get_orientation (chanview *cv) +{ + return (cv->vertical ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL); +} + +void +chanview_set_orientation (chanview *cv, gboolean vertical) +{ + if (vertical != cv->vertical) + { + cv->vertical = vertical; + cv->func_change_orientation (cv); + } +} + +int +chan_get_tag (chan *ch) +{ + return ch->tag; +} + +void * +chan_get_userdata (chan *ch) +{ + return ch->userdata; +} + +void +chan_focus (chan *ch) +{ + if (ch->cv->focused == ch) + return; + + ch->cv->func_focus (ch); +} + +void +chan_move (chan *ch, int delta) +{ + ch->cv->func_move (ch, delta); +} + +void +chan_move_family (chan *ch, int delta) +{ + ch->cv->func_move_family (ch, delta); +} + +void +chan_set_color (chan *ch, PangoAttrList *list) +{ + gtk_tree_store_set (ch->cv->store, &ch->iter, COL_ATTR, list, -1); + ch->cv->func_set_color (ch, list); +} + +void +chan_rename (chan *ch, char *name, int trunc_len) +{ + char *new_name; + + new_name = truncate_tab_name (name, trunc_len); + + gtk_tree_store_set (ch->cv->store, &ch->iter, COL_NAME, new_name, -1); + ch->cv->func_rename (ch, new_name); + ch->cv->trunc_len = trunc_len; + + if (new_name != name) + g_free (new_name); +} + +/* this thing is overly complicated */ + +static int +cv_find_number_of_chan (chanview *cv, chan *find_ch) +{ + GtkTreeIter iter, inner; + chan *ch; + int i = 0; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + if (ch == find_ch) + return i; + i++; + + if (gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &inner, &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &inner, COL_CHAN, &ch, -1); + if (ch == find_ch) + return i; + i++; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &inner)); + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + return 0; /* WARNING */ +} + +/* this thing is overly complicated too */ + +static chan * +cv_find_chan_by_number (chanview *cv, int num) +{ + GtkTreeIter iter, inner; + chan *ch; + int i = 0; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cv->store), &iter)) + { + do + { + if (i == num) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); + return ch; + } + i++; + + if (gtk_tree_model_iter_children (GTK_TREE_MODEL (cv->store), &inner, &iter)) + { + do + { + if (i == num) + { + gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &inner, COL_CHAN, &ch, -1); + return ch; + } + i++; + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &inner)); + } + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (cv->store), &iter)); + } + + return NULL; +} + +static void +chan_emancipate_children (chan *ch) +{ + char *name; + chan *childch; + GtkTreeIter childiter; + PangoAttrList *attr; + + while (gtk_tree_model_iter_children (GTK_TREE_MODEL (ch->cv->store), &childiter, &ch->iter)) + { + /* remove and re-add all the children, but avoid using "ch" as parent */ + gtk_tree_model_get (GTK_TREE_MODEL (ch->cv->store), &childiter, + COL_NAME, &name, COL_CHAN, &childch, COL_ATTR, &attr, -1); + ch->cv->func_remove (childch); + gtk_tree_store_remove (ch->cv->store, &childiter); + ch->cv->size--; + chanview_add_real (childch->cv, name, childch->family, childch->userdata, childch->allow_closure, childch->tag, childch->icon, childch, ch); + if (attr) + { + childch->cv->func_set_color (childch, attr); + pango_attr_list_unref (attr); + } + g_free (name); + } +} + +gboolean +chan_remove (chan *ch, gboolean force) +{ + chan *new_ch; + int i, num; + extern int hexchat_is_quitting; + + if (hexchat_is_quitting) /* avoid lots of looping on exit */ + return TRUE; + + /* is this ch allowed to be closed while still having children? */ + if (!force && + gtk_tree_model_iter_has_child (GTK_TREE_MODEL (ch->cv->store), &ch->iter) && + !ch->allow_closure) + return FALSE; + + chan_emancipate_children (ch); + ch->cv->func_remove (ch); + + /* is it the focused one? */ + if (ch->cv->focused == ch) + { + ch->cv->focused = NULL; + + /* try to move the focus to some other valid channel */ + num = cv_find_number_of_chan (ch->cv, ch); + /* move to the one left of the closing tab */ + new_ch = cv_find_chan_by_number (ch->cv, num - 1); + if (new_ch && new_ch != ch) + { + chan_focus (new_ch); /* this'll will set ch->cv->focused for us too */ + } else + { + /* if it fails, try focus from tab 0 and up */ + for (i = 0; i < ch->cv->size; i++) + { + new_ch = cv_find_chan_by_number (ch->cv, i); + if (new_ch && new_ch != ch) + { + chan_focus (new_ch); /* this'll will set ch->cv->focused for us too */ + break; + } + } + } + } + + ch->cv->size--; + gtk_tree_store_remove (ch->cv->store, &ch->iter); + g_free (ch); + return TRUE; +} + +gboolean +chan_is_collapsed (chan *ch) +{ + return ch->cv->func_is_collapsed (ch); +} + +chan * +chan_get_parent (chan *ch) +{ + return ch->cv->func_get_parent (ch); +} diff --git a/src/fe-gtk/chanview.h b/src/fe-gtk/chanview.h new file mode 100644 index 0000000000000000000000000000000000000000..a1495b1dd12b8474c805dcd9c2d9ba108fb92bb7 --- /dev/null +++ b/src/fe-gtk/chanview.h @@ -0,0 +1,55 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_CHANVIEW_H +#define HEXCHAT_CHANVIEW_H + +typedef struct _chanview chanview; +typedef struct _chan chan; + +chanview *chanview_new (int type, int trunc_len, gboolean sort, gboolean use_icons, GtkStyle *style); +void chanview_set_callbacks (chanview *cv, + void (*cb_focus) (chanview *, chan *, int tag, void *userdata), + void (*cb_xbutton) (chanview *, chan *, int tag, void *userdata), + gboolean (*cb_contextmenu) (chanview *, chan *, int tag, void *userdata, GdkEventButton *), + int (*cb_compare) (void *a, void *b)); +void chanview_set_impl (chanview *cv, int type); +chan *chanview_add (chanview *cv, char *name, void *family, void *userdata, gboolean allow_closure, int tag, GdkPixbuf *icon); +int chanview_get_size (chanview *cv); +GtkWidget *chanview_get_box (chanview *cv); +void chanview_move_focus (chanview *cv, gboolean relative, int num); +GtkOrientation chanview_get_orientation (chanview *cv); +void chanview_set_orientation (chanview *cv, gboolean vertical); + +int chan_get_tag (chan *ch); +void *chan_get_userdata (chan *ch); +void chan_focus (chan *ch); +void chan_move (chan *ch, int delta); +void chan_move_family (chan *ch, int delta); +void chan_set_color (chan *ch, PangoAttrList *list); +void chan_rename (chan *ch, char *new_name, int trunc_len); +gboolean chan_remove (chan *ch, gboolean force); +gboolean chan_is_collapsed (chan *ch); +chan * chan_get_parent (chan *ch); + +#define FOCUS_NEW_ALL 1 +#define FOCUS_NEW_ONLY_ASKED 2 +#define FOCUS_NEW_NONE 0 + +#endif diff --git a/src/fe-gtk/custom-list.c b/src/fe-gtk/custom-list.c new file mode 100644 index 0000000000000000000000000000000000000000..f12419470f173094b200d4f84f2bf6f1297ae515 --- /dev/null +++ b/src/fe-gtk/custom-list.c @@ -0,0 +1,769 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include <stdlib.h> +#include "custom-list.h" + +/* indent -i3 -ci3 -ut -ts3 -bli0 -c0 custom-list.c */ + +/* boring declarations of local functions */ + +static void custom_list_init (CustomList * pkg_tree); + +static void custom_list_class_init (CustomListClass * klass); + +static void custom_list_tree_model_init (GtkTreeModelIface * iface); + +static void custom_list_finalize (GObject * object); + +static GtkTreeModelFlags custom_list_get_flags (GtkTreeModel * tree_model); + +static gint custom_list_get_n_columns (GtkTreeModel * tree_model); + +static GType custom_list_get_column_type (GtkTreeModel * tree_model, + gint index); + +static gboolean custom_list_get_iter (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreePath * path); + +static GtkTreePath *custom_list_get_path (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static void custom_list_get_value (GtkTreeModel * tree_model, + GtkTreeIter * iter, + gint column, GValue * value); + +static gboolean custom_list_iter_next (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gboolean custom_list_iter_children (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * parent); + +static gboolean custom_list_iter_has_child (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gint custom_list_iter_n_children (GtkTreeModel * tree_model, + GtkTreeIter * iter); + +static gboolean custom_list_iter_nth_child (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * parent, gint n); + +static gboolean custom_list_iter_parent (GtkTreeModel * tree_model, + GtkTreeIter * iter, + GtkTreeIter * child); + + /* -- GtkTreeSortable interface functions -- */ + +static gboolean custom_list_sortable_get_sort_column_id (GtkTreeSortable * + sortable, + gint * sort_col_id, + GtkSortType * order); + +static void custom_list_sortable_set_sort_column_id (GtkTreeSortable * + sortable, + gint sort_col_id, + GtkSortType order); + +static void custom_list_sortable_set_sort_func (GtkTreeSortable * sortable, + gint sort_col_id, + GtkTreeIterCompareFunc + sort_func, gpointer user_data, + GDestroyNotify + destroy_func); + +static void custom_list_sortable_set_default_sort_func (GtkTreeSortable * + sortable, + GtkTreeIterCompareFunc + sort_func, + gpointer user_data, + GDestroyNotify + destroy_func); + +static gboolean custom_list_sortable_has_default_sort_func (GtkTreeSortable * + sortable); + + + +static GObjectClass *parent_class = NULL; /* GObject stuff - nothing to worry about */ + + +static void +custom_list_sortable_init (GtkTreeSortableIface * iface) +{ + iface->get_sort_column_id = custom_list_sortable_get_sort_column_id; + iface->set_sort_column_id = custom_list_sortable_set_sort_column_id; + iface->set_sort_func = custom_list_sortable_set_sort_func; /* NOT SUPPORTED */ + iface->set_default_sort_func = custom_list_sortable_set_default_sort_func; /* NOT SUPPORTED */ + iface->has_default_sort_func = custom_list_sortable_has_default_sort_func; /* NOT SUPPORTED */ +} + +/***************************************************************************** + * + * custom_list_get_type: here we register our new type and its interfaces + * with the type system. If you want to implement + * additional interfaces like GtkTreeSortable, you + * will need to do it here. + * + *****************************************************************************/ + +GType +custom_list_get_type (void) +{ + static GType custom_list_type = 0; + + if (custom_list_type) + return custom_list_type; + + /* Some boilerplate type registration stuff */ + { + static const GTypeInfo custom_list_info = { + sizeof (CustomListClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) custom_list_class_init, + NULL, /* class finalize */ + NULL, /* class_data */ + sizeof (CustomList), + 0, /* n_preallocs */ + (GInstanceInitFunc) custom_list_init + }; + + custom_list_type = + g_type_register_static (G_TYPE_OBJECT, "CustomList", + &custom_list_info, (GTypeFlags) 0); + } + + /* Here we register our GtkTreeModel interface with the type system */ + { + static const GInterfaceInfo tree_model_info = { + (GInterfaceInitFunc) custom_list_tree_model_init, + NULL, + NULL + }; + + g_type_add_interface_static (custom_list_type, GTK_TYPE_TREE_MODEL, + &tree_model_info); + } + + /* Add GtkTreeSortable interface */ + { + static const GInterfaceInfo tree_sortable_info = { + (GInterfaceInitFunc) custom_list_sortable_init, + NULL, + NULL + }; + + g_type_add_interface_static (custom_list_type, + GTK_TYPE_TREE_SORTABLE, + &tree_sortable_info); + } + + return custom_list_type; +} + +/***************************************************************************** + * + * custom_list_class_init: more boilerplate GObject/GType stuff. + * Init callback for the type system, + * called once when our new class is created. + * + *****************************************************************************/ + +static void +custom_list_class_init (CustomListClass * klass) +{ + GObjectClass *object_class; + + parent_class = (GObjectClass *) g_type_class_peek_parent (klass); + object_class = (GObjectClass *) klass; + + object_class->finalize = custom_list_finalize; +} + +/***************************************************************************** + * + * custom_list_tree_model_init: init callback for the interface registration + * in custom_list_get_type. Here we override + * the GtkTreeModel interface functions that + * we implement. + * + *****************************************************************************/ + +static void +custom_list_tree_model_init (GtkTreeModelIface * iface) +{ + iface->get_flags = custom_list_get_flags; + iface->get_n_columns = custom_list_get_n_columns; + iface->get_column_type = custom_list_get_column_type; + iface->get_iter = custom_list_get_iter; + iface->get_path = custom_list_get_path; + iface->get_value = custom_list_get_value; + iface->iter_next = custom_list_iter_next; + iface->iter_children = custom_list_iter_children; + iface->iter_has_child = custom_list_iter_has_child; + iface->iter_n_children = custom_list_iter_n_children; + iface->iter_nth_child = custom_list_iter_nth_child; + iface->iter_parent = custom_list_iter_parent; +} + + +/***************************************************************************** + * + * custom_list_init: this is called everytime a new custom list object + * instance is created (we do that in custom_list_new). + * Initialise the list structure's fields here. + * + *****************************************************************************/ + +static void +custom_list_init (CustomList * custom_list) +{ + custom_list->n_columns = CUSTOM_LIST_N_COLUMNS; + + custom_list->column_types[0] = G_TYPE_STRING; /* CUSTOM_LIST_COL_NAME */ + custom_list->column_types[1] = G_TYPE_UINT; /* CUSTOM_LIST_COL_USERS */ + custom_list->column_types[2] = G_TYPE_STRING; /* CUSTOM_LIST_COL_TOPIC */ + + custom_list->num_rows = 0; + custom_list->num_alloc = 0; + custom_list->rows = NULL; + + custom_list->sort_id = SORT_ID_CHANNEL; + custom_list->sort_order = GTK_SORT_ASCENDING; +} + + +/***************************************************************************** + * + * custom_list_finalize: this is called just before a custom list is + * destroyed. Free dynamically allocated memory here. + * + *****************************************************************************/ + +static void +custom_list_finalize (GObject * object) +{ + custom_list_clear (CUSTOM_LIST (object)); + + /* must chain up - finalize parent */ + (*parent_class->finalize) (object); +} + + +/***************************************************************************** + * + * custom_list_get_flags: tells the rest of the world whether our tree model + * has any special characteristics. In our case, + * we have a list model (instead of a tree), and each + * tree iter is valid as long as the row in question + * exists, as it only contains a pointer to our struct. + * + *****************************************************************************/ + +static GtkTreeModelFlags +custom_list_get_flags (GtkTreeModel * tree_model) +{ + return (GTK_TREE_MODEL_LIST_ONLY /*| GTK_TREE_MODEL_ITERS_PERSIST */ ); +} + + +/***************************************************************************** + * + * custom_list_get_n_columns: tells the rest of the world how many data + * columns we export via the tree model interface + * + *****************************************************************************/ + +static gint +custom_list_get_n_columns (GtkTreeModel * tree_model) +{ + return 3;/*CUSTOM_LIST (tree_model)->n_columns;*/ +} + + +/***************************************************************************** + * + * custom_list_get_column_type: tells the rest of the world which type of + * data an exported model column contains + * + *****************************************************************************/ + +static GType +custom_list_get_column_type (GtkTreeModel * tree_model, gint index) +{ + return CUSTOM_LIST (tree_model)->column_types[index]; +} + + +/***************************************************************************** + * + * custom_list_get_iter: converts a tree path (physical position) into a + * tree iter structure (the content of the iter + * fields will only be used internally by our model). + * We simply store a pointer to our chanlistrow + * structure that represents that row in the tree iter. + * + *****************************************************************************/ + +static gboolean +custom_list_get_iter (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreePath * path) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + chanlistrow *record; + gint n; + + n = gtk_tree_path_get_indices (path)[0]; + if (n < 0 || (guint) n >= custom_list->num_rows) + return FALSE; + + record = custom_list->rows[n]; + + /* We simply store a pointer to our custom record in the iter */ + iter->user_data = record; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_get_path: converts a tree iter into a tree path (ie. the + * physical position of that row in the list). + * + *****************************************************************************/ + +static GtkTreePath * +custom_list_get_path (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + GtkTreePath *path; + chanlistrow *record; + + record = (chanlistrow *) iter->user_data; + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, record->pos); + + return path; +} + + +/***************************************************************************** + * + * custom_list_get_value: Returns a row's exported data columns + * (_get_value is what gtk_tree_model_get uses) + * + *****************************************************************************/ + +static void +custom_list_get_value (GtkTreeModel * tree_model, + GtkTreeIter * iter, gint column, GValue * value) +{ + chanlistrow *record; + CustomList *custom_list = CUSTOM_LIST (tree_model); + + if (custom_list->num_rows == 0) + return; + + g_value_init (value, custom_list->column_types[column]); + + record = (chanlistrow *) iter->user_data; + + switch (column) + { + case CUSTOM_LIST_COL_NAME: + g_value_set_static_string (value, GET_CHAN (record)); + break; + + case CUSTOM_LIST_COL_USERS: + g_value_set_uint (value, record->users); + break; + + case CUSTOM_LIST_COL_TOPIC: + g_value_set_static_string (value, record->topic); + break; + } +} + + +/***************************************************************************** + * + * custom_list_iter_next: Takes an iter structure and sets it to point + * to the next row. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_next (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + chanlistrow *record, *nextrecord; + CustomList *custom_list = CUSTOM_LIST (tree_model); + + record = (chanlistrow *) iter->user_data; + + /* Is this the last record in the list? */ + if ((record->pos + 1) >= custom_list->num_rows) + return FALSE; + + nextrecord = custom_list->rows[(record->pos + 1)]; + + g_assert (nextrecord != NULL); + g_assert (nextrecord->pos == (record->pos + 1)); + + iter->user_data = nextrecord; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_children: Returns TRUE or FALSE depending on whether + * the row specified by 'parent' has any children. + * If it has children, then 'iter' is set to + * point to the first child. Special case: if + * 'parent' is NULL, then the first top-level + * row should be returned if it exists. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_children (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * parent) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* this is a list, nodes have no children */ + if (parent) + return FALSE; + + /* parent == NULL is a special case; we need to return the first top-level row */ + /* No rows => no first row */ + if (custom_list->num_rows == 0) + return FALSE; + + /* Set iter to first item in list */ + iter->user_data = custom_list->rows[0]; + + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_has_child: Returns TRUE or FALSE depending on whether + * the row specified by 'iter' has any children. + * We only have a list and thus no children. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_has_child (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + return FALSE; +} + + +/***************************************************************************** + * + * custom_list_iter_n_children: Returns the number of children the row + * specified by 'iter' has. This is usually 0, + * as we only have a list and thus do not have + * any children to any rows. A special case is + * when 'iter' is NULL, in which case we need + * to return the number of top-level nodes, + * ie. the number of rows in our list. + * + *****************************************************************************/ + +static gint +custom_list_iter_n_children (GtkTreeModel * tree_model, GtkTreeIter * iter) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* special case: if iter == NULL, return number of top-level rows */ + if (!iter) + return custom_list->num_rows; + + return 0; /* otherwise, this is easy again for a list */ +} + + +/***************************************************************************** + * + * custom_list_iter_nth_child: If the row specified by 'parent' has any + * children, set 'iter' to the n-th child and + * return TRUE if it exists, otherwise FALSE. + * A special case is when 'parent' is NULL, in + * which case we need to set 'iter' to the n-th + * row if it exists. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_nth_child (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * parent, gint n) +{ + CustomList *custom_list = CUSTOM_LIST (tree_model); + + /* a list has only top-level rows */ + if (parent) + return FALSE; + + /* special case: if parent == NULL, set iter to n-th top-level row */ + if (n < 0 || (guint) n >= custom_list->num_rows) + return FALSE; + + iter->user_data = custom_list->rows[n]; + return TRUE; +} + + +/***************************************************************************** + * + * custom_list_iter_parent: Point 'iter' to the parent node of 'child'. As + * we have a list and thus no children and no + * parents of children, we can just return FALSE. + * + *****************************************************************************/ + +static gboolean +custom_list_iter_parent (GtkTreeModel * tree_model, + GtkTreeIter * iter, GtkTreeIter * child) +{ + return FALSE; +} + +static gboolean +custom_list_sortable_get_sort_column_id (GtkTreeSortable * sortable, + gint * sort_col_id, + GtkSortType * order) +{ + CustomList *custom_list = CUSTOM_LIST (sortable); + + if (sort_col_id) + *sort_col_id = custom_list->sort_id; + + if (order) + *order = custom_list->sort_order; + + return TRUE; +} + + +static void +custom_list_sortable_set_sort_column_id (GtkTreeSortable * sortable, + gint sort_col_id, GtkSortType order) +{ + CustomList *custom_list = CUSTOM_LIST (sortable); + + if (custom_list->sort_id == sort_col_id + && custom_list->sort_order == order) + return; + + custom_list->sort_id = sort_col_id; + custom_list->sort_order = order; + + custom_list_resort (custom_list); + + /* emit "sort-column-changed" signal to tell any tree views + * that the sort column has changed (so the little arrow + * in the column header of the sort column is drawn + * in the right column) */ + + gtk_tree_sortable_sort_column_changed (sortable); +} + +static void +custom_list_sortable_set_sort_func (GtkTreeSortable * sortable, + gint sort_col_id, + GtkTreeIterCompareFunc sort_func, + gpointer user_data, + GDestroyNotify destroy_func) +{ +} + +static void +custom_list_sortable_set_default_sort_func (GtkTreeSortable * sortable, + GtkTreeIterCompareFunc sort_func, + gpointer user_data, + GDestroyNotify destroy_func) +{ +} + +static gboolean +custom_list_sortable_has_default_sort_func (GtkTreeSortable * sortable) +{ + return FALSE; +} + +/* fast as possible compare func for sorting. + TODO: If fast enough, use a unicode collation key and strcmp. */ + +#define TOSML(c) (((c) >= 'A' && (c) <= 'Z') ? (c) - 'A' + 'a' : (c)) + +static inline int +fast_ascii_stricmp (const char *s1, const char *s2) +{ + int c1, c2; + + while (*s1 && *s2) + { + c1 = (int) (unsigned char) TOSML (*s1); + c2 = (int) (unsigned char) TOSML (*s2); + if (c1 != c2) + return (c1 - c2); + s1++; + s2++; + } + + return (((int) (unsigned char) *s1) - ((int) (unsigned char) *s2)); +} + +static gint +custom_list_qsort_compare_func (chanlistrow ** a, chanlistrow ** b, + CustomList * custom_list) +{ + if (custom_list->sort_order == GTK_SORT_DESCENDING) + { + chanlistrow **tmp = a; + a = b; + b = tmp; + } + + if (custom_list->sort_id == SORT_ID_USERS) + { + return (*a)->users - (*b)->users; + } + + if (custom_list->sort_id == SORT_ID_TOPIC) + { + return fast_ascii_stricmp ((*a)->topic, (*b)->topic); + } + + return strcmp ((*a)->collation_key, (*b)->collation_key); +} + +/***************************************************************************** + * + * custom_list_new: This is what you use in your own code to create a + * new custom list tree model for you to use. + * + *****************************************************************************/ + +CustomList * +custom_list_new (void) +{ + return (CustomList *) g_object_new (CUSTOM_TYPE_LIST, NULL); +} + +void +custom_list_append (CustomList * custom_list, chanlistrow * newrecord) +{ + GtkTreeIter iter; + GtkTreePath *path; + gulong newsize; + guint pos; + + if (custom_list->num_rows >= custom_list->num_alloc) + { + custom_list->num_alloc += 64; + newsize = custom_list->num_alloc * sizeof (chanlistrow *); + custom_list->rows = g_realloc (custom_list->rows, newsize); + } + + /* TODO: Binary search insert? */ + + pos = custom_list->num_rows; + custom_list->rows[pos] = newrecord; + custom_list->num_rows++; + newrecord->pos = pos; + + /* inform the tree view and other interested objects + * (e.g. tree row references) that we have inserted + * a new row, and where it was inserted */ + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, newrecord->pos); +/* custom_list_get_iter(GTK_TREE_MODEL(custom_list), &iter, path);*/ + iter.user_data = newrecord; + gtk_tree_model_row_inserted (GTK_TREE_MODEL (custom_list), path, &iter); + gtk_tree_path_free (path); +} + +void +custom_list_resort (CustomList * custom_list) +{ + GtkTreePath *path; + gint *neworder, i; + + if (custom_list->num_rows < 2) + return; + + /* resort */ + g_qsort_with_data (custom_list->rows, + custom_list->num_rows, + sizeof (chanlistrow *), + (GCompareDataFunc) custom_list_qsort_compare_func, + custom_list); + + /* let other objects know about the new order */ + neworder = g_new (gint, custom_list->num_rows); + + for (i = custom_list->num_rows - 1; i >= 0; i--) + { + /* Note that the API reference might be wrong about + * this, see bug number 124790 on bugs.gnome.org. + * Both will work, but one will give you 'jumpy' + * selections after row reordering. */ + /* neworder[(custom_list->rows[i])->pos] = i; */ + neworder[i] = (custom_list->rows[i])->pos; + (custom_list->rows[i])->pos = i; + } + + path = gtk_tree_path_new (); + gtk_tree_model_rows_reordered (GTK_TREE_MODEL (custom_list), path, NULL, + neworder); + gtk_tree_path_free (path); + g_free (neworder); +} + +void +custom_list_clear (CustomList * custom_list) +{ + int i, max = custom_list->num_rows - 1; + GtkTreePath *path; + + for (i = max; i >= 0; i--) + { + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, custom_list->rows[i]->pos); + gtk_tree_model_row_deleted (GTK_TREE_MODEL (custom_list), path); + gtk_tree_path_free (path); + } + + custom_list->num_rows = 0; + custom_list->num_alloc = 0; + + g_free (custom_list->rows); + custom_list->rows = NULL; +} diff --git a/src/fe-gtk/custom-list.h b/src/fe-gtk/custom-list.h new file mode 100644 index 0000000000000000000000000000000000000000..30a73919092fe71509530b6a583de6080909158f --- /dev/null +++ b/src/fe-gtk/custom-list.h @@ -0,0 +1,106 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_CUSTOM_LIST_H +#define HEXCHAT_CUSTOM_LIST_H + +#include <gtk/gtk.h> + +GType custom_list_get_type (void); + +/* Some boilerplate GObject defines. 'klass' is used + * instead of 'class', because 'class' is a C++ keyword */ + +#define CUSTOM_TYPE_LIST (custom_list_get_type ()) +#define CUSTOM_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUSTOM_TYPE_LIST, CustomList)) +#define CUSTOM_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUSTOM_TYPE_LIST, CustomListClass)) +#define CUSTOM_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUSTOM_TYPE_LIST)) +#define CUSTOM_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUSTOM_TYPE_LIST)) +#define CUSTOM_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CUSTOM_TYPE_LIST, CustomListClass)) + +/* The data columns that we export via the tree model interface */ + +enum +{ + CUSTOM_LIST_COL_NAME, + CUSTOM_LIST_COL_USERS, + CUSTOM_LIST_COL_TOPIC, + CUSTOM_LIST_N_COLUMNS +}; + +enum +{ + SORT_ID_CHANNEL, + SORT_ID_USERS, + SORT_ID_TOPIC +}; + +typedef struct +{ + char *topic; + char *collation_key; + guint32 pos; /* pos within the array */ + guint32 users; + /* channel string lives beyond "users" */ +#define GET_CHAN(row) (((char *)row)+sizeof(chanlistrow)) +} +chanlistrow; + +typedef struct _CustomList CustomList; +typedef struct _CustomListClass CustomListClass; + + + +/* CustomList: this structure contains everything we need for our + * model implementation. You can add extra fields to + * this structure, e.g. hashtables to quickly lookup + * rows or whatever else you might need, but it is + * crucial that 'parent' is the first member of the + * structure. */ +struct _CustomList +{ + GObject parent; + + guint num_rows; /* number of rows that we have used */ + guint num_alloc; /* number of rows allocated */ + chanlistrow **rows; /* a dynamically allocated array of pointers to the + * CustomRecord structure for each row */ + + gint n_columns; + GType column_types[CUSTOM_LIST_N_COLUMNS]; + + gint sort_id; + GtkSortType sort_order; +}; + + +/* CustomListClass: more boilerplate GObject stuff */ + +struct _CustomListClass +{ + GObjectClass parent_class; +}; + + +CustomList *custom_list_new (void); +void custom_list_append (CustomList *, chanlistrow *); +void custom_list_resort (CustomList *); +void custom_list_clear (CustomList *); + +#endif /* HEXCHAT_CUSTOM_LIST_H */ diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c new file mode 100644 index 0000000000000000000000000000000000000000..728698e3a3594ac8f04cf47a1a07966012a4b5c3 --- /dev/null +++ b/src/fe-gtk/dccgui.c @@ -0,0 +1,1164 @@ +/* X-Chat + * Copyright (C) 1998-2006 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <time.h> + +#define WANTSOCKET +#define WANTARPA +#include "../common/inet.h" +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/network.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" + + +enum /* DCC SEND/RECV */ +{ + COL_TYPE, + COL_STATUS, + COL_FILE, + COL_SIZE, + COL_POS, + COL_PERC, + COL_SPEED, + COL_ETA, + COL_NICK, + COL_DCC, /* struct DCC * */ + COL_COLOR, /* GdkColor */ + N_COLUMNS +}; + +enum /* DCC CHAT */ +{ + CCOL_STATUS, + CCOL_NICK, + CCOL_RECV, + CCOL_SENT, + CCOL_START, + CCOL_DCC, /* struct DCC * */ + CCOL_COLOR, /* GdkColor * */ + CN_COLUMNS +}; + +struct dccwindow +{ + GtkWidget *window; + + GtkWidget *list; + GtkListStore *store; + GtkTreeSelection *sel; + + GtkWidget *abort_button; + GtkWidget *accept_button; + GtkWidget *resume_button; + GtkWidget *open_button; + GtkWidget *clear_button; /* clears aborted and completed requests */ + + GtkWidget *file_label; + GtkWidget *address_label; +}; + +struct my_dcc_send +{ + struct session *sess; + char *nick; + gint64 maxcps; + int passive; +}; + +static struct dccwindow dccfwin = {NULL, }; /* file */ +static struct dccwindow dcccwin = {NULL, }; /* chat */ +static GdkPixbuf *pix_up = NULL; /* down arrow */ +static GdkPixbuf *pix_dn = NULL; /* up arrow */ +static int win_width = 600; +static int win_height = 256; +static short view_mode; /* 1=download 2=upload 3=both */ +#define VIEW_DOWNLOAD 1 +#define VIEW_UPLOAD 2 +#define VIEW_BOTH 3 + + +static void +proper_unit (guint64 size, char *buf, size_t buf_len) +{ + gchar *formatted_str; + GFormatSizeFlags format_flags = G_FORMAT_SIZE_DEFAULT; + +#ifndef __APPLE__ /* OS X uses SI */ +#ifndef WIN32 /* Windows uses IEC size (with SI format) */ + if (prefs.hex_gui_filesize_iec) /* Linux can't decide... */ +#endif + format_flags = G_FORMAT_SIZE_IEC_UNITS; +#endif + + formatted_str = g_format_size_full (size, format_flags); + g_strlcpy (buf, formatted_str, buf_len); + + g_free (formatted_str); +} + +static void +dcc_send_filereq_file (struct my_dcc_send *mdc, char *file) +{ + if (file) + dcc_send (mdc->sess, mdc->nick, file, mdc->maxcps, mdc->passive); + else + { + g_free (mdc->nick); + g_free (mdc); + } +} + +void +fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive) +{ + char* tbuf = g_strdup_printf (_("Send file to %s"), nick); + + struct my_dcc_send *mdc = g_new (struct my_dcc_send, 1); + mdc->sess = sess; + mdc->nick = g_strdup (nick); + mdc->maxcps = maxcps; + mdc->passive = passive; + + gtkutil_file_req (NULL, tbuf, dcc_send_filereq_file, mdc, prefs.hex_dcc_dir, NULL, FRF_MULTIPLE|FRF_FILTERISINITIAL); + + g_free (tbuf); +} + +static void +dcc_prepare_row_chat (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char pos[16], size[16]; + char *date; + + date = ctime (&dcc->starttime); + date[strlen (date) - 1] = 0; /* remove the \n */ + + proper_unit (dcc->pos, pos, sizeof (pos)); + proper_unit (dcc->size, size, sizeof (size)); + + gtk_list_store_set (store, iter, + CCOL_STATUS, _(dccstat[dcc->dccstat].name), + CCOL_NICK, dcc->nick, + CCOL_RECV, pos, + CCOL_SENT, size, + CCOL_START, date, + CCOL_DCC, dcc, + CCOL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static void +dcc_prepare_row_send (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char pos[16], size[16], kbs[14], perc[14], eta[14]; + int to_go; + float per; + + if (!pix_up) + pix_up = gtk_widget_render_icon (dccfwin.window, "gtk-go-up", + GTK_ICON_SIZE_MENU, NULL); + + /* percentage ack'ed */ + per = (float) ((dcc->ack * 100.00) / dcc->size); + proper_unit (dcc->size, size, sizeof (size)); + proper_unit (dcc->pos, pos, sizeof (pos)); + g_snprintf (kbs, sizeof (kbs), "%.1f", ((float)dcc->cps) / 1024); + g_snprintf (perc, sizeof (perc), "%.0f%%", per); + if (dcc->cps != 0) + { + to_go = (dcc->size - dcc->ack) / dcc->cps; + g_snprintf (eta, sizeof (eta), "%.2d:%.2d:%.2d", + to_go / 3600, (to_go / 60) % 60, to_go % 60); + } else + strcpy (eta, "--:--:--"); + + if (update_only) + gtk_list_store_set (store, iter, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); + else + gtk_list_store_set (store, iter, + COL_TYPE, pix_up, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_FILE, file_part (dcc->file), + COL_SIZE, size, + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_NICK, dcc->nick, + COL_DCC, dcc, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static void +dcc_prepare_row_recv (struct DCC *dcc, GtkListStore *store, GtkTreeIter *iter, + gboolean update_only) +{ + static char size[16], pos[16], kbs[16], perc[14], eta[16]; + float per; + int to_go; + + if (!pix_dn) + pix_dn = gtk_widget_render_icon (dccfwin.window, "gtk-go-down", + GTK_ICON_SIZE_MENU, NULL); + + proper_unit (dcc->size, size, sizeof (size)); + if (dcc->dccstat == STAT_QUEUED) + proper_unit (dcc->resumable, pos, sizeof (pos)); + else + proper_unit (dcc->pos, pos, sizeof (pos)); + g_snprintf (kbs, sizeof (kbs), "%.1f", ((float)dcc->cps) / 1024); + /* percentage recv'ed */ + per = (float) ((dcc->pos * 100.00) / dcc->size); + g_snprintf (perc, sizeof (perc), "%.0f%%", per); + if (dcc->cps != 0) + { + to_go = (dcc->size - dcc->pos) / dcc->cps; + g_snprintf (eta, sizeof (eta), "%.2d:%.2d:%.2d", + to_go / 3600, (to_go / 60) % 60, to_go % 60); + } else + strcpy (eta, "--:--:--"); + + if (update_only) + gtk_list_store_set (store, iter, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); + else + gtk_list_store_set (store, iter, + COL_TYPE, pix_dn, + COL_STATUS, _(dccstat[dcc->dccstat].name), + COL_FILE, file_part (dcc->file), + COL_SIZE, size, + COL_POS, pos, + COL_PERC, perc, + COL_SPEED, kbs, + COL_ETA, eta, + COL_NICK, dcc->nick, + COL_DCC, dcc, + COL_COLOR, + dccstat[dcc->dccstat].color == 1 ? + NULL : + colors + dccstat[dcc->dccstat].color, + -1); +} + +static gboolean +dcc_find_row (struct DCC *find_dcc, GtkTreeModel *model, GtkTreeIter *iter, int col) +{ + struct DCC *dcc; + + if (gtk_tree_model_get_iter_first (model, iter)) + { + do + { + gtk_tree_model_get (model, iter, col, &dcc, -1); + if (dcc == find_dcc) + return TRUE; + } + while (gtk_tree_model_iter_next (model, iter)); + } + + return FALSE; +} + +static void +dcc_update_recv (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dccfwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + return; + + dcc_prepare_row_recv (dcc, dccfwin.store, &iter, TRUE); +} + +static void +dcc_update_chat (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dcccwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dcccwin.store), &iter, CCOL_DCC)) + return; + + dcc_prepare_row_chat (dcc, dcccwin.store, &iter, TRUE); +} + +static void +dcc_update_send (struct DCC *dcc) +{ + GtkTreeIter iter; + + if (!dccfwin.window) + return; + + if (!dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + return; + + dcc_prepare_row_send (dcc, dccfwin.store, &iter, TRUE); +} + +static void +close_dcc_file_window (GtkWindow *win, gpointer data) +{ + dccfwin.window = NULL; +} + +static void +dcc_append (struct DCC *dcc, GtkListStore *store, gboolean prepend) +{ + GtkTreeIter iter; + + if (prepend) + gtk_list_store_prepend (store, &iter); + else + gtk_list_store_append (store, &iter); + + if (dcc->type == TYPE_RECV) + dcc_prepare_row_recv (dcc, store, &iter, FALSE); + else + dcc_prepare_row_send (dcc, store, &iter, FALSE); +} + +/* Returns aborted and completed transfers. */ +static GSList * +dcc_get_completed (void) +{ + struct DCC *dcc; + GtkTreeIter iter; + GtkTreeModel *model; + GSList *completed = NULL; + + model = GTK_TREE_MODEL (dccfwin.store); + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, COL_DCC, &dcc, -1); + if (is_dcc_completed (dcc)) + completed = g_slist_prepend (completed, dcc); + + } while (gtk_tree_model_iter_next (model, &iter)); + } + + return completed; +} + +static gboolean +dcc_completed_transfer_exists (void) +{ + gboolean exist; + GSList *comp_list; + + comp_list = dcc_get_completed (); + exist = comp_list != NULL; + + g_slist_free (comp_list); + return exist; +} + +static void +update_clear_button_sensitivity (void) +{ + gboolean sensitive = dcc_completed_transfer_exists (); + gtk_widget_set_sensitive (dccfwin.clear_button, sensitive); +} + +static void +dcc_fill_window (int flags) +{ + struct DCC *dcc; + GSList *list; + GtkTreeIter iter; + int i = 0; + + gtk_list_store_clear (GTK_LIST_STORE (dccfwin.store)); + + if (flags & VIEW_UPLOAD) + { + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_SEND) + { + dcc_append (dcc, dccfwin.store, FALSE); + i++; + } + list = list->next; + } + } + + if (flags & VIEW_DOWNLOAD) + { + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_RECV) + { + dcc_append (dcc, dccfwin.store, FALSE); + i++; + } + list = list->next; + } + } + + /* if only one entry, select it (so Accept button can work) */ + if (i == 1) + { + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dccfwin.store), &iter); + gtk_tree_selection_select_iter (dccfwin.sel, &iter); + } + + update_clear_button_sensitivity (); +} + +/* return list of selected DCCs */ + +static GSList * +treeview_get_selected (GtkTreeModel *model, GtkTreeSelection *sel, int column) +{ + GtkTreeIter iter; + GSList *list = NULL; + void *ptr; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + if (gtk_tree_selection_iter_is_selected (sel, &iter)) + { + gtk_tree_model_get (model, &iter, column, &ptr, -1); + list = g_slist_prepend (list, ptr); + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + return g_slist_reverse (list); +} + +static GSList * +dcc_get_selected (void) +{ + return treeview_get_selected (GTK_TREE_MODEL (dccfwin.store), + dccfwin.sel, COL_DCC); +} + +static void +resume_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + char buf[512]; + GSList *list; + + list = dcc_get_selected (); + if (!list) + return; + dcc = list->data; + g_slist_free (list); + + if (dcc->type == TYPE_RECV && !dcc_resume (dcc)) + { + switch (dcc->resume_error) + { + case 0: /* unknown error */ + fe_message (_("That file is not resumable."), FE_MSG_ERROR); + break; + case 1: + g_snprintf (buf, sizeof (buf), + _( "Cannot access file: %s\n" + "%s.\n" + "Resuming not possible."), dcc->destfile, + errorstring (dcc->resume_errno)); + fe_message (buf, FE_MSG_ERROR); + break; + case 2: + fe_message (_("File in download directory is larger " + "than file offered. Resuming not possible."), FE_MSG_ERROR); + break; + case 3: + fe_message (_("Cannot resume the same file from two people."), FE_MSG_ERROR); + } + } +} + +static void +abort_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_abort (dcc->serv->front_session, dcc); + } + g_slist_free (start); + + /* Enable the clear button if it wasn't already enabled */ + update_clear_button_sensitivity (); +} + +static void +accept_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + if (dcc->type != TYPE_SEND) + dcc_get (dcc); + } + g_slist_free (start); +} + +static void +clear_completed (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *completed; + + /* Make a new list of only the completed items and abort each item. + * A new list is made because calling dcc_abort removes items from the original list, + * making it impossible to iterate over that list directly. + */ + for (completed = dcc_get_completed (); completed; completed = completed->next) + { + dcc = completed->data; + dcc_abort (dcc->serv->front_session, dcc); + } + + /* The data was freed by dcc_close */ + g_slist_free (completed); + update_clear_button_sensitivity (); +} + +static void +browse_folder (char *dir) +{ +#ifdef WIN32 + /* no need for file:// in ShellExecute() */ + fe_open_url (dir); +#else + char buf[512]; + + g_snprintf (buf, sizeof (buf), "file://%s", dir); + fe_open_url (buf); +#endif +} + +static void +browse_dcc_folder (void) +{ + if (prefs.hex_dcc_completed_dir[0]) + browse_folder (prefs.hex_dcc_completed_dir); + else + browse_folder (prefs.hex_dcc_dir); +} + +static void +dcc_details_populate (struct DCC *dcc) +{ + char buf[128]; + + if (!dcc) + { + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), NULL); + gtk_label_set_text (GTK_LABEL (dccfwin.address_label), NULL); + return; + } + + /* full path */ + if (dcc->type == TYPE_RECV) + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), dcc->destfile); + else + gtk_label_set_text (GTK_LABEL (dccfwin.file_label), dcc->file); + + /* address and port */ + g_snprintf (buf, sizeof (buf), "%s : %d", net_ip (dcc->addr), dcc->port); + gtk_label_set_text (GTK_LABEL (dccfwin.address_label), buf); +} + +static void +dcc_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_get_selected (); + if (!list) + { + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + gtk_widget_set_sensitive (dccfwin.abort_button, FALSE); + dcc_details_populate (NULL); + return; + } + + gtk_widget_set_sensitive (dccfwin.abort_button, TRUE); + + if (list->next) /* multi selection */ + { + gtk_widget_set_sensitive (dccfwin.accept_button, TRUE); + gtk_widget_set_sensitive (dccfwin.resume_button, TRUE); + dcc_details_populate (list->data); + } + else + { + /* turn OFF/ON appropriate buttons */ + dcc = list->data; + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_RECV) + { + gtk_widget_set_sensitive (dccfwin.accept_button, TRUE); + gtk_widget_set_sensitive (dccfwin.resume_button, TRUE); + } + else + { + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + } + + dcc_details_populate (dcc); + } + + g_slist_free (list); +} + +static void +dcc_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_get_selected (); + if (!list) + return; + dcc = list->data; + g_slist_free (list); + + if (dcc->type == TYPE_RECV) + { + accept_clicked (0, 0); + return; + } + + switch (dcc->dccstat) + { + case STAT_FAILED: + case STAT_ABORTED: + case STAT_DONE: + dcc_abort (dcc->serv->front_session, dcc); + break; + case STAT_QUEUED: + case STAT_ACTIVE: + case STAT_CONNECTING: + break; + } +} + +static void +dcc_add_column (GtkWidget *tree, int textcol, int colorcol, char *title, gboolean right_justified) +{ + GtkCellRenderer *renderer; + + renderer = gtk_cell_renderer_text_new (); + if (right_justified) + g_object_set (G_OBJECT (renderer), "xalign", (float) 1.0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), -1, title, renderer, + "text", textcol, "foreground-gdk", colorcol, + NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); +} + +static GtkWidget * +dcc_detail_label (char *text, GtkWidget *box, int num) +{ + GtkWidget *label; + char buf[64]; + + label = gtk_label_new (NULL); + g_snprintf (buf, sizeof (buf), "<b>%s</b>", text); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0); + gtk_table_attach (GTK_TABLE (box), label, 0, 1, 0 + num, 1 + num, GTK_FILL, GTK_FILL, 0, 0); + + label = gtk_label_new (NULL); + gtk_label_set_selectable (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0); + gtk_table_attach (GTK_TABLE (box), label, 1, 2, 0 + num, 1 + num, GTK_FILL, GTK_FILL, 0, 0); + + return label; +} + +static void +dcc_exp_cb (GtkWidget *exp, GtkWidget *box) +{ + if (gtk_widget_get_visible (box)) + { + gtk_widget_hide (box); + } + else + { + gtk_widget_show (box); + } +} + +static void +dcc_toggle (GtkWidget *item, gpointer data) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (item))) + { + view_mode = GPOINTER_TO_INT (data); + dcc_fill_window (GPOINTER_TO_INT (data)); + } +} + +static gboolean +dcc_configure_cb (GtkWindow *win, GdkEventConfigure *event, gpointer data) +{ + /* remember the window size */ + gtk_window_get_size (win, &win_width, &win_height); + return FALSE; +} + +int +fe_dcc_open_recv_win (int passive) +{ + GtkWidget *radio, *table, *vbox, *bbox, *view, *exp, *detailbox; + GtkListStore *store; + GSList *group; + char buf[128]; + + if (dccfwin.window) + { + if (!passive) + mg_bring_tofront (dccfwin.window); + return TRUE; + } + g_snprintf(buf, sizeof(buf), _("Uploads and Downloads - %s"), _(DISPLAY_NAME)); + dccfwin.window = mg_create_generic_tab ("Transfers", buf, FALSE, TRUE, close_dcc_file_window, + NULL, win_width, win_height, &vbox, 0); + gtkutil_destroy_on_esc (dccfwin.window); + gtk_container_set_border_width (GTK_CONTAINER (dccfwin.window), 3); + gtk_box_set_spacing (GTK_BOX (vbox), 3); + + store = gtk_list_store_new (N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_POINTER, GDK_TYPE_COLOR); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + /* Up/Down Icon column */ + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), -1, NULL, + gtk_cell_renderer_pixbuf_new (), + "pixbuf", COL_TYPE, NULL); + dcc_add_column (view, COL_STATUS, COL_COLOR, _("Status"), FALSE); + dcc_add_column (view, COL_FILE, COL_COLOR, _("File"), FALSE); + dcc_add_column (view, COL_SIZE, COL_COLOR, _("Size"), TRUE); + dcc_add_column (view, COL_POS, COL_COLOR, _("Position"), TRUE); + dcc_add_column (view, COL_PERC, COL_COLOR, "%", TRUE); + dcc_add_column (view, COL_SPEED, COL_COLOR, "KB/s", TRUE); + dcc_add_column (view, COL_ETA, COL_COLOR, _("ETA"), FALSE); + dcc_add_column (view, COL_NICK, COL_COLOR, _("Nick"), FALSE); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), COL_FILE), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), COL_NICK), TRUE); + + dccfwin.list = view; + dccfwin.store = store; + dccfwin.sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + view_mode = VIEW_BOTH; + gtk_tree_selection_set_mode (dccfwin.sel, GTK_SELECTION_MULTIPLE); + + if (!prefs.hex_gui_tab_utils) + g_signal_connect (G_OBJECT (dccfwin.window), "configure_event", + G_CALLBACK (dcc_configure_cb), 0); + g_signal_connect (G_OBJECT (dccfwin.sel), "changed", + G_CALLBACK (dcc_row_cb), NULL); + /* double click */ + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (dcc_dclick_cb), NULL); + + table = gtk_table_new (1, 3, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (table), 16); + gtk_box_pack_start (GTK_BOX (vbox), table, 0, 0, 0); + + radio = gtk_radio_button_new_with_mnemonic (NULL, _("Both")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_BOTH)); + gtk_table_attach (GTK_TABLE (table), radio, 3, 4, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); + + radio = gtk_radio_button_new_with_mnemonic (group, _("Uploads")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_UPLOAD)); + gtk_table_attach (GTK_TABLE (table), radio, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)); + + radio = gtk_radio_button_new_with_mnemonic (group, _("Downloads")); + g_signal_connect (G_OBJECT (radio), "toggled", + G_CALLBACK (dcc_toggle), GINT_TO_POINTER (VIEW_DOWNLOAD)); + gtk_table_attach (GTK_TABLE (table), radio, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0); + + exp = gtk_expander_new (_("Details")); + gtk_table_attach (GTK_TABLE (table), exp, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + + detailbox = gtk_table_new (3, 3, FALSE); + gtk_table_set_col_spacings (GTK_TABLE (detailbox), 6); + gtk_table_set_row_spacings (GTK_TABLE (detailbox), 2); + gtk_container_set_border_width (GTK_CONTAINER (detailbox), 6); + g_signal_connect (G_OBJECT (exp), "activate", + G_CALLBACK (dcc_exp_cb), detailbox); + gtk_table_attach (GTK_TABLE (table), detailbox, 0, 4, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + + dccfwin.file_label = dcc_detail_label (_("File:"), detailbox, 0); + dccfwin.address_label = dcc_detail_label (_("Address:"), detailbox, 1); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), bbox, FALSE, FALSE, 2); + + dccfwin.abort_button = gtkutil_button (bbox, GTK_STOCK_CANCEL, 0, abort_clicked, 0, _("Abort")); + dccfwin.accept_button = gtkutil_button (bbox, GTK_STOCK_APPLY, 0, accept_clicked, 0, _("Accept")); + dccfwin.resume_button = gtkutil_button (bbox, GTK_STOCK_REFRESH, 0, resume_clicked, 0, _("Resume")); + dccfwin.clear_button = gtkutil_button (bbox, GTK_STOCK_CLEAR, 0, clear_completed, 0, _("Clear")); + dccfwin.open_button = gtkutil_button (bbox, 0, 0, browse_dcc_folder, 0, _("Open Folder...")); + gtk_widget_set_sensitive (dccfwin.accept_button, FALSE); + gtk_widget_set_sensitive (dccfwin.resume_button, FALSE); + gtk_widget_set_sensitive (dccfwin.abort_button, FALSE); + + dcc_fill_window (3); + gtk_widget_show_all (dccfwin.window); + gtk_widget_hide (detailbox); + + return FALSE; +} + +int +fe_dcc_open_send_win (int passive) +{ + /* combined send/recv GUI */ + return fe_dcc_open_recv_win (passive); +} + + +/* DCC CHAT GUIs BELOW */ + +static GSList * +dcc_chat_get_selected (void) +{ + return treeview_get_selected (GTK_TREE_MODEL (dcccwin.store), + dcccwin.sel, CCOL_DCC); +} + +static void +accept_chat_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_chat_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_get (dcc); + } + g_slist_free (start); +} + +static void +abort_chat_clicked (GtkWidget * wid, gpointer none) +{ + struct DCC *dcc; + GSList *start, *list; + + start = list = dcc_chat_get_selected (); + for (; list; list = list->next) + { + dcc = list->data; + dcc_abort (dcc->serv->front_session, dcc); + } + g_slist_free (start); +} + +static void +dcc_chat_close_cb (void) +{ + dcccwin.window = NULL; +} + +static void +dcc_chat_append (struct DCC *dcc, GtkListStore *store, gboolean prepend) +{ + GtkTreeIter iter; + + if (prepend) + gtk_list_store_prepend (store, &iter); + else + gtk_list_store_append (store, &iter); + + dcc_prepare_row_chat (dcc, store, &iter, FALSE); +} + +static void +dcc_chat_fill_win (void) +{ + struct DCC *dcc; + GSList *list; + GtkTreeIter iter; + int i = 0; + + gtk_list_store_clear (GTK_LIST_STORE (dcccwin.store)); + + list = dcc_list; + while (list) + { + dcc = list->data; + if (dcc->type == TYPE_CHATSEND || dcc->type == TYPE_CHATRECV) + { + dcc_chat_append (dcc, dcccwin.store, FALSE); + i++; + } + list = list->next; + } + + /* if only one entry, select it (so Accept button can work) */ + if (i == 1) + { + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dcccwin.store), &iter); + gtk_tree_selection_select_iter (dcccwin.sel, &iter); + } +} + +static void +dcc_chat_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + struct DCC *dcc; + GSList *list; + + list = dcc_chat_get_selected (); + if (!list) + { + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + gtk_widget_set_sensitive (dcccwin.abort_button, FALSE); + return; + } + + gtk_widget_set_sensitive (dcccwin.abort_button, TRUE); + + if (list->next) /* multi selection */ + gtk_widget_set_sensitive (dcccwin.accept_button, TRUE); + else + { + /* turn OFF/ON appropriate buttons */ + dcc = list->data; + if (dcc->dccstat == STAT_QUEUED && dcc->type == TYPE_CHATRECV) + gtk_widget_set_sensitive (dcccwin.accept_button, TRUE); + else + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + } + + g_slist_free (list); +} + +static void +dcc_chat_dclick_cb (GtkTreeView *view, GtkTreePath *path, + GtkTreeViewColumn *column, gpointer data) +{ + accept_chat_clicked (0, 0); +} + +int +fe_dcc_open_chat_win (int passive) +{ + GtkWidget *view, *vbox, *bbox; + GtkListStore *store; + char buf[128]; + + if (dcccwin.window) + { + if (!passive) + mg_bring_tofront (dcccwin.window); + return TRUE; + } + + g_snprintf(buf, sizeof(buf), _("DCC Chat List - %s"), _(DISPLAY_NAME)); + dcccwin.window = + mg_create_generic_tab ("DCCChat", buf, FALSE, TRUE, dcc_chat_close_cb, + NULL, 550, 180, &vbox, 0); + gtkutil_destroy_on_esc (dcccwin.window); + gtk_container_set_border_width (GTK_CONTAINER (dcccwin.window), 3); + gtk_box_set_spacing (GTK_BOX (vbox), 3); + + store = gtk_list_store_new (CN_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_POINTER, GDK_TYPE_COLOR); + view = gtkutil_treeview_new (vbox, GTK_TREE_MODEL (store), NULL, -1); + + dcc_add_column (view, CCOL_STATUS, CCOL_COLOR, _("Status"), FALSE); + dcc_add_column (view, CCOL_NICK, CCOL_COLOR, _("Nick"), FALSE); + dcc_add_column (view, CCOL_RECV, CCOL_COLOR, _("Recv"), TRUE); + dcc_add_column (view, CCOL_SENT, CCOL_COLOR, _("Sent"), TRUE); + dcc_add_column (view, CCOL_START, CCOL_COLOR, _("Start Time"), FALSE); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 1), TRUE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + + dcccwin.list = view; + dcccwin.store = store; + dcccwin.sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + gtk_tree_selection_set_mode (dcccwin.sel, GTK_SELECTION_MULTIPLE); + + g_signal_connect (G_OBJECT (dcccwin.sel), "changed", + G_CALLBACK (dcc_chat_row_cb), NULL); + /* double click */ + g_signal_connect (G_OBJECT (view), "row-activated", + G_CALLBACK (dcc_chat_dclick_cb), NULL); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), bbox, FALSE, FALSE, 2); + + dcccwin.abort_button = gtkutil_button (bbox, GTK_STOCK_CANCEL, 0, abort_chat_clicked, 0, _("Abort")); + dcccwin.accept_button = gtkutil_button (bbox, GTK_STOCK_APPLY, 0, accept_chat_clicked, 0, _("Accept")); + gtk_widget_set_sensitive (dcccwin.accept_button, FALSE); + gtk_widget_set_sensitive (dcccwin.abort_button, FALSE); + + dcc_chat_fill_win (); + gtk_widget_show_all (dcccwin.window); + + return FALSE; +} + +void +fe_dcc_add (struct DCC *dcc) +{ + switch (dcc->type) + { + case TYPE_RECV: + if (dccfwin.window && (view_mode & VIEW_DOWNLOAD)) + dcc_append (dcc, dccfwin.store, TRUE); + break; + + case TYPE_SEND: + if (dccfwin.window && (view_mode & VIEW_UPLOAD)) + dcc_append (dcc, dccfwin.store, TRUE); + break; + + default: /* chat */ + if (dcccwin.window) + dcc_chat_append (dcc, dcccwin.store, TRUE); + } +} + +void +fe_dcc_update (struct DCC *dcc) +{ + switch (dcc->type) + { + case TYPE_SEND: + dcc_update_send (dcc); + break; + + case TYPE_RECV: + dcc_update_recv (dcc); + break; + + default: + dcc_update_chat (dcc); + } + + if (dccfwin.window) + update_clear_button_sensitivity(); +} + +void +fe_dcc_remove (struct DCC *dcc) +{ + GtkTreeIter iter; + + switch (dcc->type) + { + case TYPE_SEND: + case TYPE_RECV: + if (dccfwin.window) + { + if (dcc_find_row (dcc, GTK_TREE_MODEL (dccfwin.store), &iter, COL_DCC)) + gtk_list_store_remove (dccfwin.store, &iter); + } + break; + + default: /* chat */ + if (dcccwin.window) + { + if (dcc_find_row (dcc, GTK_TREE_MODEL (dcccwin.store), &iter, CCOL_DCC)) + gtk_list_store_remove (dcccwin.store, &iter); + } + break; + } +} diff --git a/src/fe-gtk/editlist.c b/src/fe-gtk/editlist.c new file mode 100644 index 0000000000000000000000000000000000000000..4b236dc1629e4aff6b942b0d3a858cfb01f86dc4 --- /dev/null +++ b/src/fe-gtk/editlist.c @@ -0,0 +1,370 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include <gdk/gdkkeysyms.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/cfgfiles.h" +#include "../common/hexchatc.h" +#include "../common/fe.h" +#include "menu.h" +#include "gtkutil.h" +#include "maingui.h" +#include "editlist.h" + +enum +{ + NAME_COLUMN, + CMD_COLUMN, + N_COLUMNS +}; + +static GtkWidget *editlist_win = NULL; +static GSList *editlist_list = NULL; + +static GtkTreeModel * +get_store (void) +{ + return gtk_tree_view_get_model (g_object_get_data (G_OBJECT (editlist_win), "view")); +} + +static void +editlist_save (GtkWidget *igad, gchar *file) +{ + GtkTreeModel *store = get_store (); + GtkTreeIter iter; + char buf[512]; + char *name, *cmd; + int fh; + + fh = hexchat_open_file (file, O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) + { + do + { + name = NULL; + cmd = NULL; + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, NAME_COLUMN, &name, CMD_COLUMN, &cmd, -1); + g_snprintf (buf, sizeof (buf), "NAME %s\nCMD %s\n\n", name, cmd); + write (fh, buf, strlen (buf)); + g_free (name); + g_free (cmd); + } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + } + + close (fh); + gtk_widget_destroy (editlist_win); + if (editlist_list == replace_list) + { + list_free (&replace_list); + list_loadconf (file, &replace_list, 0); + } else if (editlist_list == popup_list) + { + list_free (&popup_list); + list_loadconf (file, &popup_list, 0); + } else if (editlist_list == button_list) + { + GSList *list = sess_list; + struct session *sess; + list_free (&button_list); + list_loadconf (file, &button_list, 0); + while (list) + { + sess = (struct session *) list->data; + fe_buttons_update (sess); + list = list->next; + } + } else if (editlist_list == dlgbutton_list) + { + GSList *list = sess_list; + struct session *sess; + list_free (&dlgbutton_list); + list_loadconf (file, &dlgbutton_list, 0); + while (list) + { + sess = (struct session *) list->data; + fe_dlgbuttons_update (sess); + list = list->next; + } + } else if (editlist_list == ctcp_list) + { + list_free (&ctcp_list); + list_loadconf (file, &ctcp_list, 0); + } else if (editlist_list == command_list) + { + list_free (&command_list); + list_loadconf (file, &command_list, 0); + } else if (editlist_list == usermenu_list) + { + list_free (&usermenu_list); + list_loadconf (file, &usermenu_list, 0); + usermenu_update (); + } else + { + list_free (&urlhandler_list); + list_loadconf (file, &urlhandler_list, 0); + } + } +} + +static void +editlist_load (GtkListStore *store, GSList *list) +{ + struct popup *pop; + gchar *name, *cmd; + GtkTreeIter iter; + + while (list) + { + pop = (struct popup *) list->data; + name = pop->name; + cmd = pop->cmd; + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + NAME_COLUMN, name, + CMD_COLUMN, cmd, -1); + + list = list->next; + } +} + +static void +editlist_delete (GtkWidget *wid, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (editlist_win), "view"); + GtkListStore *store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + GtkTreeIter iter; + GtkTreePath *path; + + if (gtkutil_treeview_get_selected (view, &iter, -1)) + { + /* delete this row, select next one */ + if (gtk_list_store_remove (store, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); + } + } +} + +static void +editlist_add (GtkWidget *wid, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (editlist_win), "view"); + GtkTreeViewColumn *col; + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + GtkTreePath *path; + + gtk_list_store_append (store, &iter); + + /* make sure the new row is visible and selected */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + col = gtk_tree_view_get_column (view, NAME_COLUMN); + gtk_tree_view_scroll_to_cell (view, path, NULL, FALSE, 0.0, 0.0); + gtk_tree_view_set_cursor (view, path, col, TRUE); + gtk_tree_path_free (path); +} + +static void +editlist_close (GtkWidget *wid, gpointer userdata) +{ + gtk_widget_destroy (editlist_win); + editlist_win = NULL; +} + +static void +editlist_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpointer data) +{ + GtkTreeModel *model = get_store (); + GtkTreePath *path = gtk_tree_path_new_from_string (pathstr); + GtkTreeIter iter; + gint column = GPOINTER_TO_INT (data); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, column, new_text, -1); + + gtk_tree_path_free (path); +} + +static gboolean +editlist_keypress (GtkWidget *wid, GdkEventKey *evt, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (editlist_win), "view"); + GtkTreeModel *store; + GtkTreeIter iter1, iter2; + GtkTreeSelection *sel; + GtkTreePath *path; + gboolean handled = FALSE; + int delta; + + if (evt->state & GDK_SHIFT_MASK) + { + if (evt->keyval == GDK_KEY_Up) + { + handled = TRUE; + delta = -1; + } + else if (evt->keyval == GDK_KEY_Down) + { + handled = TRUE; + delta = 1; + } + } + + if (handled) + { + sel = gtk_tree_view_get_selection (view); + gtk_tree_selection_get_selected (sel, &store, &iter1); + path = gtk_tree_model_get_path (store, &iter1); + if (delta == 1) + gtk_tree_path_next (path); + else + gtk_tree_path_prev (path); + gtk_tree_model_get_iter (store, &iter2, path); + gtk_tree_path_free (path); + gtk_list_store_swap (GTK_LIST_STORE (store), &iter1, &iter2); + } + + return handled; +} + +static GtkWidget * +editlist_treeview_new (GtkWidget *box, char *title1, char *title2) +{ + GtkWidget *scroll; + GtkListStore *store; + GtkTreeViewColumn *col; + GtkWidget *view; + GtkCellRenderer *render; + + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); + gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), FALSE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (view), TRUE); + + g_signal_connect (G_OBJECT (view), "key_press_event", + G_CALLBACK (editlist_keypress), NULL); + + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + + render = gtk_cell_renderer_text_new (); + g_object_set (render, "editable", TRUE, NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (editlist_edited), GINT_TO_POINTER(NAME_COLUMN)); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), NAME_COLUMN, + title1, render, + "text", NAME_COLUMN, + NULL); + + render = gtk_cell_renderer_text_new (); + g_object_set (render, "editable", TRUE, NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (editlist_edited), GINT_TO_POINTER(CMD_COLUMN)); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), CMD_COLUMN, + title2, render, + "text", CMD_COLUMN, + NULL); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), NAME_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, TRUE); + gtk_tree_view_column_set_min_width (col, 100); + + gtk_container_add (GTK_CONTAINER (scroll), view); + gtk_container_add (GTK_CONTAINER (box), scroll); + gtk_widget_show_all (box); + + return view; +} + + +void +editlist_gui_open (char *title1, char *title2, GSList *list, char *title, char *wmclass, + char *file, char *help) +{ + GtkWidget *vbox, *box; + GtkWidget *view; + GtkListStore *store; + + if (editlist_win) + { + mg_bring_tofront (editlist_win); + return; + } + + editlist_win = mg_create_generic_tab (wmclass, title, TRUE, FALSE, + editlist_close, NULL, 450, 250, &vbox, 0); + + editlist_list = list; + + view = editlist_treeview_new (vbox, title1, title2); + g_object_set_data (G_OBJECT (editlist_win), "view", view); + + if (help) + gtk_widget_set_tooltip_text (view, help); + + box = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (box), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 2); + gtk_container_set_border_width (GTK_CONTAINER (box), 5); + gtk_widget_show (box); + + gtkutil_button (box, GTK_STOCK_NEW, 0, editlist_add, + NULL, _("Add")); + gtkutil_button (box, GTK_STOCK_DELETE, 0, editlist_delete, + NULL, _("Delete")); + gtkutil_button (box, GTK_STOCK_CANCEL, 0, editlist_close, + NULL, _("Cancel")); + gtkutil_button (box, GTK_STOCK_SAVE, 0, editlist_save, + file, _("Save")); + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + editlist_load (store, list); + + gtk_widget_show (editlist_win); +} diff --git a/src/fe-gtk/editlist.h b/src/fe-gtk/editlist.h new file mode 100644 index 0000000000000000000000000000000000000000..5487684b9fa928bdd1ae2755319e697623766028 --- /dev/null +++ b/src/fe-gtk/editlist.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_EDITLIST_H +#define HEXCHAT_EDITLIST_H + +void editlist_gui_open (char *title1, char *title2, GSList * list, char *title, char *wmclass, char *file, char *help); + +#endif diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c new file mode 100644 index 0000000000000000000000000000000000000000..125ab577993359c40eff5bdfcda7e2b3120ca52c --- /dev/null +++ b/src/fe-gtk/fe-gtk.c @@ -0,0 +1,1242 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#ifdef WIN32 +#include <gdk/gdkwin32.h> +#include <windows.h> +#else +#include <unistd.h> +#endif + +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/text.h" +#include "../common/cfgfiles.h" +#include "../common/hexchatc.h" +#include "../common/plugin.h" +#include "../common/server.h" +#include "../common/url.h" +#include "gtkutil.h" +#include "maingui.h" +#include "pixmaps.h" +#include "chanlist.h" +#include "joind.h" +#include "xtext.h" +#include "palette.h" +#include "menu.h" +#include "notifygui.h" +#include "textgui.h" +#include "fkeys.h" +#include "plugin-tray.h" +#include "urlgrab.h" +#include "setup.h" +#include "plugin-notification.h" + +#ifdef USE_LIBCANBERRA +#include <canberra.h> +#endif + +GdkPixmap *channelwin_pix; + +#ifdef USE_LIBCANBERRA +static ca_context *ca_con; +#endif + +#ifdef HAVE_GTK_MAC +GtkosxApplication *osx_app; +#endif + +/* === command-line parameter parsing : requires glib 2.6 === */ + +static char *arg_cfgdir = NULL; +static gint arg_show_autoload = 0; +static gint arg_show_config = 0; +static gint arg_show_version = 0; +static gint arg_minimize = 0; + +static const GOptionEntry gopt_entries[] = +{ + {"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL}, + {"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"}, + {"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL}, + {"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin/script auto-load directory"), NULL}, + {"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL}, + {"url", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel?key URL"), "URL"}, + {"command", 'c', 0, G_OPTION_ARG_STRING, &arg_command, N_("Execute command:"), "COMMAND"}, +#ifdef USE_DBUS + {"existing", 'e', 0, G_OPTION_ARG_NONE, &arg_existing, N_("Open URL or execute command in an existing HexChat"), NULL}, +#endif + {"minimize", 0, 0, G_OPTION_ARG_INT, &arg_minimize, N_("Begin minimized. Level 0=Normal 1=Iconified 2=Tray"), N_("level")}, + {"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL}, + {G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &arg_urls, N_("Open an irc://server:port/channel?key URL"), "URL"}, + {NULL} +}; + +#ifdef WIN32 +static void +create_msg_dialog (gchar *title, gchar *message) +{ + GtkWidget *dialog; + + dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s", message); + gtk_window_set_title (GTK_WINDOW (dialog), title); + +/* On Win32 we automatically have the icon. If we try to load it explicitly, it will look ugly for some reason. */ +#ifndef WIN32 + pixmaps_init (); + gtk_window_set_icon (GTK_WINDOW (dialog), pix_hexchat); +#endif + + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); +} +#endif + +int +fe_args (int argc, char *argv[]) +{ + GError *error = NULL; + GOptionContext *context; + char *buffer; + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + context = g_option_context_new (NULL); +#ifdef WIN32 + g_option_context_set_help_enabled (context, FALSE); /* disable stdout help as stdout is unavailable for subsystem:windows */ +#endif + g_option_context_add_main_entries (context, gopt_entries, GETTEXT_PACKAGE); + g_option_context_add_group (context, gtk_get_option_group (FALSE)); + g_option_context_parse (context, &argc, &argv, &error); + +#ifdef WIN32 + if (error) /* workaround for argv not being available when using subsystem:windows */ + { + if (error->message) /* the error message contains argv so search for patterns in that */ + { + if (strstr (error->message, "--help-all") != NULL) + { + buffer = g_option_context_get_help (context, FALSE, NULL); + gtk_init (&argc, &argv); + create_msg_dialog ("Long Help", buffer); + g_free (buffer); + return 0; + } + else if (strstr (error->message, "--help") != NULL || strstr (error->message, "-?") != NULL) + { + buffer = g_option_context_get_help (context, TRUE, NULL); + gtk_init (&argc, &argv); + create_msg_dialog ("Help", buffer); + g_free (buffer); + return 0; + } + else + { + buffer = g_strdup_printf ("%s\n", error->message); + gtk_init (&argc, &argv); + create_msg_dialog ("Error", buffer); + g_free (buffer); + return 1; + } + } + } +#else + if (error) + { + if (error->message) + printf ("%s\n", error->message); + return 1; + } +#endif + + g_option_context_free (context); + + if (arg_show_version) + { + buffer = g_strdup_printf ("%s %s", PACKAGE_NAME, PACKAGE_VERSION); +#ifdef WIN32 + gtk_init (&argc, &argv); + create_msg_dialog ("Version Information", buffer); +#else + puts (buffer); +#endif + g_free (buffer); + + return 0; + } + + if (arg_show_autoload) + { + buffer = g_strdup_printf ("%s%caddons%c", get_xdir(), G_DIR_SEPARATOR, G_DIR_SEPARATOR); +#ifdef WIN32 + gtk_init (&argc, &argv); + create_msg_dialog ("Plugin/Script Auto-load Directory", buffer); +#else + puts (buffer); +#endif + g_free (buffer); + + return 0; + } + + if (arg_show_config) + { + buffer = g_strdup_printf ("%s%c", get_xdir(), G_DIR_SEPARATOR); +#ifdef WIN32 + gtk_init (&argc, &argv); + create_msg_dialog ("User Config Directory", buffer); +#else + puts (buffer); +#endif + g_free (buffer); + + return 0; + } + +#ifdef WIN32 + /* this is mainly for irc:// URL handling. When windows calls us from */ + /* I.E, it doesn't give an option of "Start in" directory, like short */ + /* cuts can. So we have to set the current dir manually, to the path */ + /* of the exe. */ + { + char *tmp = g_strdup (argv[0]); + char *sl; + + sl = strrchr (tmp, G_DIR_SEPARATOR); + if (sl) + { + *sl = 0; + chdir (tmp); + } + g_free (tmp); + } +#endif + + gtk_init (&argc, &argv); + +#ifdef HAVE_GTK_MAC + osx_app = g_object_new(GTKOSX_TYPE_APPLICATION, NULL); +#endif + + return -1; +} + +const char cursor_color_rc[] = + "style \"xc-ib-st\"" + "{" + "GtkEntry::cursor-color=\"#%02x%02x%02x\"" + "}" + "widget \"*.hexchat-inputbox\" style : application \"xc-ib-st\""; + +static const char adwaita_workaround_rc[] = + "style \"hexchat-input-workaround\"" + "{" + "engine \"pixmap\" {" + "image {" + "function = FLAT_BOX\n" + "state = NORMAL\n" + "}" + "image {" + "function = FLAT_BOX\n" + "state = ACTIVE\n" + "}" + "}" + "}" + "widget \"*.hexchat-inputbox\" style \"hexchat-input-workaround\""; + +GtkStyle * +create_input_style (GtkStyle *style) +{ + char buf[256]; + static int done_rc = FALSE; + + pango_font_description_free (style->font_desc); + style->font_desc = pango_font_description_from_string (prefs.hex_text_font); + + /* fall back */ + if (pango_font_description_get_size (style->font_desc) == 0) + { + g_snprintf (buf, sizeof (buf), _("Failed to open font:\n\n%s"), prefs.hex_text_font); + fe_message (buf, FE_MSG_ERROR); + pango_font_description_free (style->font_desc); + style->font_desc = pango_font_description_from_string ("sans 11"); + } + + if (prefs.hex_gui_input_style && !done_rc) + { + GtkSettings *settings = gtk_settings_get_default (); + char *theme_name; + + /* gnome-themes-standard 3.20+ relies on images to do theming + * so we have to override that. */ + g_object_get (settings, "gtk-theme-name", &theme_name, NULL); + if (g_str_has_prefix (theme_name, "Adwaita") || g_str_has_prefix (theme_name, "Yaru")) + gtk_rc_parse_string (adwaita_workaround_rc); + g_free (theme_name); + + done_rc = TRUE; + sprintf (buf, cursor_color_rc, (colors[COL_FG].red >> 8), + (colors[COL_FG].green >> 8), (colors[COL_FG].blue >> 8)); + gtk_rc_parse_string (buf); + } + + style->bg[GTK_STATE_NORMAL] = colors[COL_FG]; + style->base[GTK_STATE_NORMAL] = colors[COL_BG]; + style->text[GTK_STATE_NORMAL] = colors[COL_FG]; + + return style; +} + +void +fe_init (void) +{ + palette_load (); + key_init (); + pixmaps_init (); + +#ifdef HAVE_GTK_MAC + gtkosx_application_set_dock_icon_pixbuf (osx_app, pix_hexchat); +#endif + channelwin_pix = pixmap_load_from_file (prefs.hex_text_background); + input_style = create_input_style (gtk_style_new ()); +} + +#ifdef HAVE_GTK_MAC +static void +gtkosx_application_terminate (GtkosxApplication *app, gpointer userdata) +{ + hexchat_exit(); +} +#endif + +void +fe_main (void) +{ +#ifdef HAVE_GTK_MAC + gtkosx_application_ready(osx_app); + g_signal_connect (G_OBJECT(osx_app), "NSApplicationWillTerminate", + G_CALLBACK(gtkosx_application_terminate), NULL); +#endif + + gtk_main (); + + /* sleep for 2 seconds so any QUIT messages are not lost. The */ + /* GUI is closed at this point, so the user doesn't even know! */ + if (prefs.wait_on_exit) + sleep (2); +} + +void +fe_cleanup (void) +{ + /* it's saved when pressing OK in setup.c */ + /*palette_save ();*/ +} + +void +fe_exit (void) +{ + gtk_main_quit (); +} + +int +fe_timeout_add (int interval, void *callback, void *userdata) +{ + return g_timeout_add (interval, (GSourceFunc) callback, userdata); +} + +int +fe_timeout_add_seconds (int interval, void *callback, void *userdata) +{ + return g_timeout_add_seconds (interval, (GSourceFunc) callback, userdata); +} + +void +fe_timeout_remove (int tag) +{ + g_source_remove (tag); +} + +#ifdef WIN32 + +static void +log_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer unused_data) +{ + session *sess; + + /* if (getenv ("HEXCHAT_WARNING_IGNORE")) this gets ignored sometimes, so simply just disable all warnings */ + return; + + sess = find_dialog (serv_list->data, "(warnings)"); + if (!sess) + sess = new_ircwindow (serv_list->data, "(warnings)", SESS_DIALOG, 0); + + PrintTextf (sess, "%s\t%s\n", log_domain, message); + if (getenv ("HEXCHAT_WARNING_ABORT")) + abort (); +} + +#endif + +/* install tray stuff */ + +static int +fe_idle (gpointer data) +{ + session *sess = sess_list->data; + + plugin_add (sess, NULL, NULL, notification_plugin_init, notification_plugin_deinit, NULL, FALSE); + + plugin_add (sess, NULL, NULL, tray_plugin_init, tray_plugin_deinit, NULL, FALSE); + + if (arg_minimize == 1) + gtk_window_iconify (GTK_WINDOW (sess->gui->window)); + else if (arg_minimize == 2) + tray_toggle_visibility (FALSE); + + return 0; +} + +void +fe_new_window (session *sess, int focus) +{ + int tab = FALSE; + + if (sess->type == SESS_DIALOG) + { + if (prefs.hex_gui_tab_dialogs) + tab = TRUE; + } else + { + if (prefs.hex_gui_tab_chans) + tab = TRUE; + } + + mg_changui_new (sess, NULL, tab, focus); + +#ifdef WIN32 + g_log_set_handler ("GLib", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("GLib-GObject", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("Gdk", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); + g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING, (GLogFunc)log_handler, 0); +#endif + + if (!sess_list->next) + g_idle_add (fe_idle, NULL); + + sess->scrollback_replay_marklast = gtk_xtext_set_marker_last; +} + +void +fe_new_server (struct server *serv) +{ + serv->gui = g_new0 (struct server_gui, 1); +} + +void +fe_message (char *msg, int flags) +{ + GtkWidget *dialog; + int type = GTK_MESSAGE_WARNING; + + if (flags & FE_MSG_ERROR) + type = GTK_MESSAGE_ERROR; + if (flags & FE_MSG_INFO) + type = GTK_MESSAGE_INFO; + + dialog = gtk_message_dialog_new (GTK_WINDOW (parent_window), 0, type, + GTK_BUTTONS_OK, "%s", msg); + if (flags & FE_MSG_MARKUP) + gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), msg); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtk_widget_destroy), 0); + gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); + + if (flags & FE_MSG_WAIT) + gtk_dialog_run (GTK_DIALOG (dialog)); +} + +void +fe_idle_add (void *func, void *data) +{ + g_idle_add (func, data); +} + +void +fe_input_remove (int tag) +{ + g_source_remove (tag); +} + +int +fe_input_add (int sok, int flags, void *func, void *data) +{ + int tag, type = 0; + GIOChannel *channel; + +#ifdef WIN32 + if (flags & FIA_FD) + channel = g_io_channel_win32_new_fd (sok); + else + channel = g_io_channel_win32_new_socket (sok); +#else + channel = g_io_channel_unix_new (sok); +#endif + + if (flags & FIA_READ) + type |= G_IO_IN | G_IO_HUP | G_IO_ERR; + if (flags & FIA_WRITE) + type |= G_IO_OUT | G_IO_ERR; + if (flags & FIA_EX) + type |= G_IO_PRI; + + tag = g_io_add_watch (channel, type, (GIOFunc) func, data); + g_io_channel_unref (channel); + + return tag; +} + +void +fe_set_topic (session *sess, char *topic, char *stripped_topic) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + if (prefs.hex_text_stripcolor_topic) + { + gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), stripped_topic); + } + else + { + gtk_entry_set_text (GTK_ENTRY (sess->gui->topic_entry), topic); + } + mg_set_topic_tip (sess); + } + else + { + g_free (sess->res->topic_text); + + if (prefs.hex_text_stripcolor_topic) + { + sess->res->topic_text = g_strdup (stripped_topic); + } + else + { + sess->res->topic_text = g_strdup (topic); + } + } +} + +static void +fe_update_mode_entry (session *sess, GtkWidget *entry, char **text, char *new_text) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + if (sess->gui->flag_wid[0]) /* channel mode buttons enabled? */ + gtk_entry_set_text (GTK_ENTRY (entry), new_text); + } else + { + if (sess->gui->is_tab) + { + g_free (*text); + *text = g_strdup (new_text); + } + } +} + +void +fe_update_channel_key (struct session *sess) +{ + fe_update_mode_entry (sess, sess->gui->key_entry, + &sess->res->key_text, sess->channelkey); + fe_set_title (sess); +} + +void +fe_update_channel_limit (struct session *sess) +{ + char tmp[16]; + + sprintf (tmp, "%d", sess->limit); + fe_update_mode_entry (sess, sess->gui->limit_entry, + &sess->res->limit_text, tmp); + fe_set_title (sess); +} + +int +fe_is_chanwindow (struct server *serv) +{ + if (!serv->gui->chanlist_window) + return 0; + return 1; +} + +void +fe_notify_update (char *name) +{ + if (!name) + notify_gui_update (); +} + +void +fe_text_clear (struct session *sess, int lines) +{ + gtk_xtext_clear (sess->res->buffer, lines); +} + +void +fe_close_window (struct session *sess) +{ + if (sess->gui->is_tab) + mg_tab_close (sess); + else + gtk_widget_destroy (sess->gui->window); +} + +void +fe_progressbar_start (session *sess) +{ + if (!sess->gui->is_tab || current_tab == sess) + /* if it's the focused tab, create it for real! */ + mg_progressbar_create (sess->gui); + else + /* otherwise just remember to create on when it gets focused */ + sess->res->c_graph = TRUE; +} + +void +fe_progressbar_end (server *serv) +{ + GSList *list = sess_list; + session *sess; + + while (list) /* check all windows that use this server and * + * remove the connecting graph, if it has one. */ + { + sess = list->data; + if (sess->server == serv) + { + if (sess->gui->bar) + mg_progressbar_destroy (sess->gui); + sess->res->c_graph = FALSE; + } + list = list->next; + } +} + +void +fe_print_text (struct session *sess, char *text, time_t stamp, + gboolean no_activity) +{ + PrintTextRaw (sess->res->buffer, (unsigned char *)text, prefs.hex_text_indent, stamp); + + if (no_activity || !sess->gui->is_tab) + return; + + if (sess == current_tab) + fe_set_tab_color (sess, FE_COLOR_NONE); + else if (sess->tab_state & TAB_STATE_NEW_HILIGHT) + fe_set_tab_color (sess, FE_COLOR_NEW_HILIGHT); + else if (sess->tab_state & TAB_STATE_NEW_MSG) + fe_set_tab_color (sess, FE_COLOR_NEW_MSG); + else + fe_set_tab_color (sess, FE_COLOR_NEW_DATA); +} + +void +fe_beep (session *sess) +{ +#ifdef WIN32 + /* Play the "Instant Message Notification" system sound + */ + if (!PlaySoundW (L"Notification.IM", NULL, SND_ALIAS | SND_ASYNC)) + { + /* The user does not have the "Instant Message Notification" sound set. Fall back to system beep. + */ + Beep (1000, 50); + } +#else +#ifdef USE_LIBCANBERRA + if (ca_con == NULL) + { + ca_context_create (&ca_con); + ca_context_change_props (ca_con, + CA_PROP_APPLICATION_ID, "hexchat", + CA_PROP_APPLICATION_NAME, DISPLAY_NAME, + CA_PROP_APPLICATION_ICON_NAME, "hexchat", NULL); + } + + if (ca_context_play (ca_con, 0, CA_PROP_EVENT_ID, "message-new-instant", NULL) != 0) +#endif + gdk_beep (); +#endif +} + +void +fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_flags flags) +{ + GError *err = NULL; + xtext_buffer *buf, *lbuf; + + buf = sess->res->buffer; + + if (gtk_xtext_is_empty (buf)) + { + PrintText (lastlog_sess, _("Search buffer is empty.\n")); + return; + } + + lbuf = lastlog_sess->res->buffer; + if (flags & regexp) + { + GRegexCompileFlags gcf = (flags & case_match)? 0: G_REGEX_CASELESS; + + lbuf->search_re = g_regex_new (sstr, gcf, 0, &err); + if (err) + { + PrintText (lastlog_sess, _(err->message)); + g_error_free (err); + return; + } + } + else + { + if (flags & case_match) + { + lbuf->search_nee = g_strdup (sstr); + } + else + { + lbuf->search_nee = g_utf8_casefold (sstr, strlen (sstr)); + } + lbuf->search_lnee = strlen (lbuf->search_nee); + } + lbuf->search_flags = flags; + lbuf->search_text = g_strdup (sstr); + gtk_xtext_lastlog (lbuf, buf); +} + +void +fe_set_lag (server *serv, long lag) +{ + GSList *list = sess_list; + session *sess; + gdouble per; + char lagtext[64]; + char lagtip[128]; + unsigned long nowtim; + + if (lag == -1) + { + if (!serv->lag_sent) + return; + nowtim = make_ping_time (); + lag = nowtim - serv->lag_sent; + } + + /* if there is no pong for >30s report the lag as +30s */ + if (lag > 30000 && serv->lag_sent) + lag=30000; + + per = ((double)lag) / 1000.0; + if (per > 1.0) + per = 1.0; + + g_snprintf (lagtext, sizeof (lagtext) - 1, "%s%ld.%lds", + serv->lag_sent ? "+" : "", lag / 1000, (lag/100) % 10); + g_snprintf (lagtip, sizeof (lagtip) - 1, "Lag: %s%ld.%ld seconds", + serv->lag_sent ? "+" : "", lag / 1000, (lag/100) % 10); + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + g_free (sess->res->lag_tip); + sess->res->lag_tip = g_strdup (lagtip); + + if (!sess->gui->is_tab || current_tab == sess) + { + if (sess->gui->lagometer) + { + gtk_progress_bar_set_fraction ((GtkProgressBar *) sess->gui->lagometer, per); + gtk_widget_set_tooltip_text (gtk_widget_get_parent (sess->gui->lagometer), lagtip); + } + if (sess->gui->laginfo) + gtk_label_set_text ((GtkLabel *) sess->gui->laginfo, lagtext); + } else + { + sess->res->lag_value = per; + g_free (sess->res->lag_text); + sess->res->lag_text = g_strdup (lagtext); + } + } + list = list->next; + } +} + +void +fe_set_throttle (server *serv) +{ + GSList *list = sess_list; + struct session *sess; + float per; + char tbuf[96]; + char tip[160]; + + per = (float) serv->sendq_len / 1024.0; + if (per > 1.0) + per = 1.0; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + g_snprintf (tbuf, sizeof (tbuf) - 1, _("%d bytes"), serv->sendq_len); + g_snprintf (tip, sizeof (tip) - 1, _("Network send queue: %d bytes"), serv->sendq_len); + + g_free (sess->res->queue_tip); + sess->res->queue_tip = g_strdup (tip); + + if (!sess->gui->is_tab || current_tab == sess) + { + if (sess->gui->throttlemeter) + { + gtk_progress_bar_set_fraction ((GtkProgressBar *) sess->gui->throttlemeter, per); + gtk_widget_set_tooltip_text (gtk_widget_get_parent (sess->gui->throttlemeter), tip); + } + if (sess->gui->throttleinfo) + gtk_label_set_text ((GtkLabel *) sess->gui->throttleinfo, tbuf); + } else + { + sess->res->queue_value = per; + g_free (sess->res->queue_text); + sess->res->queue_text = g_strdup (tbuf); + } + } + list = list->next; + } +} + +void +fe_ctrl_gui (session *sess, fe_gui_action action, int arg) +{ + switch (action) + { + case FE_GUI_HIDE: + gtk_widget_hide (sess->gui->window); break; + case FE_GUI_SHOW: + gtk_widget_show (sess->gui->window); + gtk_window_present (GTK_WINDOW (sess->gui->window)); + break; + case FE_GUI_FOCUS: + mg_bring_tofront_sess (sess); break; + case FE_GUI_FLASH: + fe_flash_window (sess); break; + case FE_GUI_COLOR: + fe_set_tab_color (sess, arg); break; + case FE_GUI_ICONIFY: + gtk_window_iconify (GTK_WINDOW (sess->gui->window)); break; + case FE_GUI_MENU: + menu_bar_toggle (); /* toggle menubar on/off */ + break; + case FE_GUI_ATTACH: + mg_detach (sess, arg); /* arg: 0=toggle 1=detach 2=attach */ + break; + case FE_GUI_APPLY: + setup_apply_real (TRUE, TRUE, TRUE, FALSE); + } +} + +static void +dcc_saveas_cb (struct DCC *dcc, char *file) +{ + if (is_dcc (dcc)) + { + if (dcc->dccstat == STAT_QUEUED) + { + if (file) + dcc_get_with_destfile (dcc, file); + else if (dcc->resume_sent == 0) + dcc_abort (dcc->serv->front_session, dcc); + } + } +} + +void +fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud) +{ + /* warning, assuming fe_confirm is used by DCC only! */ + struct DCC *dcc = ud; + + if (dcc->file) + { + char *filepath = g_build_filename (prefs.hex_dcc_dir, dcc->file, NULL); + gtkutil_file_req (NULL, message, dcc_saveas_cb, ud, filepath, NULL, + FRF_WRITE|FRF_NOASKOVERWRITE|FRF_FILTERISINITIAL); + g_free (filepath); + } +} + +int +fe_gui_info (session *sess, int info_type) +{ + switch (info_type) + { + case 0: /* window status */ + if (!gtk_widget_get_visible (GTK_WIDGET (sess->gui->window))) + { + return 2; /* hidden (iconified or systray) */ + } + + if (gtk_window_is_active (GTK_WINDOW (sess->gui->window))) + { + return 1; /* active/focused */ + } + + return 0; /* normal (no keyboard focus or behind a window) */ + } + + return -1; +} + +void * +fe_gui_info_ptr (session *sess, int info_type) +{ + switch (info_type) + { + case 0: /* native window pointer (for plugins) */ +#ifdef WIN32 + return gdk_win32_window_get_impl_hwnd (gtk_widget_get_window (sess->gui->window)); +#else + return sess->gui->window; +#endif + break; + + case 1: /* GtkWindow * (for plugins) */ + return sess->gui->window; + } + return NULL; +} + +char * +fe_get_inputbox_contents (session *sess) +{ + /* not the current tab */ + if (sess->res->input_text) + return sess->res->input_text; + + /* current focused tab */ + return SPELL_ENTRY_GET_TEXT (sess->gui->input_box); +} + +int +fe_get_inputbox_cursor (session *sess) +{ + /* not the current tab (we don't remember the cursor pos) */ + if (sess->res->input_text) + return 0; + + /* current focused tab */ + return SPELL_ENTRY_GET_POS (sess->gui->input_box); +} + +void +fe_set_inputbox_cursor (session *sess, int delta, int pos) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + if (delta) + pos += SPELL_ENTRY_GET_POS (sess->gui->input_box); + SPELL_ENTRY_SET_POS (sess->gui->input_box, pos); + } else + { + /* we don't support changing non-front tabs yet */ + } +} + +void +fe_set_inputbox_contents (session *sess, char *text) +{ + if (!sess->gui->is_tab || sess == current_tab) + { + SPELL_ENTRY_SET_TEXT (sess->gui->input_box, text); + } else + { + g_free (sess->res->input_text); + sess->res->input_text = g_strdup (text); + } +} + +#ifdef __APPLE__ +static char * +url_escape_hostname (const char *url) +{ + char *host_start, *host_end, *ret, *hostname; + + host_start = strstr (url, "://"); + if (host_start != NULL) + { + *host_start = '\0'; + host_start += 3; + host_end = strchr (host_start, '/'); + + if (host_end != NULL) + { + *host_end = '\0'; + host_end++; + } + + hostname = g_hostname_to_ascii (host_start); + if (host_end != NULL) + ret = g_strdup_printf ("%s://%s/%s", url, hostname, host_end); + else + ret = g_strdup_printf ("%s://%s", url, hostname); + + g_free (hostname); + return ret; + } + + return g_strdup (url); +} + +static void +osx_show_uri (const char *url) +{ + char *escaped_url, *encoded_url, *open, *cmd; + + escaped_url = url_escape_hostname (url); + encoded_url = g_filename_from_utf8 (escaped_url, -1, NULL, NULL, NULL); + if (encoded_url) + { + open = g_find_program_in_path ("open"); + cmd = g_strjoin (" ", open, encoded_url, NULL); + + hexchat_exec (cmd); + + g_free (encoded_url); + g_free (cmd); + } + + g_free (escaped_url); +} + +#endif + +static inline char * +escape_uri (const char *uri) +{ + return g_uri_escape_string(uri, G_URI_RESERVED_CHARS_GENERIC_DELIMITERS G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS, FALSE); +} + +static inline gboolean +uri_contains_forbidden_characters (const char *uri) +{ + while (*uri) + { + if (!g_ascii_isalnum (*uri) && !strchr ("-._~:/?#[]@!$&'()*+,;=", *uri)) + return TRUE; + uri++; + } + + return FALSE; +} + +static char * +maybe_escape_uri (const char *uri) +{ + /* The only way to know if a string has already been escaped or not + * is by fulling parsing each segement but we can try some more simple heuristics. */ + + /* If we find characters that should clearly be escaped. */ + if (uri_contains_forbidden_characters (uri)) + return escape_uri (uri); + + /* If it fails to be unescaped then it was not escaped. */ + char *unescaped = g_uri_unescape_string (uri, NULL); + if (!unescaped) + return escape_uri (uri); + g_free (unescaped); + + /* At this point it is probably safe to pass through as-is. */ + return g_strdup (uri); +} + +static void +fe_open_url_inner (const char *url) +{ +#ifdef WIN32 + gunichar2 *url_utf16 = g_utf8_to_utf16 (url, -1, NULL, NULL, NULL); + + if (url_utf16 == NULL) + { + return; + } + + ShellExecuteW (0, L"open", url_utf16, NULL, NULL, SW_SHOWNORMAL); + + g_free (url_utf16); +#elif defined(__APPLE__) + osx_show_uri (url); +#else + char *escaped_url = maybe_escape_uri (url); + g_debug ("Opening URL \"%s\" (%s)", escaped_url, url); + gtk_show_uri (NULL, escaped_url, GDK_CURRENT_TIME, NULL); + g_free (escaped_url); +#endif +} + +void +fe_open_url (const char *url) +{ + int url_type = url_check_word (url); + char *uri; + + /* gvfs likes file:// */ + if (url_type == WORD_PATH) + { +#ifndef WIN32 + uri = g_strconcat ("file://", url, NULL); + fe_open_url_inner (uri); + g_free (uri); +#else + fe_open_url_inner (url); +#endif + } + /* IPv6 addr. Add http:// */ + else if (url_type == WORD_HOST6) + { + /* IPv6 addrs in urls should be enclosed in [ ] */ + if (*url != '[') + uri = g_strdup_printf ("http://[%s]", url); + else + uri = g_strdup_printf ("http://%s", url); + + fe_open_url_inner (uri); + g_free (uri); + } + /* the http:// part's missing, prepend it, otherwise it won't always work */ + else if (strchr (url, ':') == NULL) + { + uri = g_strdup_printf ("http://%s", url); + fe_open_url_inner (uri); + g_free (uri); + } + /* we have a sane URL, send it to the browser untouched */ + else + { + fe_open_url_inner (url); + } +} + +void +fe_server_event (server *serv, int type, int arg) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv && (current_tab == sess || !sess->gui->is_tab)) + { + session_gui *gui = sess->gui; + + switch (type) + { + case FE_SE_CONNECTING: /* connecting in progress */ + case FE_SE_RECONDELAY: /* reconnect delay begun */ + /* enable Disconnect item */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 1); + break; + + case FE_SE_CONNECT: + /* enable Disconnect and Away menu items */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], 1); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 1); + break; + + case FE_SE_LOGGEDIN: /* end of MOTD */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], 1); + /* if number of auto-join channels is zero, open joind */ + if (arg == 0) + joind_open (serv); + break; + + case FE_SE_DISCONNECT: + /* disable Disconnect and Away menu items */ + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], 0); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], 0); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], 0); + /* close the join-dialog, if one exists */ + joind_close (serv); + } + } + list = list->next; + } +} + +void +fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags) + +{ + /* OK: Call callback once per file, then once more with file=NULL. */ + /* CANCEL: Call callback once with file=NULL. */ + gtkutil_file_req (NULL, title, callback, userdata, initial, NULL, flags | FRF_FILTERISINITIAL); +} + +void +fe_open_chan_list (server *serv, char *filter, int do_refresh) +{ + chanlist_opengui (serv, do_refresh); +} + +const char * +fe_get_default_font (void) +{ +#ifdef WIN32 + if (gtkutil_find_font ("Consolas")) + return "Consolas 10"; + else +#else +#ifdef __APPLE__ + if (gtkutil_find_font ("Menlo")) + return "Menlo 13"; + else +#endif +#endif + return NULL; +} diff --git a/src/fe-gtk/fe-gtk.h b/src/fe-gtk/fe-gtk.h new file mode 100644 index 0000000000000000000000000000000000000000..ab776f63b1fe31612aa3fc26f64e0076f09d7fc0 --- /dev/null +++ b/src/fe-gtk/fe-gtk.h @@ -0,0 +1,191 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_FE_GTK_H +#define HEXCHAT_FE_GTK_H + +#include "config.h" + +#define DISPLAY_NAME "HexChat" + +#ifndef WIN32 +#include <sys/types.h> +#endif + +#include <glib/gi18n.h> +#include <gtk/gtk.h> + +#ifdef HAVE_GTK_MAC +#include <gtkosxapplication.h> +#endif + +#include "banlist.h" + +#define flag_c flag_wid[0] +#define flag_n flag_wid[1] +#define flag_t flag_wid[2] +#define flag_i flag_wid[3] +#define flag_m flag_wid[4] +#define flag_l flag_wid[5] +#define flag_k flag_wid[6] +#define flag_b flag_wid[7] +#define NUM_FLAG_WIDS 8 + +#ifdef HAVE_GTK_MAC +extern GtkosxApplication *osx_app; +#endif + +struct server_gui +{ + GtkWidget *rawlog_window; + GtkWidget *rawlog_textlist; + + /* join dialog */ + GtkWidget *joind_win; + GtkWidget *joind_entry; + GtkWidget *joind_radio1; + GtkWidget *joind_radio2; + GtkWidget *joind_check; + + /* chanlist variables */ + GtkWidget *chanlist_wild; /* GtkEntry */ + GtkWidget *chanlist_window; + GtkWidget *chanlist_list; + GtkWidget *chanlist_label; + GtkWidget *chanlist_min_spin; /* minusers GtkSpinButton */ + GtkWidget *chanlist_refresh; /* buttons */ + GtkWidget *chanlist_join; + GtkWidget *chanlist_savelist; + GtkWidget *chanlist_search; + + GSList *chanlist_data_stored_rows; /* stored list so it can be resorted */ + GSList *chanlist_pending_rows; + gint chanlist_tag; + gint chanlist_flash_tag; + + gboolean chanlist_match_wants_channel; /* match in channel name */ + gboolean chanlist_match_wants_topic; /* match in topic */ + + GRegex *chanlist_match_regex; /* compiled regular expression here */ + unsigned int have_regex; + + guint chanlist_users_found_count; /* users total for all channels */ + guint chanlist_users_shown_count; /* users total for displayed channels */ + guint chanlist_channels_found_count; /* channel total for /LIST operation */ + guint chanlist_channels_shown_count; /* total number of displayed + channels */ + + guint32 chanlist_maxusers; + guint32 chanlist_minusers; + guint32 chanlist_minusers_downloaded; /* used by LIST IRC command */ + int chanlist_search_type; /* 0=simple 1=pattern/wildcard 2=regexp */ + gboolean chanlist_caption_is_stale; +}; + +/* this struct is persistant even when delinking/relinking */ + +typedef struct restore_gui +{ + banlist_info *banlist; + + void *tab; /* (chan *) */ + + /* information stored when this tab isn't front-most */ + GtkListStore *user_model; /* for filling the GtkTreeView */ + void *buffer; /* xtext_Buffer */ + char *input_text; /* input text buffer (while not-front tab) */ + char *topic_text; /* topic GtkEntry buffer */ + char *key_text; + char *limit_text; + gfloat old_ul_value; /* old userlist value (for adj) */ + gfloat lag_value; /* lag-o-meter */ + char *lag_text; /* lag-o-meter text */ + char *lag_tip; /* lag-o-meter tooltip */ + gfloat queue_value; /* outbound queue meter */ + char *queue_text; /* outbound queue text */ + char *queue_tip; /* outbound queue tooltip */ + short flag_wid_state[NUM_FLAG_WIDS]; + unsigned int c_graph:1; /* connecting graph, is there one? */ +} restore_gui; + +typedef struct session_gui +{ + GtkWidget + *xtext, + *vscrollbar, + *window, /* toplevel */ + *topic_entry, + *note_book, + *main_table, + *user_tree, /* GtkTreeView */ + *user_box, /* userlist box */ + *button_box_parent, + *button_box, /* userlist buttons' box */ + *dialogbutton_box, + *topicbutton_box, + *meter_box, /* all the meters inside this */ + *lagometer, + *laginfo, + *throttlemeter, + *throttleinfo, + *topic_bar, + *hpane_left, + *hpane_right, + *vpane_left, + *vpane_right, + *menu, + *bar, /* connecting progress bar */ + *nick_box, /* contains label to the left of input_box */ + *nick_label, + *op_xpm, /* icon to the left of nickname */ + *namelistinfo, /* label above userlist */ + *input_box, + *flag_wid[NUM_FLAG_WIDS], /* channelmode buttons */ + *limit_entry, /* +l */ + *key_entry; /* +k */ + + GtkWidget *shbox, *shentry; /* search bar hbox */ + gulong search_changed_signal; /* hook for search change event so blanking the box doesn't suck */ + +#define MENU_ID_NUM 14 + GtkWidget *menu_item[MENU_ID_NUM+1]; /* some items we may change state of */ + + void *chanview; /* chanview.h */ + + int bartag; /*connecting progressbar timeout */ + + int pane_left_size; /*last position of the pane*/ + int pane_right_size; + + guint16 is_tab; /* is tab or toplevel? */ + guint16 ul_hidden; /* userlist hidden? */ + +} session_gui; + +extern GdkPixmap *channelwin_pix; +extern GdkPixmap *dialogwin_pix; + +#define SPELL_ENTRY_GET_TEXT(e) ((char *)(gtk_entry_get_text (GTK_ENTRY(e)))) +#define SPELL_ENTRY_SET_TEXT(e,txt) gtk_entry_set_text(GTK_ENTRY(e),txt) +#define SPELL_ENTRY_SET_EDITABLE(e,v) gtk_editable_set_editable(GTK_EDITABLE(e),v) +#define SPELL_ENTRY_GET_POS(e) gtk_editable_get_position(GTK_EDITABLE(e)) +#define SPELL_ENTRY_SET_POS(e,p) gtk_editable_set_position(GTK_EDITABLE(e),p); +#define SPELL_ENTRY_INSERT(e,t,l,p) gtk_editable_insert_text(GTK_EDITABLE(e),t,l,p) + +#endif diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..06df36dc3c0f932a8138b0d4d4564afd844eca61 --- /dev/null +++ b/src/fe-gtk/fe-gtk.vcxproj @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>fegtk</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\..\win32\hexchat.props" /> + <PropertyGroup> + <TargetName>hexchat</TargetName> + <OutDir>$(HexChatRel)</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\common;$(HexChatLib);$(DepsRoot)\include;$(Glib);$(Gtk);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <DisableSpecificWarnings>4244;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(DepLibs);$(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <EntryPointSymbol>mainCRTStartup</EntryPointSymbol> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_WINDOWS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\common;$(HexChatLib);$(DepsRoot)\include;$(Glib);$(Gtk);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(DepLibs);$(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <EntryPointSymbol>mainCRTStartup</EntryPointSymbol> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup> + <PreBuildEvent> + <Command><![CDATA[ +SET SOLUTIONDIR=$(SolutionDir)..\ +powershell -File "$(SolutionDir)..\win32\version-template.ps1" "$(SolutionDir)..\src\fe-gtk\hexchat.rc.tt" "$(HexChatLib)hexchat.rc.utf8" +REM hexchat.rc needs to be in UCS-2 or Resource Compiler will complain +powershell "Get-Content -Encoding UTF8 '$(HexChatLib)hexchat.rc.utf8' | Out-File '$(HexChatLib)hexchat.rc'; Remove-Item '$(HexChatLib)hexchat.rc.utf8'" +"$(DepsRoot)\bin\glib-compile-resources.exe" --generate-header --manual-register --sourcedir "$(DataDir)" --target "$(HexChatLib)resources.h" "$(DataDir)hexchat.gresource.xml" +"$(DepsRoot)\bin\glib-compile-resources.exe" --generate-source --manual-register --sourcedir "$(DataDir)" --target "$(HexChatLib)resources.c" "$(DataDir)hexchat.gresource.xml" + ]]></Command> + <Message>Build hexchat.rc and gresource file</Message> + </PreBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="ascii.h" /> + <ClInclude Include="banlist.h" /> + <ClInclude Include="chanlist.h" /> + <ClInclude Include="chanview.h" /> + <ClInclude Include="custom-list.h" /> + <ClInclude Include="editlist.h" /> + <ClInclude Include="fe-gtk.h" /> + <ClInclude Include="fkeys.h" /> + <ClInclude Include="gtkutil.h" /> + <ClInclude Include="joind.h" /> + <ClInclude Include="maingui.h" /> + <ClInclude Include="menu.h" /> + <ClInclude Include="notifications\notification-backend.h" /> + <ClInclude Include="notifygui.h" /> + <ClInclude Include="palette.h" /> + <ClInclude Include="pixmaps.h" /> + <ClInclude Include="plugin-tray.h" /> + <ClInclude Include="plugingui.h" /> + <ClInclude Include="rawlog.h" /> + <ClInclude Include="servlistgui.h" /> + <ClInclude Include="setup.h" /> + <ClInclude Include="sexy-iso-codes.h" /> + <ClInclude Include="sexy-spell-entry.h" /> + <ClInclude Include="textgui.h" /> + <ClInclude Include="urlgrab.h" /> + <ClInclude Include="userlistgui.h" /> + <ClInclude Include="xtext.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="ascii.c" /> + <ClCompile Include="banlist.c" /> + <ClCompile Include="chanlist.c" /> + <ClCompile Include="chanview.c" /> + <ClCompile Include="custom-list.c" /> + <ClCompile Include="dccgui.c" /> + <ClCompile Include="editlist.c" /> + <ClCompile Include="fe-gtk.c" /> + <ClCompile Include="fkeys.c" /> + <ClCompile Include="gtkutil.c" /> + <ClCompile Include="ignoregui.c" /> + <ClCompile Include="joind.c" /> + <ClCompile Include="maingui.c" /> + <ClCompile Include="menu.c" /> + <ClCompile Include="notifications\notification-windows.c" /> + <ClCompile Include="notifygui.c" /> + <ClCompile Include="palette.c" /> + <ClCompile Include="pixmaps.c" /> + <ClCompile Include="plugin-notification.c" /> + <ClCompile Include="plugin-tray.c" /> + <ClCompile Include="plugingui.c" /> + <ClCompile Include="rawlog.c" /> + <ClCompile Include="$(HexChatLib)resources.c" /> + <ClCompile Include="servlistgui.c" /> + <ClCompile Include="setup.c" /> + <ClCompile Include="sexy-iso-codes.c" /> + <ClCompile Include="sexy-spell-entry.c" /> + <ClCompile Include="textgui.c" /> + <ClCompile Include="urlgrab.c" /> + <ClCompile Include="userlistgui.c" /> + <ClCompile Include="xtext.c" /> + </ItemGroup> + <ItemGroup> + <Manifest Include="..\..\win32\hexchat.exe.manifest" /> + </ItemGroup> + <ItemGroup> + <None Include="hexchat.rc.tt" /> + <ResourceCompile Include="$(HexChatLib)hexchat.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\data\icons\hexchat.ico" /> + </ItemGroup> + <ItemGroup> + <Xml Include="..\..\data\hexchat.gresource.xml" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/src/fe-gtk/fe-gtk.vcxproj.filters b/src/fe-gtk/fe-gtk.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..fe211a2d44b3648a24438b1b551e06c9729df65b --- /dev/null +++ b/src/fe-gtk/fe-gtk.vcxproj.filters @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="ascii.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="banlist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="chanlist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="chanview.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="custom-list.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="editlist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="fe-gtk.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="fkeys.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="gtkutil.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="joind.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="maingui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="menu.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="notifygui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="palette.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="pixmaps.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="plugingui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="plugin-tray.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="rawlog.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sexy-iso-codes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="sexy-spell-entry.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="textgui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="urlgrab.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="userlistgui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="xtext.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="servlistgui.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="setup.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="notifications\notification-backend.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="ascii.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="banlist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="chanlist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="chanview.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="custom-list.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="dccgui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="editlist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="fe-gtk.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="fkeys.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="gtkutil.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="ignoregui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="joind.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="maingui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="menu.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="notifygui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="palette.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="pixmaps.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugingui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugin-tray.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="rawlog.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="servlistgui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="setup.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sexy-iso-codes.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sexy-spell-entry.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="textgui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="urlgrab.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="userlistgui.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="xtext.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="$(HexChatLib)resources.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="plugin-notification.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="notifications\notification-windows.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <Manifest Include="..\..\win32\hexchat.exe.manifest"> + <Filter>Resource Files</Filter> + </Manifest> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="$(HexChatLib)hexchat.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="..\..\data\icons\hexchat.ico"> + <Filter>Resource Files</Filter> + </None> + <None Include="hexchat.rc.tt" /> + </ItemGroup> + <ItemGroup> + <Xml Include="..\..\data\hexchat.gresource.xml" /> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/src/fe-gtk/fkeys.c b/src/fe-gtk/fkeys.c new file mode 100644 index 0000000000000000000000000000000000000000..6dd16e356c053f46b7a2854bb632add0ab041bba --- /dev/null +++ b/src/fe-gtk/fkeys.c @@ -0,0 +1,1843 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <string.h> +#include <fcntl.h> +#include <ctype.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#define GLIB_DISABLE_DEPRECATION_WARNINGS +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/userlist.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/text.h" +#include "../common/plugin.h" +#include "../common/typedef.h" +#include <gdk/gdkkeysyms.h> +#include "gtkutil.h" +#include "menu.h" +#include "xtext.h" +#include "palette.h" +#include "maingui.h" +#include "textgui.h" +#include "fkeys.h" + +static void replace_handle (GtkWidget * wid); +void key_action_tab_clean (void); + +/***************** Key Binding Code ******************/ + +/* NOTES: + + To add a new action: + 1) inc KEY_MAX_ACTIONS + 2) write the function at the bottom of this file (with all the others) + FIXME: Write about calling and returning + 3) Add it to key_actions + + --AGL + + */ + +/* Remember that the *number* of actions is this *plus* 1 --AGL */ +#define KEY_MAX_ACTIONS 14 + +struct key_binding +{ + guint keyval; /* keyval from gdk */ + GdkModifierType mod; /* Modifier, always ran through key_modifier_get_valid() */ + int action; /* Index into key_actions */ + char *data1, *data2; /* Pointers to strings, these must be freed */ +}; + +struct key_action +{ + int (*handler) (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session * sess); + char *name; + char *help; +}; + +struct gcomp_data +{ + char data[CHANLEN]; + int elen; +}; + +static int key_load_kbs (void); +static int key_save_kbs (void); +static int key_action_handle_command (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_page_switch (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +int key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess); +static int key_action_scroll_page (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_set_buffer (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_history_up (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_history_down (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, struct session *sess); +static int key_action_tab_comp (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_comp_chng (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_replace (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess); +static int key_action_move_tab_left (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_right (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_family_left (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_move_tab_family_right (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); +static int key_action_put_history (GtkWidget * wid, GdkEventKey * evt, + char *d1, char *d2, + struct session *sess); + +static GSList *keybind_list = NULL; + +static const struct key_action key_actions[KEY_MAX_ACTIONS + 1] = { + + {key_action_handle_command, "Run Command", + N_("The \002Run Command\002 action runs the data in Data 1 as if it had been typed into the entry box where you pressed the key sequence. Thus it can contain text (which will be sent to the channel/person), commands or user commands. When run all \002\\n\002 characters in Data 1 are used to deliminate separate commands so it is possible to run more than one command. If you want a \002\\\002 in the actual text run then enter \002\\\\\002")}, + {key_action_page_switch, "Change Page", + N_("The \002Change Page\002 command switches between pages in the notebook. Set Data 1 to the page you want to switch to. If Data 2 is set to anything then the switch will be relative to the current position. Set Data 1 to auto to switch to the page with the most recent and important activity (queries first, then channels with hilight, channels with dialogue, channels with other data)")}, + {key_action_insert, "Insert in Buffer", + N_("The \002Insert in Buffer\002 command will insert the contents of Data 1 into the entry where the key sequence was pressed at the current cursor position")}, + {key_action_scroll_page, "Scroll Page", + N_("The \002Scroll Page\002 command scrolls the text widget up or down one page or one line. Set Data 1 to either Top, Bottom, Up, Down, +1 or -1.")}, + {key_action_set_buffer, "Set Buffer", + N_("The \002Set Buffer\002 command sets the entry where the key sequence was entered to the contents of Data 1")}, + {key_action_history_up, "Last Command", + N_("The \002Last Command\002 command sets the entry to contain the last command entered - the same as pressing up in a shell")}, + {key_action_history_down, "Next Command", + N_("The \002Next Command\002 command sets the entry to contain the next command entered - the same as pressing down in a shell")}, + {key_action_tab_comp, "Complete nick/command", + N_("This command changes the text in the entry to finish an incomplete nickname or command. If Data 1 is set then double-tabbing in a string will select the last nick, not the next")}, + {key_action_comp_chng, "Change Selected Nick", + N_("This command scrolls up and down through the list of nicks. If Data 1 is set to anything it will scroll up, else it scrolls down")}, + {key_action_replace, "Check For Replace", + N_("This command checks the last word entered in the entry against the replace list and replaces it if it finds a match")}, + {key_action_move_tab_left, "Move front tab left", + N_("This command moves the front tab left by one")}, + {key_action_move_tab_right, "Move front tab right", + N_("This command moves the front tab right by one")}, + {key_action_move_tab_family_left, "Move tab family left", + N_("This command moves the current tab family to the left")}, + {key_action_move_tab_family_right, "Move tab family right", + N_("This command moves the current tab family to the right")}, + {key_action_put_history, "Push input line into history", + N_("Push input line into history but doesn't send to server")}, +}; + +#define default_kb_cfg \ + "ACCEL=<Primary>Page_Up\nChange Page\nD1:-1\nD2:Relative\n\n"\ + "ACCEL=<Primary>Page_Down\nChange Page\nD1:1\nD2:Relative\n\n"\ + "ACCEL=<Alt>9\nChange Page\nD1:9\nD2!\n\n"\ + "ACCEL=<Alt>8\nChange Page\nD1:8\nD2!\n\n"\ + "ACCEL=<Alt>7\nChange Page\nD1:7\nD2!\n\n"\ + "ACCEL=<Alt>6\nChange Page\nD1:6\nD2!\n\n"\ + "ACCEL=<Alt>5\nChange Page\nD1:5\nD2!\n\n"\ + "ACCEL=<Alt>4\nChange Page\nD1:4\nD2!\n\n"\ + "ACCEL=<Alt>3\nChange Page\nD1:3\nD2!\n\n"\ + "ACCEL=<Alt>2\nChange Page\nD1:2\nD2!\n\n"\ + "ACCEL=<Alt>1\nChange Page\nD1:1\nD2!\n\n"\ + "ACCEL=<Alt>grave\nChange Page\nD1:auto\nD2!\n\n"\ + "ACCEL=<Primary>o\nInsert in Buffer\nD1:\017\nD2!\n\n"\ + "ACCEL=<Primary>b\nInsert in Buffer\nD1:\002\nD2!\n\n"\ + "ACCEL=<Primary>k\nInsert in Buffer\nD1:\003\nD2!\n\n"\ + "ACCEL=<Primary>i\nInsert in Buffer\nD1:\035\nD2!\n\n"\ + "ACCEL=<Primary>u\nInsert in Buffer\nD1:\037\nD2!\n\n"\ + "ACCEL=<Primary>r\nInsert in Buffer\nD1:\026\nD2!\n\n"\ + "ACCEL=<Shift>Page_Down\nChange Selected Nick\nD1!\nD2!\n\n"\ + "ACCEL=<Shift>Page_Up\nChange Selected Nick\nD1:Up\nD2!\n\n"\ + "ACCEL=Page_Down\nScroll Page\nD1:Down\nD2!\n\n"\ + "ACCEL=<Primary>Home\nScroll Page\nD1:Top\nD2!\n\n"\ + "ACCEL=<Primary>End\nScroll Page\nD1:Bottom\nD2!\n\n"\ + "ACCEL=Page_Up\nScroll Page\nD1:Up\nD2!\n\n"\ + "ACCEL=<Shift>Down\nScroll Page\nD1:+1\nD2!\n\n"\ + "ACCEL=<Shift>Up\nScroll Page\nD1:-1\nD2!\n\n"\ + "ACCEL=Down\nNext Command\nD1!\nD2!\n\n"\ + "ACCEL=Up\nLast Command\nD1!\nD2!\n\n"\ + "ACCEL=Tab\nComplete nick/command\nD1!\nD2!\n\n"\ + "ACCEL=<Shift>ISO_Left_Tab\nComplete nick/command\nD1:Previous\nD2!\n\n"\ + "ACCEL=space\nCheck For Replace\nD1!\nD2!\n\n"\ + "ACCEL=Return\nCheck For Replace\nD1!\nD2!\n\n"\ + "ACCEL=KP_Enter\nCheck For Replace\nD1!\nD2!\n\n"\ + "ACCEL=<Primary>Tab\nComplete nick/command\nD1:Up\nD2!\n\n"\ + "ACCEL=<Alt>Left\nMove front tab left\nD1!\nD2!\n\n"\ + "ACCEL=<Alt>Right\nMove front tab right\nD1!\nD2!\n\n"\ + "ACCEL=<Primary><Shift>Page_Up\nMove tab family left\nD1!\nD2!\n\n"\ + "ACCEL=<Primary><Shift>Page_Down\nMove tab family right\nD1!\nD2!\n\n"\ + "ACCEL=F9\nRun Command\nD1:/GUI MENU TOGGLE\nD2!\n\n" + +void +key_init () +{ + if (key_load_kbs () == 1) + { + fe_message (_("There was an error loading key" + " bindings configuration"), FE_MSG_ERROR); + } +} + +static inline int +key_get_action_from_string (char *text) +{ + int i; + + for (i = 0; i < KEY_MAX_ACTIONS + 1; i++) + { + if (strcmp (key_actions[i].name, text) == 0) + { + return i; + } + } + + return 0; +} + +static void +key_free (gpointer data) +{ + struct key_binding *kb = (struct key_binding*)data; + + g_return_if_fail (kb != NULL); + + g_free (kb->data1); + g_free (kb->data2); + g_free (kb); +} + +/* Ok, here are the NOTES + + key_handle_key_press now handles all the key presses and history_keypress is + now defunct. It goes thru the linked list keys_root and finds a matching + key. It runs the action func and switches on these values: + 0) Return + 1) Find next + 2) stop signal and return + + * history_keypress is now dead (and gone) + * key_handle_key_press now takes its role + * All the possible actions are in a struct called key_actions (in fkeys.c) + * it is made of {function, name, desc} + * key bindings can pass 2 *text* strings to the handler. If more options are nee + ded a format can be put on one of these options + * key actions are passed { + the entry widget + the Gdk event + data 1 + data 2 + session struct + } + * key bindings are stored in a linked list of key_binding structs + * which looks like { + guint keyval; GDK keynumber + int action; Index into key_actions + GdkModiferType mod; modifier, only ones from key_modifer_get_valid() + char *data1, *data2; Pointers to strings, these must be freed + struct key_binding *next; + } + * remember that is (data1 || data2) != NULL then they need to be free()'ed + + --AGL + + */ + +static inline GdkModifierType +key_modifier_get_valid (GdkModifierType mod) +{ + GdkModifierType ret; + +#ifdef __APPLE__ + ret = mod & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_META_MASK); +#else + /* These masks work on both Windows and Unix */ + ret = mod & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK); +#endif + + return ret; +} + +gboolean +key_handle_key_press (GtkWidget *wid, GdkEventKey *evt, session *sess) +{ + struct key_binding *kb; + int n; + GSList *list; + + /* where did this event come from? */ + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->input_box == wid) + { + if (sess->gui->is_tab) + sess = current_tab; + break; + } + list = list->next; + } + if (!list) + return FALSE; + current_sess = sess; + + if (plugin_emit_keypress (sess, evt->state, evt->keyval, gdk_keyval_to_unicode (evt->keyval))) + return 1; + + /* maybe the plugin closed this tab? */ + if (!is_session (sess)) + return 1; + + list = keybind_list; + while (list) + { + kb = (struct key_binding*)list->data; + + if (kb->keyval == evt->keyval && kb->mod == key_modifier_get_valid (evt->state)) + { + if (kb->action < 0 || kb->action > KEY_MAX_ACTIONS) + return 0; + + /* Run the function */ + n = key_actions[kb->action].handler (wid, evt, kb->data1, + kb->data2, sess); + switch (n) + { + case 0: + return 1; + case 2: + g_signal_stop_emission_by_name (G_OBJECT (wid), + "key_press_event"); + return 1; + } + } + list = g_slist_next (list); + } + + switch (evt->keyval) + { + case GDK_KEY_space: + key_action_tab_clean (); + break; + } + + return 0; +} + + +/* ***** GUI code here ******************* */ + +enum +{ + KEY_COLUMN, + ACCEL_COLUMN, + ACTION_COLUMN, + D1_COLUMN, + D2_COLUMN, + N_COLUMNS +}; + +static GtkWidget *key_dialog = NULL; + +static inline GtkTreeModel * +get_store (void) +{ + return gtk_tree_view_get_model (g_object_get_data (G_OBJECT (key_dialog), "view")); +} + +static void +key_dialog_print_text (GtkXText *xtext, char *text) +{ + unsigned int old = prefs.hex_stamp_text; + prefs.hex_stamp_text = 0; /* temporarily disable stamps */ + gtk_xtext_clear (GTK_XTEXT (xtext)->buffer, 0); + PrintTextRaw (GTK_XTEXT (xtext)->buffer, text, 0, 0); + prefs.hex_stamp_text = old; +} + +static void +key_dialog_set_key (GtkCellRendererAccel *accel, gchar *pathstr, guint accel_key, + GdkModifierType accel_mods, guint hardware_keycode, gpointer userdata) +{ + GtkTreeModel *model = get_store (); + GtkTreePath *path = gtk_tree_path_new_from_string (pathstr); + GtkTreeIter iter; + gchar *label_name, *accel_name; + + /* Shift tab requires an exception, hopefully that list ends here.. */ + if (accel_key == GDK_KEY_Tab && accel_mods & GDK_SHIFT_MASK) + accel_key = GDK_KEY_ISO_Left_Tab; + + label_name = gtk_accelerator_get_label (accel_key, key_modifier_get_valid (accel_mods)); + accel_name = gtk_accelerator_name (accel_key, key_modifier_get_valid (accel_mods)); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, KEY_COLUMN, label_name, + ACCEL_COLUMN, accel_name, -1); + + gtk_tree_path_free (path); + g_free (label_name); + g_free (accel_name); +} + +static void +key_dialog_combo_changed (GtkCellRendererCombo *combo, gchar *pathstr, + GtkTreeIter *new_iter, gpointer data) +{ + GtkTreeModel *model; + GtkXText *xtext; + gchar *actiontext = NULL; + gint action; + + xtext = GTK_XTEXT (g_object_get_data (G_OBJECT (key_dialog), "xtext")); + model = GTK_TREE_MODEL (data); + + gtk_tree_model_get (model, new_iter, 0, &actiontext, -1); + + if (actiontext) + { +#ifdef WIN32 + /* We need to manually update the store */ + GtkTreePath *path; + GtkTreeIter iter; + + path = gtk_tree_path_new_from_string (pathstr); + model = get_store (); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, ACTION_COLUMN, actiontext, -1); + + gtk_tree_path_free (path); +#endif + + action = key_get_action_from_string (actiontext); + key_dialog_print_text (xtext, key_actions[action].help); + + g_free (actiontext); + } +} + +static void +key_dialog_entry_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpointer data) +{ + GtkTreeModel *model = get_store (); + GtkTreePath *path = gtk_tree_path_new_from_string (pathstr); + GtkTreeIter iter; + gint column = GPOINTER_TO_INT (data); + + gtk_tree_model_get_iter (model, &iter, path); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, column, new_text, -1); + + gtk_tree_path_free (path); +} + +static gboolean +key_dialog_keypress (GtkWidget *wid, GdkEventKey *evt, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (key_dialog), "view"); + GtkTreeModel *store; + GtkTreeIter iter1, iter2; + GtkTreeSelection *sel; + GtkTreePath *path; + gboolean handled = FALSE; + int delta; + + if (evt->state & GDK_SHIFT_MASK) + { + if (evt->keyval == GDK_KEY_Up) + { + handled = TRUE; + delta = -1; + } + else if (evt->keyval == GDK_KEY_Down) + { + handled = TRUE; + delta = 1; + } + } + + if (handled) + { + sel = gtk_tree_view_get_selection (view); + gtk_tree_selection_get_selected (sel, &store, &iter1); + path = gtk_tree_model_get_path (store, &iter1); + if (delta == 1) + gtk_tree_path_next (path); + else + gtk_tree_path_prev (path); + gtk_tree_model_get_iter (store, &iter2, path); + gtk_tree_path_free (path); + gtk_list_store_swap (GTK_LIST_STORE (store), &iter1, &iter2); + } + + return handled; +} + +static void +key_dialog_selection_changed (GtkTreeSelection *sel, gpointer userdata) +{ + GtkTreeModel *model; + GtkTreeIter iter; + GtkXText *xtext; + char *actiontext; + int action; + + if (!gtk_tree_selection_get_selected (sel, &model, &iter) || model == NULL) + return; + + xtext = GTK_XTEXT (g_object_get_data (G_OBJECT (key_dialog), "xtext")); + gtk_tree_model_get (model, &iter, ACTION_COLUMN, &actiontext, -1); + + if (actiontext) + { + action = key_get_action_from_string (actiontext); + key_dialog_print_text (xtext, key_actions[action].help); + g_free (actiontext); + } + else + key_dialog_print_text (xtext, _("Select a row to get help information on its Action.")); +} + +static void +key_dialog_close (GtkWidget *wid, gpointer userdata) +{ + gtk_widget_destroy (key_dialog); + key_dialog = NULL; +} + +static void +key_dialog_save (GtkWidget *wid, gpointer userdata) +{ + GtkTreeModel *store = get_store (); + GtkTreeIter iter; + struct key_binding *kb; + char *data1, *data2, *accel, *actiontext; + guint keyval; + GdkModifierType mod; + + if (keybind_list) + { + g_slist_free_full (keybind_list, key_free); + keybind_list = NULL; + } + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) + { + do + { + kb = g_new0 (struct key_binding, 1); + + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, ACCEL_COLUMN, &accel, + ACTION_COLUMN, &actiontext, + D1_COLUMN, &data1, + D2_COLUMN, &data2, + -1); + kb->data1 = data1; + kb->data2 = data2; + + if (accel) + { + gtk_accelerator_parse (accel, &keyval, &mod); + + kb->keyval = keyval; + kb->mod = key_modifier_get_valid (mod); + + g_free (accel); + } + + if (actiontext) + { + kb->action = key_get_action_from_string (actiontext); + g_free (actiontext); + } + + if (!accel || !actiontext) + key_free (kb); + else + keybind_list = g_slist_append (keybind_list, kb); + + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + } + + if (key_save_kbs () == 0) + key_dialog_close (wid, NULL); +} + +static void +key_dialog_add (GtkWidget *wid, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (key_dialog), "view"); + GtkTreeViewColumn *col; + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + GtkTreePath *path; + + gtk_list_store_append (store, &iter); + + /* make sure the new row is visible and selected */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + col = gtk_tree_view_get_column (view, ACTION_COLUMN); + gtk_tree_view_scroll_to_cell (view, path, NULL, FALSE, 0.0, 0.0); + gtk_tree_view_set_cursor (view, path, col, TRUE); + gtk_tree_path_free (path); +} + +static void +key_dialog_delete (GtkWidget *wid, gpointer userdata) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (key_dialog), "view"); + GtkListStore *store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + GtkTreeIter iter; + GtkTreePath *path; + + if (gtkutil_treeview_get_selected (view, &iter, -1)) + { + /* delete this row, select next one */ + if (gtk_list_store_remove (store, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); + } + } +} + +static GtkWidget * +key_dialog_treeview_new (GtkWidget *box) +{ + GtkWidget *scroll; + GtkListStore *store, *combostore; + GtkTreeViewColumn *col; + GtkWidget *view; + GtkCellRenderer *render; + int i; + + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); + gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), FALSE); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (view), TRUE); + + g_signal_connect (G_OBJECT (view), "key-press-event", + G_CALLBACK (key_dialog_keypress), NULL); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW(view))), + "changed", G_CALLBACK (key_dialog_selection_changed), NULL); + + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + + render = gtk_cell_renderer_accel_new (); + g_object_set (render, "editable", TRUE, +#ifndef WIN32 + "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER, +#endif + NULL); + g_signal_connect (G_OBJECT (render), "accel-edited", + G_CALLBACK (key_dialog_set_key), NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), KEY_COLUMN, + "Key", render, + "text", KEY_COLUMN, + NULL); + + render = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), ACCEL_COLUMN, + "Accel", render, + "text", ACCEL_COLUMN, + NULL); + + combostore = gtk_list_store_new (1, G_TYPE_STRING); + for (i = 0; i <= KEY_MAX_ACTIONS; i++) + { + GtkTreeIter iter; + + if (key_actions[i].name[0]) + { + gtk_list_store_append (combostore, &iter); + gtk_list_store_set (combostore, &iter, 0, key_actions[i].name, -1); + } + } + + render = gtk_cell_renderer_combo_new (); + g_object_set (G_OBJECT (render), "model", combostore, + "has-entry", FALSE, + "editable", TRUE, + "text-column", 0, + NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (key_dialog_entry_edited), GINT_TO_POINTER (ACTION_COLUMN)); + g_signal_connect (G_OBJECT (render), "changed", + G_CALLBACK (key_dialog_combo_changed), combostore); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (view), ACTION_COLUMN, + "Action", render, + "text", ACTION_COLUMN, + NULL); + + render = gtk_cell_renderer_text_new (); + g_object_set (render, "editable", TRUE, NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (key_dialog_entry_edited), GINT_TO_POINTER (D1_COLUMN)); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), D1_COLUMN, + "Data1", render, + "text", D1_COLUMN, + NULL); + + render = gtk_cell_renderer_text_new (); + g_object_set (render, "editable", TRUE, NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (key_dialog_entry_edited), GINT_TO_POINTER (D2_COLUMN)); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), D2_COLUMN, + "Data2", render, + "text", D2_COLUMN, + NULL); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), KEY_COLUMN); + gtk_tree_view_column_set_fixed_width (col, 200); + gtk_tree_view_column_set_resizable (col, TRUE); + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), ACCEL_COLUMN); + gtk_tree_view_column_set_visible (col, FALSE); + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), ACTION_COLUMN); + gtk_tree_view_column_set_fixed_width (col, 160); + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), D1_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_min_width (col, 80); + gtk_tree_view_column_set_resizable (col, TRUE); + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), D2_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_min_width (col, 80); + gtk_tree_view_column_set_resizable (col, TRUE); + + gtk_container_add (GTK_CONTAINER (scroll), view); + gtk_container_add (GTK_CONTAINER (box), scroll); + + return view; +} + +static void +key_dialog_load (GtkListStore *store) +{ + struct key_binding *kb = NULL; + char *label_text, *accel_text; + GtkTreeIter iter; + GSList *list = keybind_list; + + while (list) + { + kb = (struct key_binding*)list->data; + + label_text = gtk_accelerator_get_label (kb->keyval, kb->mod); + accel_text = gtk_accelerator_name (kb->keyval, kb->mod); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + KEY_COLUMN, label_text, + ACCEL_COLUMN, accel_text, + ACTION_COLUMN, key_actions[kb->action].name, + D1_COLUMN, kb->data1, + D2_COLUMN, kb->data2, -1); + + g_free (accel_text); + g_free (label_text); + + list = g_slist_next (list); + } +} + +void +key_dialog_show () +{ + GtkWidget *vbox, *box; + GtkWidget *view, *xtext; + GtkListStore *store; + char buf[128]; + + if (key_dialog) + { + mg_bring_tofront (key_dialog); + return; + } + + g_snprintf(buf, sizeof(buf), _("Keyboard Shortcuts - %s"), _(DISPLAY_NAME)); + key_dialog = mg_create_generic_tab ("editkeys", buf, TRUE, FALSE, key_dialog_close, + NULL, 600, 360, &vbox, 0); + + view = key_dialog_treeview_new (vbox); + xtext = gtk_xtext_new (colors, 0); + gtk_box_pack_start (GTK_BOX (vbox), xtext, FALSE, TRUE, 2); + gtk_xtext_set_font (GTK_XTEXT (xtext), prefs.hex_text_font); + + g_object_set_data (G_OBJECT (key_dialog), "view", view); + g_object_set_data (G_OBJECT (key_dialog), "xtext", xtext); + + box = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (box), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 2); + gtk_container_set_border_width (GTK_CONTAINER (box), 5); + + gtkutil_button (box, GTK_STOCK_NEW, NULL, key_dialog_add, + NULL, _("Add")); + gtkutil_button (box, GTK_STOCK_DELETE, NULL, key_dialog_delete, + NULL, _("Delete")); + gtkutil_button (box, GTK_STOCK_CANCEL, NULL, key_dialog_close, + NULL, _("Cancel")); + gtkutil_button (box, GTK_STOCK_SAVE, NULL, key_dialog_save, + NULL, _("Save")); + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + key_dialog_load (store); + + gtk_widget_show_all (key_dialog); +} + +static int +key_save_kbs (void) +{ + int fd; + char buf[512]; + char *accel_text; + GSList *list = keybind_list; + struct key_binding *kb; + + fd = hexchat_open_file ("keybindings.conf", O_CREAT | O_TRUNC | O_WRONLY, + 0x180, XOF_DOMODE); + if (fd < 0) + return 1; + write (fd, buf, g_snprintf (buf, 510, "# HexChat key bindings config file\n\n")); + + while (list) + { + kb = list->data; + + accel_text = gtk_accelerator_name (kb->keyval, kb->mod); + + g_snprintf (buf, 510, "ACCEL=%s\n%s\n", accel_text, key_actions[kb->action].name); + write (fd, buf, strlen (buf)); + g_free (accel_text); + + if (kb->data1 && kb->data1[0]) + write (fd, buf, g_snprintf (buf, 510, "D1:%s\n", kb->data1)); + else + write (fd, "D1!\n", 4); + + if (kb->data2 && kb->data2[0]) + write (fd, buf, g_snprintf (buf, 510, "D2:%s\n", kb->data2)); + else + write (fd, "D2!\n", 4); + + write (fd, "\n", 1); + + list = g_slist_next (list); + } + + close (fd); + return 0; +} + +#define KBSTATE_MOD 0 +#define KBSTATE_KEY 1 +#define KBSTATE_ACT 2 +#define KBSTATE_DT1 3 +#define KBSTATE_DT2 4 + +#define STRIP_WHITESPACE \ + while (buf[0] == ' ' || buf[0] == '\t') \ + buf++; \ + len = strlen (buf); \ + while (buf[len] == ' ' || buf[len] == '\t') \ + { \ + buf[len] = 0; \ + len--; \ + } \ + +static inline int +key_load_kbs_helper_mod (char *buf, GdkModifierType *out) +{ + int n, len, mod = 0; + + /* First strip off the fluff */ + STRIP_WHITESPACE + + if (strcmp (buf, "None") == 0) + { + *out = 0; + return 0; + } + for (n = 0; n < len; n++) + { + switch (buf[n]) + { + case 'C': + mod |= GDK_CONTROL_MASK; + break; + case 'A': + mod |= GDK_MOD1_MASK; + break; + case 'S': + mod |= GDK_SHIFT_MASK; + break; + default: + return 1; + } + } + + *out = mod; + return 0; +} + +static int +key_load_kbs (void) +{ + char *buf, *ibuf; + struct stat st; + struct key_binding *kb = NULL; + int fd, len, state = 0, pnt = 0; + guint keyval; + GdkModifierType mod = 0; + off_t size; + + fd = hexchat_open_file ("keybindings.conf", O_RDONLY, 0, 0); + if (fd < 0) + { + ibuf = g_strdup (default_kb_cfg); + size = strlen (default_kb_cfg); + } + else + { + if (fstat (fd, &st) != 0) + { + close (fd); + return 1; + } + + ibuf = g_malloc(st.st_size); + read (fd, ibuf, st.st_size); + size = st.st_size; + close (fd); + } + + if (keybind_list) + { + g_slist_free_full (keybind_list, key_free); + keybind_list = NULL; + } + + while (buf_get_line (ibuf, &buf, &pnt, size)) + { + if (buf[0] == '#') + continue; + if (strlen (buf) == 0) + continue; + + switch (state) + { + case KBSTATE_MOD: + kb = g_new0 (struct key_binding, 1); + + /* New format */ + if (strncmp (buf, "ACCEL=", 6) == 0) + { + buf += 6; + + gtk_accelerator_parse (buf, &keyval, &mod); + + + kb->keyval = keyval; + kb->mod = key_modifier_get_valid (mod); + + state = KBSTATE_ACT; + continue; + } + + if (key_load_kbs_helper_mod (buf, &mod)) + goto corrupt_file; + + kb->mod = mod; + + state = KBSTATE_KEY; + continue; + + case KBSTATE_KEY: + STRIP_WHITESPACE + + keyval = gdk_keyval_from_name (buf); + if (keyval == 0) + { + g_free (ibuf); + return 2; + } + + kb->keyval = keyval; + + state = KBSTATE_ACT; + continue; + + case KBSTATE_ACT: + STRIP_WHITESPACE + + kb->action = key_get_action_from_string (buf); + + if (kb->action == KEY_MAX_ACTIONS + 1) + { + g_free (ibuf); + return 3; + } + + state = KBSTATE_DT1; + continue; + + case KBSTATE_DT1: + case KBSTATE_DT2: + if (state == KBSTATE_DT1) + kb->data1 = kb->data2 = NULL; + + while (buf[0] == ' ' || buf[0] == '\t') + buf++; + + if (buf[0] != 'D') + { + g_free (ibuf); + return 4; + } + + switch (buf[1]) + { + case '1': + if (state != KBSTATE_DT1) + goto corrupt_file; + break; + case '2': + if (state != KBSTATE_DT2) + goto corrupt_file; + break; + default: + goto corrupt_file; + } + + if (buf[2] == ':') + { + len = strlen (buf); + /* Add one for the NULL, subtract 3 for the "Dx:" */ + len++; + len -= 3; + if (state == KBSTATE_DT1) + { + kb->data1 = g_strndup (&buf[3], len); + } else + { + kb->data2 = g_strndup (&buf[3], len); + } + } else if (buf[2] == '!') + { + if (state == KBSTATE_DT1) + kb->data1 = NULL; + else + kb->data2 = NULL; + } + if (state == KBSTATE_DT1) + { + state = KBSTATE_DT2; + continue; + } else + { + keybind_list = g_slist_append (keybind_list, kb); + + state = KBSTATE_MOD; + } + + continue; + } + } + g_free (ibuf); + return 0; + +corrupt_file: + g_free (ibuf); + g_free (kb); + return 5; +} + +/* ***** Key actions start here *********** */ + +/* See the NOTES above --AGL */ + +/* "Run command" */ +static int +key_action_handle_command (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + int ii, oi, len; + char out[2048], d = 0; + + if (!d1) + return 0; + + len = strlen (d1); + + /* Replace each "\n" substring with '\n' */ + for (ii = oi = 0; ii < len; ii++) + { + d = d1[ii]; + if (d == '\\') + { + ii++; + d = d1[ii]; + if (d == 'n') + out[oi++] = '\n'; + else if (d == '\\') + out[oi++] = '\\'; + else + { + out[oi++] = '\\'; + out[oi++] = d; + } + continue; + } + out[oi++] = d; + } + out[oi] = 0; + + handle_multiline (sess, out, 0, 0); + return 0; +} + +/* + * Check if the given session is inside the main window. This predicate + * is passed to lastact_getfirst() as a way to filter out detached sessions. + * XXX: Consider moving this in a different file? + */ +static int +session_check_is_tab(session *sess) +{ + if (!sess || !sess->gui) + return FALSE; + + return (sess->gui->is_tab); +} + +static int +key_action_page_switch (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + session *newsess; + int len, i, num; + + if (!d1) + return 1; + + len = strlen (d1); + if (!len) + return 1; + + if (strcasecmp(d1, "auto") == 0) + { + /* Auto switch makes no sense in detached sessions */ + if (!sess->gui->is_tab) + return 1; + + /* Obtain a session with recent activity */ + newsess = lastact_getfirst(session_check_is_tab); + + if (newsess) + { + /* + * Only sessions in the current window should be considered (i.e. + * we don't want to move the focus on a different window). This + * call could, in theory, do this, but we checked before that + * newsess->gui->is_tab and sess->gui->is_tab. + */ + mg_bring_tofront_sess(newsess); + return 0; + } + else + return 1; + } + + for (i = 0; i < len; i++) + { + if (d1[i] < '0' || d1[i] > '9') + { + if (i == 0 && (d1[i] == '+' || d1[i] == '-')) + continue; + else + return 1; + } + } + + num = atoi (d1); + if (!d2) + num--; + if (!d2 || d2[0] == 0) + mg_switch_page (FALSE, num); + else + mg_switch_page (TRUE, num); + return 0; +} + +int +key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess) +{ + int tmp_pos; + + if (!d1) + return 1; + + tmp_pos = SPELL_ENTRY_GET_POS (wid); + SPELL_ENTRY_INSERT (wid, d1, strlen (d1), &tmp_pos); + SPELL_ENTRY_SET_POS (wid, tmp_pos); + return 2; +} + +/* handles PageUp/Down keys */ +static int +key_action_scroll_page (GtkWidget * wid, GdkEventKey * evt, char *d1, + char *d2, struct session *sess) +{ + int value, end; + GtkAdjustment *adj; + enum scroll_type { PAGE_TOP, PAGE_BOTTOM, PAGE_UP, PAGE_DOWN, LINE_UP, LINE_DOWN }; + int type = PAGE_DOWN; + + if (d1) + { + if (!g_ascii_strcasecmp (d1, "top")) + type = PAGE_TOP; + else if (!g_ascii_strcasecmp (d1, "bottom")) + type = PAGE_BOTTOM; + else if (!g_ascii_strcasecmp (d1, "up")) + type = PAGE_UP; + else if (!g_ascii_strcasecmp (d1, "down")) + type = PAGE_DOWN; + else if (!g_ascii_strcasecmp (d1, "+1")) + type = LINE_DOWN; + else if (!g_ascii_strcasecmp (d1, "-1")) + type = LINE_UP; + } + + if (!sess) + return 0; + + adj = gtk_range_get_adjustment (GTK_RANGE (sess->gui->vscrollbar)); + end = gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj) - gtk_adjustment_get_page_size (adj); + + switch (type) + { + case PAGE_TOP: + value = 0; + break; + + case PAGE_BOTTOM: + value = end; + break; + + case PAGE_UP: + value = gtk_adjustment_get_value (adj) - (gtk_adjustment_get_page_size (adj) - 1); + break; + + case PAGE_DOWN: + value = gtk_adjustment_get_value (adj) + (gtk_adjustment_get_page_size (adj) - 1); + break; + + case LINE_UP: + value = gtk_adjustment_get_value (adj) - 1.0; + break; + + case LINE_DOWN: + value = gtk_adjustment_get_value (adj) + 1.0; + break; + } + + if (value < 0) + value = 0; + if (value > end) + value = end; + + gtk_adjustment_set_value (adj, value); + + return 0; +} + +static int +key_action_set_buffer (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + struct session *sess) +{ + if (!d1) + return 1; + if (d1[0] == 0) + return 1; + + SPELL_ENTRY_SET_TEXT (wid, d1); + SPELL_ENTRY_SET_POS (wid, -1); + + return 2; +} + +static int +key_action_history_up (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + char *new_line; + + new_line = history_up (&sess->history, SPELL_ENTRY_GET_TEXT (wid)); + if (new_line) + { + SPELL_ENTRY_SET_TEXT (wid, new_line); + SPELL_ENTRY_SET_POS (wid, -1); + } + + return 2; +} + +static int +key_action_history_down (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + char *new_line; + + new_line = history_down (&sess->history); + if (new_line) + { + SPELL_ENTRY_SET_TEXT (wid, new_line); + SPELL_ENTRY_SET_POS (wid, -1); + } + + return 2; +} + +/* old data that we reuse */ +static struct gcomp_data old_gcomp; + +/* work on the data, ie return only channels */ +static int +double_chan_cb (session *lsess, GList **list) +{ + if (lsess->type == SESS_CHANNEL) + *list = g_list_prepend(*list, lsess->channel); + return TRUE; +} + +/* convert a slist -> list. */ +static GList * +chanlist_double_list (GSList *inlist) +{ + GList *list = NULL; + g_slist_foreach(inlist, (GFunc)double_chan_cb, &list); + return list; +} + +/* handle commands */ +static int +double_cmd_cb (struct popup *pop, GList **list) +{ + *list = g_list_prepend(*list, pop->name); + return TRUE; +} + +/* convert a slist -> list. */ +static GList * +cmdlist_double_list (GSList *inlist) +{ + GList *list = NULL; + g_slist_foreach (inlist, (GFunc)double_cmd_cb, &list); + return list; +} + +static char * +gcomp_nick_func (char *data) +{ + if (data) + return ((struct User *)data)->nick; + return ""; +} + +void +key_action_tab_clean(void) +{ + if (old_gcomp.elen) + { + old_gcomp.data[0] = 0; + old_gcomp.elen = 0; + } +} + +/* For use in sorting the user list for completion + +This sorts everyone by the last talked time except your own nick +which is forced to the bottom of the list to avoid completing your +own name, which is very unlikely. +*/ +static int +talked_recent_cmp (struct User *a, struct User *b) +{ + if (a->me) + return -1; + + if (b->me) + return 1; + + if (a->lasttalk < b->lasttalk) + return -1; + + if (a->lasttalk > b->lasttalk) + return 1; + + return 0; +} + +#define COMP_BUF 2048 + +static inline glong +len_to_offset (const char *str, glong len) +{ + return g_utf8_pointer_to_offset (str, str + len); +} + +static inline glong +offset_to_len (const char *str, glong offset) +{ + return g_utf8_offset_to_pointer (str, offset) - str; +} + +static int +key_action_tab_comp (GtkWidget *t, GdkEventKey *entry, char *d1, char *d2, + struct session *sess) +{ + int len = 0, elen = 0, i = 0, cursor_pos, ent_start = 0, comp = 0, prefix_len, skip_len = 0; + gboolean is_nick = FALSE, is_cmd = FALSE, found = FALSE, has_nick_prefix = FALSE; + char ent[CHANLEN], *postfix = NULL, *result, *ch; + GList *list = NULL, *tmp_list = NULL; + const char *text; + GCompletion *gcomp = NULL; + GString *buf; + + /* force the IM Context to reset */ + SPELL_ENTRY_SET_EDITABLE (t, FALSE); + SPELL_ENTRY_SET_EDITABLE (t, TRUE); + + text = SPELL_ENTRY_GET_TEXT (t); + if (text[0] == 0) + return 1; + + len = g_utf8_strlen (text, -1); /* must be null terminated */ + + cursor_pos = SPELL_ENTRY_GET_POS (t); + + /* handle "nick: " or "nick " or "#channel "*/ + ch = g_utf8_find_prev_char(text, g_utf8_offset_to_pointer(text,cursor_pos)); + if (ch && ch[0] == ' ') + { + skip_len++; + ch = g_utf8_find_prev_char(text, ch); + if (!ch) + return 2; + + cursor_pos = g_utf8_pointer_to_offset(text, ch); + if (cursor_pos && (g_utf8_get_char_validated(ch, -1) == ':' || + g_utf8_get_char_validated(ch, -1) == ',' || + g_utf8_get_char_validated (ch, -1) == g_utf8_get_char_validated (prefs.hex_completion_suffix, -1))) + { + skip_len++; + } + else + cursor_pos = g_utf8_pointer_to_offset(text, g_utf8_offset_to_pointer(ch, 1)); + } + + comp = skip_len; + + /* store the text following the cursor for reinsertion later */ + if ((cursor_pos + skip_len) < len) + postfix = g_utf8_offset_to_pointer(text, cursor_pos + skip_len); + + for (ent_start = cursor_pos; ; --ent_start) + { + if (ent_start == 0) + break; + ch = g_utf8_offset_to_pointer(text, ent_start - 1); + if (ch && ch[0] == ' ') + break; + } + + if (ent_start == 0 && text[0] == prefs.hex_input_command_char[0]) + { + ent_start++; + is_cmd = TRUE; + } + else if (strchr (sess->server->chantypes, text[ent_start]) == NULL) + { + is_nick = TRUE; + if (strchr (sess->server->nick_prefixes, text[ent_start]) != NULL) + { + if (ent_start == 0) + has_nick_prefix = TRUE; + ent_start++; + } + } + + prefix_len = ent_start; + elen = cursor_pos - ent_start; + + g_utf8_strncpy (ent, g_utf8_offset_to_pointer (text, prefix_len), elen); + + if (sess->type == SESS_DIALOG && is_nick) + { + /* tab in a dialog completes the other person's name */ + if (rfc_ncasecmp (sess->channel, ent, elen) == 0) + { + result = sess->channel; + is_nick = FALSE; + } + else + return 2; + } + else + { + if (is_nick) + { + gcomp = g_completion_new((GCompletionFunc)gcomp_nick_func); + tmp_list = userlist_double_list(sess); /* create a temp list so we can free the memory */ + if (prefs.hex_completion_sort == 1) /* sort in last-talk order? */ + tmp_list = g_list_sort (tmp_list, (void *)talked_recent_cmp); + } + else + { + gcomp = g_completion_new (NULL); + if (is_cmd) + { + tmp_list = cmdlist_double_list (command_list); + for(i = 0; xc_cmds[i].name != NULL ; i++) + { + tmp_list = g_list_prepend (tmp_list, xc_cmds[i].name); + } + tmp_list = plugin_command_list(tmp_list); + } + else + tmp_list = chanlist_double_list (sess_list); + } + tmp_list = g_list_reverse(tmp_list); /* make the comp entries turn up in the right order */ + g_completion_set_compare (gcomp, (GCompletionStrncmpFunc)rfc_ncasecmp); + if (tmp_list) + { + g_completion_add_items (gcomp, tmp_list); + g_list_free (tmp_list); + } + + if (comp && !(rfc_ncasecmp(old_gcomp.data, ent, old_gcomp.elen) == 0)) + { + key_action_tab_clean (); + comp = 0; + } + + list = g_completion_complete_utf8 (gcomp, comp ? old_gcomp.data : ent, &result); + + if (result == NULL) /* No matches found */ + { + g_completion_free(gcomp); + return 2; + } + + if (comp) /* existing completion */ + { + while(list) /* find the current entry */ + { + if(rfc_ncasecmp(list->data, ent, elen) == 0) + { + found = TRUE; + break; + } + list = list->next; + } + + if (found) + { + if (!(d1 && d1[0])) /* not holding down shift */ + { + if (g_list_next(list) == NULL) + list = g_list_first(list); + else + list = g_list_next(list); + } + else + { + if (g_list_previous(list) == NULL) + list = g_list_last(list); + else + list = g_list_previous(list); + } + g_free(result); + result = (char*)list->data; + } + else + { + g_free(result); + g_completion_free(gcomp); + return 2; + } + } + else + { + strcpy(old_gcomp.data, ent); + old_gcomp.elen = elen; + + /* Get the first nick and put out the data for future nickcompletes */ + if (prefs.hex_completion_amount > 0 && g_list_length (list) <= (guint) prefs.hex_completion_amount) + { + g_free(result); + result = (char*)list->data; + } + else + { + /* bash style completion */ + if (g_list_next(list) != NULL) + { + buf = g_string_sized_new (MAX(COMP_BUF, len + NICKLEN)); + if (strlen (result) > elen) /* the largest common prefix is larger than nick, change the data */ + { + if (prefix_len) + g_string_append_len (buf, text, offset_to_len (text, prefix_len)); + g_string_append (buf, result); + cursor_pos = buf->len; + g_free(result); + if (postfix) + { + g_string_append_c (buf, ' '); + g_string_append (buf, postfix); + } + SPELL_ENTRY_SET_TEXT (t, buf->str); + SPELL_ENTRY_SET_POS (t, len_to_offset (buf->str, cursor_pos)); + g_string_erase (buf, 0, -1); + } + else + g_free(result); + + while (list) + { + len = buf->len; + elen = strlen (list->data); /* next item to add */ + if (len + elen + 2 >= COMP_BUF) /* +2 is space + null */ + { + PrintText (sess, buf->str); + g_string_erase (buf, 0, -1); + } + g_string_append (buf, (char*)list->data); + g_string_append_c (buf, ' '); + list = list->next; + } + PrintText (sess, buf->str); + g_completion_free(gcomp); + g_string_free (buf, TRUE); + return 2; + } + /* Only one matching entry */ + g_free(result); + result = list->data; + } + } + } + + if(result) + { + buf = g_string_sized_new (len + NICKLEN); + if (prefix_len) + g_string_append_len (buf, text, offset_to_len (text, prefix_len)); + g_string_append (buf, result); + if((!prefix_len || has_nick_prefix) && is_nick && prefs.hex_completion_suffix[0] != '\0') + g_string_append_unichar (buf, g_utf8_get_char_validated (prefs.hex_completion_suffix, -1)); + g_string_append_c (buf, ' '); + cursor_pos = buf->len; + if (postfix) + g_string_append (buf, postfix); + SPELL_ENTRY_SET_TEXT (t, buf->str); + SPELL_ENTRY_SET_POS (t, len_to_offset (buf->str, cursor_pos)); + g_string_free (buf, TRUE); + } + if (gcomp) + g_completion_free(gcomp); + return 2; +} +#undef COMP_BUF + +static int +key_action_comp_chng (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + key_action_tab_comp(wid, ent, d1, d2, sess); + return 2; +} + + +static int +key_action_replace (GtkWidget * wid, GdkEventKey * ent, char *d1, char *d2, + struct session *sess) +{ + replace_handle (wid); + return 1; +} + + +static int +key_action_move_tab_left (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab (sess, +1); + return 2; /* don't allow default action */ +} + +static int +key_action_move_tab_right (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab (sess, -1); + return 2; /* -''- */ +} + +static int +key_action_move_tab_family_left (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab_family (sess, +1); + return 2; /* don't allow default action */ +} + +static int +key_action_move_tab_family_right (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + mg_move_tab_family (sess, -1); + return 2; /* -''- */ +} + +static int +key_action_put_history (GtkWidget * wid, GdkEventKey * ent, char *d1, + char *d2, struct session *sess) +{ + history_add (&sess->history, SPELL_ENTRY_GET_TEXT (wid)); + SPELL_ENTRY_SET_TEXT (wid, ""); + return 2; /* -''- */ +} + + +/* -------- */ + +static void +replace_handle (GtkWidget *t) +{ + const char *text, *postfix_pnt; + struct popup *pop; + GSList *list = replace_list; + char word[256]; + char postfix[256]; + char outbuf[4096]; + int c, len, xlen; + + text = SPELL_ENTRY_GET_TEXT (t); + + len = strlen (text); + if (len < 1) + return; + + for (c = len - 1; c > 0; c--) + { + if (text[c] == ' ') + break; + } + if (text[c] == ' ') + c++; + xlen = c; + if (len - c >= (sizeof (word) - 12)) + return; + if (len - c < 1) + return; + memcpy (word, &text[c], len - c); + word[len - c] = 0; + len = strlen (word); + if (word[0] == '\'' && word[len] == '\'') + return; + postfix_pnt = NULL; + for (c = 0; c < len; c++) + { + if (word[c] == '\'') + { + postfix_pnt = &word[c + 1]; + word[c] = 0; + break; + } + } + + if (postfix_pnt != NULL) + { + if (strlen (postfix_pnt) > sizeof (postfix) - 12) + return; + strcpy (postfix, postfix_pnt); + } + while (list) + { + pop = (struct popup *) list->data; + if (strcmp (pop->name, word) == 0) + { + memcpy (outbuf, text, xlen); + outbuf[xlen] = 0; + if (postfix_pnt == NULL) + g_snprintf (word, sizeof (word), "%s", pop->cmd); + else + g_snprintf (word, sizeof (word), "%s%s", pop->cmd, postfix); + g_strlcat (outbuf, word, sizeof(outbuf)); + SPELL_ENTRY_SET_TEXT (t, outbuf); + SPELL_ENTRY_SET_POS (t, -1); + return; + } + list = list->next; + } +} + diff --git a/src/fe-gtk/fkeys.h b/src/fe-gtk/fkeys.h new file mode 100644 index 0000000000000000000000000000000000000000..621c872c272992cdd2feba6aa2e73025016cf8c2 --- /dev/null +++ b/src/fe-gtk/fkeys.h @@ -0,0 +1,38 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_FKEYS_H +#define HEXCHAT_FKEYS_H + +/* These are cp'ed from history.c --AGL */ +#define STATE_SHIFT GDK_SHIFT_MASK +#define STATE_ALT GDK_MOD1_MASK +#ifdef __APPLE__ +#define STATE_CTRL GDK_META_MASK +#else +#define STATE_CTRL GDK_CONTROL_MASK +#endif + +void key_init (void); +void key_dialog_show (void); +int key_handle_key_press (GtkWidget * wid, GdkEventKey * evt, session *sess); +int key_action_insert (GtkWidget * wid, GdkEventKey * evt, char *d1, char *d2, + session *sess); + +#endif diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c new file mode 100644 index 0000000000000000000000000000000000000000..98a971f92fccac3ea76092e7e9adca9f62924ce7 --- /dev/null +++ b/src/fe-gtk/gtkutil.c @@ -0,0 +1,807 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#define _FILE_OFFSET_BITS 64 /* allow selection of large files */ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "fe-gtk.h" + +#include <gdk/gdkkeysyms.h> +#if defined (WIN32) || defined (__APPLE__) +#include <pango/pangocairo.h> +#endif + +#ifdef GDK_WINDOWING_X11 +#include <gdk/gdkx.h> +#endif + +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/cfgfiles.h" +#include "../common/hexchatc.h" +#include "../common/typedef.h" +#include "gtkutil.h" +#include "pixmaps.h" + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +/* gtkutil.c, just some gtk wrappers */ + +extern void path_part (char *file, char *path, int pathlen); + +struct file_req +{ + GtkWidget *dialog; + void *userdata; + filereqcallback callback; + int flags; /* FRF_* flags */ +}; + +static void +gtkutil_file_req_destroy (GtkWidget * wid, struct file_req *freq) +{ + freq->callback (freq->userdata, NULL); + g_free (freq); +} + +static void +gtkutil_check_file (char *filename, struct file_req *freq) +{ + int axs = FALSE; + + GFile *file = g_file_new_for_path (filename); + + if (freq->flags & FRF_WRITE) + { + GFile *parent = g_file_get_parent (file); + + GFileInfo *fi = g_file_query_info (parent, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, G_FILE_QUERY_INFO_NONE, NULL, NULL); + if (fi != NULL) + { + if (g_file_info_get_attribute_boolean (fi, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE)) + { + axs = TRUE; + } + + g_object_unref (fi); + } + + g_object_unref (parent); + } + else + { + GFileInfo *fi = g_file_query_info (file, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, G_FILE_QUERY_INFO_NONE, NULL, NULL); + + if (fi != NULL) + { + if (g_file_info_get_file_type (fi) != G_FILE_TYPE_DIRECTORY || (freq->flags & FRF_CHOOSEFOLDER)) + { + axs = TRUE; + } + + g_object_unref (fi); + } + } + + g_object_unref (file); + + if (axs) + { + char *filename_utf8 = g_filename_to_utf8 (filename, -1, NULL, NULL, NULL); + if (filename_utf8 != NULL) + { + freq->callback (freq->userdata, filename_utf8); + g_free (filename_utf8); + } + else + { + fe_message ("Filename encoding is corrupt.", FE_MSG_ERROR); + } + } + else + { + if (freq->flags & FRF_WRITE) + { + fe_message (_("Cannot write to that file."), FE_MSG_ERROR); + } + else + { + fe_message (_("Cannot read that file."), FE_MSG_ERROR); + } + } +} + +static void +gtkutil_file_req_done (GtkWidget * wid, struct file_req *freq) +{ + GSList *files, *cur; + GtkFileChooser *fs = GTK_FILE_CHOOSER (freq->dialog); + + if (freq->flags & FRF_MULTIPLE) + { + files = cur = gtk_file_chooser_get_filenames (fs); + while (cur) + { + gtkutil_check_file (cur->data, freq); + g_free (cur->data); + cur = cur->next; + } + if (files) + g_slist_free (files); + } + else + { + if (freq->flags & FRF_CHOOSEFOLDER) + { + gchar *filename = gtk_file_chooser_get_current_folder (fs); + gtkutil_check_file (filename, freq); + g_free (filename); + } + else + { + gchar *filename = gtk_file_chooser_get_filename (fs); + gtkutil_check_file (gtk_file_chooser_get_filename (fs), freq); + g_free (filename); + } + } + + /* this should call the "destroy" cb, where we free(freq) */ + gtk_widget_destroy (freq->dialog); +} + +static void +gtkutil_file_req_response (GtkWidget *dialog, gint res, struct file_req *freq) +{ + switch (res) + { + case GTK_RESPONSE_ACCEPT: + gtkutil_file_req_done (dialog, freq); + break; + + case GTK_RESPONSE_CANCEL: + /* this should call the "destroy" cb, where we free(freq) */ + gtk_widget_destroy (freq->dialog); + } +} + +void +gtkutil_file_req (GtkWindow *parent, const char *title, void *callback, void *userdata, char *filter, char *extensions, + int flags) +{ + struct file_req *freq; + GtkWidget *dialog; + GtkFileFilter *filefilter; + extern char *get_xdir_fs (void); + char *token; + char *tokenbuffer; + + if (flags & FRF_WRITE) + { + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, + NULL); + + if (!(flags & FRF_NOASKOVERWRITE)) + gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); + } + else + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + + if (filter && filter[0] && (flags & FRF_FILTERISINITIAL)) + { + if (flags & FRF_WRITE) + { + char temp[1024]; + path_part (filter, temp, sizeof (temp)); + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), temp); + gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), file_part (filter)); + } + else + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), filter); + } + else if (!(flags & FRF_RECENTLYUSED)) + gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), get_xdir ()); + + if (flags & FRF_MULTIPLE) + gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE); + if (flags & FRF_CHOOSEFOLDER) + gtk_file_chooser_set_action (GTK_FILE_CHOOSER (dialog), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + + if ((flags & FRF_EXTENSIONS || flags & FRF_MIMETYPES) && extensions != NULL) + { + filefilter = gtk_file_filter_new (); + tokenbuffer = g_strdup (extensions); + token = strtok (tokenbuffer, ";"); + + while (token != NULL) + { + if (flags & FRF_EXTENSIONS) + gtk_file_filter_add_pattern (filefilter, token); + else + gtk_file_filter_add_mime_type (filefilter, token); + token = strtok (NULL, ";"); + } + + g_free (tokenbuffer); + gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filefilter); + } + + gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), get_xdir (), NULL); + + freq = g_new (struct file_req, 1); + freq->dialog = dialog; + freq->flags = flags; + freq->callback = callback; + freq->userdata = userdata; + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_file_req_response), freq); + g_signal_connect (G_OBJECT (dialog), "destroy", + G_CALLBACK (gtkutil_file_req_destroy), (gpointer) freq); + + if (parent) + gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); + + if (flags & FRF_MODAL) + { + g_assert (parent); + gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); + } + + gtk_widget_show (dialog); +} + +static gboolean +gtkutil_esc_destroy (GtkWidget * win, GdkEventKey * key, gpointer userdata) +{ + GtkWidget *wid; + + /* Destroy the window of detached utils */ + if (!gtk_widget_is_toplevel (win)) + { + if (gdk_window_get_type_hint (gtk_widget_get_window (win)) == GDK_WINDOW_TYPE_HINT_DIALOG) + wid = gtk_widget_get_parent (win); + else + return FALSE; + } + else + wid = win; + + if (key->keyval == GDK_KEY_Escape) + gtk_widget_destroy (wid); + + return FALSE; +} + +void +gtkutil_destroy_on_esc (GtkWidget *win) +{ + g_signal_connect (G_OBJECT (win), "key_press_event", G_CALLBACK (gtkutil_esc_destroy), win); +} + +void +gtkutil_destroy (GtkWidget * igad, GtkWidget * dgad) +{ + gtk_widget_destroy (dgad); +} + +static void +gtkutil_get_str_response (GtkDialog *dialog, gint arg1, gpointer entry) +{ + void (*callback) (int cancel, char *text, void *user_data); + char *text; + void *user_data; + + text = (char *) gtk_entry_get_text (GTK_ENTRY (entry)); + callback = g_object_get_data (G_OBJECT (dialog), "cb"); + user_data = g_object_get_data (G_OBJECT (dialog), "ud"); + + switch (arg1) + { + case GTK_RESPONSE_REJECT: + callback (TRUE, text, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + case GTK_RESPONSE_ACCEPT: + callback (FALSE, text, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + } +} + +static void +gtkutil_str_enter (GtkWidget *entry, GtkWidget *dialog) +{ + gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); +} + +void +fe_get_str (char *msg, char *def, void *callback, void *userdata) +{ + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *hbox; + GtkWidget *label; + extern GtkWidget *parent_window; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); + + if (userdata == (void *)1) /* nick box is usually on the very bottom, make it centered */ + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); + } + else + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + } + + hbox = gtk_hbox_new (TRUE, 0); + + g_object_set_data (G_OBJECT (dialog), "cb", callback); + g_object_set_data (G_OBJECT (dialog), "ud", userdata); + + entry = gtk_entry_new (); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (gtkutil_str_enter), dialog); + gtk_entry_set_text (GTK_ENTRY (entry), def); + gtk_box_pack_end (GTK_BOX (hbox), entry, 0, 0, 0); + + label = gtk_label_new (msg); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_get_str_response), entry); + + gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox); + + gtk_widget_show_all (dialog); +} + +static void +gtkutil_get_number_response (GtkDialog *dialog, gint arg1, gpointer spin) +{ + void (*callback) (int cancel, int value, void *user_data); + int num; + void *user_data; + + num = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spin)); + callback = g_object_get_data (G_OBJECT (dialog), "cb"); + user_data = g_object_get_data (G_OBJECT (dialog), "ud"); + + switch (arg1) + { + case GTK_RESPONSE_REJECT: + callback (TRUE, num, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + case GTK_RESPONSE_ACCEPT: + callback (FALSE, num, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + } +} + +static void +gtkutil_get_bool_response (GtkDialog *dialog, gint arg1, gpointer spin) +{ + void (*callback) (int value, void *user_data); + void *user_data; + + callback = g_object_get_data (G_OBJECT (dialog), "cb"); + user_data = g_object_get_data (G_OBJECT (dialog), "ud"); + + switch (arg1) + { + case GTK_RESPONSE_REJECT: + callback (0, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + case GTK_RESPONSE_ACCEPT: + callback (1, user_data); + gtk_widget_destroy (GTK_WIDGET (dialog)); + break; + } +} + +void +fe_get_int (char *msg, int def, void *callback, void *userdata) +{ + GtkWidget *dialog; + GtkWidget *spin; + GtkWidget *hbox; + GtkWidget *label; + GtkAdjustment *adj; + extern GtkWidget *parent_window; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + + hbox = gtk_hbox_new (TRUE, 0); + + g_object_set_data (G_OBJECT (dialog), "cb", callback); + g_object_set_data (G_OBJECT (dialog), "ud", userdata); + + spin = gtk_spin_button_new (NULL, 1, 0); + adj = gtk_spin_button_get_adjustment ((GtkSpinButton*)spin); + gtk_adjustment_set_lower (adj, 0); + gtk_adjustment_set_upper (adj, 1024); + gtk_adjustment_set_step_increment (adj, 1); + gtk_adjustment_changed (adj); + gtk_spin_button_set_value ((GtkSpinButton*)spin, def); + gtk_box_pack_end (GTK_BOX (hbox), spin, 0, 0, 0); + + label = gtk_label_new (msg); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_get_number_response), spin); + + gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox); + + gtk_widget_show_all (dialog); +} + +void +fe_get_bool (char *title, char *prompt, void *callback, void *userdata) +{ + GtkWidget *dialog; + GtkWidget *prompt_label; + extern GtkWidget *parent_window; + + dialog = gtk_dialog_new_with_buttons (title, NULL, 0, + GTK_STOCK_NO, GTK_RESPONSE_REJECT, + GTK_STOCK_YES, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + + + g_object_set_data (G_OBJECT (dialog), "cb", callback); + g_object_set_data (G_OBJECT (dialog), "ud", userdata); + + prompt_label = gtk_label_new (prompt); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (gtkutil_get_bool_response), NULL); + + gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), prompt_label); + + gtk_widget_show_all (dialog); +} + +GtkWidget * +gtkutil_button (GtkWidget *box, char *stock, char *tip, void *callback, + void *userdata, char *labeltext) +{ + GtkWidget *wid, *img, *bbox; + + wid = gtk_button_new (); + + if (labeltext) + { + gtk_button_set_label (GTK_BUTTON (wid), labeltext); + gtk_button_set_image (GTK_BUTTON (wid), gtk_image_new_from_stock (stock, GTK_ICON_SIZE_MENU)); + gtk_button_set_use_underline (GTK_BUTTON (wid), TRUE); + if (box) + gtk_container_add (GTK_CONTAINER (box), wid); + } + else + { + bbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (wid), bbox); + gtk_widget_show (bbox); + + img = gtk_image_new_from_stock (stock, GTK_ICON_SIZE_MENU); + gtk_container_add (GTK_CONTAINER (bbox), img); + gtk_widget_show (img); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (callback), userdata); + gtk_widget_show (wid); + if (tip) + gtk_widget_set_tooltip_text (wid, tip); + + return wid; +} + +void +gtkutil_label_new (char *text, GtkWidget * box) +{ + GtkWidget *label = gtk_label_new (text); + gtk_container_add (GTK_CONTAINER (box), label); + gtk_widget_show (label); +} + +GtkWidget * +gtkutil_entry_new (int max, GtkWidget * box, void *callback, + gpointer userdata) +{ + GtkWidget *entry = gtk_entry_new (); + gtk_entry_set_max_length (GTK_ENTRY (entry), max); + gtk_container_add (GTK_CONTAINER (box), entry); + if (callback) + g_signal_connect (G_OBJECT (entry), "changed", + G_CALLBACK (callback), userdata); + gtk_widget_show (entry); + return entry; +} + +void +show_and_unfocus (GtkWidget * wid) +{ + gtk_widget_set_can_focus (wid, FALSE); + gtk_widget_show (wid); +} + +void +gtkutil_set_icon (GtkWidget *win) +{ +#ifndef WIN32 + /* FIXME: Magically breaks icon rendering in most + * (sub)windows, but OFC only on Windows. GTK <3 + */ + gtk_window_set_icon (GTK_WINDOW (win), pix_hexchat); +#endif +} + +extern GtkWidget *parent_window; /* maingui.c */ + +GtkWidget * +gtkutil_window_new (char *title, char *role, int width, int height, int flags) +{ + GtkWidget *win; + + win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtkutil_set_icon (win); +#ifdef WIN32 + gtk_window_set_wmclass (GTK_WINDOW (win), "HexChat", "hexchat"); +#endif + gtk_window_set_title (GTK_WINDOW (win), title); + gtk_window_set_default_size (GTK_WINDOW (win), width, height); + gtk_window_set_role (GTK_WINDOW (win), role); + if (flags & 1) + gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_MOUSE); + if ((flags & 2) && parent_window) + { + gtk_window_set_type_hint (GTK_WINDOW (win), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_transient_for (GTK_WINDOW (win), GTK_WINDOW (parent_window)); + gtk_window_set_destroy_with_parent (GTK_WINDOW (win), TRUE); + } + + return win; +} + +/* pass NULL as selection to paste to both clipboard & X11 text */ +void +gtkutil_copy_to_clipboard (GtkWidget *widget, GdkAtom selection, + const gchar *str) +{ + GtkWidget *win; + GtkClipboard *clip, *clip2; + + win = gtk_widget_get_toplevel (GTK_WIDGET (widget)); + if (gtk_widget_is_toplevel (win)) + { + int len = strlen (str); + + if (selection) + { + clip = gtk_widget_get_clipboard (win, selection); + gtk_clipboard_set_text (clip, str, len); + } else + { + /* copy to both primary X selection and clipboard */ + clip = gtk_widget_get_clipboard (win, GDK_SELECTION_PRIMARY); + clip2 = gtk_widget_get_clipboard (win, GDK_SELECTION_CLIPBOARD); + gtk_clipboard_set_text (clip, str, len); + gtk_clipboard_set_text (clip2, str, len); + } + } +} + +/* Treeview util functions */ + +GtkWidget * +gtkutil_treeview_new (GtkWidget *box, GtkTreeModel *model, + GtkTreeCellDataFunc mapper, ...) +{ + GtkWidget *win, *view; + GtkCellRenderer *renderer = NULL; + GtkTreeViewColumn *col; + va_list args; + int col_id = 0; + GType type; + char *title, *attr; + + win = gtk_scrolled_window_new (0, 0); + gtk_container_add (GTK_CONTAINER (box), win); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (win), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_widget_show (win); + + view = gtk_tree_view_new_with_model (model); + /* the view now has a ref on the model, we can unref it */ + g_object_unref (G_OBJECT (model)); + gtk_container_add (GTK_CONTAINER (win), view); + + va_start (args, mapper); + for (col_id = va_arg (args, int); col_id != -1; col_id = va_arg (args, int)) + { + type = gtk_tree_model_get_column_type (model, col_id); + switch (type) + { + case G_TYPE_BOOLEAN: + renderer = gtk_cell_renderer_toggle_new (); + attr = "active"; + break; + case G_TYPE_STRING: /* fall through */ + default: + renderer = gtk_cell_renderer_text_new (); + attr = "text"; + break; + } + + title = va_arg (args, char *); + if (mapper) /* user-specified function to set renderer attributes */ + { + col = gtk_tree_view_column_new_with_attributes (title, renderer, NULL); + gtk_tree_view_column_set_cell_data_func (col, renderer, mapper, + GINT_TO_POINTER (col_id), NULL); + } else + { + /* just set the typical attribute for this type of renderer */ + col = gtk_tree_view_column_new_with_attributes (title, renderer, + attr, col_id, NULL); + } + gtk_tree_view_append_column (GTK_TREE_VIEW (view), col); + if (title == NULL) + gtk_tree_view_column_set_visible (col, FALSE); + } + + va_end (args); + + return view; +} + +gboolean +gtkutil_treemodel_string_to_iter (GtkTreeModel *model, gchar *pathstr, GtkTreeIter *iter_ret) +{ + GtkTreePath *path = gtk_tree_path_new_from_string (pathstr); + gboolean success; + + success = gtk_tree_model_get_iter (model, iter_ret, path); + gtk_tree_path_free (path); + return success; +} + +/*gboolean +gtkutil_treeview_get_selected_iter (GtkTreeView *view, GtkTreeIter *iter_ret) +{ + GtkTreeModel *store; + GtkTreeSelection *select; + + select = gtk_tree_view_get_selection (view); + return gtk_tree_selection_get_selected (select, &store, iter_ret); +}*/ + +gboolean +gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...) +{ + GtkTreeModel *store; + GtkTreeSelection *select; + gboolean has_selected; + va_list args; + + select = gtk_tree_view_get_selection (view); + has_selected = gtk_tree_selection_get_selected (select, &store, iter_ret); + + if (has_selected) { + va_start (args, iter_ret); + gtk_tree_model_get_valist (store, iter_ret, args); + va_end (args); + } + + return has_selected; +} + +gboolean +gtkutil_tray_icon_supported (GtkWindow *window) +{ +#ifndef GDK_WINDOWING_X11 + return TRUE; +#else + GdkScreen *screen = gtk_window_get_screen (window); + GdkDisplay *display = gdk_screen_get_display (screen); + int screen_number = gdk_screen_get_number (screen); + Display *xdisplay = gdk_x11_display_get_xdisplay (display); + char *selection_name = g_strdup_printf ("_NET_SYSTEM_TRAY_S%d", screen_number); + Atom selection_atom = XInternAtom (xdisplay, selection_name, False); + Window tray_window = None; + + XGrabServer (xdisplay); + + tray_window = XGetSelectionOwner (xdisplay, selection_atom); + + XUngrabServer (xdisplay); + XFlush (xdisplay); + g_free (selection_name); + + return (tray_window != None); +#endif +} + +#if defined (WIN32) || defined (__APPLE__) +gboolean +gtkutil_find_font (const char *fontname) +{ + int i; + int n_families; + const char *family_name; + PangoFontMap *fontmap; + PangoFontFamily *family; + PangoFontFamily **families; + + fontmap = pango_cairo_font_map_get_default (); + pango_font_map_list_families (fontmap, &families, &n_families); + + for (i = 0; i < n_families; i++) + { + family = families[i]; + family_name = pango_font_family_get_name (family); + + if (!g_ascii_strcasecmp (family_name, fontname)) + { + g_free (families); + return TRUE; + } + } + + g_free (families); + return FALSE; +} +#endif diff --git a/src/fe-gtk/gtkutil.h b/src/fe-gtk/gtkutil.h new file mode 100644 index 0000000000000000000000000000000000000000..c6e380e9283252480a7b0788e9a0c02444757e8c --- /dev/null +++ b/src/fe-gtk/gtkutil.h @@ -0,0 +1,52 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_GTKUTIL_H +#define HEXCHAT_GTKUTIL_H + +#include <gtk/gtk.h> +#include "../common/fe.h" + +typedef void (*filereqcallback) (void *, char *file); + +void gtkutil_file_req (GtkWindow *parent, const char *title, void *callback, void *userdata, char *filter, char *extensions, int flags); +void gtkutil_destroy (GtkWidget * igad, GtkWidget * dgad); +void gtkutil_destroy_on_esc (GtkWidget *win); +GtkWidget *gtkutil_button (GtkWidget *box, char *stock, char *tip, void *callback, + void *userdata, char *labeltext); +void gtkutil_label_new (char *text, GtkWidget * box); +GtkWidget *gtkutil_entry_new (int max, GtkWidget * box, void *callback, + gpointer userdata); +void show_and_unfocus (GtkWidget * wid); +void gtkutil_set_icon (GtkWidget *win); +GtkWidget *gtkutil_window_new (char *title, char *role, int width, int height, int flags); +void gtkutil_copy_to_clipboard (GtkWidget *widget, GdkAtom selection, + const gchar *str); +GtkWidget *gtkutil_treeview_new (GtkWidget *box, GtkTreeModel *model, + GtkTreeCellDataFunc mapper, ...); +gboolean gtkutil_treemodel_string_to_iter (GtkTreeModel *model, gchar *pathstr, GtkTreeIter *iter_ret); +gboolean gtkutil_treeview_get_selected_iter (GtkTreeView *view, GtkTreeIter *iter_ret); +gboolean gtkutil_treeview_get_selected (GtkTreeView *view, GtkTreeIter *iter_ret, ...); +gboolean gtkutil_tray_icon_supported (GtkWindow *window); + +#if defined (WIN32) || defined (__APPLE__) +gboolean gtkutil_find_font (const char *fontname); +#endif + +#endif diff --git a/src/fe-gtk/hexchat.rc.tt b/src/fe-gtk/hexchat.rc.tt new file mode 100644 index 0000000000000000000000000000000000000000..35b0e6aa9bf2dec921165c8330aa9e980530cc59 --- /dev/null +++ b/src/fe-gtk/hexchat.rc.tt @@ -0,0 +1,28 @@ +#include <winver.h> +#include "config.h" + +#define COMMA_VERSION <#= [string]::Join(',', $versionParts) #>,0 + +XC_ICON ICON "<#= $env:SOLUTIONDIR -replace '\\', '/' #>data/icons/hexchat.ico" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION COMMA_VERSION + PRODUCTVERSION COMMA_VERSION + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + + VALUE "FileDescription", "HexChat IRC Client" + VALUE "CompanyName", "HexChat" + VALUE "ProductName", "HexChat" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "FileVersion", PACKAGE_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0x04B0 + END + END diff --git a/src/fe-gtk/ignoregui.c b/src/fe-gtk/ignoregui.c new file mode 100644 index 0000000000000000000000000000000000000000..6c74253c4f5dcc2ae0e1b09683c7630e642b2a09 --- /dev/null +++ b/src/fe-gtk/ignoregui.c @@ -0,0 +1,449 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/ignore.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "gtkutil.h" +#include "maingui.h" + +enum +{ + MASK_COLUMN, + CHAN_COLUMN, + PRIV_COLUMN, + NOTICE_COLUMN, + CTCP_COLUMN, + DCC_COLUMN, + INVITE_COLUMN, + UNIGNORE_COLUMN, + N_COLUMNS +}; + +static GtkWidget *ignorewin = 0; + +static GtkWidget *num_ctcp; +static GtkWidget *num_priv; +static GtkWidget *num_chan; +static GtkWidget *num_noti; +static GtkWidget *num_invi; + +static GtkTreeModel * +get_store (void) +{ + return gtk_tree_view_get_model (g_object_get_data (G_OBJECT (ignorewin), "view")); +} + +static int +ignore_get_flags (GtkTreeModel *model, GtkTreeIter *iter) +{ + gboolean chan, priv, noti, ctcp, dcc, invi, unig; + int flags = 0; + + gtk_tree_model_get (model, iter, 1, &chan, 2, &priv, 3, ¬i, + 4, &ctcp, 5, &dcc, 6, &invi, 7, &unig, -1); + if (chan) + flags |= IG_CHAN; + if (priv) + flags |= IG_PRIV; + if (noti) + flags |= IG_NOTI; + if (ctcp) + flags |= IG_CTCP; + if (dcc) + flags |= IG_DCC; + if (invi) + flags |= IG_INVI; + if (unig) + flags |= IG_UNIG; + return flags; +} + +static void +mask_edited (GtkCellRendererText *render, gchar *path, gchar *new, gpointer dat) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + char *old; + int flags; + + gtkutil_treemodel_string_to_iter (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &old, -1); + + if (!strcmp (old, new)) /* no change */ + ; + else if (ignore_exists (new)) /* duplicate, ignore */ + fe_message (_("That mask already exists."), FE_MSG_ERROR); + else + { + /* delete old mask, and add new one with original flags */ + ignore_del (old, NULL); + flags = ignore_get_flags (GTK_TREE_MODEL (store), &iter); + ignore_add (new, flags, TRUE); + + /* update tree */ + gtk_list_store_set (store, &iter, MASK_COLUMN, new, -1); + } + g_free (old); + +} + +static void +option_toggled (GtkCellRendererToggle *render, gchar *path, gpointer data) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + int col_id = GPOINTER_TO_INT (data); + gboolean active; + char *mask; + int flags; + + gtkutil_treemodel_string_to_iter (GTK_TREE_MODEL (store), path, &iter); + + /* update model */ + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, col_id, &active, -1); + gtk_list_store_set (store, &iter, col_id, !active, -1); + + /* update ignore list */ + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &mask, -1); + flags = ignore_get_flags (GTK_TREE_MODEL (store), &iter); + if (ignore_add (mask, flags, TRUE) != 2) + g_warning ("ignore treeview is out of sync!\n"); + + g_free (mask); +} + +static GtkWidget * +ignore_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + GtkCellRenderer *render; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), + NULL, + MASK_COLUMN, _("Mask"), + CHAN_COLUMN, _("Channel"), + PRIV_COLUMN, _("Private"), + NOTICE_COLUMN, _("Notice"), + CTCP_COLUMN, _("CTCP"), + DCC_COLUMN, _("DCC"), + INVITE_COLUMN, _("Invite"), + UNIGNORE_COLUMN, _("Unignore"), + -1); + + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0), TRUE); + + /* attach to signals and customise columns */ + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + { + GList *list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (col)); + GList *tmp; + + for (tmp = list; tmp; tmp = tmp->next) + { + render = tmp->data; + if (col_id > 0) /* it's a toggle button column */ + { + g_signal_connect (render, "toggled", G_CALLBACK (option_toggled), + GINT_TO_POINTER (col_id)); + } else /* mask column */ + { + g_object_set (G_OBJECT (render), "editable", TRUE, NULL); + g_signal_connect (render, "edited", G_CALLBACK (mask_edited), NULL); + /* make this column sortable */ + gtk_tree_view_column_set_sort_column_id (col, col_id); + gtk_tree_view_column_set_min_width (col, 272); + } + /* centre titles */ + gtk_tree_view_column_set_alignment (col, 0.5); + } + + g_list_free (list); + } + + gtk_widget_show (view); + return view; +} + +static void +ignore_delete_entry_clicked (GtkWidget * wid, struct session *sess) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (ignorewin), "view"); + GtkListStore *store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + GtkTreeIter iter; + GtkTreePath *path; + char *mask = NULL; + + if (gtkutil_treeview_get_selected (view, &iter, 0, &mask, -1)) + { + /* delete this row, select next one */ + if (gtk_list_store_remove (store, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); + } + + ignore_del (mask, NULL); + g_free (mask); + } +} + +static void +ignore_store_new (int cancel, char *mask, gpointer data) +{ + GtkTreeView *view = g_object_get_data (G_OBJECT (ignorewin), "view"); + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + GtkTreePath *path; + int flags = IG_CHAN | IG_PRIV | IG_NOTI | IG_CTCP | IG_DCC | IG_INVI; + + if (cancel) + return; + /* check if it already exists */ + if (ignore_exists (mask)) + { + fe_message (_("That mask already exists."), FE_MSG_ERROR); + return; + } + + ignore_add (mask, flags, TRUE); + + gtk_list_store_append (store, &iter); + /* ignore everything by default */ + gtk_list_store_set (store, &iter, 0, mask, 1, TRUE, 2, TRUE, 3, TRUE, + 4, TRUE, 5, TRUE, 6, TRUE, 7, FALSE, -1); + /* make sure the new row is visible and selected */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, TRUE, 1.0, 0.0); + gtk_tree_view_set_cursor (view, path, NULL, FALSE); + gtk_tree_path_free (path); +} + +static void +ignore_clear_cb (GtkDialog *dialog, gint response) +{ + GtkListStore *store = GTK_LIST_STORE (get_store ()); + GtkTreeIter iter; + char *mask; + + gtk_widget_destroy (GTK_WIDGET (dialog)); + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter) && response == GTK_RESPONSE_OK) + { + /* remove from ignore_list */ + do + { + mask = NULL; + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, MASK_COLUMN, &mask, -1); + ignore_del (mask, NULL); + g_free (mask); + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + + /* remove from GUI */ + gtk_list_store_clear (store); + } +} + +static void +ignore_clear_entry_clicked (GtkWidget * wid) +{ + GtkWidget *dialog; + + dialog = gtk_message_dialog_new (NULL, 0, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, + _("Are you sure you want to remove all ignores?")); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (ignore_clear_cb), NULL); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); +} + +static void +ignore_new_entry_clicked (GtkWidget * wid, struct session *sess) +{ + fe_get_str (_("Enter mask to ignore:"), "nick!userid@host.com", + ignore_store_new, NULL); + +} + +static void +close_ignore_gui_callback (void) +{ + ignore_save (); + ignorewin = 0; +} + +static GtkWidget * +ignore_stats_entry (GtkWidget * box, char *label, int value) +{ + GtkWidget *wid; + char buf[16]; + + sprintf (buf, "%d", value); + gtkutil_label_new (label, box); + wid = gtkutil_entry_new (16, box, 0, 0); + gtk_widget_set_size_request (wid, 30, -1); + gtk_editable_set_editable (GTK_EDITABLE (wid), FALSE); + gtk_widget_set_sensitive (GTK_WIDGET (wid), FALSE); + gtk_entry_set_text (GTK_ENTRY (wid), buf); + + return wid; +} + +void +ignore_gui_open () +{ + GtkWidget *vbox, *box, *stat_box, *frame; + GtkWidget *view; + GtkListStore *store; + GtkTreeIter iter; + GSList *temp = ignore_list; + char *mask; + gboolean private, chan, notice, ctcp, dcc, invite, unignore; + char buf[128]; + + if (ignorewin) + { + mg_bring_tofront (ignorewin); + return; + } + + g_snprintf(buf, sizeof(buf), _("Ignore list - %s"), _(DISPLAY_NAME)); + ignorewin = + mg_create_generic_tab ("IgnoreList", buf, FALSE, TRUE, + close_ignore_gui_callback, + NULL, 700, 300, &vbox, 0); + gtkutil_destroy_on_esc (ignorewin); + + view = ignore_treeview_new (vbox); + g_object_set_data (G_OBJECT (ignorewin), "view", view); + + frame = gtk_frame_new (_("Ignore Stats:")); + gtk_widget_show (frame); + + stat_box = gtk_hbox_new (0, 2); + gtk_container_set_border_width (GTK_CONTAINER (stat_box), 6); + gtk_container_add (GTK_CONTAINER (frame), stat_box); + gtk_widget_show (stat_box); + + num_chan = ignore_stats_entry (stat_box, _("Channel:"), ignored_chan); + num_priv = ignore_stats_entry (stat_box, _("Private:"), ignored_priv); + num_noti = ignore_stats_entry (stat_box, _("Notice:"), ignored_noti); + num_ctcp = ignore_stats_entry (stat_box, _("CTCP:"), ignored_ctcp); + num_invi = ignore_stats_entry (stat_box, _("Invite:"), ignored_invi); + + gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, 5); + + box = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (box), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 2); + gtk_container_set_border_width (GTK_CONTAINER (box), 5); + gtk_widget_show (box); + + gtkutil_button (box, GTK_STOCK_NEW, 0, ignore_new_entry_clicked, 0, + _("Add...")); + gtkutil_button (box, GTK_STOCK_DELETE, 0, ignore_delete_entry_clicked, + 0, _("Delete")); + gtkutil_button (box, GTK_STOCK_CLEAR, 0, ignore_clear_entry_clicked, + 0, _("Clear")); + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + + while (temp) + { + struct ignore *ignore = temp->data; + + mask = ignore->mask; + chan = (ignore->type & IG_CHAN); + private = (ignore->type & IG_PRIV); + notice = (ignore->type & IG_NOTI); + ctcp = (ignore->type & IG_CTCP); + dcc = (ignore->type & IG_DCC); + invite = (ignore->type & IG_INVI); + unignore = (ignore->type & IG_UNIG); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + MASK_COLUMN, mask, + CHAN_COLUMN, chan, + PRIV_COLUMN, private, + NOTICE_COLUMN, notice, + CTCP_COLUMN, ctcp, + DCC_COLUMN, dcc, + INVITE_COLUMN, invite, + UNIGNORE_COLUMN, unignore, + -1); + + temp = temp->next; + } + gtk_widget_show (ignorewin); +} + +void +fe_ignore_update (int level) +{ + /* some ignores have changed via /ignore, we should update + the gui now */ + /* level 1 = the list only. */ + /* level 2 = the numbers only. */ + /* for now, ignore level 1, since the ignore GUI isn't realtime, + only saved when you click OK */ + char buf[16]; + + if (level == 2 && ignorewin) + { + sprintf (buf, "%d", ignored_ctcp); + gtk_entry_set_text (GTK_ENTRY (num_ctcp), buf); + + sprintf (buf, "%d", ignored_noti); + gtk_entry_set_text (GTK_ENTRY (num_noti), buf); + + sprintf (buf, "%d", ignored_chan); + gtk_entry_set_text (GTK_ENTRY (num_chan), buf); + + sprintf (buf, "%d", ignored_invi); + gtk_entry_set_text (GTK_ENTRY (num_invi), buf); + + sprintf (buf, "%d", ignored_priv); + gtk_entry_set_text (GTK_ENTRY (num_priv), buf); + } +} diff --git a/src/fe-gtk/joind.c b/src/fe-gtk/joind.c new file mode 100644 index 0000000000000000000000000000000000000000..ce3cbcaeca8f26a32ad0906a29c78d754ffb2cfd --- /dev/null +++ b/src/fe-gtk/joind.c @@ -0,0 +1,274 @@ +/* X-Chat + * Copyright (C) 2005 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* joind.c - The Join Dialog. + + Popups up when you connect without any autojoin channels and helps you + to find or join a channel. +*/ + +#include <sys/types.h> +#include <sys/stat.h> +#include <string.h> +#include <stdio.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/server.h" +#include "../common/servlist.h" +#include "../common/fe.h" +#include "fe-gtk.h" +#include "chanlist.h" + + +static void +joind_radio2_cb (GtkWidget *radio, server *serv) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio))) + { + gtk_widget_grab_focus (serv->gui->joind_entry); + gtk_editable_set_position (GTK_EDITABLE (serv->gui->joind_entry), 999); + } +} + +static void +joind_entryenter_cb (GtkWidget *entry, GtkWidget *ok) +{ + gtk_widget_grab_focus (ok); +} + +static void +joind_entryfocus_cb (GtkWidget *entry, GdkEventFocus *event, server *serv) +{ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (serv->gui->joind_radio2), TRUE); +} + +static void +joind_destroy_cb (GtkWidget *win, server *serv) +{ + if (is_server (serv)) + serv->gui->joind_win = NULL; +} + +static void +joind_ok_cb (GtkWidget *ok, server *serv) +{ + if (!is_server (serv)) + { + gtk_widget_destroy (gtk_widget_get_toplevel (ok)); + return; + } + + /* do nothing */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (serv->gui->joind_radio1))) + goto xit; + + /* join specific channel */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (serv->gui->joind_radio2))) + { + char *text = (char *)gtk_entry_get_text (GTK_ENTRY (serv->gui->joind_entry)); + if (strlen (text) < 1) + { + fe_message (_("Channel name too short, try again."), FE_MSG_ERROR); + return; + } + serv->p_join (serv, text, ""); + goto xit; + } + + /* channel list */ + chanlist_opengui (serv, TRUE); + +xit: + prefs.hex_gui_join_dialog = 0; + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (serv->gui->joind_check))) + prefs.hex_gui_join_dialog = 1; + + gtk_widget_destroy (serv->gui->joind_win); + serv->gui->joind_win = NULL; +} + +static void +joind_show_dialog (server *serv) +{ + GtkWidget *dialog1; + GtkWidget *dialog_vbox1; + GtkWidget *vbox1; + GtkWidget *hbox1; + GtkWidget *image1; + GtkWidget *vbox2; + GtkWidget *label; + GtkWidget *radiobutton1; + GtkWidget *radiobutton2; + GtkWidget *radiobutton3; + GSList *radiobutton1_group; + GtkWidget *hbox2; + GtkWidget *entry1; + GtkWidget *checkbutton1; + GtkWidget *dialog_action_area1; + GtkWidget *okbutton1; + char buf[256]; + char buf2[256]; + + serv->gui->joind_win = dialog1 = gtk_dialog_new (); + g_snprintf(buf, sizeof(buf), _("Connection Complete - %s"), _(DISPLAY_NAME)); + gtk_window_set_title (GTK_WINDOW (dialog1), buf); + gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_position (GTK_WINDOW (dialog1), GTK_WIN_POS_CENTER_ON_PARENT); + gtk_window_set_transient_for (GTK_WINDOW(dialog1), GTK_WINDOW(serv->front_session->gui->window)); + gtk_window_set_modal (GTK_WINDOW (dialog1), TRUE); + gtk_window_set_resizable (GTK_WINDOW (dialog1), FALSE); + + dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog1)); + gtk_widget_show (dialog_vbox1); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); + + image1 = gtk_image_new_from_stock (GTK_STOCK_NETWORK, GTK_ICON_SIZE_LARGE_TOOLBAR); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, TRUE, 24); + gtk_misc_set_alignment (GTK_MISC (image1), 0.5f, 0.06f); + + vbox2 = gtk_vbox_new (FALSE, 10); + gtk_container_set_border_width (GTK_CONTAINER (vbox2), 6); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (hbox1), vbox2, TRUE, TRUE, 0); + + g_snprintf (buf2, sizeof (buf2), _("Connection to %s complete."), + server_get_network (serv, TRUE)); + g_snprintf (buf, sizeof (buf), "\n<b>%s</b>", buf2); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + label = gtk_label_new (_("In the server list window, no channel (chat room) has been entered to be automatically joined for this network.")); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + label = gtk_label_new (_("What would you like to do next?")); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + serv->gui->joind_radio1 = radiobutton1 = gtk_radio_button_new_with_mnemonic (NULL, _("_Nothing, I'll join a channel later.")); + gtk_widget_show (radiobutton1); + gtk_box_pack_start (GTK_BOX (vbox2), radiobutton1, FALSE, FALSE, 0); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1)); + + hbox2 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox2); + gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0); + + serv->gui->joind_radio2 = radiobutton2 = gtk_radio_button_new_with_mnemonic (NULL, _("_Join this channel:")); + gtk_widget_show (radiobutton2); + gtk_box_pack_start (GTK_BOX (hbox2), radiobutton2, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton2), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2)); + + serv->gui->joind_entry = entry1 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry1), "#"); + gtk_widget_show (entry1); + gtk_box_pack_start (GTK_BOX (hbox2), entry1, TRUE, TRUE, 8); + + g_snprintf (buf, sizeof (buf), "<small> %s</small>", + _("If you know the name of the channel you want to join, enter it here.")); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + radiobutton3 = gtk_radio_button_new_with_mnemonic (NULL, _("O_pen the channel list.")); + gtk_widget_show (radiobutton3); + gtk_box_pack_start (GTK_BOX (vbox2), radiobutton3, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton3), radiobutton1_group); + + g_snprintf (buf, sizeof (buf), "<small> %s</small>", + _("Retrieving the channel list may take a minute or two.")); + label = gtk_label_new (buf); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + serv->gui->joind_check = checkbutton1 = gtk_check_button_new_with_mnemonic (_("_Always show this dialog after connecting.")); + if (prefs.hex_gui_join_dialog) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton1), TRUE); + gtk_widget_show (checkbutton1); + gtk_box_pack_start (GTK_BOX (vbox1), checkbutton1, FALSE, FALSE, 0); + + dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (dialog1)); + gtk_widget_show (dialog_action_area1); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); + + okbutton1 = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (okbutton1); + gtk_box_pack_end (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (dialog1))), okbutton1, FALSE, TRUE, 0); + gtk_widget_set_can_default (okbutton1, TRUE); + + g_signal_connect (G_OBJECT (dialog1), "destroy", + G_CALLBACK (joind_destroy_cb), serv); + g_signal_connect (G_OBJECT (entry1), "focus_in_event", + G_CALLBACK (joind_entryfocus_cb), serv); + g_signal_connect (G_OBJECT (entry1), "activate", + G_CALLBACK (joind_entryenter_cb), okbutton1); + g_signal_connect (G_OBJECT (radiobutton2), "toggled", + G_CALLBACK (joind_radio2_cb), serv); + g_signal_connect (G_OBJECT (okbutton1), "clicked", + G_CALLBACK (joind_ok_cb), serv); + + if (serv->network) + if (g_ascii_strcasecmp(((ircnet*)serv->network)->name, "Libera.Chat") == 0) + { + gtk_entry_set_text (GTK_ENTRY (entry1), "#hexchat"); + } + + gtk_widget_grab_focus (okbutton1); + gtk_widget_show_all (dialog1); +} + +void +joind_open (server *serv) +{ + if (prefs.hex_gui_join_dialog) + joind_show_dialog (serv); +} + +void +joind_close (server *serv) +{ + if (serv->gui->joind_win) + { + gtk_widget_destroy (serv->gui->joind_win); + serv->gui->joind_win = NULL; + } +} diff --git a/src/fe-gtk/joind.h b/src/fe-gtk/joind.h new file mode 100644 index 0000000000000000000000000000000000000000..a7f466b92d181da0f574ebf4f2b89b11430e55c5 --- /dev/null +++ b/src/fe-gtk/joind.h @@ -0,0 +1,26 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_JOIND_H +#define HEXCHAT_JOIND_H + +void joind_open (server *serv); +void joind_close (server *serv); + +#endif diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c new file mode 100644 index 0000000000000000000000000000000000000000..0da60b3eefddd7ada435f96c6312729b209e75f4 --- /dev/null +++ b/src/fe-gtk/maingui.c @@ -0,0 +1,3920 @@ +/* X-Chat + * Copyright (C) 1998-2005 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <ctype.h> + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/hexchatc.h" +#include "../common/outbound.h" +#include "../common/inbound.h" +#include "../common/plugin.h" +#include "../common/modes.h" +#include "../common/url.h" +#include "../common/util.h" +#include "../common/text.h" +#include "../common/chanopt.h" +#include "../common/cfgfiles.h" + +#include "fe-gtk.h" +#include "banlist.h" +#include "gtkutil.h" +#include "joind.h" +#include "palette.h" +#include "maingui.h" +#include "menu.h" +#include "fkeys.h" +#include "userlistgui.h" +#include "chanview.h" +#include "pixmaps.h" +#include "plugin-tray.h" +#include "xtext.h" +#include "sexy-spell-entry.h" +#include "gtkutil.h" + +#ifdef G_OS_WIN32 +#include <windows.h> +#endif + +#define GUI_SPACING (3) +#define GUI_BORDER (0) + +enum +{ + POS_INVALID = 0, + POS_TOPLEFT = 1, + POS_BOTTOMLEFT = 2, + POS_TOPRIGHT = 3, + POS_BOTTOMRIGHT = 4, + POS_TOP = 5, /* for tabs only */ + POS_BOTTOM = 6, + POS_HIDDEN = 7 +}; + +/* two different types of tabs */ +#define TAG_IRC 0 /* server, channel, dialog */ +#define TAG_UTIL 1 /* dcc, notify, chanlist */ + +static void mg_create_entry (session *sess, GtkWidget *box); +static void mg_create_search (session *sess, GtkWidget *box); +static void mg_link_irctab (session *sess, int focus); + +static session_gui static_mg_gui; +static session_gui *mg_gui = NULL; /* the shared irc tab */ +static int ignore_chanmode = FALSE; +static const char chan_flags[] = { 'c', 'n', 't', 'i', 'm', 'l', 'k' }; + +static chan *active_tab = NULL; /* active tab */ +GtkWidget *parent_window = NULL; /* the master window */ + +GtkStyle *input_style; + +static PangoAttrList *away_list; +static PangoAttrList *newdata_list; +static PangoAttrList *nickseen_list; +static PangoAttrList *newmsg_list; +static PangoAttrList *plain_list = NULL; + +static PangoAttrList * +mg_attr_list_create (GdkColor *col, int size) +{ + PangoAttribute *attr; + PangoAttrList *list; + + list = pango_attr_list_new (); + + if (col) + { + attr = pango_attr_foreground_new (col->red, col->green, col->blue); + attr->start_index = 0; + attr->end_index = 0xffff; + pango_attr_list_insert (list, attr); + } + + if (size > 0) + { + attr = pango_attr_scale_new (size == 1 ? PANGO_SCALE_SMALL : PANGO_SCALE_X_SMALL); + attr->start_index = 0; + attr->end_index = 0xffff; + pango_attr_list_insert (list, attr); + } + + return list; +} + +static void +mg_create_tab_colors (void) +{ + if (plain_list) + { + pango_attr_list_unref (plain_list); + pango_attr_list_unref (newmsg_list); + pango_attr_list_unref (newdata_list); + pango_attr_list_unref (nickseen_list); + pango_attr_list_unref (away_list); + } + + plain_list = mg_attr_list_create (NULL, prefs.hex_gui_tab_small); + newdata_list = mg_attr_list_create (&colors[COL_NEW_DATA], prefs.hex_gui_tab_small); + nickseen_list = mg_attr_list_create (&colors[COL_HILIGHT], prefs.hex_gui_tab_small); + newmsg_list = mg_attr_list_create (&colors[COL_NEW_MSG], prefs.hex_gui_tab_small); + away_list = mg_attr_list_create (&colors[COL_AWAY], FALSE); +} + +static void +set_window_urgency (GtkWidget *win, gboolean set) +{ + gtk_window_set_urgency_hint (GTK_WINDOW (win), set); +} + +static void +flash_window (GtkWidget *win) +{ +#ifdef HAVE_GTK_MAC + gtkosx_application_attention_request (osx_app, INFO_REQUEST); +#endif + set_window_urgency (win, TRUE); +} + +static void +unflash_window (GtkWidget *win) +{ + set_window_urgency (win, FALSE); +} + +/* flash the taskbar button */ + +void +fe_flash_window (session *sess) +{ + if (fe_gui_info (sess, 0) != 1) /* only do it if not focused */ + flash_window (sess->gui->window); +} + +/* set a tab plain, red, light-red, or blue */ + +void +fe_set_tab_color (struct session *sess, tabcolor col) +{ + struct session *server_sess = sess->server->server_session; + int col_noflags = (col & ~FE_COLOR_ALLFLAGS); + int col_shouldoverride = !(col & FE_COLOR_FLAG_NOOVERRIDE); + + if (sess->res->tab && sess->gui->is_tab && (col == 0 || sess != current_tab)) + { + switch (col_noflags) + { + case 0: /* no particular color (theme default) */ + sess->tab_state = TAB_STATE_NONE; + chan_set_color (sess->res->tab, plain_list); + break; + case 1: /* new data has been displayed (dark red) */ + if (col_shouldoverride || !((sess->tab_state & TAB_STATE_NEW_MSG) + || (sess->tab_state & TAB_STATE_NEW_HILIGHT))) { + sess->tab_state = TAB_STATE_NEW_DATA; + chan_set_color (sess->res->tab, newdata_list); + } + + if (chan_is_collapsed (sess->res->tab) + && !((server_sess->tab_state & TAB_STATE_NEW_MSG) + || (server_sess->tab_state & TAB_STATE_NEW_HILIGHT)) + && !(server_sess == current_tab)) + { + server_sess->tab_state = TAB_STATE_NEW_DATA; + chan_set_color (chan_get_parent (sess->res->tab), newdata_list); + } + + break; + case 2: /* new message arrived in channel (light red) */ + if (col_shouldoverride || !(sess->tab_state & TAB_STATE_NEW_HILIGHT)) { + sess->tab_state = TAB_STATE_NEW_MSG; + chan_set_color (sess->res->tab, newmsg_list); + } + + if (chan_is_collapsed (sess->res->tab) + && !(server_sess->tab_state & TAB_STATE_NEW_HILIGHT) + && !(server_sess == current_tab)) + { + server_sess->tab_state = TAB_STATE_NEW_MSG; + chan_set_color (chan_get_parent (sess->res->tab), newmsg_list); + } + + break; + case 3: /* your nick has been seen (blue) */ + sess->tab_state = TAB_STATE_NEW_HILIGHT; + chan_set_color (sess->res->tab, nickseen_list); + + if (chan_is_collapsed (sess->res->tab) && !(server_sess == current_tab)) + { + server_sess->tab_state = TAB_STATE_NEW_MSG; + chan_set_color (chan_get_parent (sess->res->tab), nickseen_list); + } + + break; + } + lastact_update (sess); + sess->last_tab_state = sess->tab_state; /* For plugins handling future prints */ + } +} + +static void +mg_set_myself_away (session_gui *gui, gboolean away) +{ + gtk_label_set_attributes (GTK_LABEL (gtk_bin_get_child (GTK_BIN (gui->nick_label))), + away ? away_list : NULL); +} + +/* change the little icon to the left of your nickname */ + +void +mg_set_access_icon (session_gui *gui, GdkPixbuf *pix, gboolean away) +{ + if (gui->op_xpm) + { + if (pix == gtk_image_get_pixbuf (GTK_IMAGE (gui->op_xpm))) /* no change? */ + { + mg_set_myself_away (gui, away); + return; + } + + gtk_widget_destroy (gui->op_xpm); + gui->op_xpm = NULL; + } + + if (pix && prefs.hex_gui_input_icon) + { + gui->op_xpm = gtk_image_new_from_pixbuf (pix); + gtk_box_pack_start (GTK_BOX (gui->nick_box), gui->op_xpm, 0, 0, 0); + gtk_widget_show (gui->op_xpm); + } + + mg_set_myself_away (gui, away); +} + +static gboolean +mg_inputbox_focus (GtkWidget *widget, GdkEventFocus *event, session_gui *gui) +{ + GSList *list; + session *sess; + + if (gui->is_tab) + return FALSE; + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui == gui) + { + current_sess = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + break; + } + list = list->next; + } + + return FALSE; +} + +void +mg_inputbox_cb (GtkWidget *igad, session_gui *gui) +{ + char *cmd; + static int ignore = FALSE; + GSList *list; + session *sess = NULL; + + if (ignore) + return; + + cmd = SPELL_ENTRY_GET_TEXT (igad); + if (cmd[0] == 0) + return; + + cmd = g_strdup (cmd); + + /* avoid recursive loop */ + ignore = TRUE; + SPELL_ENTRY_SET_TEXT (igad, ""); + ignore = FALSE; + + /* where did this event come from? */ + if (gui->is_tab) + { + sess = current_tab; + } else + { + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui == gui) + break; + list = list->next; + } + if (!list) + sess = NULL; + } + + if (sess) + handle_multiline (sess, cmd, TRUE, FALSE); + + g_free (cmd); +} + +static gboolean +mg_spellcheck_cb (SexySpellEntry *entry, gchar *word, gpointer data) +{ + /* This can cause freezes on long words, nicks arn't very long anyway. */ + if (strlen (word) > 20) + return TRUE; + + /* Ignore anything we think is a valid url */ + if (url_check_word (word) != 0) + return FALSE; + + return TRUE; +} + +#if 0 +static gboolean +has_key (char *modes) +{ + if (!modes) + return FALSE; + /* this is a crude check, but "-k" can't exist, so it works. */ + while (*modes) + { + if (*modes == 'k') + return TRUE; + if (*modes == ' ') + return FALSE; + modes++; + } + return FALSE; +} +#endif + +void +fe_set_title (session *sess) +{ + char tbuf[512]; + int type; + + if (sess->gui->is_tab && sess != current_tab) + return; + + type = sess->type; + + if (sess->server->connected == FALSE && sess->type != SESS_DIALOG) + goto def; + + switch (type) + { + case SESS_DIALOG: + g_snprintf (tbuf, sizeof (tbuf), "%s %s @ %s - %s", + _("Dialog with"), sess->channel, server_get_network (sess->server, TRUE), + _(DISPLAY_NAME)); + break; + case SESS_SERVER: + g_snprintf (tbuf, sizeof (tbuf), "%s%s%s - %s", + prefs.hex_gui_win_nick ? sess->server->nick : "", + prefs.hex_gui_win_nick ? " @ " : "", server_get_network (sess->server, TRUE), + _(DISPLAY_NAME)); + break; + case SESS_CHANNEL: + /* don't display keys in the titlebar */ + g_snprintf (tbuf, sizeof (tbuf), + "%s%s%s / %s%s%s%s - %s", + prefs.hex_gui_win_nick ? sess->server->nick : "", + prefs.hex_gui_win_nick ? " @ " : "", + server_get_network (sess->server, TRUE), sess->channel, + prefs.hex_gui_win_modes && sess->current_modes ? " (" : "", + prefs.hex_gui_win_modes && sess->current_modes ? sess->current_modes : "", + prefs.hex_gui_win_modes && sess->current_modes ? ")" : "", + _(DISPLAY_NAME)); + if (prefs.hex_gui_win_ucount) + { + g_snprintf (tbuf + strlen (tbuf), 9, " (%d)", sess->total); + } + break; + case SESS_NOTICES: + case SESS_SNOTICES: + g_snprintf (tbuf, sizeof (tbuf), "%s%s%s (notices) - %s", + prefs.hex_gui_win_nick ? sess->server->nick : "", + prefs.hex_gui_win_nick ? " @ " : "", server_get_network (sess->server, TRUE), + _(DISPLAY_NAME)); + break; + default: + def: + g_snprintf (tbuf, sizeof (tbuf), _(DISPLAY_NAME)); + gtk_window_set_title (GTK_WINDOW (sess->gui->window), tbuf); + return; + } + + gtk_window_set_title (GTK_WINDOW (sess->gui->window), tbuf); +} + +static gboolean +mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata) +{ + if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) && + (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) && + prefs.hex_gui_tray_minimize && prefs.hex_gui_tray && + gtkutil_tray_icon_supported (wid)) + { + tray_toggle_visibility (TRUE); + gtk_window_deiconify (wid); + } + + prefs.hex_gui_win_state = 0; + if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) + prefs.hex_gui_win_state = 1; + + prefs.hex_gui_win_fullscreen = 0; + if (event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN) + prefs.hex_gui_win_fullscreen = 1; + + menu_set_fullscreen (current_sess->gui, prefs.hex_gui_win_fullscreen); + + return FALSE; +} + +static gboolean +mg_configure_cb (GtkWidget *wid, GdkEventConfigure *event, session *sess) +{ + if (sess == NULL) /* for the main_window */ + { + if (mg_gui) + { + if (prefs.hex_gui_win_save && !prefs.hex_gui_win_state && !prefs.hex_gui_win_fullscreen) + { + sess = current_sess; + gtk_window_get_position (GTK_WINDOW (wid), &prefs.hex_gui_win_left, + &prefs.hex_gui_win_top); + gtk_window_get_size (GTK_WINDOW (wid), &prefs.hex_gui_win_width, + &prefs.hex_gui_win_height); + } + } + } + + if (sess) + { + if (sess->type == SESS_DIALOG && prefs.hex_gui_win_save) + { + gtk_window_get_position (GTK_WINDOW (wid), &prefs.hex_gui_dialog_left, + &prefs.hex_gui_dialog_top); + gtk_window_get_size (GTK_WINDOW (wid), &prefs.hex_gui_dialog_width, + &prefs.hex_gui_dialog_height); + } + } + + return FALSE; +} + +/* move to a non-irc tab */ + +static void +mg_show_generic_tab (GtkWidget *box) +{ + int num; + GtkWidget *f = NULL; + + if (current_sess && gtk_widget_has_focus (current_sess->gui->input_box)) + f = current_sess->gui->input_box; + + num = gtk_notebook_page_num (GTK_NOTEBOOK (mg_gui->note_book), box); + gtk_notebook_set_current_page (GTK_NOTEBOOK (mg_gui->note_book), num); + gtk_tree_view_set_model (GTK_TREE_VIEW (mg_gui->user_tree), NULL); + gtk_window_set_title (GTK_WINDOW (mg_gui->window), + g_object_get_data (G_OBJECT (box), "title")); + gtk_widget_set_sensitive (mg_gui->menu, FALSE); + + if (f) + gtk_widget_grab_focus (f); +} + +/* a channel has been focused */ + +static void +mg_focus (session *sess) +{ + if (sess->gui->is_tab) + current_tab = sess; + current_sess = sess; + + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (sess->gui->input_box, FALSE); + gtk_widget_grab_focus (sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (sess->gui->input_box, TRUE); + + sess->server->front_session = sess; + + if (sess->server->server_session != NULL) + { + if (sess->server->server_session->type != SESS_SERVER) + sess->server->server_session = sess; + } else + { + sess->server->server_session = sess; + } + + /* when called via mg_changui_new, is_tab might be true, but + sess->res->tab is still NULL. */ + if (sess->res->tab) + fe_set_tab_color (sess, FE_COLOR_NONE); +} + +static int +mg_progressbar_update (GtkWidget *bar) +{ + static int type = 0; + static gdouble pos = 0; + + pos += 0.05; + if (pos >= 0.99) + { + if (type == 0) + { + type = 1; + gtk_progress_bar_set_orientation ((GtkProgressBar *) bar, + GTK_PROGRESS_RIGHT_TO_LEFT); + } else + { + type = 0; + gtk_progress_bar_set_orientation ((GtkProgressBar *) bar, + GTK_PROGRESS_LEFT_TO_RIGHT); + } + pos = 0.05; + } + gtk_progress_bar_set_fraction ((GtkProgressBar *) bar, pos); + return 1; +} + +void +mg_progressbar_create (session_gui *gui) +{ + gui->bar = gtk_progress_bar_new (); + gtk_box_pack_start (GTK_BOX (gui->nick_box), gui->bar, 0, 0, 0); + gtk_widget_show (gui->bar); + gui->bartag = fe_timeout_add (50, mg_progressbar_update, gui->bar); +} + +void +mg_progressbar_destroy (session_gui *gui) +{ + fe_timeout_remove (gui->bartag); + gtk_widget_destroy (gui->bar); + gui->bar = 0; + gui->bartag = 0; +} + +/* switching tabs away from this one, so remember some info about it! */ + +static void +mg_unpopulate (session *sess) +{ + restore_gui *res; + session_gui *gui; + int i; + + gui = sess->gui; + res = sess->res; + + res->input_text = g_strdup (SPELL_ENTRY_GET_TEXT (gui->input_box)); + res->topic_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->topic_entry))); + res->limit_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->limit_entry))); + res->key_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (gui->key_entry))); + if (gui->laginfo) + res->lag_text = g_strdup (gtk_label_get_text (GTK_LABEL (gui->laginfo))); + if (gui->throttleinfo) + res->queue_text = g_strdup (gtk_label_get_text (GTK_LABEL (gui->throttleinfo))); + + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + res->flag_wid_state[i] = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i])); + + res->old_ul_value = userlist_get_value (gui->user_tree); + if (gui->lagometer) + res->lag_value = gtk_progress_bar_get_fraction ( + GTK_PROGRESS_BAR (gui->lagometer)); + if (gui->throttlemeter) + res->queue_value = gtk_progress_bar_get_fraction ( + GTK_PROGRESS_BAR (gui->throttlemeter)); + + if (gui->bar) + { + res->c_graph = TRUE; /* still have a graph, just not visible now */ + mg_progressbar_destroy (gui); + } +} + +static void +mg_restore_label (GtkWidget *label, char **text) +{ + if (!label) + return; + + if (*text) + { + gtk_label_set_text (GTK_LABEL (label), *text); + g_free (*text); + *text = NULL; + } else + { + gtk_label_set_text (GTK_LABEL (label), ""); + } +} + +static void +mg_restore_entry (GtkWidget *entry, char **text) +{ + if (*text) + { + gtk_entry_set_text (GTK_ENTRY (entry), *text); + g_free (*text); + *text = NULL; + } else + { + gtk_entry_set_text (GTK_ENTRY (entry), ""); + } + gtk_editable_set_position (GTK_EDITABLE (entry), -1); +} + +static void +mg_restore_speller (GtkWidget *entry, char **text) +{ + if (*text) + { + SPELL_ENTRY_SET_TEXT (entry, *text); + g_free (*text); + *text = NULL; + } else + { + SPELL_ENTRY_SET_TEXT (entry, ""); + } + SPELL_ENTRY_SET_POS (entry, -1); +} + +void +mg_set_topic_tip (session *sess) +{ + char *text; + + switch (sess->type) + { + case SESS_CHANNEL: + if (sess->topic) + { + text = g_strdup_printf (_("Topic for %s is: %s"), sess->channel, + sess->topic); + gtk_widget_set_tooltip_text (sess->gui->topic_entry, text); + g_free (text); + } else + gtk_widget_set_tooltip_text (sess->gui->topic_entry, _("No topic is set")); + break; + default: + if (gtk_entry_get_text (GTK_ENTRY (sess->gui->topic_entry)) && + gtk_entry_get_text (GTK_ENTRY (sess->gui->topic_entry))[0]) + gtk_widget_set_tooltip_text (sess->gui->topic_entry, (char *)gtk_entry_get_text (GTK_ENTRY (sess->gui->topic_entry))); + else + gtk_widget_set_tooltip_text (sess->gui->topic_entry, NULL); + } +} + +static void +mg_hide_empty_pane (GtkPaned *pane) +{ + if ((gtk_paned_get_child1 (pane) == NULL || !gtk_widget_get_visible (gtk_paned_get_child1 (pane))) && + (gtk_paned_get_child2 (pane) == NULL || !gtk_widget_get_visible (gtk_paned_get_child2 (pane)))) + { + gtk_widget_hide (GTK_WIDGET (pane)); + return; + } + + gtk_widget_show (GTK_WIDGET (pane)); +} + +static void +mg_hide_empty_boxes (session_gui *gui) +{ + /* hide empty vpanes - so the handle is not shown */ + mg_hide_empty_pane ((GtkPaned*)gui->vpane_right); + mg_hide_empty_pane ((GtkPaned*)gui->vpane_left); +} + +static void +mg_userlist_showhide (session *sess, int show) +{ + session_gui *gui = sess->gui; + int handle_size; + int right_size; + GtkAllocation allocation; + + right_size = MAX (prefs.hex_gui_pane_right_size, prefs.hex_gui_pane_right_size_min); + + if (show) + { + gtk_widget_show (gui->user_box); + gui->ul_hidden = 0; + + gtk_widget_get_allocation (gui->hpane_right, &allocation); + gtk_widget_style_get (GTK_WIDGET (gui->hpane_right), "handle-size", &handle_size, NULL); + gtk_paned_set_position (GTK_PANED (gui->hpane_right), allocation.width - (right_size + handle_size)); + } + else + { + gtk_widget_hide (gui->user_box); + gui->ul_hidden = 1; + } + + mg_hide_empty_boxes (gui); +} + +static gboolean +mg_is_userlist_and_tree_combined (void) +{ + if (prefs.hex_gui_tab_pos == POS_TOPLEFT && prefs.hex_gui_ulist_pos == POS_BOTTOMLEFT) + return TRUE; + if (prefs.hex_gui_tab_pos == POS_BOTTOMLEFT && prefs.hex_gui_ulist_pos == POS_TOPLEFT) + return TRUE; + + if (prefs.hex_gui_tab_pos == POS_TOPRIGHT && prefs.hex_gui_ulist_pos == POS_BOTTOMRIGHT) + return TRUE; + if (prefs.hex_gui_tab_pos == POS_BOTTOMRIGHT && prefs.hex_gui_ulist_pos == POS_TOPRIGHT) + return TRUE; + + return FALSE; +} + +/* decide if the userlist should be shown or hidden for this tab */ + +void +mg_decide_userlist (session *sess, gboolean switch_to_current) +{ + /* when called from menu.c we need this */ + if (sess->gui == mg_gui && switch_to_current) + sess = current_tab; + + if (prefs.hex_gui_ulist_hide) + { + mg_userlist_showhide (sess, FALSE); + return; + } + + switch (sess->type) + { + case SESS_SERVER: + case SESS_DIALOG: + case SESS_NOTICES: + case SESS_SNOTICES: + if (mg_is_userlist_and_tree_combined ()) + mg_userlist_showhide (sess, TRUE); /* show */ + else + mg_userlist_showhide (sess, FALSE); /* hide */ + break; + default: + mg_userlist_showhide (sess, TRUE); /* show */ + } +} + +static int ul_tag = 0; + +static gboolean +mg_populate_userlist (session *sess) +{ + if (!sess) + sess = current_tab; + + if (is_session (sess)) + { + if (sess->type == SESS_DIALOG) + mg_set_access_icon (sess->gui, NULL, sess->server->is_away); + else + mg_set_access_icon (sess->gui, get_user_icon (sess->server, sess->me), sess->server->is_away); + userlist_show (sess); + userlist_set_value (sess->gui->user_tree, sess->res->old_ul_value); + } + + ul_tag = 0; + return 0; +} + +/* fill the irc tab with a new channel */ + +static void +mg_populate (session *sess) +{ + session_gui *gui = sess->gui; + restore_gui *res = sess->res; + int i, render = TRUE; + guint16 vis = gui->ul_hidden; + GtkAllocation allocation; + + switch (sess->type) + { + case SESS_DIALOG: + /* show the dialog buttons */ + gtk_widget_show (gui->dialogbutton_box); + /* hide the chan-mode buttons */ + gtk_widget_hide (gui->topicbutton_box); + /* hide the userlist */ + mg_decide_userlist (sess, FALSE); + /* shouldn't edit the topic */ + gtk_editable_set_editable (GTK_EDITABLE (gui->topic_entry), FALSE); + /* might be hidden from server tab */ + if (prefs.hex_gui_topicbar) + gtk_widget_show (gui->topic_bar); + break; + case SESS_SERVER: + if (prefs.hex_gui_mode_buttons) + gtk_widget_show (gui->topicbutton_box); + /* hide the dialog buttons */ + gtk_widget_hide (gui->dialogbutton_box); + /* hide the userlist */ + mg_decide_userlist (sess, FALSE); + /* servers don't have topics */ + gtk_widget_hide (gui->topic_bar); + break; + default: + /* hide the dialog buttons */ + gtk_widget_hide (gui->dialogbutton_box); + if (prefs.hex_gui_mode_buttons) + gtk_widget_show (gui->topicbutton_box); + /* show the userlist */ + mg_decide_userlist (sess, FALSE); + /* let the topic be editted */ + gtk_editable_set_editable (GTK_EDITABLE (gui->topic_entry), TRUE); + if (prefs.hex_gui_topicbar) + gtk_widget_show (gui->topic_bar); + } + + /* move to THE irc tab */ + if (gui->is_tab) + gtk_notebook_set_current_page (GTK_NOTEBOOK (gui->note_book), 0); + + /* xtext size change? Then don't render, wait for the expose caused + by showing/hidding the userlist */ + gtk_widget_get_allocation (gui->user_box, &allocation); + if (vis != gui->ul_hidden && allocation.width > 1) + render = FALSE; + + gtk_xtext_buffer_show (GTK_XTEXT (gui->xtext), res->buffer, render); + + if (gui->is_tab) + gtk_widget_set_sensitive (gui->menu, TRUE); + + /* restore all the GtkEntry's */ + mg_restore_entry (gui->topic_entry, &res->topic_text); + mg_restore_speller (gui->input_box, &res->input_text); + mg_restore_entry (gui->key_entry, &res->key_text); + mg_restore_entry (gui->limit_entry, &res->limit_text); + mg_restore_label (gui->laginfo, &res->lag_text); + mg_restore_label (gui->throttleinfo, &res->queue_text); + + mg_focus (sess); + fe_set_title (sess); + + /* this one flickers, so only change if necessary */ + if (strcmp (sess->server->nick, gtk_button_get_label (GTK_BUTTON (gui->nick_label))) != 0) + gtk_button_set_label (GTK_BUTTON (gui->nick_label), sess->server->nick); + + /* this is slow, so make it a timeout event */ + if (!gui->is_tab) + { + mg_populate_userlist (sess); + } else + { + if (ul_tag == 0) + ul_tag = g_idle_add ((GSourceFunc)mg_populate_userlist, NULL); + } + + fe_userlist_numbers (sess); + + /* restore all the channel mode buttons */ + ignore_chanmode = TRUE; + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + { + /* Hide if mode not supported */ + if (sess->server && strchr (sess->server->chanmodes, chan_flags[i]) == NULL) + gtk_widget_hide (sess->gui->flag_wid[i]); + else + gtk_widget_show (sess->gui->flag_wid[i]); + + /* Update state */ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gui->flag_wid[i]), + res->flag_wid_state[i]); + } + ignore_chanmode = FALSE; + + if (gui->lagometer) + { + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (gui->lagometer), + res->lag_value); + if (res->lag_tip) + gtk_widget_set_tooltip_text (gtk_widget_get_parent (sess->gui->lagometer), res->lag_tip); + } + if (gui->throttlemeter) + { + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (gui->throttlemeter), + res->queue_value); + if (res->queue_tip) + gtk_widget_set_tooltip_text (gtk_widget_get_parent (sess->gui->throttlemeter), res->queue_tip); + } + + /* did this tab have a connecting graph? restore it.. */ + if (res->c_graph) + { + res->c_graph = FALSE; + mg_progressbar_create (gui); + } + + /* menu items */ + menu_set_away (gui, sess->server->is_away); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_AWAY], sess->server->connected); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_JOIN], sess->server->end_of_motd); + gtk_widget_set_sensitive (gui->menu_item[MENU_ID_DISCONNECT], + sess->server->connected || sess->server->recondelay_tag); + + mg_set_topic_tip (sess); + + plugin_emit_dummy_print (sess, "Focus Tab"); +} + +void +mg_bring_tofront_sess (session *sess) /* IRC tab or window */ +{ + if (sess->gui->is_tab) + chan_focus (sess->res->tab); + else + gtk_window_present (GTK_WINDOW (sess->gui->window)); +} + +void +mg_bring_tofront (GtkWidget *vbox) /* non-IRC tab or window */ +{ + chan *ch; + + ch = g_object_get_data (G_OBJECT (vbox), "ch"); + if (ch) + chan_focus (ch); + else + gtk_window_present (GTK_WINDOW (gtk_widget_get_toplevel (vbox))); +} + +void +mg_switch_page (int relative, int num) +{ + if (mg_gui) + chanview_move_focus (mg_gui->chanview, relative, num); +} + +/* a toplevel IRC window was destroyed */ + +static void +mg_topdestroy_cb (GtkWidget *win, session *sess) +{ +/* printf("enter mg_topdestroy. sess %p was destroyed\n", sess);*/ + session_free (sess); /* tell hexchat.c about it */ +} + +/* cleanup an IRC tab */ + +static void +mg_ircdestroy (session *sess) +{ + GSList *list; + + session_free (sess); /* tell hexchat.c about it */ + + if (mg_gui == NULL) + { +/* puts("-> mg_gui is already NULL");*/ + return; + } + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->is_tab) + { +/* puts("-> some tabs still remain");*/ + return; + } + list = list->next; + } + +/* puts("-> no tabs left, killing main tabwindow");*/ + gtk_widget_destroy (mg_gui->window); + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; +} + +static void +mg_tab_close_cb (GtkWidget *dialog, gint arg1, session *sess) +{ + GSList *list, *next; + + gtk_widget_destroy (dialog); + if (arg1 == GTK_RESPONSE_OK && is_session (sess)) + { + /* force it NOT to send individual PARTs */ + sess->server->sent_quit = TRUE; + + for (list = sess_list; list;) + { + next = list->next; + if (((session *)list->data)->server == sess->server && + ((session *)list->data) != sess) + fe_close_window ((session *)list->data); + list = next; + } + + /* just send one QUIT - better for BNCs */ + sess->server->sent_quit = FALSE; + fe_close_window (sess); + } +} + +void +mg_tab_close (session *sess) +{ + GtkWidget *dialog; + GSList *list; + int i; + + if (chan_remove (sess->res->tab, FALSE)) + { + sess->res->tab = NULL; + mg_ircdestroy (sess); + } + else + { + for (i = 0, list = sess_list; list; list = list->next) + { + session *s = (session*)list->data; + if (s->server == sess->server && (s->type == SESS_CHANNEL || s->type == SESS_DIALOG)) + i++; + } + dialog = gtk_message_dialog_new (GTK_WINDOW (parent_window), 0, + GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, + _("This server still has %d channels or dialogs associated with it. " + "Close them all?"), i); + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (mg_tab_close_cb), sess); + if (prefs.hex_gui_tab_layout) + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + } + else + { + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT); + } + gtk_widget_show (dialog); + } +} + +static void +mg_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +} + +void +mg_create_icon_item (char *label, char *stock, GtkWidget *menu, + void *callback, void *userdata) +{ + GtkWidget *item; + + item = create_icon_menu (label, stock, TRUE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (callback), + userdata); + gtk_widget_show (item); +} + +static int +mg_count_networks (void) +{ + int cons = 0; + GSList *list; + + for (list = serv_list; list; list = list->next) + { + if (((server *)list->data)->connected) + cons++; + } + return cons; +} + +static int +mg_count_dccs (void) +{ + GSList *list; + struct DCC *dcc; + int dccs = 0; + + list = dcc_list; + while (list) + { + dcc = list->data; + if ((dcc->type == TYPE_SEND || dcc->type == TYPE_RECV) && + dcc->dccstat == STAT_ACTIVE) + dccs++; + list = list->next; + } + + return dccs; +} + +void +mg_open_quit_dialog (gboolean minimize_button) +{ + static GtkWidget *dialog = NULL; + GtkWidget *dialog_vbox1; + GtkWidget *table1; + GtkWidget *image; + GtkWidget *checkbutton1; + GtkWidget *label; + GtkWidget *dialog_action_area1; + GtkWidget *button; + char *text, *connecttext; + int cons; + int dccs; + + if (dialog) + { + gtk_window_present (GTK_WINDOW (dialog)); + return; + } + + dccs = mg_count_dccs (); + cons = mg_count_networks (); + if (dccs + cons == 0 || !prefs.hex_gui_quit_dialog) + { + hexchat_exit (); + return; + } + + dialog = gtk_dialog_new (); + gtk_container_set_border_width (GTK_CONTAINER (dialog), 6); + gtk_window_set_title (GTK_WINDOW (dialog), _("Quit HexChat?")); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); + + dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); + gtk_widget_show (dialog_vbox1); + + table1 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table1), 6); + gtk_table_set_row_spacings (GTK_TABLE (table1), 12); + gtk_table_set_col_spacings (GTK_TABLE (table1), 12); + + image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG); + gtk_widget_show (image); + gtk_table_attach (GTK_TABLE (table1), image, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + checkbutton1 = gtk_check_button_new_with_mnemonic (_("Don't ask next time.")); + gtk_widget_show (checkbutton1); + gtk_table_attach (GTK_TABLE (table1), checkbutton1, 0, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 4); + + connecttext = g_strdup_printf (_("You are connected to %i IRC networks."), cons); + text = g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s\n%s", + _("Are you sure you want to quit?"), + cons ? connecttext : "", + dccs ? _("Some file transfers are still active.") : ""); + g_free (connecttext); + label = gtk_label_new (text); + g_free (text); + gtk_widget_show (label); + gtk_table_attach (GTK_TABLE (table1), label, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (dialog)); + gtk_widget_show (dialog_action_area1); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), + GTK_BUTTONBOX_END); + + if (minimize_button && gtkutil_tray_icon_supported (GTK_WINDOW(dialog))) + { + button = gtk_button_new_with_mnemonic (_("_Minimize to Tray")); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, 1); + } + + button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, + GTK_RESPONSE_CANCEL); + gtk_widget_grab_focus (button); + + button = gtk_button_new_from_stock ("gtk-quit"); + gtk_widget_show (button); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, 0); + + gtk_widget_show (dialog); + + switch (gtk_dialog_run (GTK_DIALOG (dialog))) + { + case 0: + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton1))) + prefs.hex_gui_quit_dialog = 0; + hexchat_exit (); + break; + case 1: /* minimize to tray */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton1))) + { + prefs.hex_gui_tray_close = 1; + /*prefs.hex_gui_quit_dialog = 0;*/ + } + /* force tray icon ON, if not already */ + if (!prefs.hex_gui_tray) + { + prefs.hex_gui_tray = 1; + tray_apply_setup (); + } + tray_toggle_visibility (TRUE); + break; + } + + gtk_widget_destroy (dialog); + dialog = NULL; +} + +void +mg_close_sess (session *sess) +{ + if (sess_list->next == NULL) + { + mg_open_quit_dialog (FALSE); + return; + } + + fe_close_window (sess); +} + +static int +mg_chan_remove (chan *ch) +{ + /* remove the tab from chanview */ + chan_remove (ch, TRUE); + /* any tabs left? */ + if (chanview_get_size (mg_gui->chanview) < 1) + { + /* if not, destroy the main tab window */ + gtk_widget_destroy (mg_gui->window); + current_tab = NULL; + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; + return TRUE; + } + return FALSE; +} + +/* destroy non-irc tab/window */ + +static void +mg_close_gen (chan *ch, GtkWidget *box) +{ + if (!ch) + ch = g_object_get_data (G_OBJECT (box), "ch"); + if (ch) + { + /* remove from notebook */ + gtk_widget_destroy (box); + /* remove the tab from chanview */ + mg_chan_remove (ch); + } else + { + gtk_widget_destroy (gtk_widget_get_toplevel (box)); + } +} + +/* the "X" close button has been pressed (tab-view) */ + +static void +mg_xbutton_cb (chanview *cv, chan *ch, int tag, gpointer userdata) +{ + if (tag == TAG_IRC) /* irc tab */ + mg_close_sess (userdata); + else /* non-irc utility tab */ + mg_close_gen (ch, userdata); +} + +static void +mg_link_gentab (chan *ch, GtkWidget *box) +{ + int num; + GtkWidget *win; + + g_object_ref (box); + + num = gtk_notebook_page_num (GTK_NOTEBOOK (mg_gui->note_book), box); + gtk_notebook_remove_page (GTK_NOTEBOOK (mg_gui->note_book), num); + mg_chan_remove (ch); + + win = gtkutil_window_new (g_object_get_data (G_OBJECT (box), "title"), "", + GPOINTER_TO_INT (g_object_get_data (G_OBJECT (box), "w")), + GPOINTER_TO_INT (g_object_get_data (G_OBJECT (box), "h")), + 2); + /* so it doesn't try to chan_remove (there's no tab anymore) */ + g_object_steal_data (G_OBJECT (box), "ch"); + gtk_container_set_border_width (GTK_CONTAINER (box), 0); + gtk_container_add (GTK_CONTAINER (win), box); + gtk_widget_show (win); + + g_object_unref (box); +} + +static void +mg_detach_tab_cb (GtkWidget *item, chan *ch) +{ + if (chan_get_tag (ch) == TAG_IRC) /* IRC tab */ + { + /* userdata is session * */ + mg_link_irctab (chan_get_userdata (ch), 1); + return; + } + + /* userdata is GtkWidget * */ + mg_link_gentab (ch, chan_get_userdata (ch)); /* non-IRC tab */ +} + +static void +mg_destroy_tab_cb (GtkWidget *item, chan *ch) +{ + /* treat it just like the X button press */ + mg_xbutton_cb (mg_gui->chanview, ch, chan_get_tag (ch), chan_get_userdata (ch)); +} + +static void +mg_color_insert (GtkWidget *item, gpointer userdata) +{ + char buf[32]; + char *text; + int num = GPOINTER_TO_INT (userdata); + + if (num > 99) + { + switch (num) + { + case 100: + text = "\002"; break; + case 101: + text = "\037"; break; + case 102: + text = "\035"; break; + case 103: + text = "\036"; break; + default: + text = "\017"; break; + } + key_action_insert (current_sess->gui->input_box, 0, text, 0, 0); + } else + { + sprintf (buf, "\003%02d", num); + key_action_insert (current_sess->gui->input_box, 0, buf, 0, 0); + } +} + +static void +mg_markup_item (GtkWidget *menu, char *text, int arg) +{ + GtkWidget *item; + + item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (gtk_bin_get_child (GTK_BIN (item))), text); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (mg_color_insert), GINT_TO_POINTER (arg)); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); +} + +GtkWidget * +mg_submenu (GtkWidget *menu, char *text) +{ + GtkWidget *submenu, *item; + + item = gtk_menu_item_new_with_mnemonic (text); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + submenu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + gtk_widget_show (submenu); + + return submenu; +} + +static void +mg_create_color_menu (GtkWidget *menu, session *sess) +{ + GtkWidget *submenu; + GtkWidget *subsubmenu; + char buf[256]; + int i; + + submenu = mg_submenu (menu, _("Insert Attribute or Color Code")); + + mg_markup_item (submenu, _("<b>Bold</b>"), 100); + mg_markup_item (submenu, _("<u>Underline</u>"), 101); + mg_markup_item (submenu, _("<i>Italic</i>"), 102); + mg_markup_item (submenu, _("<s>Strikethrough</s>"), 103); + mg_markup_item (submenu, _("Normal"), 999); + + subsubmenu = mg_submenu (submenu, _("Colors 0-7")); + + for (i = 0; i < 8; i++) + { + sprintf (buf, "<tt><sup>%02d</sup> <span background=\"#%02x%02x%02x\">" + " </span></tt>", + i, colors[i].red >> 8, colors[i].green >> 8, colors[i].blue >> 8); + mg_markup_item (subsubmenu, buf, i); + } + + subsubmenu = mg_submenu (submenu, _("Colors 8-15")); + + for (i = 8; i < 16; i++) + { + sprintf (buf, "<tt><sup>%02d</sup> <span background=\"#%02x%02x%02x\">" + " </span></tt>", + i, colors[i].red >> 8, colors[i].green >> 8, colors[i].blue >> 8); + mg_markup_item (subsubmenu, buf, i); + } +} + +static void +mg_set_guint8 (GtkCheckMenuItem *item, guint8 *setting) +{ + session *sess = current_sess; + guint8 logging = sess->text_logging; + + *setting = SET_OFF; + if (gtk_check_menu_item_get_active (item)) + *setting = SET_ON; + + /* has the logging setting changed? */ + if (logging != sess->text_logging) + log_open_or_close (sess); + + chanopt_save (sess); + chanopt_save_all (FALSE); +} + +static void +mg_perchan_menu_item (char *label, GtkWidget *menu, guint8 *setting, guint global) +{ + guint8 initial_value = *setting; + + /* if it's using global value, use that as initial state */ + if (initial_value == SET_DEFAULT) + initial_value = global; + + menu_toggle_item (label, menu, mg_set_guint8, setting, initial_value); +} + +static void +mg_create_perchannelmenu (session *sess, GtkWidget *menu) +{ + GtkWidget *submenu; + + submenu = menu_quick_sub (_("_Settings"), menu, NULL, XCMENU_MNEMONIC, -1); + + mg_perchan_menu_item (_("_Log to Disk"), submenu, &sess->text_logging, prefs.hex_irc_logging); + mg_perchan_menu_item (_("_Reload Scrollback"), submenu, &sess->text_scrollback, prefs.hex_text_replay); + if (sess->type == SESS_CHANNEL) + { + mg_perchan_menu_item (_("Strip _Colors"), submenu, &sess->text_strip, prefs.hex_text_stripcolor_msg); + mg_perchan_menu_item (_("_Hide Join/Part Messages"), submenu, &sess->text_hidejoinpart, prefs.hex_irc_conf_mode); + } +} + +static void +mg_create_alertmenu (session *sess, GtkWidget *menu) +{ + GtkWidget *submenu; + int hex_balloon, hex_beep, hex_tray, hex_flash; + + + switch (sess->type) { + case SESS_DIALOG: + hex_balloon = prefs.hex_input_balloon_priv; + hex_beep = prefs.hex_input_beep_priv; + hex_tray = prefs.hex_input_tray_priv; + hex_flash = prefs.hex_input_flash_priv; + break; + default: + hex_balloon = prefs.hex_input_balloon_chans; + hex_beep = prefs.hex_input_beep_chans; + hex_tray = prefs.hex_input_tray_chans; + hex_flash = prefs.hex_input_flash_chans; + } + + submenu = menu_quick_sub(_("_Extra Alerts"), menu, NULL, XCMENU_MNEMONIC, -1); + + mg_perchan_menu_item(_("Show Notifications"), submenu, &sess->alert_balloon, hex_balloon); + + mg_perchan_menu_item(_("Beep on _Message"), submenu, &sess->alert_beep, hex_beep); + + mg_perchan_menu_item(_("Blink Tray _Icon"), submenu, &sess->alert_tray, hex_tray); + + mg_perchan_menu_item(_("Blink Task _Bar"), submenu, &sess->alert_taskbar, hex_flash); +} + +static void +mg_create_tabmenu (session *sess, GdkEventButton *event, chan *ch) +{ + GtkWidget *menu, *item; + char buf[256]; + + menu = gtk_menu_new (); + + if (sess) + { + char *name = g_markup_escape_text (sess->channel[0] ? sess->channel : _("<none>"), -1); + g_snprintf (buf, sizeof (buf), "<span foreground=\"#3344cc\"><b>%s</b></span>", name); + g_free (name); + + item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (gtk_bin_get_child (GTK_BIN (item))), buf); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + + /* separator */ + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + /* per-channel alerts */ + mg_create_alertmenu (sess, menu); + + /* per-channel settings */ + mg_create_perchannelmenu (sess, menu); + + /* separator */ + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + if (sess->type == SESS_CHANNEL) + menu_addfavoritemenu (sess->server, menu, sess->channel, TRUE); + else if (sess->type == SESS_SERVER) + menu_addconnectmenu (sess->server, menu); + } + + mg_create_icon_item (_("_Detach"), GTK_STOCK_REDO, menu, + mg_detach_tab_cb, ch); + mg_create_icon_item (_("_Close"), GTK_STOCK_CLOSE, menu, + mg_destroy_tab_cb, ch); + if (sess && tabmenu_list) + menu_create (menu, tabmenu_list, sess->channel, FALSE); + if (sess) + menu_add_plugin_items (menu, "\x4$TAB", sess->channel); + + if (event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_window_get_screen (event->window)); + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (mg_menu_destroy), NULL); + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, event->time); +} + +static gboolean +mg_tab_contextmenu_cb (chanview *cv, chan *ch, int tag, gpointer ud, GdkEventButton *event) +{ + /* middle-click to close a tab */ + if (((prefs.hex_gui_tab_middleclose && event->button == 2)) + && event->type == GDK_BUTTON_PRESS) + { + mg_xbutton_cb (cv, ch, tag, ud); + return TRUE; + } + + if (event->button != 3) + return FALSE; + + if (tag == TAG_IRC) + mg_create_tabmenu (ud, event, ch); + else + mg_create_tabmenu (NULL, event, ch); + + return TRUE; +} + +void +mg_dnd_drop_file (session *sess, char *target, char *uri) +{ + char *p, *data, *next, *fname; + + p = data = g_strdup (uri); + while (*p) + { + next = strchr (p, '\r'); + if (g_ascii_strncasecmp ("file:", p, 5) == 0) + { + if (next) + *next = 0; + fname = g_filename_from_uri (p, NULL, NULL); + if (fname) + { + /* dcc_send() expects utf-8 */ + p = g_filename_from_utf8 (fname, -1, 0, 0, 0); + if (p) + { + dcc_send (sess, target, p, prefs.hex_dcc_max_send_cps, 0); + g_free (p); + } + g_free (fname); + } + } + if (!next) + break; + p = next + 1; + if (*p == '\n') + p++; + } + g_free (data); + +} + +static void +mg_dialog_dnd_drop (GtkWidget * widget, GdkDragContext * context, gint x, + gint y, GtkSelectionData * selection_data, guint info, + guint32 time, gpointer ud) +{ + if (current_sess->type == SESS_DIALOG) + /* sess->channel is really the nickname of dialogs */ + mg_dnd_drop_file (current_sess, current_sess->channel, (char *)gtk_selection_data_get_data (selection_data)); +} + +/* add a tabbed channel */ + +static void +mg_add_chan (session *sess) +{ + GdkPixbuf *icon; + char *name = _("<none>"); + + if (sess->channel[0]) + name = sess->channel; + + switch (sess->type) + { + case SESS_CHANNEL: + icon = pix_tree_channel; + break; + case SESS_SERVER: + icon = pix_tree_server; + break; + default: + icon = pix_tree_dialog; + } + + sess->res->tab = chanview_add (sess->gui->chanview, name, sess->server, sess, + sess->type == SESS_SERVER ? FALSE : TRUE, + TAG_IRC, icon); + if (plain_list == NULL) + mg_create_tab_colors (); + + chan_set_color (sess->res->tab, plain_list); + + if (sess->res->buffer == NULL) + { + sess->res->buffer = gtk_xtext_buffer_new (GTK_XTEXT (sess->gui->xtext)); + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.hex_stamp_text); + sess->res->user_model = userlist_create_model (sess); + } +} + +static void +mg_userlist_button (GtkWidget * box, char *label, char *cmd, + int a, int b, int c, int d) +{ + GtkWidget *wid = gtk_button_new_with_label (label); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (userlist_button_cb), cmd); + gtk_table_attach_defaults (GTK_TABLE (box), wid, a, b, c, d); + show_and_unfocus (wid); +} + +static GtkWidget * +mg_create_userlistbuttons (GtkWidget *box) +{ + struct popup *pop; + GSList *list = button_list; + int a = 0, b = 0; + GtkWidget *tab; + + tab = gtk_table_new (5, 2, FALSE); + gtk_box_pack_end (GTK_BOX (box), tab, FALSE, FALSE, 0); + + while (list) + { + pop = list->data; + if (pop->cmd[0]) + { + mg_userlist_button (tab, pop->name, pop->cmd, a, a + 1, b, b + 1); + a++; + if (a == 2) + { + a = 0; + b++; + } + } + list = list->next; + } + + return tab; +} + +static void +mg_topic_cb (GtkWidget *entry, gpointer userdata) +{ + session *sess = current_sess; + char *text; + + if (sess->channel[0] && sess->server->connected && sess->type == SESS_CHANNEL) + { + text = (char *)gtk_entry_get_text (GTK_ENTRY (entry)); + if (text[0] == 0) + text = NULL; + sess->server->p_topic (sess->server, sess->channel, text); + } else + gtk_entry_set_text (GTK_ENTRY (entry), ""); + /* restore focus to the input widget, where the next input will most +likely be */ + gtk_widget_grab_focus (sess->gui->input_box); +} + +static void +mg_tabwindow_kill_cb (GtkWidget *win, gpointer userdata) +{ + GSList *list, *next; + session *sess; + +/* puts("enter mg_tabwindow_kill_cb");*/ + hexchat_is_quitting = TRUE; + + /* see if there's any non-tab windows left */ + list = sess_list; + while (list) + { + sess = list->data; + next = list->next; + if (!sess->gui->is_tab) + { + hexchat_is_quitting = FALSE; +/* puts("-> will not exit, some toplevel windows left");*/ + } else + { + mg_ircdestroy (sess); + } + list = next; + } + + current_tab = NULL; + active_tab = NULL; + mg_gui = NULL; + parent_window = NULL; +} + +static GtkWidget * +mg_changui_destroy (session *sess) +{ + GtkWidget *ret = NULL; + + if (sess->gui->is_tab) + { + /* avoid calling the "destroy" callback */ + g_signal_handlers_disconnect_by_func (G_OBJECT (sess->gui->window), + mg_tabwindow_kill_cb, 0); + /* remove the tab from the chanview */ + if (!mg_chan_remove (sess->res->tab)) + /* if the window still exists, restore the signal handler */ + g_signal_connect (G_OBJECT (sess->gui->window), "destroy", + G_CALLBACK (mg_tabwindow_kill_cb), 0); + } else + { + /* avoid calling the "destroy" callback */ + g_signal_handlers_disconnect_by_func (G_OBJECT (sess->gui->window), + mg_topdestroy_cb, sess); + /*gtk_widget_destroy (sess->gui->window);*/ + /* don't destroy until the new one is created. Not sure why, but */ + /* it fixes: Gdk-CRITICAL **: gdk_colormap_get_screen: */ + /* assertion `GDK_IS_COLORMAP (cmap)' failed */ + ret = sess->gui->window; + g_free (sess->gui); + sess->gui = NULL; + } + return ret; +} + +static void +mg_link_irctab (session *sess, int focus) +{ + GtkWidget *win; + + if (sess->gui->is_tab) + { + win = mg_changui_destroy (sess); + mg_changui_new (sess, sess->res, 0, focus); + mg_populate (sess); + hexchat_is_quitting = FALSE; + if (win) + gtk_widget_destroy (win); + return; + } + + mg_unpopulate (sess); + win = mg_changui_destroy (sess); + mg_changui_new (sess, sess->res, 1, focus); + /* the buffer is now attached to a different widget */ + ((xtext_buffer *)sess->res->buffer)->xtext = (GtkXText *)sess->gui->xtext; + if (win) + gtk_widget_destroy (win); +} + +void +mg_detach (session *sess, int mode) +{ + switch (mode) + { + /* detach only */ + case 1: + if (sess->gui->is_tab) + mg_link_irctab (sess, 1); + break; + /* attach only */ + case 2: + if (!sess->gui->is_tab) + mg_link_irctab (sess, 1); + break; + /* toggle */ + default: + mg_link_irctab (sess, 1); + } +} + +static int +check_is_number (char *t) +{ + while (*t) + { + if (*t < '0' || *t > '9') + return FALSE; + t++; + } + return TRUE; +} + +static void +mg_change_flag (GtkWidget * wid, session *sess, char flag) +{ + server *serv = sess->server; + char mode[3]; + + mode[1] = flag; + mode[2] = '\0'; + if (serv->connected && sess->channel[0]) + { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wid))) + mode[0] = '+'; + else + mode[0] = '-'; + serv->p_mode (serv, sess->channel, mode); + serv->p_join_info (serv, sess->channel); + sess->ignore_mode = TRUE; + sess->ignore_date = TRUE; + } +} + +static void +flagl_hit (GtkWidget * wid, struct session *sess) +{ + char modes[512]; + const char *limit_str; + server *serv = sess->server; + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wid))) + { + if (serv->connected && sess->channel[0]) + { + limit_str = gtk_entry_get_text (GTK_ENTRY (sess->gui->limit_entry)); + if (check_is_number ((char *)limit_str) == FALSE) + { + fe_message (_("User limit must be a number!\n"), FE_MSG_ERROR); + gtk_entry_set_text (GTK_ENTRY (sess->gui->limit_entry), ""); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), FALSE); + return; + } + g_snprintf (modes, sizeof (modes), "+l %d", atoi (limit_str)); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } + } else + mg_change_flag (wid, sess, 'l'); +} + +static void +flagk_hit (GtkWidget * wid, struct session *sess) +{ + char modes[512]; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + g_snprintf (modes, sizeof (modes), "-k %s", + gtk_entry_get_text (GTK_ENTRY (sess->gui->key_entry))); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (wid))) + modes[0] = '+'; + + serv->p_mode (serv, sess->channel, modes); + } +} + +static void +mg_flagbutton_cb (GtkWidget *but, char *flag) +{ + session *sess; + char mode; + + if (ignore_chanmode) + return; + + sess = current_sess; + mode = tolower ((unsigned char) flag[0]); + + switch (mode) + { + case 'l': + flagl_hit (but, sess); + break; + case 'k': + flagk_hit (but, sess); + break; + case 'b': + ignore_chanmode = TRUE; + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_b), FALSE); + ignore_chanmode = FALSE; + banlist_opengui (sess); + break; + default: + mg_change_flag (but, sess, mode); + } +} + +static GtkWidget * +mg_create_flagbutton (char *tip, GtkWidget *box, char *face) +{ + GtkWidget *btn, *lbl; + char label_markup[16]; + + g_snprintf (label_markup, sizeof(label_markup), "<tt>%s</tt>", face); + lbl = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL(lbl), label_markup); + + btn = gtk_toggle_button_new (); + gtk_widget_set_size_request (btn, -1, 0); + gtk_widget_set_tooltip_text (btn, tip); + gtk_container_add (GTK_CONTAINER(btn), lbl); + + gtk_box_pack_start (GTK_BOX (box), btn, 0, 0, 0); + g_signal_connect (G_OBJECT (btn), "toggled", + G_CALLBACK (mg_flagbutton_cb), face); + show_and_unfocus (btn); + + return btn; +} + +static void +mg_key_entry_cb (GtkWidget * igad, gpointer userdata) +{ + char modes[512]; + session *sess = current_sess; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + g_snprintf (modes, sizeof (modes), "+k %s", + gtk_entry_get_text (GTK_ENTRY (igad))); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } +} + +static void +mg_limit_entry_cb (GtkWidget * igad, gpointer userdata) +{ + char modes[512]; + session *sess = current_sess; + server *serv = sess->server; + + if (serv->connected && sess->channel[0]) + { + if (check_is_number ((char *)gtk_entry_get_text (GTK_ENTRY (igad))) == FALSE) + { + gtk_entry_set_text (GTK_ENTRY (igad), ""); + fe_message (_("User limit must be a number!\n"), FE_MSG_ERROR); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_l), FALSE); + return; + } + g_snprintf (modes, sizeof(modes), "+l %d", + atoi (gtk_entry_get_text (GTK_ENTRY (igad)))); + serv->p_mode (serv, sess->channel, modes); + serv->p_join_info (serv, sess->channel); + } +} + +static void +mg_apply_entry_style (GtkWidget *entry) +{ + gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &colors[COL_BG]); + gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &colors[COL_FG]); + gtk_widget_modify_font (entry, input_style->font_desc); +} + +static void +mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box) +{ + gui->flag_c = mg_create_flagbutton (_("Filter Colors"), box, "c"); + gui->flag_n = mg_create_flagbutton (_("No outside messages"), box, "n"); + gui->flag_t = mg_create_flagbutton (_("Topic Protection"), box, "t"); + gui->flag_i = mg_create_flagbutton (_("Invite Only"), box, "i"); + gui->flag_m = mg_create_flagbutton (_("Moderated"), box, "m"); + gui->flag_b = mg_create_flagbutton (_("Ban List"), box, "b"); + + gui->flag_k = mg_create_flagbutton (_("Keyword"), box, "k"); + gui->key_entry = gtk_entry_new (); + gtk_widget_set_name (gui->key_entry, "hexchat-inputbox"); + gtk_entry_set_max_length (GTK_ENTRY (gui->key_entry), 23); + gtk_widget_set_size_request (gui->key_entry, 115, -1); + gtk_box_pack_start (GTK_BOX (box), gui->key_entry, 0, 0, 0); + g_signal_connect (G_OBJECT (gui->key_entry), "activate", + G_CALLBACK (mg_key_entry_cb), NULL); + + if (prefs.hex_gui_input_style) + mg_apply_entry_style (gui->key_entry); + + gui->flag_l = mg_create_flagbutton (_("User Limit"), box, "l"); + gui->limit_entry = gtk_entry_new (); + gtk_widget_set_name (gui->limit_entry, "hexchat-inputbox"); + gtk_entry_set_max_length (GTK_ENTRY (gui->limit_entry), 10); + gtk_widget_set_size_request (gui->limit_entry, 30, -1); + gtk_box_pack_start (GTK_BOX (box), gui->limit_entry, 0, 0, 0); + g_signal_connect (G_OBJECT (gui->limit_entry), "activate", + G_CALLBACK (mg_limit_entry_cb), NULL); + + if (prefs.hex_gui_input_style) + mg_apply_entry_style (gui->limit_entry); +} + +/*static void +mg_create_link_buttons (GtkWidget *box, gpointer userdata) +{ + gtkutil_button (box, GTK_STOCK_CLOSE, _("Close this tab/window"), + mg_x_click_cb, userdata, 0); + + if (!userdata) + gtkutil_button (box, GTK_STOCK_REDO, _("Attach/Detach this tab"), + mg_link_cb, userdata, 0); +}*/ + +static void +mg_dialog_button_cb (GtkWidget *wid, char *cmd) +{ + /* the longest cmd is 12, and the longest nickname is 64 */ + char buf[128]; + char *host = ""; + char *topic; + + if (!current_sess) + return; + + topic = (char *)(gtk_entry_get_text (GTK_ENTRY (current_sess->gui->topic_entry))); + topic = strrchr (topic, '@'); + if (topic) + host = topic + 1; + + auto_insert (buf, sizeof (buf), cmd, 0, 0, "", "", "", + server_get_network (current_sess->server, TRUE), host, "", + current_sess->channel, ""); + + handle_command (current_sess, buf, TRUE); + + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, FALSE); + gtk_widget_grab_focus (current_sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, TRUE); +} + +static void +mg_dialog_button (GtkWidget *box, char *name, char *cmd) +{ + GtkWidget *wid; + + wid = gtk_button_new_with_label (name); + gtk_box_pack_start (GTK_BOX (box), wid, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (mg_dialog_button_cb), cmd); + gtk_widget_set_size_request (wid, -1, 0); +} + +static void +mg_create_dialogbuttons (GtkWidget *box) +{ + struct popup *pop; + GSList *list = dlgbutton_list; + + while (list) + { + pop = list->data; + if (pop->cmd[0]) + mg_dialog_button (box, pop->name, pop->cmd); + list = list->next; + } +} + +static void +mg_create_topicbar (session *sess, GtkWidget *box) +{ + GtkWidget *hbox, *topic, *bbox; + session_gui *gui = sess->gui; + + gui->topic_bar = hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0); + + if (!gui->is_tab) + sess->res->tab = NULL; + + gui->topic_entry = topic = sexy_spell_entry_new (); + gtk_widget_set_name (topic, "hexchat-inputbox"); + sexy_spell_entry_set_checked (SEXY_SPELL_ENTRY (topic), FALSE); + gtk_container_add (GTK_CONTAINER (hbox), topic); + g_signal_connect (G_OBJECT (topic), "activate", + G_CALLBACK (mg_topic_cb), 0); + + if (prefs.hex_gui_input_style) + mg_apply_entry_style (topic); + + gui->topicbutton_box = bbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0); + mg_create_chanmodebuttons (gui, bbox); + + gui->dialogbutton_box = bbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), bbox, 0, 0, 0); + mg_create_dialogbuttons (bbox); +} + +/* check if a word is clickable */ + +static int +mg_word_check (GtkWidget * xtext, char *word) +{ + session *sess = current_sess; + int ret; + + ret = url_check_word (word); + if (ret == 0 && sess->type == SESS_DIALOG) + return WORD_DIALOG; + + return ret; +} + +/* mouse click inside text area */ + +static void +mg_word_clicked (GtkWidget *xtext, char *word, GdkEventButton *even) +{ + session *sess = current_sess; + int word_type = 0, start, end; + char *tmp; + + if (word) + { + word_type = mg_word_check (xtext, word); + url_last (&start, &end); + } + + if (even->button == 1) /* left button */ + { + if (word == NULL) + { + mg_focus (sess); + return; + } + + if ((even->state & 13) == prefs.hex_gui_url_mod) + { + switch (word_type) + { + case WORD_URL: + case WORD_HOST6: + case WORD_HOST: + word[end] = 0; + fe_open_url (word + start); + } + } + return; + } + + if (even->button == 2) + { + if (sess->type == SESS_DIALOG) + menu_middlemenu (sess, even); + else if (even->type == GDK_2BUTTON_PRESS) + userlist_select (sess, word); + return; + } + if (word == NULL) + return; + + switch (word_type) + { + case 0: + case WORD_PATH: + menu_middlemenu (sess, even); + break; + case WORD_URL: + case WORD_HOST6: + case WORD_HOST: + word[end] = 0; + word += start; + menu_urlmenu (even, word); + break; + case WORD_NICK: + word[end] = 0; + word += start; + menu_nickmenu (sess, even, word, FALSE); + break; + case WORD_CHANNEL: + word[end] = 0; + word += start; + menu_chanmenu (sess, even, word); + break; + case WORD_EMAIL: + word[end] = 0; + word += start; + tmp = g_strdup_printf ("mailto:%s", word + (ispunct (*word) ? 1 : 0)); + menu_urlmenu (even, tmp); + g_free (tmp); + break; + case WORD_DIALOG: + menu_nickmenu (sess, even, sess->channel, FALSE); + break; + } +} + +void +mg_update_xtext (GtkWidget *wid) +{ + GtkXText *xtext = GTK_XTEXT (wid); + + gtk_xtext_set_palette (xtext, colors); + gtk_xtext_set_max_lines (xtext, prefs.hex_text_max_lines); + gtk_xtext_set_background (xtext, channelwin_pix); + gtk_xtext_set_wordwrap (xtext, prefs.hex_text_wordwrap); + gtk_xtext_set_show_marker (xtext, prefs.hex_text_show_marker); + gtk_xtext_set_show_separator (xtext, prefs.hex_text_indent ? prefs.hex_text_show_sep : 0); + gtk_xtext_set_indent (xtext, prefs.hex_text_indent); + if (!gtk_xtext_set_font (xtext, prefs.hex_text_font)) + { + fe_message ("Failed to open any font. I'm out of here!", FE_MSG_WAIT | FE_MSG_ERROR); + exit (1); + } + + gtk_xtext_refresh (xtext); +} + +static void +mg_create_textarea (session *sess, GtkWidget *box) +{ + GtkWidget *inbox, *vbox, *frame; + GtkXText *xtext; + session_gui *gui = sess->gui; + static const GtkTargetEntry dnd_targets[] = + { + {"text/uri-list", 0, 1} + }; + static const GtkTargetEntry dnd_dest_targets[] = + { + {"HEXCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 }, + {"HEXCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (box), vbox); + inbox = gtk_hbox_new (FALSE, 2); + gtk_container_add (GTK_CONTAINER (vbox), inbox); + + frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (inbox), frame); + + gui->xtext = gtk_xtext_new (colors, TRUE); + xtext = GTK_XTEXT (gui->xtext); + gtk_xtext_set_max_indent (xtext, prefs.hex_text_max_indent); + gtk_xtext_set_thin_separator (xtext, prefs.hex_text_thin_sep); + gtk_xtext_set_urlcheck_function (xtext, mg_word_check); + gtk_xtext_set_max_lines (xtext, prefs.hex_text_max_lines); + gtk_container_add (GTK_CONTAINER (frame), GTK_WIDGET (xtext)); + + mg_update_xtext (GTK_WIDGET (xtext)); + + g_signal_connect (G_OBJECT (xtext), "word_click", + G_CALLBACK (mg_word_clicked), NULL); + + gui->vscrollbar = gtk_vscrollbar_new (GTK_XTEXT (xtext)->adj); + gtk_box_pack_start (GTK_BOX (inbox), gui->vscrollbar, FALSE, TRUE, 0); + + gtk_drag_dest_set (gui->vscrollbar, 5, dnd_dest_targets, 2, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), gui->vscrollbar); + g_signal_connect (G_OBJECT (gui->vscrollbar), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); + + gtk_drag_dest_set (gui->xtext, GTK_DEST_DEFAULT_ALL, dnd_targets, 1, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + g_signal_connect (G_OBJECT (gui->xtext), "drag_data_received", + G_CALLBACK (mg_dialog_dnd_drop), NULL); +} + +static GtkWidget * +mg_create_infoframe (GtkWidget *box) +{ + GtkWidget *frame, *label, *hbox; + + frame = gtk_frame_new (0); + gtk_frame_set_shadow_type ((GtkFrame*)frame, GTK_SHADOW_OUT); + gtk_container_add (GTK_CONTAINER (box), frame); + + hbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (frame), hbox); + + label = gtk_label_new (NULL); + gtk_container_add (GTK_CONTAINER (hbox), label); + + return label; +} + +static void +mg_create_meters (session_gui *gui, GtkWidget *parent_box) +{ + GtkWidget *infbox, *wid, *box; + + gui->meter_box = infbox = box = gtk_vbox_new (0, 1); + gtk_box_pack_start (GTK_BOX (parent_box), box, 0, 0, 0); + + if ((prefs.hex_gui_lagometer & 2) || (prefs.hex_gui_throttlemeter & 2)) + { + infbox = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (box), infbox, 0, 0, 0); + } + + if (prefs.hex_gui_lagometer & 1) + { + gui->lagometer = wid = gtk_progress_bar_new (); +#ifdef WIN32 + gtk_widget_set_size_request (wid, 1, 10); +#else + gtk_widget_set_size_request (wid, 1, 8); +#endif + + wid = gtk_event_box_new (); + gtk_container_add (GTK_CONTAINER (wid), gui->lagometer); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + if (prefs.hex_gui_lagometer & 2) + { + gui->laginfo = wid = mg_create_infoframe (infbox); + gtk_label_set_text ((GtkLabel *) wid, "Lag"); + } + + if (prefs.hex_gui_throttlemeter & 1) + { + gui->throttlemeter = wid = gtk_progress_bar_new (); +#ifdef WIN32 + gtk_widget_set_size_request (wid, 1, 10); +#else + gtk_widget_set_size_request (wid, 1, 8); +#endif + + wid = gtk_event_box_new (); + gtk_container_add (GTK_CONTAINER (wid), gui->throttlemeter); + gtk_box_pack_start (GTK_BOX (box), wid, 0, 0, 0); + } + if (prefs.hex_gui_throttlemeter & 2) + { + gui->throttleinfo = wid = mg_create_infoframe (infbox); + gtk_label_set_text ((GtkLabel *) wid, "Throttle"); + } +} + +void +mg_update_meters (session_gui *gui) +{ + gtk_widget_destroy (gui->meter_box); + gui->lagometer = NULL; + gui->laginfo = NULL; + gui->throttlemeter = NULL; + gui->throttleinfo = NULL; + + mg_create_meters (gui, gui->button_box_parent); + gtk_widget_show_all (gui->meter_box); +} + +static void +mg_create_userlist (session_gui *gui, GtkWidget *box) +{ + GtkWidget *frame, *ulist, *vbox; + + vbox = gtk_vbox_new (0, 1); + gtk_container_add (GTK_CONTAINER (box), vbox); + + frame = gtk_frame_new (NULL); + if (prefs.hex_gui_ulist_count) + gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, GUI_SPACING); + + gui->namelistinfo = gtk_label_new (NULL); + gtk_container_add (GTK_CONTAINER (frame), gui->namelistinfo); + + gui->user_tree = ulist = userlist_create (vbox); + + if (prefs.hex_gui_ulist_style) + { + gtk_widget_set_style (ulist, input_style); + gtk_widget_modify_base (ulist, GTK_STATE_NORMAL, &colors[COL_BG]); + } + + mg_create_meters (gui, vbox); + + gui->button_box_parent = vbox; + gui->button_box = mg_create_userlistbuttons (vbox); +} + +static void +mg_vpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + prefs.hex_gui_pane_divider_position = gtk_paned_get_position (pane); +} + +static void +mg_leftpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + prefs.hex_gui_pane_left_size = gtk_paned_get_position (pane); +} + +static void +mg_rightpane_cb (GtkPaned *pane, GParamSpec *param, session_gui *gui) +{ + int handle_size; + GtkAllocation allocation; + + gtk_widget_style_get (GTK_WIDGET (pane), "handle-size", &handle_size, NULL); + /* record the position from the RIGHT side */ + gtk_widget_get_allocation (GTK_WIDGET(pane), &allocation); + prefs.hex_gui_pane_right_size = allocation.width - gtk_paned_get_position (pane) - handle_size; +} + +static gboolean +mg_add_pane_signals (session_gui *gui) +{ + g_signal_connect (G_OBJECT (gui->hpane_right), "notify::position", + G_CALLBACK (mg_rightpane_cb), gui); + g_signal_connect (G_OBJECT (gui->hpane_left), "notify::position", + G_CALLBACK (mg_leftpane_cb), gui); + g_signal_connect (G_OBJECT (gui->vpane_left), "notify::position", + G_CALLBACK (mg_vpane_cb), gui); + g_signal_connect (G_OBJECT (gui->vpane_right), "notify::position", + G_CALLBACK (mg_vpane_cb), gui); + return FALSE; +} + +static void +mg_create_center (session *sess, session_gui *gui, GtkWidget *box) +{ + GtkWidget *vbox, *hbox, *book; + + /* sep between top and bottom of left side */ + gui->vpane_left = gtk_vpaned_new (); + + /* sep between top and bottom of right side */ + gui->vpane_right = gtk_vpaned_new (); + + /* sep between left and xtext */ + gui->hpane_left = gtk_hpaned_new (); + gtk_paned_set_position (GTK_PANED (gui->hpane_left), prefs.hex_gui_pane_left_size); + + /* sep between xtext and right side */ + gui->hpane_right = gtk_hpaned_new (); + + if (prefs.hex_gui_win_swap) + { + gtk_paned_pack2 (GTK_PANED (gui->hpane_left), gui->vpane_left, FALSE, TRUE); + gtk_paned_pack1 (GTK_PANED (gui->hpane_left), gui->hpane_right, TRUE, TRUE); + } + else + { + gtk_paned_pack1 (GTK_PANED (gui->hpane_left), gui->vpane_left, FALSE, TRUE); + gtk_paned_pack2 (GTK_PANED (gui->hpane_left), gui->hpane_right, TRUE, TRUE); + } + gtk_paned_pack2 (GTK_PANED (gui->hpane_right), gui->vpane_right, FALSE, TRUE); + + gtk_container_add (GTK_CONTAINER (box), gui->hpane_left); + + gui->note_book = book = gtk_notebook_new (); + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (book), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE); + gtk_paned_pack1 (GTK_PANED (gui->hpane_right), book, TRUE, TRUE); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), hbox, FALSE, TRUE); + mg_create_userlist (gui, hbox); + + gui->user_box = hbox; + + vbox = gtk_vbox_new (FALSE, 3); + gtk_notebook_append_page (GTK_NOTEBOOK (book), vbox, NULL); + mg_create_topicbar (sess, vbox); + + if (prefs.hex_gui_search_pos) + { + mg_create_search (sess, vbox); + mg_create_textarea (sess, vbox); + } + else + { + mg_create_textarea (sess, vbox); + mg_create_search (sess, vbox); + } + + mg_create_entry (sess, vbox); + + mg_add_pane_signals (gui); +} + +static void +mg_change_nick (int cancel, char *text, gpointer userdata) +{ + char buf[256]; + + if (!cancel) + { + g_snprintf (buf, sizeof (buf), "nick %s", text); + handle_command (current_sess, buf, FALSE); + } +} + +static void +mg_nickclick_cb (GtkWidget *button, gpointer userdata) +{ + fe_get_str (_("Enter new nickname:"), current_sess->server->nick, + mg_change_nick, (void *) 1); +} + +/* make sure chanview and userlist positions are sane */ + +static void +mg_sanitize_positions (int *cv, int *ul) +{ + if (prefs.hex_gui_tab_layout == 2) + { + /* treeview can't be on TOP or BOTTOM */ + if (*cv == POS_TOP || *cv == POS_BOTTOM) + *cv = POS_TOPLEFT; + } + + /* userlist can't be on TOP or BOTTOM */ + if (*ul == POS_TOP || *ul == POS_BOTTOM) + *ul = POS_TOPRIGHT; + + /* can't have both in the same place */ + if (*cv == *ul) + { + *cv = POS_TOPRIGHT; + if (*ul == POS_TOPRIGHT) + *cv = POS_BOTTOMRIGHT; + } +} + +static void +mg_place_userlist_and_chanview_real (session_gui *gui, GtkWidget *userlist, GtkWidget *chanview) +{ + int unref_userlist = FALSE; + int unref_chanview = FALSE; + + /* first, remove userlist/treeview from their containers */ + if (userlist && gtk_widget_get_parent (userlist)) + { + g_object_ref (userlist); + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (userlist)), userlist); + unref_userlist = TRUE; + } + + if (chanview && gtk_widget_get_parent (chanview)) + { + g_object_ref (chanview); + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (chanview)), chanview); + unref_chanview = TRUE; + } + + if (chanview) + { + /* incase the previous pos was POS_HIDDEN */ + gtk_widget_show (chanview); + + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, 0); + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 2); + + /* then place them back in their new positions */ + switch (prefs.hex_gui_tab_pos) + { + case POS_TOPLEFT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_left), chanview, FALSE, TRUE); + break; + case POS_BOTTOMLEFT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_left), chanview, FALSE, TRUE); + break; + case POS_TOPRIGHT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE); + break; + case POS_BOTTOMRIGHT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_right), chanview, FALSE, TRUE); + break; + case POS_TOP: + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 1, GUI_SPACING-1); + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); + break; + case POS_HIDDEN: + gtk_widget_hide (chanview); + /* always attach it to something to avoid ref_count=0 */ + if (prefs.hex_gui_ulist_pos == POS_TOP) + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0); + + else + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); + break; + default:/* POS_BOTTOM */ + gtk_table_set_row_spacing (GTK_TABLE (gui->main_table), 2, 3); + gtk_table_attach (GTK_TABLE (gui->main_table), chanview, + 1, 2, 3, 4, GTK_FILL, GTK_FILL, 0, 0); + } + } + + if (userlist) + { + switch (prefs.hex_gui_ulist_pos) + { + case POS_TOPLEFT: + gtk_paned_pack1 (GTK_PANED (gui->vpane_left), userlist, FALSE, TRUE); + break; + case POS_BOTTOMLEFT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_left), userlist, FALSE, TRUE); + break; + case POS_BOTTOMRIGHT: + gtk_paned_pack2 (GTK_PANED (gui->vpane_right), userlist, FALSE, TRUE); + break; + /*case POS_HIDDEN: + break;*/ /* Hide using the VIEW menu instead */ + default:/* POS_TOPRIGHT */ + gtk_paned_pack1 (GTK_PANED (gui->vpane_right), userlist, FALSE, TRUE); + } + } + + if (mg_is_userlist_and_tree_combined () && prefs.hex_gui_pane_divider_position != 0) + { + gtk_paned_set_position (GTK_PANED (gui->vpane_left), prefs.hex_gui_pane_divider_position); + gtk_paned_set_position (GTK_PANED (gui->vpane_right), prefs.hex_gui_pane_divider_position); + } + + if (unref_chanview) + g_object_unref (chanview); + if (unref_userlist) + g_object_unref (userlist); + + mg_hide_empty_boxes (gui); +} + +static void +mg_place_userlist_and_chanview (session_gui *gui) +{ + GtkOrientation orientation; + GtkWidget *chanviewbox = NULL; + int pos; + + mg_sanitize_positions (&prefs.hex_gui_tab_pos, &prefs.hex_gui_ulist_pos); + + if (gui->chanview) + { + pos = prefs.hex_gui_tab_pos; + + orientation = chanview_get_orientation (gui->chanview); + if ((pos == POS_BOTTOM || pos == POS_TOP) && orientation == GTK_ORIENTATION_VERTICAL) + chanview_set_orientation (gui->chanview, FALSE); + else if ((pos == POS_TOPLEFT || pos == POS_BOTTOMLEFT || pos == POS_TOPRIGHT || pos == POS_BOTTOMRIGHT) && orientation == GTK_ORIENTATION_HORIZONTAL) + chanview_set_orientation (gui->chanview, TRUE); + chanviewbox = chanview_get_box (gui->chanview); + } + + mg_place_userlist_and_chanview_real (gui, gui->user_box, chanviewbox); +} + +void +mg_change_layout (int type) +{ + if (mg_gui) + { + /* put tabs at the bottom */ + if (type == 0 && prefs.hex_gui_tab_pos != POS_BOTTOM && prefs.hex_gui_tab_pos != POS_TOP) + prefs.hex_gui_tab_pos = POS_BOTTOM; + + mg_place_userlist_and_chanview (mg_gui); + chanview_set_impl (mg_gui->chanview, type); + } +} + +static void +mg_inputbox_rightclick (GtkEntry *entry, GtkWidget *menu) +{ + mg_create_color_menu (menu, NULL); +} + +/* Search bar adapted from Conspire's by William Pitcock */ + +#define SEARCH_CHANGE 1 +#define SEARCH_NEXT 2 +#define SEARCH_PREVIOUS 3 +#define SEARCH_REFRESH 4 + +static void +search_handle_event(int search_type, session *sess) +{ + textentry *last; + const gchar *text = NULL; + gtk_xtext_search_flags flags; + GError *err = NULL; + gboolean backwards = FALSE; + + /* When just typing show most recent first */ + if (search_type == SEARCH_PREVIOUS || search_type == SEARCH_CHANGE) + backwards = TRUE; + + flags = ((prefs.hex_text_search_case_match == 1? case_match: 0) | + (backwards? backward: 0) | + (prefs.hex_text_search_highlight_all == 1? highlight: 0) | + (prefs.hex_text_search_follow == 1? follow: 0) | + (prefs.hex_text_search_regexp == 1? regexp: 0)); + + if (search_type != SEARCH_REFRESH) + text = gtk_entry_get_text (GTK_ENTRY(sess->gui->shentry)); + last = gtk_xtext_search (GTK_XTEXT (sess->gui->xtext), text, flags, &err); + + if (err) + { + gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); + gtk_entry_set_icon_tooltip_text (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, _(err->message)); + g_error_free (err); + } + else if (!last) + { + if (text && text[0] == 0) /* empty string, no error */ + { + gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, NULL); + } + else + { + /* Either end of search or not found, try again to wrap if only end */ + last = gtk_xtext_search (GTK_XTEXT (sess->gui->xtext), text, flags, &err); + if (!last) /* Not found error */ + { + gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); + gtk_entry_set_icon_tooltip_text (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, _("No results found.")); + } + } + } + else + { + gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, NULL); + } +} + +static void +search_handle_change(GtkWidget *wid, session *sess) +{ + search_handle_event(SEARCH_CHANGE, sess); +} + +static void +search_handle_refresh(GtkWidget *wid, session *sess) +{ + search_handle_event(SEARCH_REFRESH, sess); +} + +void +mg_search_handle_previous(GtkWidget *wid, session *sess) +{ + search_handle_event(SEARCH_PREVIOUS, sess); +} + +void +mg_search_handle_next(GtkWidget *wid, session *sess) +{ + search_handle_event(SEARCH_NEXT, sess); +} + +static void +search_set_option (GtkToggleButton *but, guint *pref) +{ + *pref = gtk_toggle_button_get_active(but); + save_config(); +} + +void +mg_search_toggle(session *sess) +{ + if (gtk_widget_get_visible(sess->gui->shbox)) + { + gtk_widget_hide(sess->gui->shbox); + gtk_widget_grab_focus(sess->gui->input_box); + gtk_entry_set_text(GTK_ENTRY(sess->gui->shentry), ""); + } + else + { + /* Reset search state */ + gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, NULL); + + /* Show and focus */ + gtk_widget_show(sess->gui->shbox); + gtk_widget_grab_focus(sess->gui->shentry); + } +} + +static gboolean +search_handle_esc (GtkWidget *win, GdkEventKey *key, session *sess) +{ + if (key->keyval == GDK_KEY_Escape) + mg_search_toggle(sess); + + return FALSE; +} + +static void +mg_create_search(session *sess, GtkWidget *box) +{ + GtkWidget *entry, *label, *next, *previous, *highlight, *matchcase, *regex, *close; + session_gui *gui = sess->gui; + + gui->shbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(box), gui->shbox, FALSE, FALSE, 0); + + close = gtk_button_new (); + gtk_button_set_image (GTK_BUTTON (close), gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU)); + gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE); + gtk_widget_set_can_focus (close, FALSE); + gtk_box_pack_start(GTK_BOX(gui->shbox), close, FALSE, FALSE, 0); + g_signal_connect_swapped(G_OBJECT(close), "clicked", G_CALLBACK(mg_search_toggle), sess); + + label = gtk_label_new(_("Find:")); + gtk_box_pack_start(GTK_BOX(gui->shbox), label, FALSE, FALSE, 0); + + gui->shentry = entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(gui->shbox), entry, FALSE, FALSE, 0); + gtk_widget_set_size_request (gui->shentry, 180, -1); + gui->search_changed_signal = g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(search_handle_change), sess); + g_signal_connect (G_OBJECT (entry), "key_press_event", G_CALLBACK (search_handle_esc), sess); + g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(mg_search_handle_next), sess); + gtk_entry_set_icon_activatable (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, FALSE); + gtk_entry_set_icon_tooltip_text (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, _("Search hit end or not found.")); + + previous = gtk_button_new (); + gtk_button_set_image (GTK_BUTTON (previous), gtk_image_new_from_stock (GTK_STOCK_GO_BACK, GTK_ICON_SIZE_MENU)); + gtk_button_set_relief(GTK_BUTTON(previous), GTK_RELIEF_NONE); + gtk_widget_set_can_focus (previous, FALSE); + gtk_box_pack_start(GTK_BOX(gui->shbox), previous, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(previous), "clicked", G_CALLBACK(mg_search_handle_previous), sess); + + next = gtk_button_new (); + gtk_button_set_image (GTK_BUTTON (next), gtk_image_new_from_stock (GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_MENU)); + gtk_button_set_relief(GTK_BUTTON(next), GTK_RELIEF_NONE); + gtk_widget_set_can_focus (next, FALSE); + gtk_box_pack_start(GTK_BOX(gui->shbox), next, FALSE, FALSE, 0); + g_signal_connect(G_OBJECT(next), "clicked", G_CALLBACK(mg_search_handle_next), sess); + + highlight = gtk_check_button_new_with_mnemonic (_("_Highlight all")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(highlight), prefs.hex_text_search_highlight_all); + gtk_widget_set_can_focus (highlight, FALSE); + g_signal_connect (G_OBJECT (highlight), "toggled", G_CALLBACK (search_set_option), &prefs.hex_text_search_highlight_all); + g_signal_connect (G_OBJECT (highlight), "toggled", G_CALLBACK (search_handle_refresh), sess); + gtk_box_pack_start(GTK_BOX(gui->shbox), highlight, FALSE, FALSE, 0); + gtk_widget_set_tooltip_text (highlight, _("Highlight all occurrences, and underline the current occurrence.")); + + matchcase = gtk_check_button_new_with_mnemonic (_("Mat_ch case")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(matchcase), prefs.hex_text_search_case_match); + gtk_widget_set_can_focus (matchcase, FALSE); + g_signal_connect (G_OBJECT (matchcase), "toggled", G_CALLBACK (search_set_option), &prefs.hex_text_search_case_match); + gtk_box_pack_start(GTK_BOX(gui->shbox), matchcase, FALSE, FALSE, 0); + gtk_widget_set_tooltip_text (matchcase, _("Perform a case-sensitive search.")); + + regex = gtk_check_button_new_with_mnemonic (_("_Regex")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(regex), prefs.hex_text_search_regexp); + gtk_widget_set_can_focus (regex, FALSE); + g_signal_connect (G_OBJECT (regex), "toggled", G_CALLBACK (search_set_option), &prefs.hex_text_search_regexp); + gtk_box_pack_start(GTK_BOX(gui->shbox), regex, FALSE, FALSE, 0); + gtk_widget_set_tooltip_text (regex, _("Regard search string as a regular expression.")); +} + +static void +mg_create_entry (session *sess, GtkWidget *box) +{ + GtkWidget *hbox, *but, *entry; + session_gui *gui = sess->gui; + + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (box), hbox, 0, 0, 0); + + gui->nick_box = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), gui->nick_box, 0, 0, 0); + + gui->nick_label = but = gtk_button_new_with_label (sess->server->nick); + gtk_button_set_relief (GTK_BUTTON (but), GTK_RELIEF_NONE); + gtk_widget_set_can_focus (but, FALSE); + gtk_box_pack_end (GTK_BOX (gui->nick_box), but, 0, 0, 0); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (mg_nickclick_cb), NULL); + + gui->input_box = entry = sexy_spell_entry_new (); + sexy_spell_entry_set_checked ((SexySpellEntry *)entry, prefs.hex_gui_input_spell); + sexy_spell_entry_set_parse_attributes ((SexySpellEntry *)entry, prefs.hex_gui_input_attr); + + gtk_entry_set_max_length (GTK_ENTRY (gui->input_box), 0); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (mg_inputbox_cb), gui); + gtk_container_add (GTK_CONTAINER (hbox), entry); + + gtk_widget_set_name (entry, "hexchat-inputbox"); + g_signal_connect (G_OBJECT (entry), "key_press_event", + G_CALLBACK (key_handle_key_press), NULL); + g_signal_connect (G_OBJECT (entry), "focus_in_event", + G_CALLBACK (mg_inputbox_focus), gui); + g_signal_connect (G_OBJECT (entry), "populate_popup", + G_CALLBACK (mg_inputbox_rightclick), NULL); + g_signal_connect (G_OBJECT (entry), "word-check", + G_CALLBACK (mg_spellcheck_cb), NULL); + gtk_widget_grab_focus (entry); + + if (prefs.hex_gui_input_style) + mg_apply_entry_style (entry); +} + +static void +mg_switch_tab_cb (chanview *cv, chan *ch, int tag, gpointer ud) +{ + chan *old; + session *sess = ud; + + old = active_tab; + active_tab = ch; + + if (tag == TAG_IRC) + { + if (active_tab != old) + { + if (old && current_tab) + mg_unpopulate (current_tab); + mg_populate (sess); + } + } else if (old != active_tab) + { + /* userdata for non-irc tabs is actually the GtkBox */ + mg_show_generic_tab (ud); + if (!mg_is_userlist_and_tree_combined ()) + mg_userlist_showhide (current_sess, FALSE); /* hide */ + } +} + +/* compare two tabs (for tab sorting function) */ + +static int +mg_tabs_compare (session *a, session *b) +{ + /* server tabs always go first */ + if (a->type == SESS_SERVER) + return -1; + + /* then channels */ + if (a->type == SESS_CHANNEL && b->type != SESS_CHANNEL) + return -1; + if (a->type != SESS_CHANNEL && b->type == SESS_CHANNEL) + return 1; + + return g_ascii_strcasecmp (a->channel, b->channel); +} + +static void +mg_create_tabs (session_gui *gui) +{ + gboolean use_icons = FALSE; + + /* if any one of these PNGs exist, the chanview will create + * the extra column for icons. */ + if (prefs.hex_gui_tab_icons && (pix_tree_channel || pix_tree_dialog || pix_tree_server || pix_tree_util)) + { + use_icons = TRUE; + } + + gui->chanview = chanview_new (prefs.hex_gui_tab_layout, prefs.hex_gui_tab_trunc, + prefs.hex_gui_tab_sort, use_icons, + prefs.hex_gui_ulist_style ? input_style : NULL); + chanview_set_callbacks (gui->chanview, mg_switch_tab_cb, mg_xbutton_cb, + mg_tab_contextmenu_cb, (void *)mg_tabs_compare); + mg_place_userlist_and_chanview (gui); +} + +static gboolean +mg_tabwin_focus_cb (GtkWindow * win, GdkEventFocus *event, gpointer userdata) +{ + current_sess = current_tab; + if (current_sess) + { + gtk_xtext_check_marker_visibility (GTK_XTEXT (current_sess->gui->xtext)); + plugin_emit_dummy_print (current_sess, "Focus Window"); + } + unflash_window (GTK_WIDGET (win)); + return FALSE; +} + +static gboolean +mg_topwin_focus_cb (GtkWindow * win, GdkEventFocus *event, session *sess) +{ + current_sess = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + gtk_xtext_check_marker_visibility(GTK_XTEXT (current_sess->gui->xtext)); + unflash_window (GTK_WIDGET (win)); + plugin_emit_dummy_print (sess, "Focus Window"); + return FALSE; +} + +static void +mg_create_menu (session_gui *gui, GtkWidget *table, int away_state) +{ + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new (); + gtk_window_add_accel_group (GTK_WINDOW (gtk_widget_get_toplevel (table)), + accel_group); + g_object_unref (accel_group); + + gui->menu = menu_create_main (accel_group, TRUE, away_state, !gui->is_tab, + gui->menu_item); + gtk_table_attach (GTK_TABLE (table), gui->menu, 0, 3, 0, 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static void +mg_create_irctab (session *sess, GtkWidget *table) +{ + GtkWidget *vbox; + session_gui *gui = sess->gui; + + vbox = gtk_vbox_new (FALSE, 0); + gtk_table_attach (GTK_TABLE (table), vbox, 1, 2, 2, 3, + GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + mg_create_center (sess, gui, vbox); +} + +static void +mg_create_topwindow (session *sess) +{ + GtkWidget *win; + GtkWidget *table; + + if (sess->type == SESS_DIALOG) + win = gtkutil_window_new ("HexChat", NULL, + prefs.hex_gui_dialog_width, prefs.hex_gui_dialog_height, 0); + else + win = gtkutil_window_new ("HexChat", NULL, + prefs.hex_gui_win_width, + prefs.hex_gui_win_height, 0); + sess->gui->window = win; + gtk_container_set_border_width (GTK_CONTAINER (win), GUI_BORDER); + gtk_window_set_opacity (GTK_WINDOW (win), (prefs.hex_gui_transparency / 255.)); + + g_signal_connect (G_OBJECT (win), "focus_in_event", + G_CALLBACK (mg_topwin_focus_cb), sess); + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (mg_topdestroy_cb), sess); + g_signal_connect (G_OBJECT (win), "configure_event", + G_CALLBACK (mg_configure_cb), sess); + + palette_alloc (win); + + table = gtk_table_new (4, 3, FALSE); + /* spacing under the menubar */ + gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING); + /* left and right borders */ + gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1); + gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1); + gtk_container_add (GTK_CONTAINER (win), table); + + mg_create_irctab (sess, table); + mg_create_menu (sess->gui, table, sess->server->is_away); + + if (sess->res->buffer == NULL) + { + sess->res->buffer = gtk_xtext_buffer_new (GTK_XTEXT (sess->gui->xtext)); + gtk_xtext_buffer_show (GTK_XTEXT (sess->gui->xtext), sess->res->buffer, TRUE); + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.hex_stamp_text); + sess->res->user_model = userlist_create_model (sess); + } + + userlist_show (sess); + + gtk_widget_show_all (table); + + if (prefs.hex_gui_hide_menu) + gtk_widget_hide (sess->gui->menu); + + /* Will be shown when needed */ + gtk_widget_hide (sess->gui->topic_bar); + + if (!prefs.hex_gui_ulist_buttons) + gtk_widget_hide (sess->gui->button_box); + + if (!prefs.hex_gui_input_nick) + gtk_widget_hide (sess->gui->nick_box); + + gtk_widget_hide(sess->gui->shbox); + + mg_decide_userlist (sess, FALSE); + + if (sess->type == SESS_DIALOG) + { + /* hide the chan-mode buttons */ + gtk_widget_hide (sess->gui->topicbutton_box); + } else + { + gtk_widget_hide (sess->gui->dialogbutton_box); + + if (!prefs.hex_gui_mode_buttons) + gtk_widget_hide (sess->gui->topicbutton_box); + } + + mg_place_userlist_and_chanview (sess->gui); + + gtk_widget_show (win); +} + +static gboolean +mg_tabwindow_de_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) +{ + GSList *list; + session *sess; + GtkWindow *win = GTK_WINDOW(gtk_widget_get_toplevel (widget)); + + if (prefs.hex_gui_tray_close && gtkutil_tray_icon_supported (win) && tray_toggle_visibility (FALSE)) + return TRUE; + + /* check for remaining toplevel windows */ + list = sess_list; + while (list) + { + sess = list->data; + if (!sess->gui->is_tab) + return FALSE; + list = list->next; + } + + mg_open_quit_dialog (TRUE); + return TRUE; +} + +#ifdef G_OS_WIN32 +static GdkFilterReturn +mg_time_change (GdkXEvent *xevent, GdkEvent *event, gpointer data) +{ + MSG *msg = (MSG*)xevent; + + if (msg->message == WM_TIMECHANGE) + { + _tzset(); + } + + return GDK_FILTER_CONTINUE; +} +#endif + +static void +mg_create_tabwindow (session *sess) +{ + GtkWidget *win; + GtkWidget *table; +#ifdef G_OS_WIN32 + GdkWindow *parent_win; +#endif + + win = gtkutil_window_new ("HexChat", NULL, prefs.hex_gui_win_width, + prefs.hex_gui_win_height, 0); + sess->gui->window = win; + gtk_window_move (GTK_WINDOW (win), prefs.hex_gui_win_left, + prefs.hex_gui_win_top); + if (prefs.hex_gui_win_state) + gtk_window_maximize (GTK_WINDOW (win)); + if (prefs.hex_gui_win_fullscreen) + gtk_window_fullscreen (GTK_WINDOW (win)); + gtk_window_set_opacity (GTK_WINDOW (win), (prefs.hex_gui_transparency / 255.)); + gtk_container_set_border_width (GTK_CONTAINER (win), GUI_BORDER); + + g_signal_connect (G_OBJECT (win), "delete_event", + G_CALLBACK (mg_tabwindow_de_cb), 0); + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (mg_tabwindow_kill_cb), 0); + g_signal_connect (G_OBJECT (win), "focus_in_event", + G_CALLBACK (mg_tabwin_focus_cb), NULL); + g_signal_connect (G_OBJECT (win), "configure_event", + G_CALLBACK (mg_configure_cb), NULL); + g_signal_connect (G_OBJECT (win), "window_state_event", + G_CALLBACK (mg_windowstate_cb), NULL); + + palette_alloc (win); + + sess->gui->main_table = table = gtk_table_new (4, 3, FALSE); + /* spacing under the menubar */ + gtk_table_set_row_spacing (GTK_TABLE (table), 0, GUI_SPACING); + /* left and right borders */ + gtk_table_set_col_spacing (GTK_TABLE (table), 0, 1); + gtk_table_set_col_spacing (GTK_TABLE (table), 1, 1); + gtk_container_add (GTK_CONTAINER (win), table); + + mg_create_irctab (sess, table); + mg_create_tabs (sess->gui); + mg_create_menu (sess->gui, table, sess->server->is_away); + + mg_focus (sess); + + gtk_widget_show_all (table); + + if (prefs.hex_gui_hide_menu) + gtk_widget_hide (sess->gui->menu); + + mg_decide_userlist (sess, FALSE); + + /* Will be shown when needed */ + gtk_widget_hide (sess->gui->topic_bar); + + if (!prefs.hex_gui_mode_buttons) + gtk_widget_hide (sess->gui->topicbutton_box); + + if (!prefs.hex_gui_ulist_buttons) + gtk_widget_hide (sess->gui->button_box); + + if (!prefs.hex_gui_input_nick) + gtk_widget_hide (sess->gui->nick_box); + + gtk_widget_hide (sess->gui->shbox); + + mg_place_userlist_and_chanview (sess->gui); + + gtk_widget_show (win); + +#ifdef G_OS_WIN32 + parent_win = gtk_widget_get_window (win); + gdk_window_add_filter (parent_win, mg_time_change, NULL); +#endif +} + +void +mg_apply_setup (void) +{ + GSList *list = sess_list; + session *sess; + int done_main = FALSE; + + mg_create_tab_colors (); + + while (list) + { + sess = list->data; + gtk_xtext_set_time_stamp (sess->res->buffer, prefs.hex_stamp_text); + ((xtext_buffer *)sess->res->buffer)->needs_recalc = TRUE; + if (!sess->gui->is_tab || !done_main) + mg_place_userlist_and_chanview (sess->gui); + if (sess->gui->is_tab) + done_main = TRUE; + list = list->next; + } +} + +static chan * +mg_add_generic_tab (char *name, char *title, void *family, GtkWidget *box) +{ + chan *ch; + + gtk_notebook_append_page (GTK_NOTEBOOK (mg_gui->note_book), box, NULL); + gtk_widget_show (box); + + ch = chanview_add (mg_gui->chanview, name, NULL, box, TRUE, TAG_UTIL, pix_tree_util); + chan_set_color (ch, plain_list); + + g_object_set_data_full (G_OBJECT (box), "title", g_strdup (title), g_free); + g_object_set_data (G_OBJECT (box), "ch", ch); + + if (prefs.hex_gui_tab_newtofront) + chan_focus (ch); + + return ch; +} + +void +fe_buttons_update (session *sess) +{ + session_gui *gui = sess->gui; + + gtk_widget_destroy (gui->button_box); + gui->button_box = mg_create_userlistbuttons (gui->button_box_parent); + + if (prefs.hex_gui_ulist_buttons) + gtk_widget_show (sess->gui->button_box); + else + gtk_widget_hide (sess->gui->button_box); +} + +void +fe_clear_channel (session *sess) +{ + char tbuf[CHANLEN+6]; + session_gui *gui = sess->gui; + + if (sess->gui->is_tab) + { + if (sess->waitchannel[0]) + { + if (prefs.hex_gui_tab_trunc > 2 && g_utf8_strlen (sess->waitchannel, -1) > prefs.hex_gui_tab_trunc) + { + /* truncate long channel names */ + tbuf[0] = '('; + strcpy (tbuf + 1, sess->waitchannel); + g_utf8_offset_to_pointer(tbuf, prefs.hex_gui_tab_trunc)[0] = 0; + strcat (tbuf, "..)"); + } else + { + sprintf (tbuf, "(%s)", sess->waitchannel); + } + } + else + strcpy (tbuf, _("<none>")); + chan_rename (sess->res->tab, tbuf, prefs.hex_gui_tab_trunc); + } + + if (!sess->gui->is_tab || sess == current_tab) + { + gtk_entry_set_text (GTK_ENTRY (gui->topic_entry), ""); + + if (gui->op_xpm) + { + gtk_widget_destroy (gui->op_xpm); + gui->op_xpm = 0; + } + } else + { + if (sess->res->topic_text) + { + g_free (sess->res->topic_text); + sess->res->topic_text = NULL; + } + } +} + +void +fe_set_nonchannel (session *sess, int state) +{ +} + +void +fe_dlgbuttons_update (session *sess) +{ + GtkWidget *box; + session_gui *gui = sess->gui; + + gtk_widget_destroy (gui->dialogbutton_box); + + gui->dialogbutton_box = box = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (gui->topic_bar), box, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (gui->topic_bar), box, 3); + mg_create_dialogbuttons (box); + + gtk_widget_show_all (box); + + if (current_tab && current_tab->type != SESS_DIALOG) + gtk_widget_hide (current_tab->gui->dialogbutton_box); +} + +void +fe_update_mode_buttons (session *sess, char mode, char sign) +{ + int state, i; + + if (sign == '+') + state = TRUE; + else + state = FALSE; + + for (i = 0; i < NUM_FLAG_WIDS - 1; i++) + { + if (chan_flags[i] == mode) + { + if (!sess->gui->is_tab || sess == current_tab) + { + ignore_chanmode = TRUE; + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i])) != state) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sess->gui->flag_wid[i]), state); + ignore_chanmode = FALSE; + } else + { + sess->res->flag_wid_state[i] = state; + } + return; + } + } +} + +void +fe_set_nick (server *serv, char *newnick) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (current_tab == sess || !sess->gui->is_tab) + gtk_button_set_label (GTK_BUTTON (sess->gui->nick_label), newnick); + } + list = list->next; + } +} + +void +fe_set_away (server *serv) +{ + GSList *list = sess_list; + session *sess; + + while (list) + { + sess = list->data; + if (sess->server == serv) + { + if (!sess->gui->is_tab || sess == current_tab) + { + menu_set_away (sess->gui, serv->is_away); + /* gray out my nickname */ + mg_set_myself_away (sess->gui, serv->is_away); + } + } + list = list->next; + } +} + +void +fe_set_channel (session *sess) +{ + if (sess->res->tab != NULL) + chan_rename (sess->res->tab, sess->channel, prefs.hex_gui_tab_trunc); +} + +void +mg_changui_new (session *sess, restore_gui *res, int tab, int focus) +{ + int first_run = FALSE; + session_gui *gui; + + if (res == NULL) + { + res = g_new0 (restore_gui, 1); + } + + sess->res = res; + + if (sess->server->front_session == NULL) + { + sess->server->front_session = sess; + } + + if (!tab) + { + gui = g_new0 (session_gui, 1); + gui->is_tab = FALSE; + sess->gui = gui; + mg_create_topwindow (sess); + fe_set_title (sess); + return; + } + + if (mg_gui == NULL) + { + first_run = TRUE; + gui = &static_mg_gui; + memset (gui, 0, sizeof (session_gui)); + gui->is_tab = TRUE; + sess->gui = gui; + mg_create_tabwindow (sess); + mg_gui = gui; + parent_window = gui->window; + } else + { + sess->gui = gui = mg_gui; + gui->is_tab = TRUE; + } + + mg_add_chan (sess); + + if (first_run || (prefs.hex_gui_tab_newtofront == FOCUS_NEW_ONLY_ASKED && focus) + || prefs.hex_gui_tab_newtofront == FOCUS_NEW_ALL ) + chan_focus (res->tab); +} + +GtkWidget * +mg_create_generic_tab (char *name, char *title, int force_toplevel, + int link_buttons, + void *close_callback, void *userdata, + int width, int height, GtkWidget **vbox_ret, + void *family) +{ + GtkWidget *vbox, *win; + + if (prefs.hex_gui_tab_pos == POS_HIDDEN && prefs.hex_gui_tab_utils) + prefs.hex_gui_tab_utils = 0; + + if (force_toplevel || !prefs.hex_gui_tab_utils) + { + win = gtkutil_window_new (title, name, width, height, 2); + vbox = gtk_vbox_new (0, 0); + *vbox_ret = vbox; + gtk_container_add (GTK_CONTAINER (win), vbox); + gtk_widget_show (vbox); + if (close_callback) + g_signal_connect (G_OBJECT (win), "destroy", + G_CALLBACK (close_callback), userdata); + return win; + } + + vbox = gtk_vbox_new (0, 2); + g_object_set_data (G_OBJECT (vbox), "w", GINT_TO_POINTER (width)); + g_object_set_data (G_OBJECT (vbox), "h", GINT_TO_POINTER (height)); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); + *vbox_ret = vbox; + + if (close_callback) + g_signal_connect (G_OBJECT (vbox), "destroy", + G_CALLBACK (close_callback), userdata); + + mg_add_generic_tab (name, title, family, vbox); + +/* if (link_buttons) + { + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, 0, 0, 0); + mg_create_link_buttons (hbox, ch); + gtk_widget_show (hbox); + }*/ + + return vbox; +} + +void +mg_move_tab (session *sess, int delta) +{ + if (sess->gui->is_tab) + chan_move (sess->res->tab, delta); +} + +void +mg_move_tab_family (session *sess, int delta) +{ + if (sess->gui->is_tab) + chan_move_family (sess->res->tab, delta); +} + +void +mg_set_title (GtkWidget *vbox, char *title) /* for non-irc tab/window only */ +{ + char *old; + + old = g_object_get_data (G_OBJECT (vbox), "title"); + if (old) + { + g_object_set_data_full (G_OBJECT (vbox), "title", g_strdup (title), g_free); + } else + { + gtk_window_set_title (GTK_WINDOW (vbox), title); + } +} + +void +fe_server_callback (server *serv) +{ + joind_close (serv); + + if (serv->gui->chanlist_window) + mg_close_gen (NULL, serv->gui->chanlist_window); + + if (serv->gui->rawlog_window) + mg_close_gen (NULL, serv->gui->rawlog_window); + + g_free (serv->gui); +} + +/* called when a session is being killed */ + +void +fe_session_callback (session *sess) +{ + gtk_xtext_buffer_free (sess->res->buffer); + g_object_unref (G_OBJECT (sess->res->user_model)); + + if (sess->res->banlist && sess->res->banlist->window) + mg_close_gen (NULL, sess->res->banlist->window); + + g_free (sess->res->input_text); + g_free (sess->res->topic_text); + g_free (sess->res->limit_text); + g_free (sess->res->key_text); + g_free (sess->res->queue_text); + g_free (sess->res->queue_tip); + g_free (sess->res->lag_text); + g_free (sess->res->lag_tip); + + if (sess->gui->bartag) + fe_timeout_remove (sess->gui->bartag); + + if (sess->gui != &static_mg_gui) + g_free (sess->gui); + g_free (sess->res); +} + +/* ===== DRAG AND DROP STUFF ===== */ + +static gboolean +is_child_of (GtkWidget *widget, GtkWidget *parent) +{ + while (widget) + { + if (gtk_widget_get_parent (widget) == parent) + return TRUE; + widget = gtk_widget_get_parent (widget); + } + return FALSE; +} + +static void +mg_handle_drop (GtkWidget *widget, int y, int *pos, int *other_pos) +{ + int height; + session_gui *gui = current_sess->gui; + + height = gdk_window_get_height (gtk_widget_get_window (widget)); + + if (y < height / 2) + { + if (is_child_of (widget, gui->vpane_left)) + *pos = 1; /* top left */ + else + *pos = 3; /* top right */ + } + else + { + if (is_child_of (widget, gui->vpane_left)) + *pos = 2; /* bottom left */ + else + *pos = 4; /* bottom right */ + } + + /* both in the same pos? must move one */ + if (*pos == *other_pos) + { + switch (*other_pos) + { + case 1: + *other_pos = 2; + break; + case 2: + *other_pos = 1; + break; + case 3: + *other_pos = 4; + break; + case 4: + *other_pos = 3; + break; + } + } + + mg_place_userlist_and_chanview (gui); +} + +static gboolean +mg_is_gui_target (GdkDragContext *context) +{ + char *target_name; + + if (!context || !gdk_drag_context_list_targets (context) || !gdk_drag_context_list_targets (context)->data) + return FALSE; + + target_name = gdk_atom_name (gdk_drag_context_list_targets (context)->data); + if (target_name) + { + /* if it's not HEXCHAT_CHANVIEW or HEXCHAT_USERLIST */ + /* we should ignore it. */ + if (target_name[0] != 'H') + { + g_free (target_name); + return FALSE; + } + g_free (target_name); + } + + return TRUE; +} + +/* this begin callback just creates an nice of the source */ + +gboolean +mg_drag_begin_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata) +{ + int width, height; + GdkColormap *cmap; + GdkPixbuf *pix, *pix2; + + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + cmap = gtk_widget_get_colormap (widget); + width = gdk_window_get_width (gtk_widget_get_window (widget)); + height = gdk_window_get_height (gtk_widget_get_window (widget)); + + pix = gdk_pixbuf_get_from_drawable (NULL, gtk_widget_get_window (widget), cmap, 0, 0, 0, 0, width, height); + pix2 = gdk_pixbuf_scale_simple (pix, width * 4 / 5, height / 2, GDK_INTERP_HYPER); + g_object_unref (pix); + + gtk_drag_set_icon_pixbuf (context, pix2, 0, 0); + g_object_set_data (G_OBJECT (widget), "ico", pix2); + + return TRUE; +} + +void +mg_drag_end_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata) +{ + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return; + + g_object_unref (g_object_get_data (G_OBJECT (widget), "ico")); +} + +/* drop complete */ + +gboolean +mg_drag_drop_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data) +{ + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + switch (gdk_drag_context_get_selected_action (context)) + { + case GDK_ACTION_MOVE: + /* from userlist */ + mg_handle_drop (widget, y, &prefs.hex_gui_ulist_pos, &prefs.hex_gui_tab_pos); + break; + case GDK_ACTION_COPY: + /* from tree - we use GDK_ACTION_COPY for the tree */ + mg_handle_drop (widget, y, &prefs.hex_gui_tab_pos, &prefs.hex_gui_ulist_pos); + break; + default: + return FALSE; + } + + return TRUE; +} + +/* draw highlight rectangle in the destination */ + +gboolean +mg_drag_motion_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer scbar) +{ + GdkGC *gc; + GdkColor col; + GdkGCValues val; + int half, width, height; + int ox, oy; + GdkDrawable *draw; + GtkAllocation allocation; + + /* ignore file drops */ + if (!mg_is_gui_target (context)) + return FALSE; + + if (scbar) /* scrollbar */ + { + gtk_widget_get_allocation (widget, &allocation); + ox = allocation.x; + oy = allocation.y; + width = allocation.width; + height = allocation.height; + draw = gtk_widget_get_window (widget); + } + else + { + ox = oy = 0; + width = gdk_window_get_width (gtk_widget_get_window (widget)); + height = gdk_window_get_height (gtk_widget_get_window (widget)); + draw = gtk_widget_get_window (widget); + } + + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + val.function = GDK_XOR; + + gc = gdk_gc_new_with_values (gtk_widget_get_window (widget), &val, GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW | GDK_GC_FUNCTION); + col.red = rand() % 0xffff; + col.green = rand() % 0xffff; + col.blue = rand() % 0xffff; + gdk_colormap_alloc_color (gtk_widget_get_colormap (widget), &col, FALSE, TRUE); + gdk_gc_set_foreground (gc, &col); + + half = height / 2; + +#if 0 + /* are both tree/userlist on the same side? */ + paned = (GtkPaned *)widget->parent->parent; + if (paned->child1 != NULL && paned->child2 != NULL) + { + gdk_draw_rectangle (draw, gc, 0, 1, 2, width - 3, height - 4); + gdk_draw_rectangle (draw, gc, 0, 0, 1, width - 1, height - 2); + g_object_unref (gc); + return TRUE; + } +#endif + + if (y < half) + { + gdk_draw_rectangle (draw, gc, FALSE, 1 + ox, 2 + oy, width - 3, half - 4); + gdk_draw_rectangle (draw, gc, FALSE, 0 + ox, 1 + oy, width - 1, half - 2); + gtk_widget_queue_draw_area (widget, ox, half + oy, width, height - half); + } + else + { + gdk_draw_rectangle (draw, gc, FALSE, 0 + ox, half + 1 + oy, width - 1, half - 2); + gdk_draw_rectangle (draw, gc, FALSE, 1 + ox, half + 2 + oy, width - 3, half - 4); + gtk_widget_queue_draw_area (widget, ox, oy, width, half); + } + + g_object_unref (gc); + + return TRUE; +} diff --git a/src/fe-gtk/maingui.h b/src/fe-gtk/maingui.h new file mode 100644 index 0000000000000000000000000000000000000000..6099e6ffdd9ffa38441ecc4fbd784a512bbef8ce --- /dev/null +++ b/src/fe-gtk/maingui.h @@ -0,0 +1,61 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_MAINGUI_H +#define HEXCHAT_MAINGUI_H + +extern GtkStyle *input_style; +extern GtkWidget *parent_window; + +void mg_changui_new (session *sess, restore_gui *res, int tab, int focus); +void mg_update_xtext (GtkWidget *wid); +void mg_open_quit_dialog (gboolean minimize_button); +void mg_switch_page (int relative, int num); +void mg_move_tab (session *, int delta); +void mg_move_tab_family (session *, int delta); +void mg_bring_tofront (GtkWidget *vbox); +void mg_bring_tofront_sess (session *sess); +void mg_decide_userlist (session *sess, gboolean switch_to_current); +void mg_set_topic_tip (session *sess); +GtkWidget *mg_create_generic_tab (char *name, char *title, int force_toplevel, int link_buttons, void *close_callback, void *userdata, int width, int height, GtkWidget **vbox_ret, void *family); +void mg_set_title (GtkWidget *button, char *title); +void mg_set_access_icon (session_gui *gui, GdkPixbuf *pix, gboolean away); +void mg_apply_setup (void); +void mg_close_sess (session *); +void mg_tab_close (session *sess); +void mg_detach (session *sess, int mode); +void mg_progressbar_create (session_gui *gui); +void mg_progressbar_destroy (session_gui *gui); +void mg_dnd_drop_file (session *sess, char *target, char *uri); +void mg_change_layout (int type); +void mg_update_meters (session_gui *); +void mg_inputbox_cb (GtkWidget *igad, session_gui *gui); +void mg_create_icon_item (char *label, char *stock, GtkWidget *menu, void *callback, void *userdata); +GtkWidget *mg_submenu (GtkWidget *menu, char *text); +/* DND */ +gboolean mg_drag_begin_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata); +void mg_drag_end_cb (GtkWidget *widget, GdkDragContext *context, gpointer userdata); +gboolean mg_drag_drop_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data); +gboolean mg_drag_motion_cb (GtkWidget *widget, GdkDragContext *context, int x, int y, guint time, gpointer user_data); +/* search */ +void mg_search_toggle(session *sess); +void mg_search_handle_previous(GtkWidget *wid, session *sess); +void mg_search_handle_next(GtkWidget *wid, session *sess); + +#endif diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c new file mode 100644 index 0000000000000000000000000000000000000000..76bc3906c7afce4ad059ec81abd2977b8189b61b --- /dev/null +++ b/src/fe-gtk/menu.c @@ -0,0 +1,2514 @@ +/* X-Chat + * Copyright (C) 1998-2007 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> +#include <string.h> + +#ifdef WIN32 +#include <windows.h> +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "fe-gtk.h" + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/ignore.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/servlist.h" +#include "../common/notify.h" +#include "../common/util.h" +#include "../common/text.h" +#include "xtext.h" +#include "ascii.h" +#include "banlist.h" +#include "chanlist.h" +#include "editlist.h" +#include "fkeys.h" +#include "gtkutil.h" +#include "maingui.h" +#include "notifygui.h" +#include "pixmaps.h" +#include "rawlog.h" +#include "palette.h" +#include "plugingui.h" +#include "search.h" +#include "textgui.h" +#include "urlgrab.h" +#include "userlistgui.h" +#include "menu.h" +#include "servlistgui.h" + +static GSList *submenu_list; + +enum +{ + M_MENUITEM, + M_NEWMENU, + M_END, + M_SEP, + M_MENUTOG, + M_MENURADIO, + M_MENUSTOCK, + M_MENUPIX, + M_MENUSUB +}; + +struct mymenu +{ + char *text; + void *callback; + char *image; + unsigned char type; /* M_XXX */ + unsigned char id; /* MENU_ID_XXX (menu.h) */ + unsigned char state; /* ticked or not? */ + unsigned char sensitive; /* shaded out? */ + guint key; /* GDK_KEY_x */ +}; + +#define XCMENU_DOLIST 1 +#define XCMENU_SHADED 1 +#define XCMENU_MARKUP 2 +#define XCMENU_MNEMONIC 4 + +/* execute a userlistbutton/popupmenu command */ + +static void +nick_command (session * sess, char *cmd) +{ + if (*cmd == '!') + hexchat_exec (cmd + 1); + else + handle_command (sess, cmd, TRUE); +} + +/* fill in the %a %s %n etc and execute the command */ + +void +nick_command_parse (session *sess, char *cmd, char *nick, char *allnick) +{ + char *buf; + char *host = _("Host unknown"); + char *account = _("Account unknown"); + struct User *user; + int len; + +/* if (sess->type == SESS_DIALOG) + { + buf = (char *)(GTK_ENTRY (sess->gui->topic_entry)->text); + buf = strrchr (buf, '@'); + if (buf) + host = buf + 1; + } else*/ + { + user = userlist_find (sess, nick); + if (user) + { + if (user->hostname) + host = strchr (user->hostname, '@') + 1; + if (user->account) + account = user->account; + } + } + + /* this can't overflow, since popup->cmd is only 256 */ + len = strlen (cmd) + strlen (nick) + strlen (allnick) + 512; + buf = g_malloc (len); + + auto_insert (buf, len, cmd, 0, 0, allnick, sess->channel, "", + server_get_network (sess->server, TRUE), host, + sess->server->nick, nick, account); + + nick_command (sess, buf); + + g_free (buf); +} + +/* userlist button has been clicked */ + +void +userlist_button_cb (GtkWidget * button, char *cmd) +{ + int i, num_sel, using_allnicks = FALSE; + char **nicks, *allnicks; + char *nick = NULL; + session *sess; + + sess = current_sess; + + if (strstr (cmd, "%a")) + using_allnicks = TRUE; + + if (sess->type == SESS_DIALOG) + { + /* fake a selection */ + nicks = g_new (char *, 2); + nicks[0] = g_strdup (sess->channel); + nicks[1] = NULL; + num_sel = 1; + } + else + { + /* find number of selected rows */ + nicks = userlist_selection_list (sess->gui->user_tree, &num_sel); + if (num_sel < 1) + { + nick_command_parse (sess, cmd, "", ""); + + g_free (nicks); + return; + } + } + + /* create "allnicks" string */ + allnicks = g_malloc (((NICKLEN + 1) * num_sel) + 1); + *allnicks = 0; + + i = 0; + while (nicks[i]) + { + if (i > 0) + strcat (allnicks, " "); + strcat (allnicks, nicks[i]); + + if (!nick) + nick = nicks[0]; + + /* if not using "%a", execute the command once for each nickname */ + if (!using_allnicks) + nick_command_parse (sess, cmd, nicks[i], ""); + + i++; + } + + if (using_allnicks) + { + if (!nick) + nick = ""; + nick_command_parse (sess, cmd, nick, allnicks); + } + + while (num_sel) + { + num_sel--; + g_free (nicks[num_sel]); + } + + g_free (nicks); + g_free (allnicks); +} + +/* a popup-menu-item has been selected */ + +static void +popup_menu_cb (GtkWidget * item, char *cmd) +{ + char *nick; + + /* the userdata is set in menu_quick_item() */ + nick = g_object_get_data (G_OBJECT (item), "u"); + + if (!nick) /* userlist popup menu */ + { + /* treat it just like a userlist button */ + userlist_button_cb (NULL, cmd); + return; + } + + if (!current_sess) /* for url grabber window */ + nick_command_parse (sess_list->data, cmd, nick, nick); + else + nick_command_parse (current_sess, cmd, nick, nick); +} + +GtkWidget * +menu_toggle_item (char *label, GtkWidget *menu, void *callback, void *userdata, + int state) +{ + GtkWidget *item; + + item = gtk_check_menu_item_new_with_mnemonic (label); + gtk_check_menu_item_set_active ((GtkCheckMenuItem*)item, state); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +GtkWidget * +menu_quick_item (char *cmd, char *label, GtkWidget * menu, int flags, + gpointer userdata, char *icon) +{ + GtkWidget *img, *item; + char *path; + + if (!label) + item = gtk_menu_item_new (); + else + { + if (icon) + { + /*if (flags & XCMENU_MARKUP) + item = gtk_image_menu_item_new_with_markup (label); + else*/ + item = gtk_image_menu_item_new_with_mnemonic (label); + img = NULL; + if (access (icon, R_OK) == 0) /* try fullpath */ + img = gtk_image_new_from_file (icon); + else + { + /* try relative to <xdir> */ + path = g_build_filename (get_xdir (), icon, NULL); + if (access (path, R_OK) == 0) + img = gtk_image_new_from_file (path); + else + img = gtk_image_new_from_stock (icon, GTK_ICON_SIZE_MENU); + g_free (path); + } + + if (img) + gtk_image_menu_item_set_image ((GtkImageMenuItem *)item, img); + } + else + { + if (flags & XCMENU_MARKUP) + { + item = gtk_menu_item_new_with_label (""); + if (flags & XCMENU_MNEMONIC) + gtk_label_set_markup_with_mnemonic (GTK_LABEL (GTK_BIN (item)->child), label); + else + gtk_label_set_markup (GTK_LABEL (GTK_BIN (item)->child), label); + } else + { + if (flags & XCMENU_MNEMONIC) + item = gtk_menu_item_new_with_mnemonic (label); + else + item = gtk_menu_item_new_with_label (label); + } + } + } + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_object_set_data (G_OBJECT (item), "u", userdata); + if (cmd) + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (popup_menu_cb), cmd); + if (flags & XCMENU_SHADED) + gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); + gtk_widget_show_all (item); + + return item; +} + +static void +menu_quick_item_with_callback (void *callback, char *label, GtkWidget * menu, + void *arg) +{ + GtkWidget *item; + + item = gtk_menu_item_new_with_label (label); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), arg); + gtk_widget_show (item); +} + +GtkWidget * +menu_quick_sub (char *name, GtkWidget *menu, GtkWidget **sub_item_ret, int flags, int pos) +{ + GtkWidget *sub_menu; + GtkWidget *sub_item; + + if (!name) + return menu; + + /* Code to add a submenu */ + sub_menu = gtk_menu_new (); + if (flags & XCMENU_MARKUP) + { + sub_item = gtk_menu_item_new_with_label (""); + gtk_label_set_markup (GTK_LABEL (GTK_BIN (sub_item)->child), name); + } + else + { + if (flags & XCMENU_MNEMONIC) + sub_item = gtk_menu_item_new_with_mnemonic (name); + else + sub_item = gtk_menu_item_new_with_label (name); + } + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), sub_item, pos); + gtk_widget_show (sub_item); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (sub_item), sub_menu); + + if (sub_item_ret) + *sub_item_ret = sub_item; + + if (flags & XCMENU_DOLIST) + /* We create a new element in the list */ + submenu_list = g_slist_prepend (submenu_list, sub_menu); + return sub_menu; +} + +static GtkWidget * +menu_quick_endsub (void) +{ + /* Just delete the first element in the linked list pointed to by first */ + if (submenu_list) + submenu_list = g_slist_remove (submenu_list, submenu_list->data); + + if (submenu_list) + return (submenu_list->data); + else + return NULL; +} + +static void +toggle_cb (GtkWidget *item, char *pref_name) +{ + char buf[256]; + + if (GTK_CHECK_MENU_ITEM (item)->active) + g_snprintf (buf, sizeof (buf), "set %s 1", pref_name); + else + g_snprintf (buf, sizeof (buf), "set %s 0", pref_name); + + handle_command (current_sess, buf, FALSE); +} + +static int +is_in_path (char *cmd) +{ + char *orig = g_strdup (cmd + 1); /* 1st char is "!" */ + char *prog = orig; + char **argv; + int argc; + + /* special-case these default entries. */ + /* 123456789012345678 */ + if (strncmp (prog, "gnome-terminal -x ", 18) == 0) + /* don't check for gnome-terminal, but the thing it's executing! */ + prog += 18; + + if (g_shell_parse_argv (prog, &argc, &argv, NULL)) + { + char *path = g_find_program_in_path (argv[0]); + g_strfreev (argv); + if (path) + { + g_free (path); + g_free (orig); + return 1; + } + } + + g_free (orig); + return 0; +} + +/* syntax: "LABEL~ICON~STUFF~ADDED~LATER~" */ + +static void +menu_extract_icon (char *name, char **label, char **icon) +{ + char *p = name; + char *start = NULL; + char *end = NULL; + + while (*p) + { + if (*p == '~') + { + /* escape \~ */ + if (p == name || p[-1] != '\\') + { + if (!start) + start = p + 1; + else if (!end) + end = p + 1; + } + } + p++; + } + + if (!end) + end = p; + + if (start && start != end) + { + *label = g_strndup (name, (start - name) - 1); + *icon = g_strndup (start, (end - start) - 1); + } + else + { + *label = g_strdup (name); + *icon = NULL; + } +} + +/* append items to "menu" using the (struct popup*) list provided */ + +void +menu_create (GtkWidget *menu, GSList *list, char *target, int check_path) +{ + struct popup *pop; + GtkWidget *tempmenu = menu, *subitem = NULL; + int childcount = 0; + + submenu_list = g_slist_prepend (0, menu); + while (list) + { + pop = (struct popup *) list->data; + + if (!g_ascii_strncasecmp (pop->name, "SUB", 3)) + { + childcount = 0; + tempmenu = menu_quick_sub (pop->cmd, tempmenu, &subitem, XCMENU_DOLIST|XCMENU_MNEMONIC, -1); + + } else if (!g_ascii_strncasecmp (pop->name, "TOGGLE", 6)) + { + childcount++; + menu_toggle_item (pop->name + 7, tempmenu, toggle_cb, pop->cmd, + cfg_get_bool (pop->cmd)); + + } else if (!g_ascii_strncasecmp (pop->name, "ENDSUB", 6)) + { + /* empty sub menu due to no programs in PATH? */ + if (check_path && childcount < 1) + gtk_widget_destroy (subitem); + subitem = NULL; + + if (tempmenu != menu) + tempmenu = menu_quick_endsub (); + /* If we get here and tempmenu equals menu that means we havent got any submenus to exit from */ + + } else if (!g_ascii_strncasecmp (pop->name, "SEP", 3)) + { + menu_quick_item (0, 0, tempmenu, XCMENU_SHADED, 0, 0); + + } else + { + char *icon, *label; + + /* default command in hexchat.c */ + if (pop->cmd[0] == 'n' && !strcmp (pop->cmd, "notify -n ASK %s")) + { + /* don't create this item if already in notify list */ + if (!target || notify_is_in_list (current_sess->server, target)) + { + list = list->next; + continue; + } + } + + menu_extract_icon (pop->name, &label, &icon); + + if (!check_path || pop->cmd[0] != '!') + { + menu_quick_item (pop->cmd, label, tempmenu, 0, target, icon); + /* check if the program is in path, if not, leave it out! */ + } else if (is_in_path (pop->cmd)) + { + childcount++; + menu_quick_item (pop->cmd, label, tempmenu, 0, target, icon); + } + + g_free (label); + g_free (icon); + } + + list = list->next; + } + + /* Let's clean up the linked list from mem */ + while (submenu_list) + submenu_list = g_slist_remove (submenu_list, submenu_list->data); +} + +static char *str_copy = NULL; /* for all pop-up menus */ +static GtkWidget *nick_submenu = NULL; /* user info submenu */ + +static void +menu_destroy (GtkWidget *menu, gpointer objtounref) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); + if (objtounref) + g_object_unref (G_OBJECT (objtounref)); + nick_submenu = NULL; +} + +static void +menu_popup (GtkWidget *menu, GdkEventButton *event, gpointer objtounref) +{ + if (event && event->window) + gtk_menu_set_screen (GTK_MENU (menu), gdk_window_get_screen (event->window)); + + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (menu_destroy), objtounref); + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, + 0, event ? event->time : 0); +} + +static void +menu_nickinfo_cb (GtkWidget *menu, session *sess) +{ + char buf[512]; + + if (!is_session (sess)) + return; + + /* issue a /WHOIS */ + g_snprintf (buf, sizeof (buf), "WHOIS %s %s", str_copy, str_copy); + handle_command (sess, buf, FALSE); + /* and hide the output */ + sess->server->skip_next_whois = 1; +} + +static void +copy_to_clipboard_cb (GtkWidget *item, char *url) +{ + gtkutil_copy_to_clipboard (item, NULL, url); +} + +/* returns boolean: Some data is missing */ + +static gboolean +menu_create_nickinfo_menu (struct User *user, GtkWidget *submenu) +{ + char buf[512]; + char unknown[96]; + char *real, *fmt, *users_country; + struct away_msg *away; + gboolean missing = FALSE; + GtkWidget *item; + + /* let the translators tweak this if need be */ + fmt = _("<tt><b>%-11s</b></tt> %s"); + g_snprintf (unknown, sizeof (unknown), "<i>%s</i>", _("Unknown")); + + if (user->realname) + { + real = strip_color (user->realname, -1, STRIP_ALL|STRIP_ESCMARKUP); + g_snprintf (buf, sizeof (buf), fmt, _("Real Name:"), real); + g_free (real); + } else + { + g_snprintf (buf, sizeof (buf), fmt, _("Real Name:"), unknown); + } + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->realname ? user->realname : unknown); + + g_snprintf (buf, sizeof (buf), fmt, _("User:"), + user->hostname ? user->hostname : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->hostname ? user->hostname : unknown); + + g_snprintf (buf, sizeof (buf), fmt, _("Account:"), + user->account ? user->account : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->account ? user->account : unknown); + + users_country = country (user->hostname); + if (users_country) + { + g_snprintf (buf, sizeof (buf), fmt, _ ("Country:"), users_country); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), users_country); + } + + g_snprintf (buf, sizeof (buf), fmt, _("Server:"), + user->servername ? user->servername : unknown); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + user->servername ? user->servername : unknown); + + if (user->lasttalk) + { + char min[96]; + + g_snprintf (min, sizeof (min), _("%u minutes ago"), + (unsigned int) ((time (0) - user->lasttalk) / 60)); + g_snprintf (buf, sizeof (buf), fmt, _("Last Msg:"), min); + } else + { + g_snprintf (buf, sizeof (buf), fmt, _("Last Msg:"), unknown); + } + menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + + if (user->away) + { + away = server_away_find_message (current_sess->server, user->nick); + if (away) + { + char *msg = strip_color (away->message ? away->message : unknown, -1, STRIP_ALL|STRIP_ESCMARKUP); + g_snprintf (buf, sizeof (buf), fmt, _("Away Msg:"), msg); + g_free (msg); + item = menu_quick_item (0, buf, submenu, XCMENU_MARKUP, 0, 0); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (copy_to_clipboard_cb), + away->message ? away->message : unknown); + } + else + missing = TRUE; + } + + return missing; +} + +void +fe_userlist_update (session *sess, struct User *user) +{ + GList *items, *next; + + if (!nick_submenu || !str_copy) + return; + + /* not the same nick as the menu? */ + if (sess->server->p_cmp (user->nick, str_copy)) + return; + + /* get rid of the "show" signal */ + g_signal_handlers_disconnect_by_func (nick_submenu, menu_nickinfo_cb, sess); + + /* destroy all the old items */ + items = ((GtkMenuShell *) nick_submenu)->children; + while (items) + { + next = items->next; + gtk_widget_destroy (items->data); + items = next; + } + + /* and re-create them with new info */ + menu_create_nickinfo_menu (user, nick_submenu); +} + +void +menu_nickmenu (session *sess, GdkEventButton *event, char *nick, int num_sel) +{ + char buf[512]; + struct User *user; + GtkWidget *submenu, *menu = gtk_menu_new (); + + g_free (str_copy); + str_copy = g_strdup (nick); + + submenu_list = 0; /* first time through, might not be 0 */ + + /* more than 1 nick selected? */ + if (num_sel > 1) + { + g_snprintf (buf, sizeof (buf), _("%d nicks selected."), num_sel); + menu_quick_item (0, buf, menu, 0, 0, 0); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + } else + { + user = userlist_find (sess, nick); /* lasttalk is channel specific */ + if (!user) + user = userlist_find_global (current_sess->server, nick); + if (user) + { + nick_submenu = submenu = menu_quick_sub (nick, menu, NULL, XCMENU_DOLIST, -1); + + if (menu_create_nickinfo_menu (user, submenu) || + !user->hostname || !user->realname || !user->servername) + { + g_signal_connect (G_OBJECT (submenu), "show", G_CALLBACK (menu_nickinfo_cb), sess); + } + + menu_quick_endsub (); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + } + } + + if (num_sel > 1) + menu_create (menu, popup_list, NULL, FALSE); + else + menu_create (menu, popup_list, str_copy, FALSE); + + if (num_sel == 0) /* xtext click */ + menu_add_plugin_items (menu, "\x5$NICK", str_copy); + else /* userlist treeview click */ + menu_add_plugin_items (menu, "\x5$NICK", NULL); + + menu_popup (menu, event, NULL); +} + +/* stuff for the View menu */ + +static void +menu_showhide_cb (session *sess) +{ + if (prefs.hex_gui_hide_menu) + gtk_widget_hide (sess->gui->menu); + else + gtk_widget_show (sess->gui->menu); +} + +static void +menu_topic_showhide_cb (session *sess) +{ + if (prefs.hex_gui_topicbar) + gtk_widget_show (sess->gui->topic_bar); + else + gtk_widget_hide (sess->gui->topic_bar); +} + +static void +menu_userlist_showhide_cb (session *sess) +{ + mg_decide_userlist (sess, TRUE); +} + +static void +menu_ulbuttons_showhide_cb (session *sess) +{ + if (prefs.hex_gui_ulist_buttons) + gtk_widget_show (sess->gui->button_box); + else + gtk_widget_hide (sess->gui->button_box); +} + +static void +menu_cmbuttons_showhide_cb (session *sess) +{ + switch (sess->type) + { + case SESS_CHANNEL: + if (prefs.hex_gui_mode_buttons) + gtk_widget_show (sess->gui->topicbutton_box); + else + gtk_widget_hide (sess->gui->topicbutton_box); + break; + default: + gtk_widget_hide (sess->gui->topicbutton_box); + } +} + +static void +menu_setting_foreach (void (*callback) (session *), int id, guint state) +{ + session *sess; + GSList *list; + int maindone = FALSE; /* do it only once for EVERY tab */ + + list = sess_list; + while (list) + { + sess = list->data; + + if (!sess->gui->is_tab || !maindone) + { + if (sess->gui->is_tab) + maindone = TRUE; + if (id != -1) + GTK_CHECK_MENU_ITEM (sess->gui->menu_item[id])->active = state; + if (callback) + callback (sess); + } + + list = list->next; + } +} + +void +menu_bar_toggle (void) +{ + prefs.hex_gui_hide_menu = !prefs.hex_gui_hide_menu; + menu_setting_foreach (menu_showhide_cb, MENU_ID_MENUBAR, !prefs.hex_gui_hide_menu); +} + +static void +menu_bar_toggle_cb (void) +{ + menu_bar_toggle (); + if (prefs.hex_gui_hide_menu) + fe_message (_("The Menubar is now hidden. You can show it again" + " by pressing Control+F9 or right-clicking in a blank part of" + " the main text area."), FE_MSG_INFO); +} + +static void +menu_topicbar_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.hex_gui_topicbar = !prefs.hex_gui_topicbar; + menu_setting_foreach (menu_topic_showhide_cb, MENU_ID_TOPICBAR, + prefs.hex_gui_topicbar); +} + +static void +menu_userlist_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.hex_gui_ulist_hide = !prefs.hex_gui_ulist_hide; + menu_setting_foreach (menu_userlist_showhide_cb, MENU_ID_USERLIST, + !prefs.hex_gui_ulist_hide); +} + +static void +menu_ulbuttons_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.hex_gui_ulist_buttons = !prefs.hex_gui_ulist_buttons; + menu_setting_foreach (menu_ulbuttons_showhide_cb, MENU_ID_ULBUTTONS, + prefs.hex_gui_ulist_buttons); +} + +static void +menu_cmbuttons_toggle (GtkWidget *wid, gpointer ud) +{ + prefs.hex_gui_mode_buttons = !prefs.hex_gui_mode_buttons; + menu_setting_foreach (menu_cmbuttons_showhide_cb, MENU_ID_MODEBUTTONS, + prefs.hex_gui_mode_buttons); +} + +static void +menu_fullscreen_toggle (GtkWidget *wid, gpointer ud) +{ + if (!prefs.hex_gui_win_fullscreen) + gtk_window_fullscreen (GTK_WINDOW(parent_window)); + else + { + gtk_window_unfullscreen (GTK_WINDOW(parent_window)); + +#ifdef WIN32 + if (!prefs.hex_gui_win_state) /* not maximized */ + { + /* other window managers seem to handle this */ + gtk_window_resize (GTK_WINDOW (parent_window), + prefs.hex_gui_win_width, prefs.hex_gui_win_height); + gtk_window_move (GTK_WINDOW (parent_window), + prefs.hex_gui_win_left, prefs.hex_gui_win_top); + } +#endif + } +} + +void +menu_middlemenu (session *sess, GdkEventButton *event) +{ + GtkWidget *menu; + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new (); + menu = menu_create_main (accel_group, FALSE, sess->server->is_away, !sess->gui->is_tab, NULL); + menu_popup (menu, event, accel_group); +} + +static void +open_url_cb (GtkWidget *item, char *url) +{ + char buf[512]; + + /* pass this to /URL so it can handle irc:// */ + g_snprintf (buf, sizeof (buf), "URL %s", url); + handle_command (current_sess, buf, FALSE); +} + +void +menu_urlmenu (GdkEventButton *event, char *url) +{ + GtkWidget *menu; + char *tmp, *chop; + + g_free (str_copy); + str_copy = g_strdup (url); + + menu = gtk_menu_new (); + /* more than 51 chars? Chop it */ + if (g_utf8_strlen (str_copy, -1) >= 52) + { + tmp = g_strdup (str_copy); + chop = g_utf8_offset_to_pointer (tmp, 48); + chop[0] = chop[1] = chop[2] = '.'; + chop[3] = 0; + menu_quick_item (0, tmp, menu, XCMENU_SHADED, 0, 0); + g_free (tmp); + } else + { + menu_quick_item (0, str_copy, menu, XCMENU_SHADED, 0, 0); + } + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); + + /* Two hardcoded entries */ + if (strncmp (str_copy, "irc://", 6) == 0 || + strncmp (str_copy, "ircs://",7) == 0) + menu_quick_item_with_callback (open_url_cb, _("Connect"), menu, str_copy); + else + menu_quick_item_with_callback (open_url_cb, _("Open Link in Browser"), menu, str_copy); + menu_quick_item_with_callback (copy_to_clipboard_cb, _("Copy Selected Link"), menu, str_copy); + /* custom ones from urlhandlers.conf */ + menu_create (menu, urlhandler_list, str_copy, TRUE); + menu_add_plugin_items (menu, "\x4$URL", str_copy); + menu_popup (menu, event, NULL); +} + +static void +menu_chan_cycle (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + g_snprintf (tbuf, sizeof tbuf, "CYCLE %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void +menu_chan_part (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + g_snprintf (tbuf, sizeof tbuf, "part %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void +menu_chan_focus (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + g_snprintf (tbuf, sizeof tbuf, "doat %s gui focus", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +static void +menu_chan_join (GtkWidget * menu, char *chan) +{ + char tbuf[256]; + + if (current_sess) + { + g_snprintf (tbuf, sizeof tbuf, "join %s", chan); + handle_command (current_sess, tbuf, FALSE); + } +} + +void +menu_chanmenu (struct session *sess, GdkEventButton * event, char *chan) +{ + GtkWidget *menu; + int is_joined = FALSE; + session * chan_session; + + chan_session = find_channel (sess->server, chan); + + if (chan_session) + is_joined = TRUE; + + g_free (str_copy); + str_copy = g_strdup (chan); + + menu = gtk_menu_new (); + + menu_quick_item (0, chan, menu, XCMENU_SHADED, str_copy, 0); + menu_quick_item (0, 0, menu, XCMENU_SHADED, str_copy, 0); + + if (!is_joined) + menu_quick_item_with_callback (menu_chan_join, _("Join Channel"), menu, + str_copy); + else + { + if (chan_session != current_sess) + menu_quick_item_with_callback (menu_chan_focus, _("Focus Channel"), menu, + str_copy); + menu_quick_item_with_callback (menu_chan_part, _("Part Channel"), menu, + str_copy); + menu_quick_item_with_callback (menu_chan_cycle, _("Cycle Channel"), menu, + str_copy); + } + + menu_addfavoritemenu (sess->server, menu, str_copy, FALSE); + + menu_add_plugin_items (menu, "\x5$CHAN", str_copy); + menu_popup (menu, event, NULL); +} + +static void +menu_delfav_cb (GtkWidget *item, server *serv) +{ + servlist_autojoinedit (serv->network, str_copy, FALSE); +} + +static void +menu_addfav_cb (GtkWidget *item, server *serv) +{ + servlist_autojoinedit (serv->network, str_copy, TRUE); +} + +void +menu_addfavoritemenu (server *serv, GtkWidget *menu, char *channel, gboolean istree) +{ + char *str; + + if (!serv->network) + return; + + if (channel != str_copy) + { + g_free (str_copy); + str_copy = g_strdup (channel); + } + + if (istree) + str = _("_Autojoin"); + else + str = _("Autojoin Channel"); + + if (joinlist_is_in_list (serv, channel)) + { + menu_toggle_item (str, menu, menu_delfav_cb, serv, TRUE); + } + else + { + menu_toggle_item (str, menu, menu_addfav_cb, serv, FALSE); + } +} + +static void +menu_delautoconn_cb (GtkWidget *item, server *serv) +{ + ((ircnet*)serv->network)->flags &= ~FLAG_AUTO_CONNECT; + servlist_save (); +} + +static void +menu_addautoconn_cb (GtkWidget *item, server *serv) +{ + ((ircnet*)serv->network)->flags |= FLAG_AUTO_CONNECT; + servlist_save (); +} + +void +menu_addconnectmenu (server *serv, GtkWidget *menu) +{ + if (!serv->network) + return; + + if (((ircnet*)serv->network)->flags & FLAG_AUTO_CONNECT) + { + menu_toggle_item (_("_Auto-Connect"), menu, menu_delautoconn_cb, serv, TRUE); + } + else + { + menu_toggle_item (_("_Auto-Connect"), menu, menu_addautoconn_cb, serv, FALSE); + } +} + +static void +menu_open_server_list (GtkWidget *wid, gpointer none) +{ + fe_serverlist_open (current_sess); +} + +static void +menu_settings (GtkWidget * wid, gpointer none) +{ + extern void setup_open (void); + setup_open (); +} + +static void +menu_usermenu (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("User menu - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, usermenu_list, buf, "usermenu", "usermenu.conf", 0); +} + +static void +usermenu_create (GtkWidget *menu) +{ + menu_create (menu, usermenu_list, "", FALSE); + menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); /* sep */ + menu_quick_item_with_callback (menu_usermenu, _("Edit This Menu" ELLIPSIS), menu, 0); +} + +static void +usermenu_destroy (GtkWidget * menu) +{ + GList *items = ((GtkMenuShell *) menu)->children; + GList *next; + + while (items) + { + next = items->next; + gtk_widget_destroy (items->data); + items = next; + } +} + +void +usermenu_update (void) +{ + int done_main = FALSE; + GSList *list = sess_list; + session *sess; + GtkWidget *menu; + + while (list) + { + sess = list->data; + menu = sess->gui->menu_item[MENU_ID_USERMENU]; + if (sess->gui->is_tab) + { + if (!done_main && menu) + { + usermenu_destroy (menu); + usermenu_create (menu); + done_main = TRUE; + } + } else if (menu) + { + usermenu_destroy (menu); + usermenu_create (menu); + } + list = list->next; + } +} + +static void +menu_newserver_window (GtkWidget * wid, gpointer none) +{ + int old = prefs.hex_gui_tab_chans; + + prefs.hex_gui_tab_chans = 0; + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + prefs.hex_gui_tab_chans = old; +} + +static void +menu_newchannel_window (GtkWidget * wid, gpointer none) +{ + int old = prefs.hex_gui_tab_chans; + + prefs.hex_gui_tab_chans = 0; + new_ircwindow (current_sess->server, NULL, SESS_CHANNEL, 0); + prefs.hex_gui_tab_chans = old; +} + +static void +menu_newserver_tab (GtkWidget * wid, gpointer none) +{ + int old = prefs.hex_gui_tab_chans; + int oldf = prefs.hex_gui_tab_newtofront; + + prefs.hex_gui_tab_chans = 1; + /* force focus if setting is "only requested tabs" */ + if (prefs.hex_gui_tab_newtofront == 2) + prefs.hex_gui_tab_newtofront = 1; + new_ircwindow (NULL, NULL, SESS_SERVER, 0); + prefs.hex_gui_tab_chans = old; + prefs.hex_gui_tab_newtofront = oldf; +} + +static void +menu_newchannel_tab (GtkWidget * wid, gpointer none) +{ + int old = prefs.hex_gui_tab_chans; + + prefs.hex_gui_tab_chans = 1; + new_ircwindow (current_sess->server, NULL, SESS_CHANNEL, 0); + prefs.hex_gui_tab_chans = old; +} + +static void +menu_rawlog (GtkWidget * wid, gpointer none) +{ + open_rawlog (current_sess->server); +} + +static void +menu_detach (GtkWidget * wid, gpointer none) +{ + mg_detach (current_sess, 0); +} + +static void +menu_close (GtkWidget * wid, gpointer none) +{ + mg_close_sess (current_sess); +} + +static void +menu_quit (GtkWidget * wid, gpointer none) +{ + mg_open_quit_dialog (FALSE); +} + +static void +menu_search (void) +{ + mg_search_toggle (current_sess); +} + +static void +menu_search_next (GtkWidget *wid) +{ + mg_search_handle_next(wid, current_sess); +} + +static void +menu_search_prev (GtkWidget *wid) +{ + mg_search_handle_previous(wid, current_sess); +} + +static void +menu_resetmarker (GtkWidget * wid, gpointer none) +{ + gtk_xtext_reset_marker_pos (GTK_XTEXT (current_sess->gui->xtext)); +} + +static void +menu_movetomarker (GtkWidget *wid, gpointer none) +{ + marker_reset_reason reason; + char *str; + + if (!prefs.hex_text_show_marker) + PrintText (current_sess, _("Marker line disabled.")); + else + { + reason = gtk_xtext_moveto_marker_pos (GTK_XTEXT (current_sess->gui->xtext)); + switch (reason) { + case MARKER_WAS_NEVER_SET: + str = _("Marker line never set."); break; + case MARKER_IS_SET: + str = ""; break; + case MARKER_RESET_MANUALLY: + str = _("Marker line reset manually."); break; + case MARKER_RESET_BY_KILL: + str = _("Marker line reset because exceeded scrollback limit."); break; + case MARKER_RESET_BY_CLEAR: + str = _("Marker line reset by CLEAR command."); break; + default: + str = _("Marker line state unknown."); break; + } + if (str[0]) + PrintText (current_sess, str); + } +} + +static void +menu_copy_selection (GtkWidget * wid, gpointer none) +{ + gtk_xtext_copy_selection (GTK_XTEXT (current_sess->gui->xtext)); +} + +static void +menu_flushbuffer (GtkWidget * wid, gpointer none) +{ + fe_text_clear (current_sess, 0); +} + +static void +savebuffer_req_done (session *sess, char *file) +{ + int fh; + + if (!file) + return; + + fh = g_open (file, O_TRUNC | O_WRONLY | O_CREAT, 0600); + if (fh != -1) + { + gtk_xtext_save (GTK_XTEXT (sess->gui->xtext), fh); + close (fh); + } +} + +static void +menu_savebuffer (GtkWidget * wid, gpointer none) +{ + gtkutil_file_req (NULL, _("Select an output filename"), savebuffer_req_done, + current_sess, NULL, NULL, FRF_WRITE); +} + +static void +menu_disconnect (GtkWidget * wid, gpointer none) +{ + handle_command (current_sess, "DISCON", FALSE); +} + +static void +menu_reconnect (GtkWidget * wid, gpointer none) +{ + if (current_sess->server->hostname[0]) + handle_command (current_sess, "RECONNECT", FALSE); + else + fe_serverlist_open (current_sess); +} + +static void +menu_join_cb (GtkWidget *dialog, gint response, GtkEntry *entry) +{ + switch (response) + { + case GTK_RESPONSE_ACCEPT: + menu_chan_join (NULL, entry->text); + break; + + case GTK_RESPONSE_HELP: + chanlist_opengui (current_sess->server, TRUE); + break; + } + + gtk_widget_destroy (dialog); +} + +static void +menu_join_entry_cb (GtkWidget *entry, GtkDialog *dialog) +{ + gtk_dialog_response (dialog, GTK_RESPONSE_ACCEPT); +} + +static void +menu_join (GtkWidget * wid, gpointer none) +{ + GtkWidget *hbox, *dialog, *entry, *label; + + dialog = gtk_dialog_new_with_buttons (_("Join Channel"), + GTK_WINDOW (parent_window), 0, + _("Retrieve channel list"), GTK_RESPONSE_HELP, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->vbox), TRUE); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + hbox = gtk_hbox_new (TRUE, 0); + + entry = gtk_entry_new (); + GTK_ENTRY (entry)->editable = 0; /* avoid auto-selection */ + gtk_entry_set_text (GTK_ENTRY (entry), "#"); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (menu_join_entry_cb), dialog); + gtk_box_pack_end (GTK_BOX (hbox), entry, 0, 0, 0); + + label = gtk_label_new (_("Enter Channel to Join:")); + gtk_box_pack_end (GTK_BOX (hbox), label, 0, 0, 0); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (menu_join_cb), entry); + + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox); + + gtk_widget_show_all (dialog); + + gtk_editable_set_editable (GTK_EDITABLE (entry), TRUE); + gtk_editable_set_position (GTK_EDITABLE (entry), 1); +} + +static void +menu_away (GtkCheckMenuItem *item, gpointer none) +{ + handle_command (current_sess, gtk_check_menu_item_get_active (item) ? "away" : "back", FALSE); +} + +static void +menu_chanlist (GtkWidget * wid, gpointer none) +{ + chanlist_opengui (current_sess->server, FALSE); +} + +static void +menu_banlist (GtkWidget * wid, gpointer none) +{ + banlist_opengui (current_sess); +} + +#ifdef USE_PLUGIN + +static void +menu_loadplugin (void) +{ + plugingui_load (); +} + +static void +menu_pluginlist (void) +{ + plugingui_open (); +} + +#else + +static void +menu_noplugin_info (void) +{ + fe_message (_(DISPLAY_NAME " has been build without plugin support."), FE_MSG_INFO); +} + +#define menu_loadplugin menu_noplugin_info +#define menu_pluginlist menu_noplugin_info + +#endif + +#define usercommands_help _("User Commands - Special codes:\n\n"\ + "%c = current channel\n"\ + "%e = current network name\n"\ + "%m = machine info\n"\ + "%n = your nick\n"\ + "%t = time/date\n"\ + "%v = HexChat version\n"\ + "%2 = word 2\n"\ + "%3 = word 3\n"\ + "&2 = word 2 to the end of line\n"\ + "&3 = word 3 to the end of line\n\n"\ + "eg:\n"\ + "/cmd john hello\n\n"\ + "%2 would be \042john\042\n"\ + "&2 would be \042john hello\042.") + +#define ulbutton_help _("Userlist Buttons - Special codes:\n\n"\ + "%a = all selected nicks\n"\ + "%c = current channel\n"\ + "%e = current network name\n"\ + "%h = selected nick's hostname\n"\ + "%m = machine info\n"\ + "%n = your nick\n"\ + "%s = selected nick\n"\ + "%t = time/date\n"\ + "%u = selected users account") + +#define dlgbutton_help _("Dialog Buttons - Special codes:\n\n"\ + "%a = all selected nicks\n"\ + "%c = current channel\n"\ + "%e = current network name\n"\ + "%h = selected nick's hostname\n"\ + "%m = machine info\n"\ + "%n = your nick\n"\ + "%s = selected nick\n"\ + "%t = time/date\n"\ + "%u = selected users account") + +#define ctcp_help _("CTCP Replies - Special codes:\n\n"\ + "%d = data (the whole ctcp)\n"\ + "%e = current network name\n"\ + "%m = machine info\n"\ + "%s = nick who sent the ctcp\n"\ + "%t = time/date\n"\ + "%2 = word 2\n"\ + "%3 = word 3\n"\ + "&2 = word 2 to the end of line\n"\ + "&3 = word 3 to the end of line\n\n") + +#define url_help _("URL Handlers - Special codes:\n\n"\ + "%s = the URL string\n\n"\ + "Putting a ! in front of the command\n"\ + "indicates it should be sent to a\n"\ + "shell instead of HexChat") + +static void +menu_usercommands (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("User Defined Commands - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, command_list, buf, "commands", "commands.conf", + usercommands_help); +} + +static void +menu_ulpopup (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("Userlist Popup menu - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, popup_list, buf, "popup", "popup.conf", ulbutton_help); +} + +static void +menu_rpopup (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("Replace - %s"), _(DISPLAY_NAME)); + editlist_gui_open (_("Text"), _("Replace with"), replace_list, buf, "replace", "replace.conf", 0); +} + +static void +menu_urlhandlers (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("URL Handlers - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, urlhandler_list, buf, "urlhandlers", "urlhandlers.conf", url_help); +} + +static void +menu_evtpopup (void) +{ + pevent_dialog_show (); +} + +static void +menu_keypopup (void) +{ + key_dialog_show (); +} + +static void +menu_ulbuttons (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("Userlist buttons - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, button_list, buf, "buttons", "buttons.conf", ulbutton_help); +} + +static void +menu_dlgbuttons (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("Dialog buttons - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, dlgbutton_list, buf, "dlgbuttons", "dlgbuttons.conf", + dlgbutton_help); +} + +static void +menu_ctcpguiopen (void) +{ + char buf[128]; + g_snprintf(buf, sizeof(buf), _("CTCP Replies - %s"), _(DISPLAY_NAME)); + editlist_gui_open (NULL, NULL, ctcp_list, buf, "ctcpreply", "ctcpreply.conf", ctcp_help); +} + +static void +menu_docs (GtkWidget *wid, gpointer none) +{ + fe_open_url ("http://hexchat.readthedocs.org"); +} + +/*static void +menu_webpage (GtkWidget *wid, gpointer none) +{ + fe_open_url ("http://xchat.org"); +}*/ + +static void +menu_dcc_win (GtkWidget *wid, gpointer none) +{ + fe_dcc_open_recv_win (FALSE); + fe_dcc_open_send_win (FALSE); +} + +static void +menu_dcc_chat_win (GtkWidget *wid, gpointer none) +{ + fe_dcc_open_chat_win (FALSE); +} + +void +menu_change_layout (void) +{ + if (prefs.hex_gui_tab_layout == 0) + { + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TABS, 1); + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TREE, 0); + mg_change_layout (0); + } else + { + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TABS, 0); + menu_setting_foreach (NULL, MENU_ID_LAYOUT_TREE, 1); + mg_change_layout (2); + } +} + +static void +menu_layout_cb (GtkWidget *item, gpointer none) +{ + prefs.hex_gui_tab_layout = 2; + if (GTK_CHECK_MENU_ITEM (item)->active) + prefs.hex_gui_tab_layout = 0; + + menu_change_layout (); +} + +static void +menu_apply_metres_cb (session *sess) +{ + mg_update_meters (sess->gui); +} + +static void +menu_metres_off (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.hex_gui_lagometer = 0; + prefs.hex_gui_throttlemeter = 0; + hexchat_reinit_timers (); + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_text (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.hex_gui_lagometer = 2; + prefs.hex_gui_throttlemeter = 2; + hexchat_reinit_timers (); + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_graph (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.hex_gui_lagometer = 1; + prefs.hex_gui_throttlemeter = 1; + hexchat_reinit_timers (); + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +menu_metres_both (GtkWidget *item, gpointer none) +{ + if (GTK_CHECK_MENU_ITEM (item)->active) + { + prefs.hex_gui_lagometer = 3; + prefs.hex_gui_throttlemeter = 3; + hexchat_reinit_timers (); + menu_setting_foreach (menu_apply_metres_cb, -1, 0); + } +} + +static void +about_dialog_close (GtkDialog *dialog, int response, gpointer data) +{ + gtk_widget_destroy (GTK_WIDGET(dialog)); +} + +static gboolean +about_dialog_openurl (GtkAboutDialog *dialog, char *uri, gpointer data) +{ + fe_open_url (uri); + return TRUE; +} + +static void +menu_about (GtkWidget *wid, gpointer sess) +{ + GtkAboutDialog *dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new()); + char comment[512]; + char *license = "This program is free software; you can redistribute it and/or modify\n" \ + "it under the terms of the GNU General Public License as published by\n" \ + "the Free Software Foundation; version 2.\n\n" \ + "This program is distributed in the hope that it will be useful,\n" \ + "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" \ + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" \ + "GNU General Public License for more details.\n\n" \ + "You should have received a copy of the GNU General Public License\n" \ + "along with this program. If not, see <http://www.gnu.org/licenses/>"; + + g_snprintf (comment, sizeof(comment), "" +#ifdef WIN32 + "Portable Mode: %s\n" + "Build Type: x%d\n" +#endif + "OS: %s", +#ifdef WIN32 + (portable_mode () ? "Yes" : "No"), + get_cpu_arch (), +#endif + get_sys_str (0)); + + gtk_about_dialog_set_program_name (dialog, _(DISPLAY_NAME)); + gtk_about_dialog_set_version (dialog, PACKAGE_VERSION); + gtk_about_dialog_set_license (dialog, license); /* gtk3 can use GTK_LICENSE_GPL_2_0 */ + gtk_about_dialog_set_website (dialog, "http://hexchat.github.io"); + gtk_about_dialog_set_website_label (dialog, "Website"); + gtk_about_dialog_set_logo (dialog, pix_hexchat); + gtk_about_dialog_set_copyright (dialog, "\302\251 1998-2010 Peter \305\275elezn\303\275\n\302\251 2009-2014 Berke Viktor"); + gtk_about_dialog_set_comments (dialog, comment); + + gtk_window_set_transient_for (GTK_WINDOW(dialog), GTK_WINDOW(parent_window)); + g_signal_connect (G_OBJECT(dialog), "response", G_CALLBACK(about_dialog_close), NULL); + g_signal_connect (G_OBJECT(dialog), "activate-link", G_CALLBACK(about_dialog_openurl), NULL); + + gtk_widget_show_all (GTK_WIDGET(dialog)); +} + +static struct mymenu mymenu[] = { + {N_("He_xChat"), 0, 0, M_NEWMENU, MENU_ID_HEXCHAT, 0, 1}, + {N_("Network Li_st"), menu_open_server_list, (char *)&pix_book, M_MENUPIX, 0, 0, 1, GDK_KEY_s}, + {0, 0, 0, M_SEP, 0, 0, 0}, + + {N_("_New"), 0, GTK_STOCK_NEW, M_MENUSUB, 0, 0, 1}, + {N_("Server Tab"), menu_newserver_tab, 0, M_MENUITEM, 0, 0, 1, GDK_KEY_t}, + {N_("Channel Tab"), menu_newchannel_tab, 0, M_MENUITEM, 0, 0, 1}, + {N_("Server Window"), menu_newserver_window, 0, M_MENUITEM, 0, 0, 1, GDK_KEY_n}, + {N_("Channel Window"), menu_newchannel_window, 0, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, + {0, 0, 0, M_SEP, 0, 0, 0}, + + {N_("_Load Plugin or Script" ELLIPSIS), menu_loadplugin, GTK_STOCK_REVERT_TO_SAVED, M_MENUSTOCK, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, /* 11 */ +#define DETACH_OFFSET (12) + {0, menu_detach, GTK_STOCK_REDO, M_MENUSTOCK, 0, 0, 1}, /* 12 */ +#define CLOSE_OFFSET (13) + {0, menu_close, GTK_STOCK_CLOSE, M_MENUSTOCK, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("_Quit"), menu_quit, GTK_STOCK_QUIT, M_MENUSTOCK, 0, 0, 1, GDK_KEY_q}, /* 15 */ + + {N_("_View"), 0, 0, M_NEWMENU, 0, 0, 1}, +#define MENUBAR_OFFSET (17) + {N_("_Menu Bar"), menu_bar_toggle_cb, 0, M_MENUTOG, MENU_ID_MENUBAR, 0, 1, GDK_KEY_F9}, + {N_("_Topic Bar"), menu_topicbar_toggle, 0, M_MENUTOG, MENU_ID_TOPICBAR, 0, 1}, + {N_("_User List"), menu_userlist_toggle, 0, M_MENUTOG, MENU_ID_USERLIST, 0, 1, GDK_KEY_F7}, + {N_("U_ser List Buttons"), menu_ulbuttons_toggle, 0, M_MENUTOG, MENU_ID_ULBUTTONS, 0, 1}, + {N_("M_ode Buttons"), menu_cmbuttons_toggle, 0, M_MENUTOG, MENU_ID_MODEBUTTONS, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("_Channel Switcher"), 0, 0, M_MENUSUB, 0, 0, 1}, /* 23 */ +#define TABS_OFFSET (24) + {N_("_Tabs"), menu_layout_cb, 0, M_MENURADIO, MENU_ID_LAYOUT_TABS, 0, 1}, + {N_("T_ree"), 0, 0, M_MENURADIO, MENU_ID_LAYOUT_TREE, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, + {N_("_Network Meters"), 0, 0, M_MENUSUB, 0, 0, 1}, /* 27 */ +#define METRE_OFFSET (28) + {N_("Off"), menu_metres_off, 0, M_MENURADIO, 0, 0, 1}, + {N_("Graph"), menu_metres_graph, 0, M_MENURADIO, 0, 0, 1}, + {N_("Text"), menu_metres_text, 0, M_MENURADIO, 0, 0, 1}, + {N_("Both"), menu_metres_both, 0, M_MENURADIO, 0, 0, 1}, + {0, 0, 0, M_END, 0, 0, 0}, /* 32 */ + { 0, 0, 0, M_SEP, 0, 0, 0 }, + {N_ ("_Fullscreen"), menu_fullscreen_toggle, 0, M_MENUTOG, MENU_ID_FULLSCREEN, 0, 1, GDK_KEY_F11}, + + {N_("_Server"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("_Disconnect"), menu_disconnect, GTK_STOCK_DISCONNECT, M_MENUSTOCK, MENU_ID_DISCONNECT, 0, 1}, + {N_("_Reconnect"), menu_reconnect, GTK_STOCK_CONNECT, M_MENUSTOCK, MENU_ID_RECONNECT, 0, 1}, + {N_("_Join a Channel" ELLIPSIS), menu_join, GTK_STOCK_JUMP_TO, M_MENUSTOCK, MENU_ID_JOIN, 0, 1}, + {N_("Channel _List"), menu_chanlist, GTK_STOCK_INDEX, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, +#define AWAY_OFFSET (41) + {N_("Marked _Away"), menu_away, 0, M_MENUTOG, MENU_ID_AWAY, 0, 1, GDK_KEY_a}, + + {N_("_Usermenu"), 0, 0, M_NEWMENU, MENU_ID_USERMENU, 0, 1}, /* 40 */ + + {N_("S_ettings"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("_Preferences"), menu_settings, GTK_STOCK_PREFERENCES, M_MENUSTOCK, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("Auto Replace"), menu_rpopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("CTCP Replies"), menu_ctcpguiopen, 0, M_MENUITEM, 0, 0, 1}, + {N_("Dialog Buttons"), menu_dlgbuttons, 0, M_MENUITEM, 0, 0, 1}, + {N_("Keyboard Shortcuts"), menu_keypopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("Text Events"), menu_evtpopup, 0, M_MENUITEM, 0, 0, 1}, + {N_("URL Handlers"), menu_urlhandlers, 0, M_MENUITEM, 0, 0, 1}, + {N_("User Commands"), menu_usercommands, 0, M_MENUITEM, 0, 0, 1}, + {N_("User List Buttons"), menu_ulbuttons, 0, M_MENUITEM, 0, 0, 1}, + {N_("User List Popup"), menu_ulpopup, 0, M_MENUITEM, 0, 0, 1}, /* 52 */ + + {N_("_Window"), 0, 0, M_NEWMENU, 0, 0, 1}, + {N_("_Ban List"), menu_banlist, 0, M_MENUITEM, 0, 0, 1}, + {N_("Character Chart"), ascii_open, 0, M_MENUITEM, 0, 0, 1}, + {N_("Direct Chat"), menu_dcc_chat_win, 0, M_MENUITEM, 0, 0, 1}, + {N_("File _Transfers"), menu_dcc_win, 0, M_MENUITEM, 0, 0, 1}, + {N_("Friends List"), notify_opengui, 0, M_MENUITEM, 0, 0, 1}, + {N_("Ignore List"), ignore_gui_open, 0, M_MENUITEM, 0, 0, 1}, + {N_("_Plugins and Scripts"), menu_pluginlist, 0, M_MENUITEM, 0, 0, 1}, + {N_("_Raw Log"), menu_rawlog, 0, M_MENUITEM, 0, 0, 1}, /* 61 */ + {N_("_URL Grabber"), url_opengui, 0, M_MENUITEM, 0, 0, 1}, + {0, 0, 0, M_SEP, 0, 0, 0}, + {N_("Reset Marker Line"), menu_resetmarker, 0, M_MENUITEM, 0, 0, 1, GDK_KEY_m}, + {N_("Move to Marker Line"), menu_movetomarker, 0, M_MENUITEM, 0, 0, 1, GDK_KEY_M}, + {N_("_Copy Selection"), menu_copy_selection, 0, M_MENUITEM, 0, 0, 1, GDK_KEY_C}, + {N_("C_lear Text"), menu_flushbuffer, GTK_STOCK_CLEAR, M_MENUSTOCK, 0, 0, 1}, + {N_("Save Text" ELLIPSIS), menu_savebuffer, GTK_STOCK_SAVE, M_MENUSTOCK, 0, 0, 1}, +#define SEARCH_OFFSET (70) + {N_("Search"), 0, GTK_STOCK_JUSTIFY_LEFT, M_MENUSUB, 0, 0, 1}, + {N_("Search Text" ELLIPSIS), menu_search, GTK_STOCK_FIND, M_MENUSTOCK, 0, 0, 1, GDK_KEY_f}, + {N_("Search Next" ), menu_search_next, GTK_STOCK_FIND, M_MENUSTOCK, 0, 0, 1, GDK_KEY_g}, + {N_("Search Previous" ), menu_search_prev, GTK_STOCK_FIND, M_MENUSTOCK, 0, 0, 1, GDK_KEY_G}, + {0, 0, 0, M_END, 0, 0, 0}, + + {N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 74 */ + {N_("_Contents"), menu_docs, GTK_STOCK_HELP, M_MENUSTOCK, 0, 0, 1, GDK_KEY_F1}, + {N_("_About"), menu_about, GTK_STOCK_ABOUT, M_MENUSTOCK, 0, 0, 1}, + + {0, 0, 0, M_END, 0, 0, 0}, +}; + +void +menu_set_away (session_gui *gui, int away) +{ + GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM (gui->menu_item[MENU_ID_AWAY]); + + g_signal_handlers_block_by_func (G_OBJECT (item), menu_away, NULL); + gtk_check_menu_item_set_active (item, away); + g_signal_handlers_unblock_by_func (G_OBJECT (item), menu_away, NULL); +} + +void +menu_set_fullscreen (session_gui *gui, int full) +{ + GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM (gui->menu_item[MENU_ID_FULLSCREEN]); + + g_signal_handlers_block_by_func (G_OBJECT (item), menu_fullscreen_toggle, NULL); + gtk_check_menu_item_set_active (item, full); + g_signal_handlers_unblock_by_func (G_OBJECT (item), menu_fullscreen_toggle, NULL); +} + +GtkWidget * +create_icon_menu (char *labeltext, void *stock_name, int is_stock) +{ + GtkWidget *item, *img; + + if (is_stock) + img = gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_MENU); + else + img = gtk_image_new_from_pixbuf (*((GdkPixbuf **)stock_name)); + item = gtk_image_menu_item_new_with_mnemonic (labeltext); + gtk_image_menu_item_set_image ((GtkImageMenuItem *)item, img); + gtk_widget_show (img); + + return item; +} + +/* Override the default GTK2.4 handler, which would make menu + bindings not work when the menu-bar is hidden. */ +static gboolean +menu_canacaccel (GtkWidget *widget, guint signal_id, gpointer user_data) +{ + /* GTK2.2 behaviour */ + return gtk_widget_is_sensitive (widget); +} + +/* === STUFF FOR /MENU === */ + +static GtkMenuItem * +menu_find_item (GtkWidget *menu, char *name) +{ + GList *items = ((GtkMenuShell *) menu)->children; + GtkMenuItem *item; + GtkWidget *child; + const char *labeltext; + + while (items) + { + item = items->data; + child = GTK_BIN (item)->child; + if (child) /* separators arn't labels, skip them */ + { + labeltext = g_object_get_data (G_OBJECT (item), "name"); + if (!labeltext) + labeltext = gtk_label_get_text (GTK_LABEL (child)); + if (!menu_streq (labeltext, name, 1)) + return item; + } else if (name == NULL) + { + return item; + } + items = items->next; + } + + return NULL; +} + +static GtkWidget * +menu_find_path (GtkWidget *menu, char *path) +{ + GtkMenuItem *item; + char *s; + char name[128]; + int len; + + /* grab the next part of the path */ + s = strchr (path, '/'); + len = s - path; + if (!s) + len = strlen (path); + len = MIN (len, sizeof (name) - 1); + memcpy (name, path, len); + name[len] = 0; + + item = menu_find_item (menu, name); + if (!item) + return NULL; + + menu = gtk_menu_item_get_submenu (item); + if (!menu) + return NULL; + + path += len; + if (*path == 0) + return menu; + + return menu_find_path (menu, path + 1); +} + +static GtkWidget * +menu_find (GtkWidget *menu, char *path, char *label) +{ + GtkWidget *item = NULL; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + item = (GtkWidget *)menu_find_item (menu, label); + return item; +} + +static void +menu_foreach_gui (menu_entry *me, void (*callback) (GtkWidget *, menu_entry *, char *)) +{ + GSList *list = sess_list; + int tabdone = FALSE; + session *sess; + + if (!me->is_main) + return; /* not main menu */ + + while (list) + { + sess = list->data; + /* do it only once for tab sessions, since they share a GUI */ + if (!sess->gui->is_tab || !tabdone) + { + callback (sess->gui->menu, me, NULL); + if (sess->gui->is_tab) + tabdone = TRUE; + } + list = list->next; + } +} + +static void +menu_update_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item; + + item = menu_find (menu, me->path, me->label); + if (item) + { + gtk_widget_set_sensitive (item, me->enable); + /* must do it without triggering the callback */ + if (GTK_IS_CHECK_MENU_ITEM (item)) + GTK_CHECK_MENU_ITEM (item)->active = me->state; + } +} + +/* radio state changed via mouse click */ +static void +menu_radio_cb (GtkCheckMenuItem *item, menu_entry *me) +{ + me->state = 0; + if (item->active) + me->state = 1; + + /* update the state, incase this was changed via right-click. */ + /* This will update all other windows and menu bars */ + menu_foreach_gui (me, menu_update_cb); + + if (me->state && me->cmd) + handle_command (current_sess, me->cmd, FALSE); +} + +/* toggle state changed via mouse click */ +static void +menu_toggle_cb (GtkCheckMenuItem *item, menu_entry *me) +{ + me->state = 0; + if (item->active) + me->state = 1; + + /* update the state, incase this was changed via right-click. */ + /* This will update all other windows and menu bars */ + menu_foreach_gui (me, menu_update_cb); + + if (me->state) + handle_command (current_sess, me->cmd, FALSE); + else + handle_command (current_sess, me->ucmd, FALSE); +} + +static GtkWidget * +menu_radio_item (char *label, GtkWidget *menu, void *callback, void *userdata, + int state, char *groupname) +{ + GtkWidget *item; + GtkMenuItem *parent; + GSList *grouplist = NULL; + + parent = menu_find_item (menu, groupname); + if (parent) + grouplist = gtk_radio_menu_item_get_group ((GtkRadioMenuItem *)parent); + + item = gtk_radio_menu_item_new_with_label (grouplist, label); + gtk_check_menu_item_set_active ((GtkCheckMenuItem*)item, state); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +static void +menu_reorder (GtkMenu *menu, GtkWidget *item, int pos) +{ + if (pos == 0xffff) /* outbound.c uses this default */ + return; + + if (pos < 0) /* position offset from end/bottom */ + gtk_menu_reorder_child (menu, item, (g_list_length (GTK_MENU_SHELL (menu)->children) + pos) - 1); + else + gtk_menu_reorder_child (menu, item, pos); +} + +static GtkWidget * +menu_add_radio (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_radio_item (me->label, menu, menu_radio_cb, me, me->state, me->group); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_toggle (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_toggle_item (me->label, menu, menu_toggle_cb, me, me->state); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_item (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + item = menu_quick_item (me->cmd, me->label, menu, me->markup ? XCMENU_MARKUP|XCMENU_MNEMONIC : XCMENU_MNEMONIC, target, me->icon); + menu_reorder (GTK_MENU (menu), item, me->pos); + } + return item; +} + +static GtkWidget * +menu_add_sub (GtkWidget *menu, menu_entry *me) +{ + GtkWidget *item = NULL; + char *path = me->path + me->root_offset; + int pos; + + if (path[0] != 0) + menu = menu_find_path (menu, path); + if (menu) + { + pos = me->pos; + if (pos < 0) /* position offset from end/bottom */ + pos = g_list_length (GTK_MENU_SHELL (menu)->children) + pos; + menu_quick_sub (me->label, menu, &item, me->markup ? XCMENU_MARKUP|XCMENU_MNEMONIC : XCMENU_MNEMONIC, pos); + } + return item; +} + +static void +menu_del_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item = menu_find (menu, me->path + me->root_offset, me->label); + if (item) + gtk_widget_destroy (item); +} + +static void +menu_add_cb (GtkWidget *menu, menu_entry *me, char *target) +{ + GtkWidget *item; + GtkAccelGroup *accel_group; + + if (me->group) /* have a group name? Must be a radio item */ + item = menu_add_radio (menu, me); + else if (me->ucmd) /* have unselect-cmd? Must be a toggle item */ + item = menu_add_toggle (menu, me); + else if (me->cmd || !me->label) /* label=NULL for separators */ + item = menu_add_item (menu, me, target); + else + item = menu_add_sub (menu, me); + + if (item) + { + gtk_widget_set_sensitive (item, me->enable); + if (me->key) + { + accel_group = g_object_get_data (G_OBJECT (menu), "accel"); + if (accel_group) /* popup menus don't have them */ + gtk_widget_add_accelerator (item, "activate", accel_group, me->key, + me->modifier, GTK_ACCEL_VISIBLE); + } + } +} + +char * +fe_menu_add (menu_entry *me) +{ + char *text; + + menu_foreach_gui (me, menu_add_cb); + + if (!me->markup) + return NULL; + + if (!pango_parse_markup (me->label, -1, 0, NULL, &text, NULL, NULL)) + return NULL; + + /* return the label with markup stripped */ + return text; +} + +void +fe_menu_del (menu_entry *me) +{ + menu_foreach_gui (me, menu_del_cb); +} + +void +fe_menu_update (menu_entry *me) +{ + menu_foreach_gui (me, menu_update_cb); +} + +/* used to add custom menus to the right-click menu */ + +static void +menu_add_plugin_mainmenu_items (GtkWidget *menu) +{ + GSList *list; + menu_entry *me; + + list = menu_list; /* outbound.c */ + while (list) + { + me = list->data; + if (me->is_main) + menu_add_cb (menu, me, NULL); + list = list->next; + } +} + +void +menu_add_plugin_items (GtkWidget *menu, char *root, char *target) +{ + GSList *list; + menu_entry *me; + + list = menu_list; /* outbound.c */ + while (list) + { + me = list->data; + if (!me->is_main && !strncmp (me->path, root + 1, root[0])) + menu_add_cb (menu, me, target); + list = list->next; + } +} + +/* === END STUFF FOR /MENU === */ + +GtkWidget * +menu_create_main (void *accel_group, int bar, int away, int toplevel, + GtkWidget **menu_widgets) +{ + int i = 0; + GtkWidget *item; + GtkWidget *menu = 0; + GtkWidget *menu_item = 0; + GtkWidget *menu_bar; + GtkWidget *usermenu = 0; + GtkWidget *submenu = 0; + int close_mask = STATE_CTRL; + int away_mask = STATE_ALT; + char *key_theme = NULL; + GtkSettings *settings; + GSList *group = NULL; +#ifdef HAVE_GTK_MAC + int appmenu_offset = 1; /* 0 is for about */ +#endif + + if (bar) + { + menu_bar = gtk_menu_bar_new (); +#ifdef HAVE_GTK_MAC + gtkosx_application_set_menu_bar (osx_app, GTK_MENU_SHELL (menu_bar)); +#endif + } + else + menu_bar = gtk_menu_new (); + + /* /MENU needs to know this later */ + g_object_set_data (G_OBJECT (menu_bar), "accel", accel_group); + + g_signal_connect (G_OBJECT (menu_bar), "can-activate-accel", + G_CALLBACK (menu_canacaccel), 0); + + /* set the initial state of toggles */ + mymenu[MENUBAR_OFFSET].state = !prefs.hex_gui_hide_menu; + mymenu[MENUBAR_OFFSET+1].state = prefs.hex_gui_topicbar; + mymenu[MENUBAR_OFFSET+2].state = !prefs.hex_gui_ulist_hide; + mymenu[MENUBAR_OFFSET+3].state = prefs.hex_gui_ulist_buttons; + mymenu[MENUBAR_OFFSET+4].state = prefs.hex_gui_mode_buttons; + + mymenu[AWAY_OFFSET].state = away; + + switch (prefs.hex_gui_tab_layout) + { + case 0: + mymenu[TABS_OFFSET].state = 1; + mymenu[TABS_OFFSET+1].state = 0; + break; + default: + mymenu[TABS_OFFSET].state = 0; + mymenu[TABS_OFFSET+1].state = 1; + } + + mymenu[METRE_OFFSET].state = 0; + mymenu[METRE_OFFSET+1].state = 0; + mymenu[METRE_OFFSET+2].state = 0; + mymenu[METRE_OFFSET+3].state = 0; + switch (prefs.hex_gui_lagometer) + { + case 0: + mymenu[METRE_OFFSET].state = 1; + break; + case 1: + mymenu[METRE_OFFSET+1].state = 1; + break; + case 2: + mymenu[METRE_OFFSET+2].state = 1; + break; + default: + mymenu[METRE_OFFSET+3].state = 1; + } + + /* change Close binding to ctrl-shift-w when using emacs keys */ + settings = gtk_widget_get_settings (menu_bar); + if (settings) + { + g_object_get (settings, "gtk-key-theme-name", &key_theme, NULL); + if (key_theme) + { + if (!g_ascii_strcasecmp (key_theme, "Emacs")) + { + close_mask = STATE_SHIFT | STATE_CTRL; + mymenu[SEARCH_OFFSET].key = 0; + } + g_free (key_theme); + } + } + + /* Away binding to ctrl-alt-a if the _Help menu conflicts (FR/PT/IT) */ + { + char *help = _("_Help"); + char *under = strchr (help, '_'); + if (under && (under[1] == 'a' || under[1] == 'A')) + away_mask = STATE_ALT | STATE_CTRL; + } + + if (!toplevel) + { + mymenu[DETACH_OFFSET].text = N_("_Detach"); + mymenu[CLOSE_OFFSET].text = N_("_Close"); + } + else + { + mymenu[DETACH_OFFSET].text = N_("_Attach"); + mymenu[CLOSE_OFFSET].text = N_("_Close"); + } + + while (1) + { + item = NULL; + if (mymenu[i].id == MENU_ID_USERMENU && !prefs.hex_gui_usermenu) + { + i++; + continue; + } + + switch (mymenu[i].type) + { + case M_NEWMENU: + if (menu) + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), menu); + item = menu = gtk_menu_new (); + if (mymenu[i].id == MENU_ID_USERMENU) + usermenu = menu; + menu_item = gtk_menu_item_new_with_mnemonic (_(mymenu[i].text)); + /* record the English name for /menu */ + g_object_set_data (G_OBJECT (menu_item), "name", mymenu[i].text); +#ifdef HAVE_GTK_MAC /* Added to app menu, see below */ + if (!bar || mymenu[i].id != MENU_ID_HEXCHAT) +#endif + gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), menu_item); + gtk_widget_show (menu_item); + break; + + case M_MENUPIX: + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, FALSE); + goto normalitem; + + case M_MENUSTOCK: + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, TRUE); + goto normalitem; + + case M_MENUITEM: + item = gtk_menu_item_new_with_mnemonic (_(mymenu[i].text)); +normalitem: + if (mymenu[i].key != 0) + gtk_widget_add_accelerator (item, "activate", accel_group, + mymenu[i].key, + mymenu[i].key == GDK_KEY_F1 ? 0 : + mymenu[i].key == GDK_KEY_w ? close_mask : + (g_ascii_isupper (mymenu[i].key)) ? + STATE_SHIFT | STATE_CTRL : + STATE_CTRL, + GTK_ACCEL_VISIBLE); + if (mymenu[i].callback) + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (mymenu[i].callback), 0); + if (submenu) + gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + case M_MENUTOG: + item = gtk_check_menu_item_new_with_mnemonic (_(mymenu[i].text)); +togitem: + /* must avoid callback for Radio buttons */ + GTK_CHECK_MENU_ITEM (item)->active = mymenu[i].state; + /*gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), + mymenu[i].state);*/ + if (mymenu[i].key != 0) + gtk_widget_add_accelerator (item, "activate", accel_group, + mymenu[i].key, + mymenu[i].id == MENU_ID_FULLSCREEN ? 0 : + mymenu[i].id == MENU_ID_AWAY ? away_mask : + STATE_CTRL, GTK_ACCEL_VISIBLE); + if (mymenu[i].callback) + g_signal_connect (G_OBJECT (item), "toggled", + G_CALLBACK (mymenu[i].callback), NULL); + + if (submenu) + gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + gtk_widget_set_sensitive (item, mymenu[i].sensitive); + break; + + case M_MENURADIO: + item = gtk_radio_menu_item_new_with_mnemonic (group, _(mymenu[i].text)); + group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item)); + goto togitem; + + case M_SEP: + item = gtk_menu_item_new (); + gtk_widget_set_sensitive (item, FALSE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + case M_MENUSUB: + group = NULL; + submenu = gtk_menu_new (); + item = create_icon_menu (_(mymenu[i].text), mymenu[i].image, TRUE); + /* record the English name for /menu */ + g_object_set_data (G_OBJECT (item), "name", mymenu[i].text); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + gtk_widget_show (item); + break; + + /*case M_END:*/ default: + if (!submenu) + { + if (menu) + { + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), menu); + menu_add_plugin_mainmenu_items (menu_bar); + } + if (usermenu) + usermenu_create (usermenu); + return (menu_bar); + } + submenu = NULL; + } + + /* record this GtkWidget * so it's state might be changed later */ + if (mymenu[i].id != 0 && menu_widgets) + /* this ends up in sess->gui->menu_item[MENU_ID_XXX] */ + menu_widgets[mymenu[i].id] = item; + +#ifdef HAVE_GTK_MAC + /* We want HexChat to be the app menu, not including Quit or HexChat itself */ + if (bar && item && i <= CLOSE_OFFSET + 1 && mymenu[i].id != MENU_ID_HEXCHAT) + { + if (!submenu || mymenu[i].type == M_MENUSUB) + gtkosx_application_insert_app_menu_item (osx_app, item, appmenu_offset++); + } +#endif + + i++; + } +} diff --git a/src/fe-gtk/menu.h b/src/fe-gtk/menu.h new file mode 100644 index 0000000000000000000000000000000000000000..db2dc70aafb94adb31b1080c0b93911de75fb843 --- /dev/null +++ b/src/fe-gtk/menu.h @@ -0,0 +1,71 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_MENU_H +#define HEXCHAT_MENU_H + +GtkWidget *menu_create_main (void *accel_group, int bar, int away, int toplevel, GtkWidget **menu_widgets); +void menu_urlmenu (GdkEventButton * event, char *url); +void menu_chanmenu (session *sess, GdkEventButton * event, char *chan); +void menu_addfavoritemenu (server *serv, GtkWidget *menu, char *channel, gboolean istree); +void menu_addconnectmenu (server *serv, GtkWidget *menu); +void menu_nickmenu (session *sess, GdkEventButton * event, char *nick, int num_sel); +void menu_middlemenu (session *sess, GdkEventButton *event); +void userlist_button_cb (GtkWidget * button, char *cmd); +void nick_command_parse (session *sess, char *cmd, char *nick, char *allnick); +void usermenu_update (void); +GtkWidget *menu_toggle_item (char *label, GtkWidget *menu, void *callback, void *userdata, int state); +GtkWidget *menu_quick_item (char *cmd, char *label, GtkWidget * menu, int flags, gpointer userdata, char *icon); +GtkWidget *menu_quick_sub (char *name, GtkWidget *menu, GtkWidget **sub_item_ret, int flags, int pos); +GtkWidget *create_icon_menu (char *labeltext, void *stock_name, int is_stock); +void menu_create (GtkWidget *menu, GSList *list, char *target, int check_path); +void menu_bar_toggle (void); +void menu_add_plugin_items (GtkWidget *menu, char *root, char *target); +void menu_change_layout (void); + +void menu_set_away (session_gui *gui, int away); +void menu_set_fullscreen (session_gui *gui, int fullscreen); + +/* for menu_quick functions */ +#define XCMENU_DOLIST 1 +#define XCMENU_SHADED 1 +#define XCMENU_MARKUP 2 +#define XCMENU_MNEMONIC 4 + +/* menu items we keep a GtkWidget* for (to change their state) */ +#define MENU_ID_AWAY 1 +#define MENU_ID_MENUBAR 2 +#define MENU_ID_TOPICBAR 3 +#define MENU_ID_USERLIST 4 +#define MENU_ID_ULBUTTONS 5 +#define MENU_ID_MODEBUTTONS 6 +#define MENU_ID_LAYOUT_TABS 7 +#define MENU_ID_LAYOUT_TREE 8 +#define MENU_ID_DISCONNECT 9 +#define MENU_ID_RECONNECT 10 +#define MENU_ID_JOIN 11 +#define MENU_ID_USERMENU 12 +#define MENU_ID_FULLSCREEN 13 +#define MENU_ID_HEXCHAT 14 + +#if (MENU_ID_NUM < MENU_ID_HEXCHAT) +#error MENU_ID_NUM is set wrong +#endif + +#endif diff --git a/src/fe-gtk/meson.build b/src/fe-gtk/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..d07514db7ad10333f5a915e14b7bb49621effa57 --- /dev/null +++ b/src/fe-gtk/meson.build @@ -0,0 +1,91 @@ +hexchat_gtk_sources = [ + 'ascii.c', + 'banlist.c', + 'chanlist.c', + 'chanview.c', + 'custom-list.c', + 'dccgui.c', + 'editlist.c', + 'fe-gtk.c', + 'fkeys.c', + 'gtkutil.c', + 'ignoregui.c', + 'joind.c', + 'menu.c', + 'maingui.c', + 'notifygui.c', + 'palette.c', + 'pixmaps.c', + 'plugin-tray.c', + 'plugin-notification.c', + 'rawlog.c', + 'servlistgui.c', + 'setup.c', + 'sexy-spell-entry.c', + 'textgui.c', + 'urlgrab.c', + 'userlistgui.c', + 'xtext.c' +] + +gtk_dep = dependency('gtk+-2.0', version: '>= 2.24.0') +hexchat_gtk_deps = [ + hexchat_common_dep, + libgmodule_dep, # used by libsexy + gtk_dep +] + +if gtk_dep.get_pkgconfig_variable('target') == 'x11' + hexchat_gtk_deps += dependency('x11') +endif + +hexchat_gtk_cflags = [] + +hexchat_gtk_ldflags = [] + +if host_machine.system() == 'windows' + hexchat_gtk_sources += 'notifications/notification-windows.c' + + # TODO: mingw doesn't have these headers or libs + # add_languages('cpp') + # shared_module('hcnotifications-winrt', + # sources: 'notifications/notification-winrt.cpp' + #) + +else + hexchat_gtk_sources += 'notifications/notification-freedesktop.c' +endif + +iso_codes = dependency('iso-codes', required: false) +if iso_codes.found() + hexchat_gtk_sources += 'sexy-iso-codes.c' + iso_codes_prefix = iso_codes.get_pkgconfig_variable('prefix') + hexchat_gtk_cflags += '-DISO_CODES_PREFIX="@0@"'.format(iso_codes_prefix) + hexchat_gtk_cflags += '-DISO_CODES_LOCALEDIR="@0@"'.format( + join_paths(iso_codes_prefix, 'share/locale')) +endif + +if get_option('plugin') + hexchat_gtk_sources += 'plugingui.c' +endif + +resources = gnome.compile_resources('resources', + '../../data/hexchat.gresource.xml', + source_dir: '../../data', # TODO: Fix upstream + c_name: 'hexchat', + extra_args: ['--manual-register'] +) + +if host_machine.system() == 'windows' + hexchat_gtk_ldflags += '-Wl,-e,mainCRTStartup' +endif + +executable('hexchat', + sources: resources + hexchat_gtk_sources, + dependencies: hexchat_gtk_deps, + c_args: hexchat_gtk_cflags, + link_args: hexchat_gtk_ldflags, + pie: true, + install: true, + gui_app: true, +) diff --git a/src/fe-gtk/notifications/notification-backend.h b/src/fe-gtk/notifications/notification-backend.h new file mode 100644 index 0000000000000000000000000000000000000000..4bcaa7d8909366839b765052114341bc134c0bfc --- /dev/null +++ b/src/fe-gtk/notifications/notification-backend.h @@ -0,0 +1,27 @@ +/* HexChat + * Copyright (C) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGIN_NOTIFICATION_BACKEND_H +#define HEXCHAT_PLUGIN_NOTIFICATION_BACKEND_H + +int notification_backend_supported (void); +void notification_backend_show (const char *title, const char *text); +int notification_backend_init (const char **error); +void notification_backend_deinit (void); + +#endif diff --git a/src/fe-gtk/notifications/notification-dummy.c b/src/fe-gtk/notifications/notification-dummy.c new file mode 100644 index 0000000000000000000000000000000000000000..9aa7d19c13c28940d3f524eed06bf1fa30cdc448 --- /dev/null +++ b/src/fe-gtk/notifications/notification-dummy.c @@ -0,0 +1,39 @@ +/* HexChat + * Copyright (C) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +void +notification_backend_show (const char *title, const char *text) +{ +} + +int +notification_backend_init (const char **error) +{ + return 0; +} + +void +notification_backend_deinit (void) +{ +} + +int +notification_backend_supported (void) +{ + return 0; +} diff --git a/src/fe-gtk/notifications/notification-freedesktop.c b/src/fe-gtk/notifications/notification-freedesktop.c new file mode 100644 index 0000000000000000000000000000000000000000..a23284e577bd29c681a8d807bf8bfd3ecdd296f7 --- /dev/null +++ b/src/fe-gtk/notifications/notification-freedesktop.c @@ -0,0 +1,148 @@ +/* HexChat + * Copyright (C) 2021 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include <string.h> +#include <gio/gio.h> + +static GDBusProxy *fdo_notifications; +static gboolean strip_markup; + +static void +on_notify_ready (GDBusProxy *proxy, GAsyncResult *res, gpointer user_data) +{ + GError *error = NULL; + guint32 notification_id; + GVariant *response = g_dbus_proxy_call_finish (proxy, res, &error); + if (error) + { + g_info ("Failed to send notification: %s", error->message); + g_error_free (error); + return; + } + + g_variant_get (response, "(u)", ¬ification_id); + g_info ("Notification sent. ID=%u", notification_id); + + g_variant_unref (response); +} + +void +notification_backend_show (const char *title, const char *text) +{ + GVariantBuilder params; + + g_assert (fdo_notifications); + + if (strip_markup) + text = g_markup_escape_text (text, -1); + + g_variant_builder_init (¶ms, G_VARIANT_TYPE ("(susssasa{sv}i)")); + g_variant_builder_add (¶ms, "s", "hexchat"); /* App name */ + g_variant_builder_add (¶ms, "u", 0); /* ID, 0 means don't replace */ + g_variant_builder_add (¶ms, "s", "io.github.Hexchat"); /* App icon */ + g_variant_builder_add (¶ms, "s", title); + g_variant_builder_add (¶ms, "s", text); + g_variant_builder_add (¶ms, "as", NULL); /* Actions */ + + /* Hints */ + g_variant_builder_open (¶ms, G_VARIANT_TYPE ("a{sv}")); + g_variant_builder_open (¶ms, G_VARIANT_TYPE ("{sv}")); + g_variant_builder_add (¶ms, "s", "desktop-entry"); + g_variant_builder_add (¶ms, "v", g_variant_new_string ("io.github.Hexchat")); + g_variant_builder_close (¶ms); + g_variant_builder_close (¶ms); + + g_variant_builder_add (¶ms, "i", -1); /* Expiration */ + + g_dbus_proxy_call (fdo_notifications, + "Notify", + g_variant_builder_end (¶ms), + G_DBUS_CALL_FLAGS_NONE, + 1000, + NULL, + (GAsyncReadyCallback)on_notify_ready, + NULL); + + if (strip_markup) + g_free ((char*)text); +} + +int +notification_backend_init (const char **error) +{ + GError *err = NULL; + GVariant *response; + char **capabilities; + guint i; + + fdo_notifications = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.Notifications", + "/org/freedesktop/Notifications", + "org.freedesktop.Notifications", + NULL, + &err); + + if (err) + goto return_error; + + response = g_dbus_proxy_call_sync (fdo_notifications, + "GetCapabilities", + NULL, + G_DBUS_CALL_FLAGS_NONE, + 30, + NULL, + &err); + + if (err) + { + g_clear_object (&fdo_notifications); + goto return_error; + } + + g_variant_get (response, "(^a&s)", &capabilities); + for (i = 0; capabilities[i]; i++) + { + if (strcmp (capabilities[i], "body-markup") == 0) + strip_markup = TRUE; + } + + g_free (capabilities); + g_variant_unref (response); + return 1; + +return_error: + *error = g_strdup (err->message); + g_error_free (err); + return 0; +} + +void +notification_backend_deinit (void) +{ + g_clear_object (&fdo_notifications); +} + +int +notification_backend_supported (void) +{ + return fdo_notifications != NULL; +} diff --git a/src/fe-gtk/notifications/notification-osx.m b/src/fe-gtk/notifications/notification-osx.m new file mode 100644 index 0000000000000000000000000000000000000000..75aaf7773ffe7cb66d291bcafe17a435c087aca7 --- /dev/null +++ b/src/fe-gtk/notifications/notification-osx.m @@ -0,0 +1,54 @@ +/* HexChat + * Copyright (C) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#import <Cocoa/Cocoa.h> +#include <gtkosxapplication.h> + +void +notification_backend_show (const char *title, const char *text) +{ + NSString *str_title = [[NSString alloc] initWithUTF8String:title]; + NSString *str_text = [[NSString alloc] initWithUTF8String:text]; + + NSUserNotification *userNotification = [NSUserNotification new]; + userNotification.title = str_title; + userNotification.informativeText = str_text; + + NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter]; + [center scheduleNotification:userNotification]; + + [str_title release]; + [str_text release]; +} + +int +notification_backend_init (const char **error) +{ + return 1; +} + +void +notification_backend_deinit (void) +{ +} + +int +notification_backend_supported (void) +{ + return gtkosx_application_get_bundle_id () != NULL; +} diff --git a/src/fe-gtk/notifications/notification-windows.c b/src/fe-gtk/notifications/notification-windows.c new file mode 100644 index 0000000000000000000000000000000000000000..2fd896c5b721028bd759cc59fea6c1b1e084e11d --- /dev/null +++ b/src/fe-gtk/notifications/notification-windows.c @@ -0,0 +1,87 @@ +/* HexChat + * Copyright (C) 2015 Arnav Singh. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "hexchat.h" +#include "plugin.h" + +#include <gmodule.h> +#include <windows.h> + +void (*winrt_notification_backend_show) (const char *title, const char *text) = NULL; +int (*winrt_notification_backend_init) (const char **error) = NULL; +void (*winrt_notification_backend_deinit) (void) = NULL; +int (*winrt_notification_backend_supported) (void) = NULL; + +void +notification_backend_show (const char *title, const char *text) +{ + if (winrt_notification_backend_show == NULL) + { + return; + } + + winrt_notification_backend_show (title, text); +} + +int +notification_backend_init (const char **error) +{ + UINT original_error_mode; + GModule *module; + + /* Temporarily suppress the "DLL could not be loaded" dialog box before trying to load hcnotifications-winrt.dll */ + original_error_mode = GetErrorMode (); + SetErrorMode(SEM_FAILCRITICALERRORS); + module = module_load (HEXCHATLIBDIR "\\hcnotifications-winrt.dll"); + SetErrorMode (original_error_mode); + + if (module == NULL) + { + *error = "hcnotifications-winrt not found."; + return 0; + } + + g_module_symbol (module, "notification_backend_show", (gpointer *) &winrt_notification_backend_show); + g_module_symbol (module, "notification_backend_init", (gpointer *) &winrt_notification_backend_init); + g_module_symbol (module, "notification_backend_deinit", (gpointer *) &winrt_notification_backend_deinit); + g_module_symbol (module, "notification_backend_supported", (gpointer *) &winrt_notification_backend_supported); + + return winrt_notification_backend_init (error); +} + +void +notification_backend_deinit (void) +{ + if (winrt_notification_backend_deinit == NULL) + { + return; + } + + winrt_notification_backend_deinit (); +} + +int +notification_backend_supported (void) +{ + if (winrt_notification_backend_supported == NULL) + { + return 0; + } + + return winrt_notification_backend_supported (); +} diff --git a/src/fe-gtk/notifications/notification-winrt.cpp b/src/fe-gtk/notifications/notification-winrt.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3b966cf062fee6b97da60ab299f85303c3a43c20 --- /dev/null +++ b/src/fe-gtk/notifications/notification-winrt.cpp @@ -0,0 +1,130 @@ +/* HexChat + * Copyright (c) 2014 Leetsoftwerx + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <string> +#include <codecvt> +#include <strsafe.h> + +#include <roapi.h> +#include <windows.ui.notifications.h> + +using namespace Windows::UI::Notifications; +using namespace Windows::Data::Xml::Dom; + +static ToastNotifier ^ notifier = nullptr; + +static std::wstring +widen(const std::string & to_widen) +{ + std::wstring_convert<std::codecvt_utf8_utf16<wchar_t> > converter; + return converter.from_bytes(to_widen); +} + +static std::string +narrow(const std::wstring & to_narrow) +{ + std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; + return converter.to_bytes(to_narrow); +} + + +extern "C" +{ + __declspec (dllexport) void + notification_backend_show (const char *title, const char *text) + { + try + { + auto toastTemplate = ToastNotificationManager::GetTemplateContent (ToastTemplateType::ToastText02); + auto node_list = toastTemplate->GetElementsByTagName (L"text"); + UINT node_count = node_list->Length; + + auto wtitle = widen (title); + node_list->GetAt (0)->AppendChild ( + toastTemplate->CreateTextNode (Platform::StringReference (wtitle.c_str (), wtitle.size ()))); + + auto wtext = widen (text); + node_list->GetAt (1)->AppendChild ( + toastTemplate->CreateTextNode (Platform::StringReference (wtext.c_str (), wtext.size ()))); + + // Mute sound, we already play our own + auto node = toastTemplate->SelectSingleNode (L"/toast"); + auto audio_elem = toastTemplate->CreateElement (L"audio"); + audio_elem->SetAttribute (L"silent", L"true"); + static_cast<XmlElement^>(node)->AppendChild (audio_elem); + + notifier->Show (ref new ToastNotification (toastTemplate)); + } + catch (Platform::Exception ^ ex) + { + } + catch (...) + { + } + } + + __declspec (dllexport) int + notification_backend_init (const char **error) + { + try + { + if (!notifier) + notifier = ToastNotificationManager::CreateToastNotifier (L"HexChat.Desktop.Notify"); + } + catch (Platform::Exception ^ ex) + { + static char exc_message[1024]; + std::string tmp = narrow(std::wstring(ex->Message->Data())); + if (SUCCEEDED(StringCchPrintfA(exc_message, _countof(exc_message), "Error (0x%x): %s", ex->HResult, tmp.c_str()))) + *error = exc_message; + else + *error = "Exception + error converting exception message."; + return 0; + } + catch (...) + { + *error = "Generic c++ exception."; + return 0; + } + + if (FAILED (Windows::Foundation::Initialize (RO_INIT_SINGLETHREADED))) + { + *error = "Error initializing Windows::Foundation."; + return 0; + } + + return 1; + } + + __declspec (dllexport) void + notification_backend_deinit (void) + { + notifier = nullptr; + Windows::Foundation::Uninitialize (); + } + + __declspec (dllexport) int + notification_backend_supported (void) + { + return 1; + } +} diff --git a/src/fe-gtk/notifications/notifications-winrt.vcxproj b/src/fe-gtk/notifications/notifications-winrt.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..2f6ffc99f5516086c4ce5ff453a2ab9ac1d1708f --- /dev/null +++ b/src/fe-gtk/notifications/notifications-winrt.vcxproj @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <ItemGroup> + <ClCompile Include="notification-winrt.cpp"> + <CompileAsWinRT>true</CompileAsWinRT> + </ClCompile> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{C53145CC-D021-40C9-B97C-0249AB9A43C9}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>notifications-winrt</RootNamespace> + <ProjectName>notifications-winrt</ProjectName> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\..\..\win32\hexchat.props" /> + <PropertyGroup> + <TargetName>hcnotifications-winrt</TargetName> + <OutDir>$(HexChatRel)plugins\</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY;_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT;NDEBUG;_WINDOWS;_USRDLL;NOTIFICATIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <AdditionalUsingDirectories>$(VC_LibraryPath_VC_x86_Store)\references;$(WindowsSDK_UnionMetadataPath);$(VCInstallDir)vcpackages;$(FrameworkSdkDir)References\CommonConfiguration\Neutral;%(AdditionalUsingDirectories)</AdditionalUsingDirectories> + <CompileAsWinRT>true</CompileAsWinRT> + </ClCompile> + <Link> + <AdditionalDependencies>$(DepLibs);mincore.lib;runtimeobject.lib;%(AdditionalDependencies)</AdditionalDependencies> + <MinimumRequiredVersion>6.03</MinimumRequiredVersion> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY;_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT;NDEBUG;_WINDOWS;_USRDLL;NOTIFICATIONS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <AdditionalUsingDirectories>$(VC_LibraryPath_VC_x86_Store)\references;$(WindowsSDK_UnionMetadataPath);$(VCInstallDir)vcpackages;$(FrameworkSdkDir)References\CommonConfiguration\Neutral;%(AdditionalUsingDirectories)</AdditionalUsingDirectories> + <CompileAsWinRT>true</CompileAsWinRT> + </ClCompile> + <Link> + <AdditionalDependencies>$(DepLibs);mincore.lib;runtimeobject.lib;%(AdditionalDependencies)</AdditionalDependencies> + <MinimumRequiredVersion>6.03</MinimumRequiredVersion> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/src/fe-gtk/notifications/notifications-winrt.vcxproj.filters b/src/fe-gtk/notifications/notifications-winrt.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..06f4e5587f4cdacffe9f42de4f38ed94ee9b9d7e --- /dev/null +++ b/src/fe-gtk/notifications/notifications-winrt.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="notification-winrt.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/src/fe-gtk/notifygui.c b/src/fe-gtk/notifygui.c new file mode 100644 index 0000000000000000000000000000000000000000..38b35eb9750601fc45e8a11c57e098c407747f36 --- /dev/null +++ b/src/fe-gtk/notifygui.c @@ -0,0 +1,441 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <time.h> + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/notify.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/server.h" +#include "../common/util.h" +#include "../common/userlist.h" +#include "../common/outbound.h" +#include "gtkutil.h" +#include "maingui.h" +#include "palette.h" +#include "notifygui.h" + + +/* model for the notify treeview */ +enum +{ + USER_COLUMN, + STATUS_COLUMN, + SERVER_COLUMN, + SEEN_COLUMN, + COLOUR_COLUMN, + NPS_COLUMN, /* struct notify_per_server * */ + N_COLUMNS +}; + + +static GtkWidget *notify_window = 0; +static GtkWidget *notify_button_opendialog; +static GtkWidget *notify_button_remove; + + +static void +notify_closegui (void) +{ + notify_window = 0; + notify_save (); +} + +/* Need this to be able to set the foreground colour property of a row + * from a GdkColor * in the model -Vince + */ +static void +notify_treecell_property_mapper (GtkTreeViewColumn *col, GtkCellRenderer *cell, + GtkTreeModel *model, GtkTreeIter *iter, + gpointer data) +{ + gchar *text; + GdkColor *colour; + int model_column = GPOINTER_TO_INT (data); + + gtk_tree_model_get (GTK_TREE_MODEL (model), iter, + COLOUR_COLUMN, &colour, + model_column, &text, -1); + g_object_set (G_OBJECT (cell), "text", text, NULL); + g_object_set (G_OBJECT (cell), "foreground-gdk", colour, NULL); + g_free (text); +} + +static void +notify_row_cb (GtkTreeSelection *sel, GtkTreeView *view) +{ + GtkTreeIter iter; + struct notify_per_server *servnot; + + if (gtkutil_treeview_get_selected (view, &iter, NPS_COLUMN, &servnot, -1)) + { + gtk_widget_set_sensitive (notify_button_opendialog, servnot ? servnot->ison : 0); + gtk_widget_set_sensitive (notify_button_remove, TRUE); + return; + } + + gtk_widget_set_sensitive (notify_button_opendialog, FALSE); + gtk_widget_set_sensitive (notify_button_remove, FALSE); +} + +static GtkWidget * +notify_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_POINTER, /* can't specify colour! */ + G_TYPE_POINTER + ); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), + notify_treecell_property_mapper, + USER_COLUMN, _("Name"), + STATUS_COLUMN, _("Status"), + SERVER_COLUMN, _("Network"), + SEEN_COLUMN, _("Last Seen"), -1); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0), TRUE); + + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + gtk_tree_view_column_set_alignment (col, 0.5); + + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), + "changed", G_CALLBACK (notify_row_cb), view); + + gtk_widget_show (view); + return view; +} + +void +notify_gui_update (void) +{ + struct notify *notify; + struct notify_per_server *servnot; + GSList *list = notify_list; + GSList *slist; + gchar *name, *status, *server, *seen; + int online, servcount, lastseenminutes; + time_t lastseen; + char agobuf[128]; + + GtkListStore *store; + GtkTreeView *view; + GtkTreeIter iter; + gboolean valid; /* true if we don't need to append a new tree row */ + + if (!notify_window) + return; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter); + + while (list) + { + notify = (struct notify *) list->data; + name = notify->name; + status = _("Offline"); + server = ""; + + online = FALSE; + lastseen = 0; + /* First see if they're online on any servers */ + slist = notify->server_list; + while (slist) + { + servnot = (struct notify_per_server *) slist->data; + if (servnot->ison) + online = TRUE; + if (servnot->lastseen > lastseen) + lastseen = servnot->lastseen; + slist = slist->next; + } + + if (!online) /* Offline on all servers */ + { + if (!lastseen) + seen = _("Never"); + else + { + lastseenminutes = (int)(time (0) - lastseen) / 60; + if (lastseenminutes < 60) + g_snprintf (agobuf, sizeof (agobuf), _("%d minutes ago"), lastseenminutes); + else if (lastseenminutes < 120) + g_snprintf (agobuf, sizeof (agobuf), _("An hour ago")); + else + g_snprintf (agobuf, sizeof (agobuf), _("%d hours ago"), lastseenminutes / 60); + seen = agobuf; + } + if (!valid) /* create new tree row if required */ + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, name, 1, status, + 2, server, 3, seen, 4, &colors[4], 5, NULL, -1); + if (valid) + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter); + + } else + { + /* Online - add one line per server */ + servcount = 0; + slist = notify->server_list; + status = _("Online"); + while (slist) + { + servnot = (struct notify_per_server *) slist->data; + if (servnot->ison) + { + if (servcount > 0) + name = ""; + server = server_get_network (servnot->server, TRUE); + + g_snprintf (agobuf, sizeof (agobuf), _("%d minutes ago"), (int)(time (0) - lastseen) / 60); + seen = agobuf; + + if (!valid) /* create new tree row if required */ + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, name, 1, status, + 2, server, 3, seen, 4, &colors[3], 5, servnot, -1); + if (valid) + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter); + + servcount++; + } + slist = slist->next; + } + } + + list = list->next; + } + + while (valid) + { + GtkTreeIter old = iter; + /* get next iter now because removing invalidates old one */ + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), + &iter); + gtk_list_store_remove (store, &old); + } + + notify_row_cb (gtk_tree_view_get_selection (view), view); +} + +static void +notify_opendialog_clicked (GtkWidget * igad) +{ + GtkTreeView *view; + GtkTreeIter iter; + struct notify_per_server *servnot; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + if (gtkutil_treeview_get_selected (view, &iter, NPS_COLUMN, &servnot, -1)) + { + if (servnot) + open_query (servnot->server, servnot->notify->name, TRUE); + } +} + +static void +notify_remove_clicked (GtkWidget * igad) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path = NULL; + gboolean found = FALSE; + char *name; + + view = g_object_get_data (G_OBJECT (notify_window), "view"); + if (gtkutil_treeview_get_selected (view, &iter, USER_COLUMN, &name, -1)) + { + model = gtk_tree_view_get_model (view); + found = (*name != 0); + while (!found) /* the real nick is some previous node */ + { + g_free (name); /* it's useless to us */ + if (!path) + path = gtk_tree_model_get_path (model, &iter); + if (!gtk_tree_path_prev (path)) /* arrgh! no previous node! */ + { + g_warning ("notify list state is invalid\n"); + break; + } + if (!gtk_tree_model_get_iter (model, &iter, path)) + break; + gtk_tree_model_get (model, &iter, USER_COLUMN, &name, -1); + found = (*name != 0); + } + if (path) + gtk_tree_path_free (path); + if (!found) + return; + + /* ok, now we can remove it */ + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + notify_deluser (name); + g_free (name); + } +} + +static void +notifygui_add_cb (GtkDialog *dialog, gint response, gpointer entry) +{ + char *networks; + char *text; + + text = (char *)gtk_entry_get_text (GTK_ENTRY (entry)); + if (text[0] && response == GTK_RESPONSE_ACCEPT) + { + networks = (char*)gtk_entry_get_text (GTK_ENTRY (g_object_get_data (G_OBJECT (entry), "net"))); + if (g_ascii_strcasecmp (networks, "ALL") == 0 || networks[0] == 0) + notify_adduser (text, NULL); + else + notify_adduser (text, networks); + } + + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +notifygui_add_enter (GtkWidget *entry, GtkWidget *dialog) +{ + gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); +} + +void +fe_notify_ask (char *nick, char *networks) +{ + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *label; + GtkWidget *wid; + GtkWidget *table; + char *msg = _("Enter nickname to add:"); + char buf[256]; + + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, + NULL); + if (parent_window) + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + + table = gtk_table_new (2, 3, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (table), 12); + gtk_table_set_row_spacings (GTK_TABLE (table), 3); + gtk_table_set_col_spacings (GTK_TABLE (table), 8); + gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table); + + label = gtk_label_new (msg); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1); + + entry = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry), nick); + g_signal_connect (G_OBJECT (entry), "activate", + G_CALLBACK (notifygui_add_enter), dialog); + gtk_table_attach_defaults (GTK_TABLE (table), entry, 1, 2, 0, 1); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (notifygui_add_cb), entry); + + label = gtk_label_new (_("Notify on these networks:")); + gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3); + + wid = gtk_entry_new (); + g_object_set_data (G_OBJECT (entry), "net", wid); + g_signal_connect (G_OBJECT (wid), "activate", + G_CALLBACK (notifygui_add_enter), dialog); + gtk_entry_set_text (GTK_ENTRY (wid), networks ? networks : "ALL"); + gtk_table_attach_defaults (GTK_TABLE (table), wid, 1, 2, 2, 3); + + label = gtk_label_new (NULL); + g_snprintf (buf, sizeof (buf), "<i><span size=\"smaller\">%s</span></i>", _("Comma separated list of networks is accepted.")); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_table_attach_defaults (GTK_TABLE (table), label, 1, 2, 3, 4); + + gtk_widget_show_all (dialog); +} + +static void +notify_add_clicked (GtkWidget * igad) +{ + fe_notify_ask ("", NULL); +} + +void +notify_opengui (void) +{ + GtkWidget *vbox, *bbox; + GtkWidget *view; + char buf[128]; + + if (notify_window) + { + mg_bring_tofront (notify_window); + return; + } + + g_snprintf(buf, sizeof(buf), _("Friends List - %s"), _(DISPLAY_NAME)); + notify_window = + mg_create_generic_tab ("Notify", buf, FALSE, TRUE, notify_closegui, NULL, 400, + 250, &vbox, 0); + gtkutil_destroy_on_esc (notify_window); + + view = notify_treeview_new (vbox); + g_object_set_data (G_OBJECT (notify_window), "view", view); + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), bbox, 0, 0, 0); + gtk_widget_show (bbox); + + gtkutil_button (bbox, GTK_STOCK_NEW, 0, notify_add_clicked, 0, + _("Add...")); + + notify_button_remove = + gtkutil_button (bbox, GTK_STOCK_DELETE, 0, notify_remove_clicked, 0, + _("Remove")); + + notify_button_opendialog = + gtkutil_button (bbox, NULL, 0, notify_opendialog_clicked, 0, + _("Open Dialog")); + + gtk_widget_set_sensitive (notify_button_opendialog, FALSE); + gtk_widget_set_sensitive (notify_button_remove, FALSE); + + notify_gui_update (); + + gtk_widget_show (notify_window); +} diff --git a/src/fe-gtk/notifygui.h b/src/fe-gtk/notifygui.h new file mode 100644 index 0000000000000000000000000000000000000000..6517995c35c6bf7f8eb4b596f208d13a63064390 --- /dev/null +++ b/src/fe-gtk/notifygui.h @@ -0,0 +1,26 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_NOTIFYGUI_H +#define HEXCHAT_NOTIFYGUI_H + +void notify_gui_update (void); +void notify_opengui (void); + +#endif diff --git a/src/fe-gtk/palette.c b/src/fe-gtk/palette.c new file mode 100644 index 0000000000000000000000000000000000000000..17689756c6a1a1ad3e0ab4e9fc0a67983be4825d --- /dev/null +++ b/src/fe-gtk/palette.c @@ -0,0 +1,171 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "fe-gtk.h" +#include "palette.h" + +#include "../common/hexchat.h" +#include "../common/util.h" +#include "../common/cfgfiles.h" +#include "../common/typedef.h" + + +GdkColor colors[] = { + /* colors for xtext */ + {0, 0xd3d3, 0xd7d7, 0xcfcf}, /* 0 white */ + {0, 0x2e2e, 0x3434, 0x3636}, /* 1 black */ + {0, 0x3434, 0x6565, 0xa4a4}, /* 2 blue */ + {0, 0x4e4e, 0x9a9a, 0x0606}, /* 3 green */ + {0, 0xcccc, 0x0000, 0x0000}, /* 4 red */ + {0, 0x8f8f, 0x3939, 0x0202}, /* 5 light red */ + {0, 0x5c5c, 0x3535, 0x6666}, /* 6 purple */ + {0, 0xcece, 0x5c5c, 0x0000}, /* 7 orange */ + {0, 0xc4c4, 0xa0a0, 0x0000}, /* 8 yellow */ + {0, 0x7373, 0xd2d2, 0x1616}, /* 9 green */ + {0, 0x1111, 0xa8a8, 0x7979}, /* 10 aqua */ + {0, 0x5858, 0xa1a1, 0x9d9d}, /* 11 light aqua */ + {0, 0x5757, 0x7979, 0x9e9e}, /* 12 blue */ + {0, 0xa0d0, 0x42d4, 0x6562}, /* 13 light purple */ + {0, 0x5555, 0x5757, 0x5353}, /* 14 grey */ + {0, 0x8888, 0x8a8a, 0x8585}, /* 15 light grey */ + + {0, 0xd3d3, 0xd7d7, 0xcfcf}, /* 16 white */ + {0, 0x2e2e, 0x3434, 0x3636}, /* 17 black */ + {0, 0x3434, 0x6565, 0xa4a4}, /* 18 blue */ + {0, 0x4e4e, 0x9a9a, 0x0606}, /* 19 green */ + {0, 0xcccc, 0x0000, 0x0000}, /* 20 red */ + {0, 0x8f8f, 0x3939, 0x0202}, /* 21 light red */ + {0, 0x5c5c, 0x3535, 0x6666}, /* 22 purple */ + {0, 0xcece, 0x5c5c, 0x0000}, /* 23 orange */ + {0, 0xc4c4, 0xa0a0, 0x0000}, /* 24 yellow */ + {0, 0x7373, 0xd2d2, 0x1616}, /* 25 green */ + {0, 0x1111, 0xa8a8, 0x7979}, /* 26 aqua */ + {0, 0x5858, 0xa1a1, 0x9d9d}, /* 27 light aqua */ + {0, 0x5757, 0x7979, 0x9e9e}, /* 28 blue */ + {0, 0xa0d0, 0x42d4, 0x6562}, /* 29 light purple */ + {0, 0x5555, 0x5757, 0x5353}, /* 30 grey */ + {0, 0x8888, 0x8a8a, 0x8585}, /* 31 light grey */ + + {0, 0xd3d3, 0xd7d7, 0xcfcf}, /* 32 marktext Fore (white) */ + {0, 0x2020, 0x4a4a, 0x8787}, /* 33 marktext Back (blue) */ + {0, 0x2512, 0x29e8, 0x2b85}, /* 34 foreground (black) */ + {0, 0xfae0, 0xfae0, 0xf8c4}, /* 35 background (white) */ + {0, 0x8f8f, 0x3939, 0x0202}, /* 36 marker line (red) */ + + /* colors for GUI */ + {0, 0x3434, 0x6565, 0xa4a4}, /* 37 tab New Data (dark red) */ + {0, 0x4e4e, 0x9a9a, 0x0606}, /* 38 tab Nick Mentioned (blue) */ + {0, 0xcece, 0x5c5c, 0x0000}, /* 39 tab New Message (red) */ + {0, 0x8888, 0x8a8a, 0x8585}, /* 40 away user (grey) */ + {0, 0xa4a4, 0x0000, 0x0000}, /* 41 spell checker color (red) */ +}; + +void +palette_alloc (GtkWidget * widget) +{ + int i; + static int done_alloc = FALSE; + GdkColormap *cmap; + + if (!done_alloc) /* don't do it again */ + { + done_alloc = TRUE; + cmap = gtk_widget_get_colormap (widget); + for (i = MAX_COL; i >= 0; i--) + gdk_colormap_alloc_color (cmap, &colors[i], FALSE, TRUE); + } +} + +void +palette_load (void) +{ + int i, j, fh; + char prefname[256]; + struct stat st; + char *cfg; + guint16 red, green, blue; + + fh = hexchat_open_file ("colors.conf", O_RDONLY, 0, 0); + if (fh != -1) + { + fstat (fh, &st); + cfg = g_malloc0 (st.st_size + 1); + read (fh, cfg, st.st_size); + + /* mIRC colors 0-31 are here */ + for (i = 0; i < 32; i++) + { + g_snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_get_color (cfg, prefname, &red, &green, &blue); + colors[i].red = red; + colors[i].green = green; + colors[i].blue = blue; + } + + /* our special colors are mapped at 256+ */ + for (i = 256, j = 32; j < MAX_COL+1; i++, j++) + { + g_snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_get_color (cfg, prefname, &red, &green, &blue); + colors[j].red = red; + colors[j].green = green; + colors[j].blue = blue; + } + g_free (cfg); + close (fh); + } +} + +void +palette_save (void) +{ + int i, j, fh; + char prefname[256]; + + fh = hexchat_open_file ("colors.conf", O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + if (fh != -1) + { + /* mIRC colors 0-31 are here */ + for (i = 0; i < 32; i++) + { + g_snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_put_color (fh, colors[i].red, colors[i].green, colors[i].blue, prefname); + } + + /* our special colors are mapped at 256+ */ + for (i = 256, j = 32; j < MAX_COL+1; i++, j++) + { + g_snprintf (prefname, sizeof prefname, "color_%d", i); + cfg_put_color (fh, colors[j].red, colors[j].green, colors[j].blue, prefname); + } + + close (fh); + } +} diff --git a/src/fe-gtk/palette.h b/src/fe-gtk/palette.h new file mode 100644 index 0000000000000000000000000000000000000000..569594a5ad026bb7c7a6cf6d465a841d457e8b9a --- /dev/null +++ b/src/fe-gtk/palette.h @@ -0,0 +1,41 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PALETTE_H +#define HEXCHAT_PALETTE_H + +extern GdkColor colors[]; + +#define COL_MARK_FG 32 +#define COL_MARK_BG 33 +#define COL_FG 34 +#define COL_BG 35 +#define COL_MARKER 36 +#define COL_NEW_DATA 37 +#define COL_HILIGHT 38 +#define COL_NEW_MSG 39 +#define COL_AWAY 40 +#define COL_SPELL 41 +#define MAX_COL 41 + +void palette_alloc (GtkWidget * widget); +void palette_load (void); +void palette_save (void); + +#endif diff --git a/src/fe-gtk/pixmaps.c b/src/fe-gtk/pixmaps.c new file mode 100644 index 0000000000000000000000000000000000000000..9bdf46fc4ea54fcfa88e1fc92e0a416bae0ae1a9 --- /dev/null +++ b/src/fe-gtk/pixmaps.c @@ -0,0 +1,157 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" +#include "../common/cfgfiles.h" +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "resources.h" + +#include <gio/gio.h> +#include <gdk-pixbuf/gdk-pixbuf.h> + +GdkPixbuf *pix_ulist_voice; +GdkPixbuf *pix_ulist_halfop; +GdkPixbuf *pix_ulist_op; +GdkPixbuf *pix_ulist_owner; +GdkPixbuf *pix_ulist_founder; +GdkPixbuf *pix_ulist_netop; + +GdkPixbuf *pix_tray_normal; +GdkPixbuf *pix_tray_fileoffer; +GdkPixbuf *pix_tray_highlight; +GdkPixbuf *pix_tray_message; + +GdkPixbuf *pix_tree_channel; +GdkPixbuf *pix_tree_dialog; +GdkPixbuf *pix_tree_server; +GdkPixbuf *pix_tree_util; + +GdkPixbuf *pix_book; +GdkPixbuf *pix_hexchat; + +static GdkPixmap * +pixmap_load_from_file_real (char *file) +{ + GdkPixbuf *img; + GdkPixmap *pixmap; + + img = gdk_pixbuf_new_from_file (file, 0); + if (!img) + return NULL; + gdk_pixbuf_render_pixmap_and_mask (img, &pixmap, NULL, 128); + g_object_unref (img); + + return pixmap; +} + +GdkPixmap * +pixmap_load_from_file (char *filename) +{ + char buf[256]; + GdkPixmap *pix; + + if (filename[0] == '\0') + return NULL; + + pix = pixmap_load_from_file_real (filename); + if (pix == NULL) + { + strcpy (buf, "Cannot open:\n\n"); + strncpy (buf + 14, filename, sizeof (buf) - 14); + buf[sizeof (buf) - 1] = 0; + fe_message (buf, FE_MSG_ERROR); + } + + return pix; +} + +/* load custom icons from <config>/icons, don't mess in system folders */ +static GdkPixbuf * +load_pixmap (const char *filename) +{ + GdkPixbuf *pixbuf, *scaledpixbuf; + const char *scale; + int iscale; + + gchar *path = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "icons" G_DIR_SEPARATOR_S "%s.png", get_xdir (), filename); + pixbuf = gdk_pixbuf_new_from_file (path, 0); + g_free (path); + + if (!pixbuf) + { + path = g_strdup_printf ("/icons/%s.png", filename); + pixbuf = gdk_pixbuf_new_from_resource (path, NULL); + g_free (path); + } + + // Hack to avoid unbearably tiny icons on HiDPI screens. + scale = g_getenv ("GDK_SCALE"); + if (scale) + { + iscale = atoi (scale); + if (iscale > 0) + { + scaledpixbuf = gdk_pixbuf_scale_simple (pixbuf, gdk_pixbuf_get_width (pixbuf) * iscale, + gdk_pixbuf_get_height (pixbuf) * iscale, GDK_INTERP_BILINEAR); + + if (scaledpixbuf) + { + g_object_unref (pixbuf); + pixbuf = scaledpixbuf; + } + } + } + + g_warn_if_fail (pixbuf != NULL); + + return pixbuf; +} + +void +pixmaps_init (void) +{ + hexchat_register_resource(); + + pix_ulist_voice = load_pixmap ("ulist_voice"); + pix_ulist_halfop = load_pixmap ("ulist_halfop"); + pix_ulist_op = load_pixmap ("ulist_op"); + pix_ulist_owner = load_pixmap ("ulist_owner"); + pix_ulist_founder = load_pixmap ("ulist_founder"); + pix_ulist_netop = load_pixmap ("ulist_netop"); + + pix_tray_normal = load_pixmap ("tray_normal"); + pix_tray_fileoffer = load_pixmap ("tray_fileoffer"); + pix_tray_highlight = load_pixmap ("tray_highlight"); + pix_tray_message = load_pixmap ("tray_message"); + + pix_tree_channel = load_pixmap ("tree_channel"); + pix_tree_dialog = load_pixmap ("tree_dialog"); + pix_tree_server = load_pixmap ("tree_server"); + pix_tree_util = load_pixmap ("tree_util"); + + /* non-replaceable book pixmap */ + pix_book = gdk_pixbuf_new_from_resource ("/icons/book.png", NULL); + + /* used in About window, tray icon and WindowManager icon. */ + pix_hexchat = load_pixmap ("hexchat"); +} diff --git a/src/fe-gtk/pixmaps.h b/src/fe-gtk/pixmaps.h new file mode 100644 index 0000000000000000000000000000000000000000..7f3c561ec58cb12eb27021437dc9be89485e434c --- /dev/null +++ b/src/fe-gtk/pixmaps.h @@ -0,0 +1,46 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PIXMAPS_H +#define HEXCHAT_PIXMAPS_H + +extern GdkPixbuf *pix_ulist_voice; +extern GdkPixbuf *pix_ulist_halfop; +extern GdkPixbuf *pix_ulist_op; +extern GdkPixbuf *pix_ulist_owner; +extern GdkPixbuf *pix_ulist_founder; +extern GdkPixbuf *pix_ulist_netop; + +extern GdkPixbuf *pix_tray_normal; +extern GdkPixbuf *pix_tray_fileoffer; +extern GdkPixbuf *pix_tray_highlight; +extern GdkPixbuf *pix_tray_message; + +extern GdkPixbuf *pix_tree_channel; +extern GdkPixbuf *pix_tree_dialog; +extern GdkPixbuf *pix_tree_server; +extern GdkPixbuf *pix_tree_util; + +extern GdkPixbuf *pix_book; +extern GdkPixbuf *pix_hexchat; + +extern GdkPixmap *pixmap_load_from_file (char *file); +extern void pixmaps_init (void); + +#endif diff --git a/src/fe-gtk/plugin-notification.c b/src/fe-gtk/plugin-notification.c new file mode 100644 index 0000000000000000000000000000000000000000..fc71d22baa1ccc9d94e5b0dbaf749b465b64156d --- /dev/null +++ b/src/fe-gtk/plugin-notification.c @@ -0,0 +1,253 @@ +/* HexChat + * Copyright (C) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" +#include <glib.h> + +#include "../common/hexchat-plugin.h" +#include "../common/inbound.h" /* For alert_match_word() */ +#include "notifications/notification-backend.h" + +static hexchat_plugin *ph; + +const int CHANNEL_FLAG_BALLOON = 1 << 21; +const int CHANNEL_FLAG_BALLOON_UNSET = 1 << 22; + +static gboolean +should_alert (void) +{ + int omit_away, omit_focused, omit_tray; + + if (hexchat_get_prefs (ph, "gui_focus_omitalerts", NULL, &omit_focused) == 3 && omit_focused) + { + const char *status = hexchat_get_info (ph, "win_status"); + + if (status && !g_strcmp0 (status, "active")) + return FALSE; + } + + if (hexchat_get_prefs (ph, "away_omit_alerts", NULL, &omit_away) == 3 && omit_away) + { + if (hexchat_get_info (ph, "away")) + return FALSE; + } + + if (hexchat_get_prefs (ph, "gui_tray_quiet", NULL, &omit_tray) == 3 && omit_tray) + { + int tray_enabled; + + if (hexchat_get_prefs (ph, "gui_tray", NULL, &tray_enabled) == 3 && tray_enabled) + { + const char *status = hexchat_get_info (ph, "win_status"); + + if (status && g_strcmp0 (status, "hidden") != 0) + return FALSE; + } + } + + return TRUE; +} + +static gboolean +is_ignored (char *nick) +{ + const char *no_hilight; + + if (hexchat_get_prefs (ph, "irc_no_hilight", &no_hilight, NULL) == 1 && no_hilight) + { + return alert_match_word (nick, (char*)no_hilight); + } + return FALSE; +} + +static void +show_notification (const char *title, const char *text) +{ + char *stripped_title, *stripped_text; + + /* Strip all colors */ + stripped_title = hexchat_strip (ph, title, -1, 7); + stripped_text = hexchat_strip (ph, text, -1, 7); + + notification_backend_show (stripped_title, stripped_text); + + hexchat_free (ph, stripped_title); + hexchat_free (ph, stripped_text); +} + +static void +show_notificationf (const char *text, const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + show_notification (buf, text); + g_free (buf); +} + +static int +incoming_hilight_cb (char *word[], gpointer userdata) +{ + int hilight; + + if (hexchat_get_prefs (ph, "input_balloon_hilight", NULL, &hilight) == 3 && hilight && should_alert()) + { + show_notificationf (word[2], _("Highlighted message from: %s (%s)"), word[1], hexchat_get_info (ph, "channel")); + } + return HEXCHAT_EAT_NONE; +} + +static int +incoming_message_cb (char *word[], gpointer userdata) +{ + int message; + int flags; + int alert = 0; + + flags = hexchat_list_int(ph, NULL, "flags"); + + /* Let sure that can alert */ + if (should_alert()) { + /* Follow the channel rules if set */ + if (!(flags & CHANNEL_FLAG_BALLOON_UNSET)) { + alert = (flags & CHANNEL_FLAG_BALLOON); + } else { + /* Else follow global environment */ + alert = (hexchat_get_prefs(ph, "input_balloon_chans", NULL, &message) == 3 && message); + } + } + + if (alert) { + show_notificationf(word[2], _("Channel message from: %s (%s)"), word[1], hexchat_get_info(ph, "channel")); + } + return HEXCHAT_EAT_NONE; +} + +static int +incoming_priv_cb (char *word[], gpointer userdata) +{ + int priv; + int flags; + int alert = 0; + + flags = hexchat_list_int(ph, NULL, "flags"); + + /* Let sure that can alert */ + if (should_alert()) { + /* Follow the private rules if set */ + if (!(flags & CHANNEL_FLAG_BALLOON_UNSET)) { + alert = (flags & CHANNEL_FLAG_BALLOON); + } else { + /* Else follow global environment */ + alert = (hexchat_get_prefs(ph, "input_balloon_priv", NULL, &priv) == 3 && priv); + } + } + + if (alert) + { + const char *network = hexchat_get_info (ph, "network"); + if (!network) + network = hexchat_get_info (ph, "server"); + + if (userdata != NULL) /* Special event */ + { + if (GPOINTER_TO_INT (userdata) == 3) + { + if (!is_ignored (word[2])) + show_notificationf (word[1], _("File offer from: %s (%s)"), word[2], network); + } + else if (GPOINTER_TO_INT (userdata) == 2) + { + if (!is_ignored (word[2])) + show_notificationf (word[1], _("Invited to channel by: %s (%s)"), word[2], network); + } + else + { + if (!is_ignored (word[1])) + show_notificationf (word[2], _("Notice from: %s (%s)"), word[1], network); + } + } + else + show_notificationf (word[2], _("Private message from: %s (%s)"), word[1], network); + } + return HEXCHAT_EAT_NONE; +} + +static int +tray_cmd_cb (char *word[], char *word_eol[], gpointer userdata) +{ + if (word[2] && !g_ascii_strcasecmp (word[2], "-b") && word[3] && word[4]) + { + if (should_alert ()) + show_notification (word[3], word_eol[4]); + return HEXCHAT_EAT_ALL; + } + + return HEXCHAT_EAT_NONE; +} + +int +notification_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + const char* error = NULL; + + ph = plugin_handle; + *plugin_name = ""; + *plugin_desc = ""; + *plugin_version = ""; + + if (!notification_backend_init (&error)) + { + if (error) + g_debug("Failed loading notification plugin: %s\n", error); + return 0; + } + + hexchat_hook_print (ph, "Channel Msg Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL); + hexchat_hook_print (ph, "Channel Action Hilight", HEXCHAT_PRI_LOWEST, incoming_hilight_cb, NULL); + + hexchat_hook_print (ph, "Channel Message", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL); + hexchat_hook_print (ph, "Channel Action", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL); + hexchat_hook_print (ph, "Channel Notice", HEXCHAT_PRI_LOWEST, incoming_message_cb, NULL); + + hexchat_hook_print (ph, "Private Message", HEXCHAT_PRI_LOWEST, incoming_priv_cb, NULL); + hexchat_hook_print (ph, "Private Message to Dialog", HEXCHAT_PRI_LOWEST, incoming_priv_cb, NULL); + hexchat_hook_print (ph, "Private Action", HEXCHAT_PRI_LOWEST, incoming_priv_cb, NULL); + hexchat_hook_print (ph, "Private Action to Dialog", HEXCHAT_PRI_LOWEST, incoming_priv_cb, NULL); + + /* Special events treated as priv */ + hexchat_hook_print (ph, "Notice", HEXCHAT_PRI_LOWEST, incoming_priv_cb, GINT_TO_POINTER (1)); + hexchat_hook_print (ph, "Invited", HEXCHAT_PRI_LOWEST, incoming_priv_cb, GINT_TO_POINTER (2)); + hexchat_hook_print (ph, "DCC Offer", HEXCHAT_PRI_LOWEST, incoming_priv_cb, GINT_TO_POINTER (3)); + + hexchat_hook_command (ph, "TRAY", HEXCHAT_PRI_HIGH, tray_cmd_cb, NULL, NULL); + + return 1; +} + + +int +notification_plugin_deinit (void *unused_param) +{ + notification_backend_deinit (); + return 1; +} diff --git a/src/fe-gtk/plugin-notification.h b/src/fe-gtk/plugin-notification.h new file mode 100644 index 0000000000000000000000000000000000000000..07ad1609d361c954a826c8908260393d78071410 --- /dev/null +++ b/src/fe-gtk/plugin-notification.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 2015 Patrick Griffis. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGIN_NOTIFICATION_H +#define HEXCHAT_PLUGIN_NOTIFICATION_H + +int notification_plugin_init (void *, char **, char **, char **, char *); +int notification_plugin_deinit (void *); + +#endif diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c new file mode 100644 index 0000000000000000000000000000000000000000..77b7e2d5b3eade71f48601d7ea43efcc3e9a4948 --- /dev/null +++ b/src/fe-gtk/plugin-tray.c @@ -0,0 +1,816 @@ +/* X-Chat + * Copyright (C) 2006-2007 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include "../common/hexchat-plugin.h" +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/inbound.h" +#include "../common/server.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/outbound.h" +#include "fe-gtk.h" +#include "pixmaps.h" +#include "maingui.h" +#include "menu.h" +#include "gtkutil.h" + +#ifndef WIN32 +#include <unistd.h> +#endif + +typedef enum /* current icon status */ +{ + TS_NONE, + TS_MESSAGE, + TS_HIGHLIGHT, + TS_FILEOFFER, + TS_CUSTOM /* plugin */ +} TrayStatus; + +typedef enum +{ + WS_FOCUSED, + WS_NORMAL, + WS_HIDDEN +} WinStatus; + +typedef GdkPixbuf* TrayIcon; +#define tray_icon_from_file(f) gdk_pixbuf_new_from_file(f,NULL) +#define tray_icon_free(i) g_object_unref(i) + +#define ICON_NORMAL pix_tray_normal +#define ICON_MSG pix_tray_message +#define ICON_HILIGHT pix_tray_highlight +#define ICON_FILE pix_tray_fileoffer +#define TIMEOUT 500 + +static GtkStatusIcon *sticon; +static gint flash_tag; +static TrayStatus tray_status; +#ifdef WIN32 +static guint tray_menu_timer; +static gint64 tray_menu_inactivetime; +#endif +static hexchat_plugin *ph; + +static TrayIcon custom_icon1; +static TrayIcon custom_icon2; + +static int tray_priv_count = 0; +static int tray_pub_count = 0; +static int tray_hilight_count = 0; +static int tray_file_count = 0; +static int tray_restore_timer = 0; + + +void tray_apply_setup (void); +static gboolean tray_menu_try_restore (void); +static void tray_cleanup (void); +static void tray_init (void); + + +static WinStatus +tray_get_window_status (void) +{ + const char *st; + + st = hexchat_get_info (ph, "win_status"); + + if (!st) + return WS_HIDDEN; + + if (!strcmp (st, "active")) + return WS_FOCUSED; + + if (!strcmp (st, "hidden")) + return WS_HIDDEN; + + return WS_NORMAL; +} + +static int +tray_count_channels (void) +{ + int cons = 0; + GSList *list; + session *sess; + + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->server->connected && sess->channel[0] && + sess->type == SESS_CHANNEL) + cons++; + } + return cons; +} + +static int +tray_count_networks (void) +{ + int cons = 0; + GSList *list; + + for (list = serv_list; list; list = list->next) + { + if (((server *)list->data)->connected) + cons++; + } + return cons; +} + +void +fe_tray_set_tooltip (const char *text) +{ + if (sticon) + gtk_status_icon_set_tooltip_text (sticon, text); +} + +static void +tray_set_tipf (const char *format, ...) +{ + va_list args; + char *buf; + + va_start (args, format); + buf = g_strdup_vprintf (format, args); + va_end (args); + + fe_tray_set_tooltip (buf); + g_free (buf); +} + +static void +tray_stop_flash (void) +{ + int nets, chans; + + if (flash_tag) + { + g_source_remove (flash_tag); + flash_tag = 0; + } + + if (sticon) + { + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + nets = tray_count_networks (); + chans = tray_count_channels (); + if (nets) + tray_set_tipf (_("Connected to %u networks and %u channels - %s"), + nets, chans, _(DISPLAY_NAME)); + else + tray_set_tipf ("%s - %s", _("Not connected."), _(DISPLAY_NAME)); + } + + if (custom_icon1) + { + tray_icon_free (custom_icon1); + custom_icon1 = NULL; + } + + if (custom_icon2) + { + tray_icon_free (custom_icon2); + custom_icon2 = NULL; + } + + tray_status = TS_NONE; +} + +static void +tray_reset_counts (void) +{ + tray_priv_count = 0; + tray_pub_count = 0; + tray_hilight_count = 0; + tray_file_count = 0; +} + +static int +tray_timeout_cb (TrayIcon icon) +{ + if (custom_icon1) + { + if (gtk_status_icon_get_pixbuf (sticon) == custom_icon1) + { + if (custom_icon2) + gtk_status_icon_set_from_pixbuf (sticon, custom_icon2); + else + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + } + else + { + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + } + } + else + { + if (gtk_status_icon_get_pixbuf (sticon) == ICON_NORMAL) + gtk_status_icon_set_from_pixbuf (sticon, icon); + else + gtk_status_icon_set_from_pixbuf (sticon, ICON_NORMAL); + } + return 1; +} + +static void +tray_set_flash (TrayIcon icon) +{ + if (!sticon) + return; + + /* already flashing the same icon */ + if (flash_tag && gtk_status_icon_get_pixbuf (sticon) == icon) + return; + + /* no flashing if window is focused */ + if (tray_get_window_status () == WS_FOCUSED) + return; + + tray_stop_flash (); + + gtk_status_icon_set_from_pixbuf (sticon, icon); + if (prefs.hex_gui_tray_blink) + flash_tag = g_timeout_add (TIMEOUT, (GSourceFunc) tray_timeout_cb, icon); +} + +void +fe_tray_set_flash (const char *filename1, const char *filename2, int tout) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + if (tout == -1) + tout = TIMEOUT; + + custom_icon1 = tray_icon_from_file (filename1); + if (filename2) + custom_icon2 = tray_icon_from_file (filename2); + + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + flash_tag = g_timeout_add (tout, (GSourceFunc) tray_timeout_cb, NULL); + tray_status = TS_CUSTOM; +} + +void +fe_tray_set_icon (feicon icon) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + switch (icon) + { + case FE_ICON_NORMAL: + break; + case FE_ICON_MESSAGE: + case FE_ICON_PRIVMSG: + tray_set_flash (ICON_MSG); + break; + case FE_ICON_HIGHLIGHT: + tray_set_flash (ICON_HILIGHT); + break; + case FE_ICON_FILEOFFER: + tray_set_flash (ICON_FILE); + } +} + +void +fe_tray_set_file (const char *filename) +{ + tray_apply_setup (); + if (!sticon) + return; + + tray_stop_flash (); + + if (filename) + { + custom_icon1 = tray_icon_from_file (filename); + gtk_status_icon_set_from_pixbuf (sticon, custom_icon1); + tray_status = TS_CUSTOM; + } +} + +gboolean +tray_toggle_visibility (gboolean force_hide) +{ + static int x, y; + static GdkScreen *screen; + static int maximized; + static int fullscreen; + GtkWindow *win; + + if (!sticon) + return FALSE; + + /* ph may have an invalid context now */ + hexchat_set_context (ph, hexchat_find_context (ph, NULL, NULL)); + + win = GTK_WINDOW (hexchat_get_info (ph, "gtkwin_ptr")); + + tray_stop_flash (); + tray_reset_counts (); + + if (!win) + return FALSE; + + if (force_hide || gtk_widget_get_visible (GTK_WIDGET (win))) + { + if (prefs.hex_gui_tray_away) + hexchat_command (ph, "ALLSERV AWAY"); + gtk_window_get_position (win, &x, &y); + screen = gtk_window_get_screen (win); + maximized = prefs.hex_gui_win_state; + fullscreen = prefs.hex_gui_win_fullscreen; + gtk_widget_hide (GTK_WIDGET (win)); + } + else + { + if (prefs.hex_gui_tray_away) + hexchat_command (ph, "ALLSERV BACK"); + gtk_window_set_screen (win, screen); + gtk_window_move (win, x, y); + if (maximized) + gtk_window_maximize (win); + if (fullscreen) + gtk_window_fullscreen (win); + gtk_widget_show (GTK_WIDGET (win)); + gtk_window_deiconify (win); + gtk_window_present (win); + } + + return TRUE; +} + +static void +tray_menu_restore_cb (GtkWidget *item, gpointer userdata) +{ + tray_toggle_visibility (FALSE); +} + +static void +tray_menu_notify_cb (GObject *tray, GParamSpec *pspec, gpointer user_data) +{ + if (sticon) + { + if (!gtk_status_icon_is_embedded (sticon)) + { + tray_restore_timer = g_timeout_add(500, (GSourceFunc)tray_menu_try_restore, NULL); + } + else + { + if (tray_restore_timer) + { + g_source_remove (tray_restore_timer); + tray_restore_timer = 0; + } + } + } +} + +static gboolean +tray_menu_try_restore (void) +{ + tray_cleanup(); + tray_init(); + return TRUE; +} + +static void +tray_menu_quit_cb (GtkWidget *item, gpointer userdata) +{ + mg_open_quit_dialog (FALSE); +} + +/* returns 0-mixed 1-away 2-back */ + +static int +tray_find_away_status (void) +{ + GSList *list; + server *serv; + int away = 0; + int back = 0; + + for (list = serv_list; list; list = list->next) + { + serv = list->data; + + if (serv->is_away || serv->reconnect_away) + away++; + else + back++; + } + + if (away && back) + return 0; + + if (away) + return 1; + + return 2; +} + +static void +tray_foreach_server (GtkWidget *item, char *cmd) +{ + GSList *list; + server *serv; + + for (list = serv_list; list; list = list->next) + { + serv = list->data; + if (serv->connected) + handle_command (serv->server_session, cmd, FALSE); + } +} + +static GtkWidget * +tray_make_item (GtkWidget *menu, char *label, void *callback, void *userdata) +{ + GtkWidget *item; + + if (label) + item = gtk_menu_item_new_with_mnemonic (label); + else + item = gtk_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (callback), userdata); + gtk_widget_show (item); + + return item; +} + +#ifndef WIN32 +static void +tray_toggle_cb (GtkCheckMenuItem *item, unsigned int *setting) +{ + *setting = gtk_check_menu_item_get_active (item); +} + +static void +blink_item (unsigned int *setting, GtkWidget *menu, char *label) +{ + menu_toggle_item (label, menu, tray_toggle_cb, setting, *setting); +} +#endif + +static void +tray_menu_destroy (GtkWidget *menu, gpointer userdata) +{ + gtk_widget_destroy (menu); + g_object_unref (menu); +#ifdef WIN32 + g_source_remove (tray_menu_timer); +#endif +} + +#ifdef WIN32 +static gboolean +tray_menu_enter_cb (GtkWidget *menu) +{ + tray_menu_inactivetime = 0; + return FALSE; +} + +static gboolean +tray_menu_left_cb (GtkWidget *menu) +{ + tray_menu_inactivetime = g_get_real_time (); + return FALSE; +} + +static gboolean +tray_check_hide (GtkWidget *menu) +{ + if (tray_menu_inactivetime && g_get_real_time () - tray_menu_inactivetime >= 2000000) + { + tray_menu_destroy (menu, NULL); + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} +#endif + +static void +tray_menu_settings (GtkWidget * wid, gpointer none) +{ + extern void setup_open (void); + setup_open (); +} + +static void +tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata) +{ + static GtkWidget *menu; + GtkWidget *submenu; + GtkWidget *item; + int away_status; + + /* ph may have an invalid context now */ + hexchat_set_context (ph, hexchat_find_context (ph, NULL, NULL)); + + /* close any old menu */ + if (G_IS_OBJECT (menu)) + { + tray_menu_destroy (menu, NULL); + } + + menu = gtk_menu_new (); + /*gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));*/ + + if (tray_get_window_status () == WS_HIDDEN) + tray_make_item (menu, _("_Restore Window"), tray_menu_restore_cb, NULL); + else + tray_make_item (menu, _("_Hide Window"), tray_menu_restore_cb, NULL); + tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); + +#ifndef WIN32 /* submenus are buggy on win32 */ + submenu = mg_submenu (menu, _("_Blink on")); + blink_item (&prefs.hex_input_tray_chans, submenu, _("Channel Message")); + blink_item (&prefs.hex_input_tray_priv, submenu, _("Private Message")); + blink_item (&prefs.hex_input_tray_hilight, submenu, _("Highlighted Message")); + /*blink_item (BIT_FILEOFFER, submenu, _("File Offer"));*/ + + submenu = mg_submenu (menu, _("_Change status")); +#else /* so show away/back in main tray menu */ + submenu = menu; +#endif + + away_status = tray_find_away_status (); + item = tray_make_item (submenu, _("_Away"), tray_foreach_server, "away"); + if (away_status == 1) + gtk_widget_set_sensitive (item, FALSE); + item = tray_make_item (submenu, _("_Back"), tray_foreach_server, "back"); + if (away_status == 2) + gtk_widget_set_sensitive (item, FALSE); + + menu_add_plugin_items (menu, "\x5$TRAY", NULL); + + tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); + mg_create_icon_item (_("_Preferences"), GTK_STOCK_PREFERENCES, menu, tray_menu_settings, NULL); + tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); + mg_create_icon_item (_("_Quit"), GTK_STOCK_QUIT, menu, tray_menu_quit_cb, NULL); + + g_object_ref (menu); + g_object_ref_sink (menu); + g_object_unref (menu); + g_signal_connect (G_OBJECT (menu), "selection-done", + G_CALLBACK (tray_menu_destroy), NULL); +#ifdef WIN32 + g_signal_connect (G_OBJECT (menu), "leave-notify-event", + G_CALLBACK (tray_menu_left_cb), NULL); + g_signal_connect (G_OBJECT (menu), "enter-notify-event", + G_CALLBACK (tray_menu_enter_cb), NULL); + + tray_menu_timer = g_timeout_add (500, (GSourceFunc)tray_check_hide, menu); +#endif + + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, + userdata, button, time); +} + +static void +tray_init (void) +{ + flash_tag = 0; + tray_status = TS_NONE; + custom_icon1 = NULL; + custom_icon2 = NULL; + + sticon = gtk_status_icon_new_from_pixbuf (ICON_NORMAL); + if (!sticon) + return; + + g_signal_connect (G_OBJECT (sticon), "popup-menu", + G_CALLBACK (tray_menu_cb), sticon); + + g_signal_connect (G_OBJECT (sticon), "activate", + G_CALLBACK (tray_menu_restore_cb), NULL); + + g_signal_connect (G_OBJECT (sticon), "notify::embedded", + G_CALLBACK (tray_menu_notify_cb), NULL); +} + +static int +tray_hilight_cb (char *word[], void *userdata) +{ + /*if (tray_status == TS_HIGHLIGHT) + return HEXCHAT_EAT_NONE;*/ + + if (prefs.hex_input_tray_hilight) + { + tray_set_flash (ICON_HILIGHT); + + /* FIXME: hides any previous private messages */ + tray_hilight_count++; + if (tray_hilight_count == 1) + tray_set_tipf (_("Highlighted message from: %s (%s) - %s"), + word[1], hexchat_get_info (ph, "channel"), _(DISPLAY_NAME)); + else + tray_set_tipf (_("%u highlighted messages, latest from: %s (%s) - %s"), + tray_hilight_count, word[1], hexchat_get_info (ph, "channel"), + _(DISPLAY_NAME)); + } + + return HEXCHAT_EAT_NONE; +} + +static int +tray_message_cb (char *word[], void *userdata) +{ + if (/*tray_status == TS_MESSAGE ||*/ tray_status == TS_HIGHLIGHT) + return HEXCHAT_EAT_NONE; + + if (prefs.hex_input_tray_chans) + { + tray_set_flash (ICON_MSG); + + tray_pub_count++; + if (tray_pub_count == 1) + tray_set_tipf (_("Channel message from: %s (%s) - %s"), + word[1], hexchat_get_info (ph, "channel"), _(DISPLAY_NAME)); + else + tray_set_tipf (_("%u channel messages. - %s"), tray_pub_count, _(DISPLAY_NAME)); + } + + return HEXCHAT_EAT_NONE; +} + +static void +tray_priv (char *from, char *text) +{ + const char *network; + + if (alert_match_word (from, prefs.hex_irc_no_hilight)) + return; + + network = hexchat_get_info (ph, "network"); + if (!network) + network = hexchat_get_info (ph, "server"); + + if (prefs.hex_input_tray_priv) + { + tray_set_flash (ICON_MSG); + + tray_priv_count++; + if (tray_priv_count == 1) + tray_set_tipf (_("Private message from: %s (%s) - %s"), from, + network, _(DISPLAY_NAME)); + else + tray_set_tipf (_("%u private messages, latest from: %s (%s) - %s"), + tray_priv_count, from, network, _(DISPLAY_NAME)); + } +} + +static int +tray_priv_cb (char *word[], void *userdata) +{ + tray_priv (word[1], word[2]); + + return HEXCHAT_EAT_NONE; +} + +static int +tray_invited_cb (char *word[], void *userdata) +{ + if (!prefs.hex_away_omit_alerts || tray_find_away_status () != 1) + tray_priv (word[2], "Invited"); + + return HEXCHAT_EAT_NONE; +} + +static int +tray_dcc_cb (char *word[], void *userdata) +{ + const char *network; + +/* if (tray_status == TS_FILEOFFER) + return HEXCHAT_EAT_NONE;*/ + + network = hexchat_get_info (ph, "network"); + if (!network) + network = hexchat_get_info (ph, "server"); + + if (prefs.hex_input_tray_priv && (!prefs.hex_away_omit_alerts || tray_find_away_status () != 1)) + { + tray_set_flash (ICON_FILE); + + tray_file_count++; + if (tray_file_count == 1) + tray_set_tipf (_("File offer from: %s (%s) - %s"), word[1], network, + _(DISPLAY_NAME)); + else + tray_set_tipf (_("%u file offers, latest from: %s (%s) - %s"), + tray_file_count, word[1], network, _(DISPLAY_NAME)); + } + + return HEXCHAT_EAT_NONE; +} + +static int +tray_focus_cb (char *word[], void *userdata) +{ + tray_stop_flash (); + tray_reset_counts (); + return HEXCHAT_EAT_NONE; +} + +static void +tray_cleanup (void) +{ + tray_stop_flash (); + + if (sticon) + { + g_object_unref ((GObject *)sticon); + sticon = NULL; + } +} + +void +tray_apply_setup (void) +{ + if (sticon) + { + if (!prefs.hex_gui_tray) + tray_cleanup (); + } + else + { + GtkWindow *window = GTK_WINDOW(hexchat_get_info (ph, "gtkwin_ptr")); + if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window)) + tray_init (); + } +} + +int +tray_plugin_init (hexchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any hexchat_* functions */ + ph = plugin_handle; + + *plugin_name = ""; + *plugin_desc = ""; + *plugin_version = ""; + + hexchat_hook_print (ph, "Channel Msg Hilight", -1, tray_hilight_cb, NULL); + hexchat_hook_print (ph, "Channel Action Hilight", -1, tray_hilight_cb, NULL); + + hexchat_hook_print (ph, "Channel Message", -1, tray_message_cb, NULL); + hexchat_hook_print (ph, "Channel Action", -1, tray_message_cb, NULL); + hexchat_hook_print (ph, "Channel Notice", -1, tray_message_cb, NULL); + + hexchat_hook_print (ph, "Private Message", -1, tray_priv_cb, NULL); + hexchat_hook_print (ph, "Private Message to Dialog", -1, tray_priv_cb, NULL); + hexchat_hook_print (ph, "Private Action", -1, tray_priv_cb, NULL); + hexchat_hook_print (ph, "Private Action to Dialog", -1, tray_priv_cb, NULL); + hexchat_hook_print (ph, "Notice", -1, tray_priv_cb, NULL); + hexchat_hook_print (ph, "Invited", -1, tray_invited_cb, NULL); + + hexchat_hook_print (ph, "DCC Offer", -1, tray_dcc_cb, NULL); + + hexchat_hook_print (ph, "Focus Window", -1, tray_focus_cb, NULL); + + GtkWindow *window = GTK_WINDOW(hexchat_get_info (ph, "gtkwin_ptr")); + if (prefs.hex_gui_tray && gtkutil_tray_icon_supported (window)) + tray_init (); + + return 1; /* return 1 for success */ +} + +int +tray_plugin_deinit (hexchat_plugin *plugin_handle) +{ +#ifdef WIN32 + tray_cleanup (); +#endif + return 1; +} diff --git a/src/fe-gtk/plugin-tray.h b/src/fe-gtk/plugin-tray.h new file mode 100644 index 0000000000000000000000000000000000000000..cb77019a39e671e144492884b33f7b8ea86f0638 --- /dev/null +++ b/src/fe-gtk/plugin-tray.h @@ -0,0 +1,28 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGIN_TRAY_H +#define HEXCHAT_PLUGIN_TRAY_H + +int tray_plugin_init (void *, char **, char **, char **, char *); +int tray_plugin_deinit (void *); +gboolean tray_toggle_visibility (gboolean force_hide); +void tray_apply_setup (void); + +#endif diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c new file mode 100644 index 0000000000000000000000000000000000000000..c40ac304ab53e74962c06012aca9d7bea5fdd6e4 --- /dev/null +++ b/src/fe-gtk/plugingui.c @@ -0,0 +1,267 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#define PLUGIN_C +typedef struct session hexchat_context; +#include "../common/hexchat-plugin.h" +#include "../common/plugin.h" +#include "../common/util.h" +#include "../common/outbound.h" +#include "../common/fe.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "gtkutil.h" +#include "maingui.h" + +/* model for the plugin treeview */ +enum +{ + NAME_COLUMN, + VERSION_COLUMN, + FILE_COLUMN, + DESC_COLUMN, + FILEPATH_COLUMN, + N_COLUMNS +}; + +static GtkWidget *plugin_window = NULL; + + +static GtkWidget * +plugingui_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + GtkTreeViewColumn *col; + int col_id; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + NAME_COLUMN, _("Name"), + VERSION_COLUMN, _("Version"), + FILE_COLUMN, _("File"), + DESC_COLUMN, _("Description"), + FILEPATH_COLUMN, NULL, -1); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + for (col_id=0; (col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), col_id)); + col_id++) + gtk_tree_view_column_set_alignment (col, 0.5); + + return view; +} + +static char * +plugingui_getfilename (GtkTreeView *view) +{ + GtkTreeModel *model; + GtkTreeSelection *sel; + GtkTreeIter iter; + GValue file; + char *str; + + memset (&file, 0, sizeof (file)); + + sel = gtk_tree_view_get_selection (view); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get_value (model, &iter, FILEPATH_COLUMN, &file); + + str = g_value_dup_string (&file); + g_value_unset (&file); + + return str; + } + + return NULL; +} + +static void +plugingui_close (GtkWidget * wid, gpointer a) +{ + plugin_window = NULL; +} + +extern GSList *plugin_list; + +void +fe_pluginlist_update (void) +{ + hexchat_plugin *pl; + GSList *list; + GtkTreeView *view; + GtkListStore *store; + GtkTreeIter iter; + + if (!plugin_window) + return; + + view = g_object_get_data (G_OBJECT (plugin_window), "view"); + store = GTK_LIST_STORE (gtk_tree_view_get_model (view)); + gtk_list_store_clear (store); + + list = plugin_list; + while (list) + { + pl = list->data; + if (pl->version[0] != 0) + { + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, NAME_COLUMN, pl->name, + VERSION_COLUMN, pl->version, + FILE_COLUMN, file_part (pl->filename), + DESC_COLUMN, pl->desc, + FILEPATH_COLUMN, pl->filename, -1); + } + list = list->next; + } +} + +static void +plugingui_load_cb (session *sess, char *file) +{ + if (file) + { + char *buf; + + if (strchr (file, ' ')) + buf = g_strdup_printf ("LOAD \"%s\"", file); + else + buf = g_strdup_printf ("LOAD %s", file); + handle_command (sess, buf, FALSE); + g_free (buf); + } +} + +void +plugingui_load (void) +{ + char *sub_dir = g_build_filename (get_xdir(), "addons", NULL); + + gtkutil_file_req (NULL, _("Select a Plugin or Script to load"), plugingui_load_cb, current_sess, + sub_dir, "*."PLUGIN_SUFFIX";*.lua;*.pl;*.py;*.tcl;*.js", FRF_FILTERISINITIAL|FRF_EXTENSIONS); + + g_free (sub_dir); +} + +static void +plugingui_loadbutton_cb (GtkWidget * wid, gpointer unused) +{ + plugingui_load (); +} + +static void +plugingui_unload (GtkWidget * wid, gpointer unused) +{ + char *modname, *file; + GtkTreeView *view; + GtkTreeIter iter; + + view = g_object_get_data (G_OBJECT (plugin_window), "view"); + if (!gtkutil_treeview_get_selected (view, &iter, NAME_COLUMN, &modname, + FILEPATH_COLUMN, &file, -1)) + return; + + if (g_str_has_suffix (file, "."PLUGIN_SUFFIX)) + { + if (plugin_kill (modname, FALSE) == 2) + fe_message (_("That plugin is refusing to unload.\n"), FE_MSG_ERROR); + } + else + { + char *buf; + /* let python.so or perl.so handle it */ + if (strchr (file, ' ')) + buf = g_strdup_printf ("UNLOAD \"%s\"", file); + else + buf = g_strdup_printf ("UNLOAD %s", file); + handle_command (current_sess, buf, FALSE); + g_free (buf); + } + + g_free (modname); + g_free (file); +} + +static void +plugingui_reloadbutton_cb (GtkWidget *wid, GtkTreeView *view) +{ + char *file = plugingui_getfilename(view); + + if (file) + { + char *buf; + + if (strchr (file, ' ')) + buf = g_strdup_printf ("RELOAD \"%s\"", file); + else + buf = g_strdup_printf ("RELOAD %s", file); + handle_command (current_sess, buf, FALSE); + g_free (buf); + g_free (file); + } +} + +void +plugingui_open (void) +{ + GtkWidget *view; + GtkWidget *vbox, *hbox; + char buf[128]; + + if (plugin_window) + { + mg_bring_tofront (plugin_window); + return; + } + + g_snprintf(buf, sizeof(buf), _("Plugins and Scripts - %s"), _(DISPLAY_NAME)); + plugin_window = mg_create_generic_tab ("Addons", buf, FALSE, TRUE, plugingui_close, NULL, + 700, 300, &vbox, 0); + gtkutil_destroy_on_esc (plugin_window); + + view = plugingui_treeview_new (vbox); + g_object_set_data (G_OBJECT (plugin_window), "view", view); + + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + + gtkutil_button (hbox, GTK_STOCK_REVERT_TO_SAVED, NULL, + plugingui_loadbutton_cb, NULL, _("_Load...")); + + gtkutil_button (hbox, GTK_STOCK_DELETE, NULL, + plugingui_unload, NULL, _("_Unload")); + + gtkutil_button (hbox, GTK_STOCK_REFRESH, NULL, + plugingui_reloadbutton_cb, view, _("_Reload")); + + fe_pluginlist_update (); + + gtk_widget_show_all (plugin_window); +} diff --git a/src/fe-gtk/plugingui.h b/src/fe-gtk/plugingui.h new file mode 100644 index 0000000000000000000000000000000000000000..ae079a728d16b7c2e558f2bb5ec9d700313c46a9 --- /dev/null +++ b/src/fe-gtk/plugingui.h @@ -0,0 +1,26 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_PLUGINGUI_H +#define HEXCHAT_PLUGINGUI_H + +void plugingui_open (void); +void plugingui_load (void); + +#endif diff --git a/src/fe-gtk/rawlog.c b/src/fe-gtk/rawlog.c new file mode 100644 index 0000000000000000000000000000000000000000..666059c69671879456ab6623fa51758525ce9975 --- /dev/null +++ b/src/fe-gtk/rawlog.c @@ -0,0 +1,172 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <fcntl.h> +#include <stdlib.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "fe-gtk.h" + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/server.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" +#include "rawlog.h" +#include "xtext.h" +#include "fkeys.h" + +static void +close_rawlog (GtkWidget *wid, server *serv) +{ + if (is_server (serv)) + serv->gui->rawlog_window = 0; +} + +static void +rawlog_save (server *serv, char *file) +{ + int fh = -1; + + if (file) + { + if (serv->gui->rawlog_window) + fh = hexchat_open_file (file, O_TRUNC | O_WRONLY | O_CREAT, + 0600, XOF_DOMODE | XOF_FULLPATH); + if (fh != -1) + { + gtk_xtext_save (GTK_XTEXT (serv->gui->rawlog_textlist), fh); + close (fh); + } + } +} + +static int +rawlog_clearbutton (GtkWidget * wid, server *serv) +{ + gtk_xtext_clear (GTK_XTEXT (serv->gui->rawlog_textlist)->buffer, 0); + return FALSE; +} + +static int +rawlog_savebutton (GtkWidget * wid, server *serv) +{ + gtkutil_file_req (NULL, _("Save As..."), rawlog_save, serv, NULL, NULL, FRF_WRITE); + return FALSE; +} + +static gboolean +rawlog_key_cb (GtkWidget * wid, GdkEventKey * key, gpointer userdata) +{ + /* Copy rawlog selection to clipboard when Ctrl+Shift+C is pressed, + * but make sure not to copy twice, i.e. when auto-copy is enabled. + */ + if (!prefs.hex_text_autocopy_text && + (key->keyval == GDK_KEY_c || key->keyval == GDK_KEY_C) && + key->state & STATE_SHIFT && + key->state & STATE_CTRL) + { + gtk_xtext_copy_selection (userdata); + } + return FALSE; +} + +void +open_rawlog (struct server *serv) +{ + GtkWidget *bbox, *scrolledwindow, *vbox; + char tbuf[256]; + + if (serv->gui->rawlog_window) + { + mg_bring_tofront (serv->gui->rawlog_window); + return; + } + + g_snprintf (tbuf, sizeof tbuf, _("Raw Log (%s) - %s"), serv->servername, _(DISPLAY_NAME)); + serv->gui->rawlog_window = + mg_create_generic_tab ("RawLog", tbuf, FALSE, TRUE, close_rawlog, serv, + 640, 320, &vbox, serv); + gtkutil_destroy_on_esc (serv->gui->rawlog_window); + + scrolledwindow = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (vbox), scrolledwindow); + + serv->gui->rawlog_textlist = gtk_xtext_new (colors, 0); + gtk_container_add (GTK_CONTAINER (scrolledwindow), serv->gui->rawlog_textlist); + gtk_xtext_set_font (GTK_XTEXT (serv->gui->rawlog_textlist), prefs.hex_text_font); + GTK_XTEXT (serv->gui->rawlog_textlist)->ignore_hidden = 1; + + bbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_end (GTK_BOX (vbox), bbox, 0, 0, 4); + + gtkutil_button (bbox, GTK_STOCK_CLEAR, NULL, rawlog_clearbutton, + serv, _("Clear Raw Log")); + + gtkutil_button (bbox, GTK_STOCK_SAVE_AS, NULL, rawlog_savebutton, + serv, _("Save As...")); + + /* Copy selection to clipboard when Ctrl+Shift+C is pressed AND text auto-copy is disabled */ + g_signal_connect (G_OBJECT (serv->gui->rawlog_window), "key_press_event", G_CALLBACK (rawlog_key_cb), serv->gui->rawlog_textlist); + + gtk_widget_show_all (serv->gui->rawlog_window); +} + +void +fe_add_rawlog (server *serv, char *text, int len, int outbound) +{ + char **split_text; + char *new_text; + size_t i; + + if (!serv->gui->rawlog_window) + return; + + split_text = g_strsplit (text, "\r\n", 0); + + for (i = 0; i < g_strv_length (split_text); i++) + { + if (split_text[i][0] == 0) + break; + + if (outbound) + new_text = g_strconcat ("\0034<<\017 ", split_text[i], NULL); + else + new_text = g_strconcat ("\0033>>\017 ", split_text[i], NULL); + + gtk_xtext_append (GTK_XTEXT (serv->gui->rawlog_textlist)->buffer, new_text, strlen (new_text), 0); + + g_free (new_text); + } + + g_strfreev (split_text); +} diff --git a/src/fe-gtk/rawlog.h b/src/fe-gtk/rawlog.h new file mode 100644 index 0000000000000000000000000000000000000000..53c57d42753424398bea1f9cc45ed5d15bdae67c --- /dev/null +++ b/src/fe-gtk/rawlog.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_RAWLOG_H +#define HEXCHAT_RAWLOG_H + +void open_rawlog (server *serv); + +#endif diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c new file mode 100644 index 0000000000000000000000000000000000000000..0e5e108bc8de60da3cbcf324d1f826d120c15066 --- /dev/null +++ b/src/fe-gtk/servlistgui.c @@ -0,0 +1,2262 @@ +/* X-Chat + * Copyright (C) 2004-2008 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <ctype.h> + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/servlist.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/util.h" + +#include "fe-gtk.h" +#include "gtkutil.h" +#include "menu.h" +#include "pixmaps.h" +#include "fkeys.h" + +#define SERVLIST_X_PADDING 4 /* horizontal paddig in the network editor */ +#define SERVLIST_Y_PADDING 0 /* vertical padding in the network editor */ + +#ifdef USE_OPENSSL +# define DEFAULT_SERVER "newserver/6697" +#else +# define DEFAULT_SERVER "newserver/6667" +#endif + +/* servlistgui.c globals */ +static GtkWidget *serverlist_win = NULL; +static GtkWidget *networks_tree; /* network TreeView */ + +static int netlist_win_width = 0; /* don't hardcode pixels, just use as much as needed by default, save if resized */ +static int netlist_win_height = 0; +static int netedit_win_width = 0; +static int netedit_win_height = 0; + +static int netedit_active_tab = 0; + +/* global user info */ +static GtkWidget *entry_nick1; +static GtkWidget *entry_nick2; +static GtkWidget *entry_nick3; +static GtkWidget *entry_guser; +/* static GtkWidget *entry_greal; */ + +enum { + SERVER_TREE, + CHANNEL_TREE, + CMD_TREE, + N_TREES, +}; + +/* edit area */ +static GtkWidget *edit_win; +static GtkWidget *edit_entry_nick; +static GtkWidget *edit_entry_nick2; +static GtkWidget *edit_entry_user; +static GtkWidget *edit_entry_real; +static GtkWidget *edit_entry_pass; +static GtkWidget *edit_label_nick; +static GtkWidget *edit_label_nick2; +static GtkWidget *edit_label_real; +static GtkWidget *edit_label_user; +static GtkWidget *edit_trees[N_TREES]; + +static ircnet *selected_net = NULL; +static ircserver *selected_serv = NULL; +static commandentry *selected_cmd = NULL; +static favchannel *selected_chan = NULL; +static session *servlist_sess; + +static void servlist_network_row_cb (GtkTreeSelection *sel, gpointer user_data); +static GtkWidget *servlist_open_edit (GtkWidget *parent, ircnet *net); + + +static const char *pages[]= +{ + IRC_DEFAULT_CHARSET, + "CP1252 (Windows-1252)", + "ISO-8859-15 (Western Europe)", + "ISO-8859-2 (Central Europe)", + "ISO-8859-7 (Greek)", + "ISO-8859-8 (Hebrew)", + "ISO-8859-9 (Turkish)", + "ISO-2022-JP (Japanese)", + "SJIS (Japanese)", + "CP949 (Korean)", + "KOI8-R (Cyrillic)", + "CP1251 (Cyrillic)", + "CP1256 (Arabic)", + "CP1257 (Baltic)", + "GB18030 (Chinese)", + "TIS-620 (Thai)", + NULL +}; + +/* This is our dictionary for authentication types. Keep these in sync with + * login_types[]! This allows us to re-order the login type dropdown in the + * network list without breaking config compatibility. + * + * Also make sure inbound_nickserv_login() won't break, i.e. if you add a new + * type that is NickServ-based, add it there as well so that HexChat knows to + * treat it as such. + */ +static int login_types_conf[] = +{ + LOGIN_DEFAULT, /* default entry - we don't use this but it makes indexing consistent with login_types[] so it's nice */ + LOGIN_SASL, +#ifdef USE_OPENSSL + LOGIN_SASLEXTERNAL, + LOGIN_SASL_SCRAM_SHA_1, + LOGIN_SASL_SCRAM_SHA_256, + LOGIN_SASL_SCRAM_SHA_512, +#endif + LOGIN_PASS, + LOGIN_MSG_NICKSERV, + LOGIN_NICKSERV, +#ifdef USE_OPENSSL + LOGIN_CHALLENGEAUTH, +#endif + LOGIN_CUSTOM +#if 0 + LOGIN_NS, + LOGIN_MSG_NS, + LOGIN_AUTH, +#endif +}; + +static const char *login_types[]= +{ + "Default", + "SASL PLAIN (username + password)", +#ifdef USE_OPENSSL + "SASL EXTERNAL (cert)", + "SASL SCRAM-SHA-1", + "SASL SCRAM-SHA-256", + "SASL SCRAM-SHA-512", +#endif + "Server password (/PASS password)", + "NickServ (/MSG NickServ + password)", + "NickServ (/NICKSERV + password)", +#ifdef USE_OPENSSL + "Challenge Auth (username + password)", +#endif + "Custom... (connect commands)", +#if 0 + "NickServ (/NS + password)", + "NickServ (/MSG NS + password)", + "AUTH (/AUTH nickname password)", +#endif + NULL +}; + +/* poor man's IndexOf() - find the dropdown string index that belongs to the given config value */ +static int +servlist_get_login_desc_index (int conf_value) +{ + int i; + int length = sizeof (login_types_conf) / sizeof (login_types_conf[0]); /* the number of elements in the conf array */ + + for (i = 0; i < length; i++) + { + if (login_types_conf[i] == conf_value) + { + return i; + } + } + + return 0; /* make the compiler happy */ +} + +static void +servlist_select_and_show (GtkTreeView *treeview, GtkTreeIter *iter, + GtkListStore *store) +{ + GtkTreePath *path; + GtkTreeSelection *sel; + + sel = gtk_tree_view_get_selection (treeview); + + /* select this network */ + gtk_tree_selection_select_iter (sel, iter); + /* and make sure it's visible */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_view_set_cursor (treeview, path, NULL, FALSE); + gtk_tree_path_free (path); + } +} + +static void +servlist_channels_populate (ircnet *net, GtkWidget *treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + favchannel *favchan; + GSList *list = net->favchanlist; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (list) + { + favchan = list->data; + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, favchan->name, 1, favchan->key, 2, TRUE, -1); + + if (net->selected == i) + { + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + } + + i++; + list = list->next; + } +} + +static void +servlist_servers_populate (ircnet *net, GtkWidget *treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + ircserver *serv; + GSList *list = net->servlist; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (list) + { + serv = list->data; + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, serv->hostname, 1, 1, -1); + + if (net->selected == i) + { + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + } + + i++; + list = list->next; + } +} + +static void +servlist_commands_populate (ircnet *net, GtkWidget *treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + commandentry *entry; + GSList *list = net->commandlist; + + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (list) + { + entry = list->data; + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, entry->command, 1, 1, -1); + + if (net->selected == i) + { + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + } + + i++; + list = list->next; + } +} + +static void +servlist_networks_populate_ (GtkWidget *treeview, GSList *netlist, gboolean favorites) +{ + GtkListStore *store; + GtkTreeIter iter; + int i; + ircnet *net; + + if (!netlist) + { + net = servlist_net_add (_("New Network"), "", FALSE); + servlist_server_add (net, DEFAULT_SERVER); + netlist = network_list; + } + store = (GtkListStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + gtk_list_store_clear (store); + + i = 0; + while (netlist) + { + net = netlist->data; + if (!favorites || (net->flags & FLAG_FAVORITE)) + { + if (favorites) + gtk_list_store_insert_with_values (store, &iter, 0x7fffffff, 0, net->name, 1, 1, 2, 400, -1); + else + gtk_list_store_insert_with_values (store, &iter, 0x7fffffff, 0, net->name, 1, 1, 2, (net->flags & FLAG_FAVORITE) ? 800 : 400, -1); + if (i == prefs.hex_gui_slist_select) + { + /* select this network */ + servlist_select_and_show (GTK_TREE_VIEW (treeview), &iter, store); + selected_net = net; + } + } + i++; + netlist = netlist->next; + } +} + +static void +servlist_networks_populate (GtkWidget *treeview, GSList *netlist) +{ + servlist_networks_populate_ (treeview, netlist, prefs.hex_gui_slist_fav); +} + +static void +servlist_server_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + ircserver *serv; + char *servname; + int pos; + + if (!selected_net) + return; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, &pos); + g_free (servname); + if (serv) + selected_net->selected = pos; + selected_serv = serv; + } +} + +static void +servlist_command_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + commandentry *cmd; + char *cmdname; + int pos; + + if (!selected_net) + return; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &cmdname, -1); + cmd = servlist_command_find (selected_net, cmdname, &pos); + g_free (cmdname); + if (cmd) + selected_net->selected = pos; + selected_cmd = cmd; + } +} + +static void +servlist_channel_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + GtkTreeModel *model; + GtkTreeIter iter; + favchannel *channel; + char *channame; + int pos; + + if (!selected_net) + return; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &channame, -1); + channel = servlist_favchan_find (selected_net, channame, &pos); + g_free (channame); + if (channel) + selected_net->selected = pos; + selected_chan = channel; + } +} + +static void +servlist_start_editing (GtkTreeView *tree) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreePath *path; + + sel = gtk_tree_view_get_selection (tree); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + path = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &iter); + if (path) + { + gtk_tree_view_set_cursor (tree, path, + gtk_tree_view_get_column (tree, 0), TRUE); + gtk_tree_path_free (path); + } + } +} + +static void +servlist_addserver (void) +{ + GtkTreeIter iter; + GtkListStore *store; + + if (!selected_net) + return; + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[SERVER_TREE]))); + servlist_server_add (selected_net, DEFAULT_SERVER); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, DEFAULT_SERVER, 1, TRUE, -1); + + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (edit_trees[SERVER_TREE]), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (edit_trees[SERVER_TREE])); + + servlist_server_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_addcommand (void) +{ + GtkTreeIter iter; + GtkListStore *store; + + if (!selected_net) + return; + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[CMD_TREE]))); + servlist_command_add (selected_net, "ECHO hello"); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, "ECHO hello", 1, TRUE, -1); + + servlist_select_and_show (GTK_TREE_VIEW (edit_trees[CMD_TREE]), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (edit_trees[CMD_TREE])); + + servlist_command_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_addchannel (void) +{ + GtkTreeIter iter; + GtkListStore *store; + + if (!selected_net) + return; + + store = GTK_LIST_STORE(gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE]))); + servlist_favchan_add (selected_net, "#channel"); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, "#channel", 1, "", 2, TRUE, -1); + + /* select this server */ + servlist_select_and_show (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE]), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE])); + + servlist_channel_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_addnet_cb (GtkWidget *item, GtkTreeView *treeview) +{ + GtkTreeIter iter; + GtkListStore *store; + ircnet *net; + + net = servlist_net_add (_("New Network"), "", TRUE); + net->encoding = g_strdup (IRC_DEFAULT_CHARSET); + servlist_server_add (net, DEFAULT_SERVER); + + store = (GtkListStore *)gtk_tree_view_get_model (treeview); + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, 0, net->name, 1, 1, -1); + + /* select this network */ + servlist_select_and_show (GTK_TREE_VIEW (networks_tree), &iter, store); + servlist_start_editing (GTK_TREE_VIEW (networks_tree)); + + servlist_network_row_cb (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)), NULL); +} + +static void +servlist_deletenetwork (ircnet *net) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + + /* remove from list */ + servlist_net_remove (net); + + /* force something to be selected */ + gtk_tree_model_get_iter_first (model, &iter); + servlist_select_and_show (GTK_TREE_VIEW (networks_tree), &iter, + GTK_LIST_STORE (model)); + servlist_network_row_cb (sel, NULL); +} + +static void +servlist_deletenetdialog_cb (GtkDialog *dialog, gint arg1, ircnet *net) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); + if (arg1 == GTK_RESPONSE_OK) + servlist_deletenetwork (net); +} + +static GSList * +servlist_move_item (GtkTreeView *view, GSList *list, gpointer item, int delta) +{ + GtkTreeModel *store; + GtkTreeIter iter1, iter2; + GtkTreeSelection *sel; + GtkTreePath *path; + int pos; + + /* Keep tree in sync w/ list, there has to be an easier way to get iters */ + sel = gtk_tree_view_get_selection (view); + gtk_tree_selection_get_selected (sel, &store, &iter1); + path = gtk_tree_model_get_path (store, &iter1); + if (delta == 1) + gtk_tree_path_next (path); + else + gtk_tree_path_prev (path); + gtk_tree_model_get_iter (store, &iter2, path); + gtk_tree_path_free (path); + + pos = g_slist_index (list, item); + if (pos >= 0) + { + pos += delta; + if (pos >= 0) + { + list = g_slist_remove (list, item); + list = g_slist_insert (list, item, pos); + + gtk_list_store_swap (GTK_LIST_STORE (store), &iter1, &iter2); + } + } + + return list; +} + +static gboolean +servlist_net_keypress_cb (GtkWidget *wid, GdkEventKey *evt, gpointer tree) +{ + gboolean handled = FALSE; + + if (!selected_net || prefs.hex_gui_slist_fav) + return FALSE; + + if (evt->state & STATE_SHIFT) + { + if (evt->keyval == GDK_KEY_Up) + { + handled = TRUE; + network_list = servlist_move_item (GTK_TREE_VIEW (tree), network_list, selected_net, -1); + } + else if (evt->keyval == GDK_KEY_Down) + { + handled = TRUE; + network_list = servlist_move_item (GTK_TREE_VIEW (tree), network_list, selected_net, +1); + } + } + + return handled; +} + +static gint +servlist_compare (ircnet *net1, ircnet *net2) +{ + gchar *net1_casefolded, *net2_casefolded; + int result=0; + + net1_casefolded=g_utf8_casefold(net1->name,-1), + net2_casefolded=g_utf8_casefold(net2->name,-1), + + result=g_utf8_collate(net1_casefolded,net2_casefolded); + + g_free(net1_casefolded); + g_free(net2_casefolded); + + return result; + +} + +static void +servlist_sort (GtkWidget *button, gpointer none) +{ + network_list=g_slist_sort(network_list,(GCompareFunc)servlist_compare); + servlist_networks_populate (networks_tree, network_list); +} + +static gboolean +servlist_has_selection (GtkTreeView *tree) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + /* make sure something is selected */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + return gtk_tree_selection_get_selected (sel, &model, &iter); +} + +static void +servlist_favor (GtkWidget *button, gpointer none) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + + if (!selected_net) + return; + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree)); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + if (selected_net->flags & FLAG_FAVORITE) + { + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 2, 400, -1); + selected_net->flags &= ~FLAG_FAVORITE; + } + else + { + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 2, 800, -1); + selected_net->flags |= FLAG_FAVORITE; + } + } +} + +static void +servlist_update_from_entry (char **str, GtkWidget *entry) +{ + g_free (*str); + + if (gtk_entry_get_text (GTK_ENTRY (entry))[0] == 0) + *str = NULL; + else + *str = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry))); +} + +static void +servlist_edit_update (ircnet *net) +{ + servlist_update_from_entry (&net->nick, edit_entry_nick); + servlist_update_from_entry (&net->nick2, edit_entry_nick2); + servlist_update_from_entry (&net->user, edit_entry_user); + servlist_update_from_entry (&net->real, edit_entry_real); + servlist_update_from_entry (&net->pass, edit_entry_pass); +} + +static void +servlist_edit_close_cb (GtkWidget *button, gpointer userdata) +{ + if (selected_net) + servlist_edit_update (selected_net); + + gtk_widget_destroy (edit_win); + edit_win = NULL; +} + +static gint +servlist_editwin_delete_cb (GtkWidget *win, GdkEventAny *event, gpointer none) +{ + servlist_edit_close_cb (NULL, NULL); + return FALSE; +} + +static gboolean +servlist_configure_cb (GtkWindow *win, GdkEventConfigure *event, gpointer none) +{ + /* remember the window size */ + gtk_window_get_size (win, &netlist_win_width, &netlist_win_height); + return FALSE; +} + +static gboolean +servlist_edit_configure_cb (GtkWindow *win, GdkEventConfigure *event, gpointer none) +{ + /* remember the window size */ + gtk_window_get_size (win, &netedit_win_width, &netedit_win_height); + return FALSE; +} + +static void +servlist_edit_cb (GtkWidget *but, gpointer none) +{ + if (!servlist_has_selection (GTK_TREE_VIEW (networks_tree))) + return; + + edit_win = servlist_open_edit (serverlist_win, selected_net); + gtkutil_set_icon (edit_win); + servlist_servers_populate (selected_net, edit_trees[SERVER_TREE]); + servlist_channels_populate (selected_net, edit_trees[CHANNEL_TREE]); + servlist_commands_populate (selected_net, edit_trees[CMD_TREE]); + g_signal_connect (G_OBJECT (edit_win), "delete_event", + G_CALLBACK (servlist_editwin_delete_cb), 0); + g_signal_connect (G_OBJECT (edit_win), "configure_event", + G_CALLBACK (servlist_edit_configure_cb), 0); + gtk_widget_show (edit_win); +} + +static void +servlist_deletenet_cb (GtkWidget *item, ircnet *net) +{ + GtkWidget *dialog; + + if (!servlist_has_selection (GTK_TREE_VIEW (networks_tree))) + return; + + net = selected_net; + if (!net) + return; + dialog = gtk_message_dialog_new (GTK_WINDOW (serverlist_win), + GTK_DIALOG_DESTROY_WITH_PARENT | + GTK_DIALOG_MODAL, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_OK_CANCEL, + _("Really remove network \"%s\" and all its servers?"), + net->name); + g_signal_connect (dialog, "response", + G_CALLBACK (servlist_deletenetdialog_cb), net); + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); + gtk_widget_show (dialog); +} + +static void +servlist_deleteserver (ircserver *serv, GtkTreeModel *model) +{ + GtkTreeSelection *sel; + GtkTreeIter iter; + + /* don't remove the last server */ + if (selected_net && g_slist_length (selected_net->servlist) < 2) + return; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[SERVER_TREE])); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + + /* remove from list */ + if (selected_net) + servlist_server_remove (selected_net, serv); +} + +static void +servlist_editbutton_cb (GtkWidget *item, GtkNotebook *notebook) +{ + servlist_start_editing (GTK_TREE_VIEW (edit_trees[gtk_notebook_get_current_page(notebook)])); +} + +static void +servlist_deleteserver_cb (void) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + char *servname; + ircserver *serv; + int pos; + + /* find the selected item in the GUI */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[SERVER_TREE])); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[SERVER_TREE])); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, &pos); + g_free (servname); + if (serv) + { + servlist_deleteserver (serv, model); + } + } +} + +static void +servlist_deletecommand (commandentry *entry, GtkTreeModel *model) +{ + GtkTreeSelection *sel; + GtkTreeIter iter; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[CMD_TREE])); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + } + + /* remove from list */ + if (selected_net) + { + servlist_command_remove (selected_net, entry); + } +} + +static void +servlist_deletecommand_cb (void) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + char *command; + commandentry *entry; + int pos; + + /* find the selected item in the GUI */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[CMD_TREE])); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[CMD_TREE])); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &command, -1); /* query the content of the selection */ + entry = servlist_command_find (selected_net, command, &pos); + g_free (command); + if (entry) + { + servlist_deletecommand (entry, model); + } + } +} + +static void +servlist_deletechannel (favchannel *favchan, GtkTreeModel *model) +{ + GtkTreeSelection *sel; + GtkTreeIter iter; + + /* remove from GUI */ + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE])); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + } + + /* remove from list */ + if (selected_net) + { + servlist_favchan_remove (selected_net, favchan); + } +} + +static void +servlist_deletechannel_cb (void) +{ + GtkTreeSelection *sel; + GtkTreeModel *model; + GtkTreeIter iter; + char *name; + char *key; + favchannel *favchan; + int pos; + + /* find the selected item in the GUI */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE])); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE])); + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &name, 1, &key, -1); /* query the content of the selection */ + favchan = servlist_favchan_find (selected_net, name, &pos); + g_free (name); + if (favchan) + { + servlist_deletechannel (favchan, model); + } + } +} + +static ircnet * +servlist_find_selected_net (GtkTreeSelection *sel) +{ + GtkTreeModel *model; + GtkTreeIter iter; + char *netname; + int pos; + ircnet *net = NULL; + + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 0, &netname, -1); + net = servlist_net_find (netname, &pos, strcmp); + g_free (netname); + if (net) + prefs.hex_gui_slist_select = pos; + } + + return net; +} + +static void +servlist_network_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + ircnet *net; + + selected_net = NULL; + + net = servlist_find_selected_net (sel); + if (net) + selected_net = net; +} + +static int +servlist_savegui (void) +{ + char *sp; + const char *nick1, *nick2; + + /* check for blank username, ircd will not allow this */ + if (gtk_entry_get_text (GTK_ENTRY (entry_guser))[0] == 0) + return 1; + + /* if (gtk_entry_get_text (GTK_ENTRY (entry_greal))[0] == 0) + return 1; */ + + nick1 = gtk_entry_get_text (GTK_ENTRY (entry_nick1)); + nick2 = gtk_entry_get_text (GTK_ENTRY (entry_nick2)); + + /* ensure unique nicknames */ + if (!rfc_casecmp (nick1, nick2)) + return 2; + + safe_strcpy (prefs.hex_irc_nick1, nick1, sizeof(prefs.hex_irc_nick1)); + safe_strcpy (prefs.hex_irc_nick2, nick2, sizeof(prefs.hex_irc_nick2)); + safe_strcpy (prefs.hex_irc_nick3, gtk_entry_get_text (GTK_ENTRY (entry_nick3)), sizeof(prefs.hex_irc_nick3)); + safe_strcpy (prefs.hex_irc_user_name, gtk_entry_get_text (GTK_ENTRY (entry_guser)), sizeof(prefs.hex_irc_user_name)); + sp = strchr (prefs.hex_irc_user_name, ' '); + if (sp) + sp[0] = 0; /* spaces will break the login */ + /* strcpy (prefs.hex_irc_real_name, gtk_entry_get_text (GTK_ENTRY (entry_greal))); */ + servlist_save (); + save_config (); /* For nicks stored in hexchat.conf */ + + return 0; +} + +static gboolean +servlist_get_iter_from_name (GtkTreeModel *model, gchar *name, GtkTreeIter *iter) +{ + GtkTreePath *path = gtk_tree_path_new_from_string (name); + + if (!gtk_tree_model_get_iter (model, iter, path)) + { + gtk_tree_path_free (path); + return FALSE; + } + + gtk_tree_path_free (path); + return TRUE; +} + +static void +servlist_addbutton_cb (GtkWidget *item, GtkNotebook *notebook) +{ + switch (gtk_notebook_get_current_page (notebook)) + { + case SERVER_TREE: + servlist_addserver (); + break; + case CHANNEL_TREE: + servlist_addchannel (); + break; + case CMD_TREE: + servlist_addcommand (); + break; + default: + break; + } +} + +static void +servlist_deletebutton_cb (GtkWidget *item, GtkNotebook *notebook) +{ + switch (gtk_notebook_get_current_page (notebook)) + { + case SERVER_TREE: + servlist_deleteserver_cb (); + break; + case CHANNEL_TREE: + servlist_deletechannel_cb (); + break; + case CMD_TREE: + servlist_deletecommand_cb (); + break; + default: + break; + } +} + +static gboolean +servlist_keypress_cb (GtkWidget *wid, GdkEventKey *evt, GtkNotebook *notebook) +{ + gboolean handled = FALSE; + int delta = 0; + + if (!selected_net) + return FALSE; + + if (evt->state & STATE_SHIFT) + { + if (evt->keyval == GDK_KEY_Up) + { + handled = TRUE; + delta = -1; + } + else if (evt->keyval == GDK_KEY_Down) + { + handled = TRUE; + delta = +1; + } + } + + if (handled) + { + switch (gtk_notebook_get_current_page (notebook)) + { + case SERVER_TREE: + if (selected_serv) + selected_net->servlist = servlist_move_item (GTK_TREE_VIEW (edit_trees[SERVER_TREE]), + selected_net->servlist, selected_serv, delta); + break; + case CHANNEL_TREE: + if (selected_chan) + selected_net->favchanlist = servlist_move_item (GTK_TREE_VIEW (edit_trees[CHANNEL_TREE]), + selected_net->favchanlist, selected_chan, delta); + break; + case CMD_TREE: + if (selected_cmd) + selected_net->commandlist = servlist_move_item (GTK_TREE_VIEW (edit_trees[CMD_TREE]), + selected_net->commandlist, selected_cmd, delta); + break; + } + } + + return handled; +} + +void +servlist_autojoinedit (ircnet *net, char *channel, gboolean add) +{ + favchannel *fav; + + if (add) + { + servlist_favchan_add (net, channel); + servlist_save (); + } + else + { + fav = servlist_favchan_find (net, channel, NULL); + if (fav) + { + servlist_favchan_remove (net, fav); + servlist_save (); + } + } +} + +static void +servlist_toggle_global_user (gboolean sensitive) +{ + gtk_widget_set_sensitive (edit_entry_nick, sensitive); + gtk_widget_set_sensitive (edit_label_nick, sensitive); + + gtk_widget_set_sensitive (edit_entry_nick2, sensitive); + gtk_widget_set_sensitive (edit_label_nick2, sensitive); + + gtk_widget_set_sensitive (edit_entry_user, sensitive); + gtk_widget_set_sensitive (edit_label_user, sensitive); + + gtk_widget_set_sensitive (edit_entry_real, sensitive); + gtk_widget_set_sensitive (edit_label_real, sensitive); +} + +static void +servlist_connect_cb (GtkWidget *button, gpointer userdata) +{ + int servlist_err; + + if (!selected_net) + return; + + servlist_err = servlist_savegui (); + if (servlist_err == 1) + { + fe_message (_("User name cannot be left blank."), FE_MSG_ERROR); + return; + } + + if (!is_session (servlist_sess)) + servlist_sess = NULL; /* open a new one */ + + { + GSList *list; + session *sess; + session *chosen = servlist_sess; + + servlist_sess = NULL; /* open a new one */ + + for (list = sess_list; list; list = list->next) + { + sess = list->data; + if (sess->server->network == selected_net) + { + servlist_sess = sess; + if (sess->server->connected) + servlist_sess = NULL; /* open a new one */ + break; + } + } + + /* use the chosen one, if it's empty */ + if (!servlist_sess && + chosen && + !chosen->server->connected && + chosen->server->server_session->channel[0] == 0) + { + servlist_sess = chosen; + } + } + + servlist_connect (servlist_sess, selected_net, TRUE); + + gtk_widget_destroy (serverlist_win); + serverlist_win = NULL; + selected_net = NULL; +} + +static void +servlist_celledit_cb (GtkCellRendererText *cell, gchar *arg1, gchar *arg2, + gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + GtkTreePath *path; + char *netname; + ircnet *net; + + if (!arg1 || !arg2) + return; + + path = gtk_tree_path_new_from_string (arg1); + if (!path) + return; + + if (!gtk_tree_model_get_iter (model, &iter, path)) + { + gtk_tree_path_free (path); + return; + } + gtk_tree_model_get (model, &iter, 0, &netname, -1); + + net = servlist_net_find (netname, NULL, strcmp); + g_free (netname); + if (net) + { + /* delete empty item */ + if (arg2[0] == 0) + { + servlist_deletenetwork (net); + gtk_tree_path_free (path); + return; + } + + netname = net->name; + net->name = g_strdup (arg2); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, net->name, -1); + g_free (netname); + } + + gtk_tree_path_free (path); +} + +static void +servlist_check_cb (GtkWidget *but, gpointer num_p) +{ + int num = GPOINTER_TO_INT (num_p); + + if (!selected_net) + return; + + if ((1 << num) == FLAG_CYCLE || (1 << num) == FLAG_USE_PROXY) + { + /* these ones are reversed, so it's compat with 2.0.x */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (but))) + selected_net->flags &= ~(1 << num); + else + selected_net->flags |= (1 << num); + } else + { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (but))) + selected_net->flags |= (1 << num); + else + selected_net->flags &= ~(1 << num); + } + + if ((1 << num) == FLAG_USE_GLOBAL) + { + servlist_toggle_global_user (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (but))); + } +} + +static GtkWidget * +servlist_create_check (int num, int state, GtkWidget *table, int row, int col, char *labeltext) +{ + GtkWidget *but; + + but = gtk_check_button_new_with_label (labeltext); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (but), state); + g_signal_connect (G_OBJECT (but), "toggled", + G_CALLBACK (servlist_check_cb), GINT_TO_POINTER (num)); + gtk_table_attach (GTK_TABLE (table), but, col, col+2, row, row+1, GTK_FILL|GTK_EXPAND, 0, SERVLIST_X_PADDING, SERVLIST_Y_PADDING); + gtk_widget_show (but); + + return but; +} + +static GtkWidget * +servlist_create_entry (GtkWidget *table, char *labeltext, int row, + char *def, GtkWidget **label_ret, char *tip) +{ + GtkWidget *label, *entry; + + label = gtk_label_new_with_mnemonic (labeltext); + if (label_ret) + *label_ret = label; + gtk_widget_show (label); + gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row+1, GTK_FILL, 0, SERVLIST_X_PADDING, SERVLIST_Y_PADDING); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + entry = gtk_entry_new (); + gtk_widget_set_tooltip_text (entry, tip); + gtk_widget_show (entry); + gtk_entry_set_text (GTK_ENTRY (entry), def ? def : ""); + gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); + + gtk_table_attach (GTK_TABLE (table), entry, 1, 2, row, row+1, GTK_FILL|GTK_EXPAND, 0, SERVLIST_X_PADDING, SERVLIST_Y_PADDING); + + return entry; +} + +static gint +servlist_delete_cb (GtkWidget *win, GdkEventAny *event, gpointer userdata) +{ + servlist_savegui (); + serverlist_win = NULL; + selected_net = NULL; + + if (sess_list == NULL) + hexchat_exit (); + + return FALSE; +} + +static void +servlist_close_cb (GtkWidget *button, gpointer userdata) +{ + servlist_savegui (); + gtk_widget_destroy (serverlist_win); + serverlist_win = NULL; + selected_net = NULL; + + if (sess_list == NULL) + hexchat_exit (); +} + +/* convert "host:port" format to "host/port" */ + +static char * +servlist_sanitize_hostname (char *host) +{ + char *ret, *c, *e; + + ret = g_strdup (host); + + c = strchr (ret, ':'); + e = strrchr (ret, ':'); + + /* if only one colon exists it's probably not IPv6 */ + if (c && c == e) + *c = '/'; + + return g_strstrip(ret); +} + +/* remove leading slash */ +static char * +servlist_sanitize_command (char *cmd) +{ + if (cmd[0] == '/') + { + return (g_strdup (cmd + 1)); + } + else + { + return (g_strdup (cmd)); + } +} + +static void +servlist_editserver_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + char *servname; + ircserver *serv; + + if (!selected_net) + { + return; + } + + if (!servlist_get_iter_from_name (model, name, &iter)) + { + return; + } + + gtk_tree_model_get (model, &iter, 0, &servname, -1); + serv = servlist_server_find (selected_net, servname, NULL); + g_free (servname); + + if (serv) + { + /* delete empty item */ + if (newval[0] == 0) + { + servlist_deleteserver (serv, model); + return; + } + + servname = serv->hostname; + serv->hostname = servlist_sanitize_hostname (newval); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, serv->hostname, -1); + g_free (servname); + } +} + +static void +servlist_editcommand_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + char *cmd; + commandentry *entry; + + if (!selected_net) + { + return; + } + + if (!servlist_get_iter_from_name (model, name, &iter)) + { + return; + } + + gtk_tree_model_get (model, &iter, 0, &cmd, -1); + entry = servlist_command_find (selected_net, cmd, NULL); + g_free (cmd); + + if (entry) + { + /* delete empty item */ + if (newval[0] == 0) + { + servlist_deletecommand (entry, model); + return; + } + + cmd = entry->command; + entry->command = servlist_sanitize_command (newval); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, entry->command, -1); + g_free (cmd); + } +} + +static void +servlist_editchannel_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + char *chan; + char *key; + favchannel *favchan; + + if (!selected_net) + { + return; + } + + if (!servlist_get_iter_from_name (model, name, &iter)) + { + return; + } + + gtk_tree_model_get (model, &iter, 0, &chan, 1, &key, -1); + favchan = servlist_favchan_find (selected_net, chan, NULL); + g_free (chan); + + if (favchan) + { + /* delete empty item */ + if (newval[0] == 0) + { + servlist_deletechannel (favchan, model); + return; + } + + chan = favchan->name; + favchan->name = g_strdup (newval); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, favchan->name, -1); + g_free (chan); + } +} + +static void +servlist_editkey_cb (GtkCellRendererText *cell, gchar *name, gchar *newval, gpointer user_data) +{ + GtkTreeModel *model = (GtkTreeModel *)user_data; + GtkTreeIter iter; + char *chan; + char *key; + favchannel *favchan; + + if (!selected_net) + { + return; + } + + if (!servlist_get_iter_from_name (model, name, &iter)) + { + return; + } + + gtk_tree_model_get (model, &iter, 0, &chan, 1, &key, -1); + favchan = servlist_favchan_find (selected_net, chan, NULL); + g_free (chan); + + if (favchan) + { + key = favchan->key; + + if (strlen (newval)) /* check key length, the field can be empty in order to delete the key! */ + { + favchan->key = g_strdup (newval); + } + else /* if key's empty, make sure we actually remove the key */ + { + favchan->key = NULL; + } + + gtk_list_store_set (GTK_LIST_STORE (model), &iter, 1, favchan->key, -1); + g_free (key); + } +} + +static gboolean +servlist_edit_tabswitch_cb (GtkNotebook *nb, gpointer *newtab, guint newindex, gpointer user_data) +{ + /* remember the active tab */ + netedit_active_tab = newindex; + + return FALSE; +} + +static void +servlist_combo_cb (GtkEntry *entry, gpointer userdata) +{ + if (!selected_net) + return; + + g_free (selected_net->encoding); + selected_net->encoding = g_strdup (gtk_entry_get_text (entry)); +} + +/* Fills up the network's authentication type so that it's guaranteed to be either NULL or a valid value. */ +static void +servlist_logintypecombo_cb (GtkComboBox *cb, gpointer *userdata) +{ + int index; + + if (!selected_net) + { + return; + } + + index = gtk_combo_box_get_active (cb); /* starts at 0, returns -1 for invalid selections */ + + if (index == -1) + return; /* Invalid */ + + /* The selection is valid. It can be 0, which is the default type, but we need to allow + * that so that you can revert from other types. servlist_save() will dump 0 anyway. + */ + selected_net->logintype = login_types_conf[index]; + + if (login_types_conf[index] == LOGIN_CUSTOM) + { + gtk_notebook_set_current_page (GTK_NOTEBOOK (userdata), 2); /* FIXME avoid hardcoding? */ + } + + /* EXTERNAL uses a cert, not a pass */ + if (login_types_conf[index] == LOGIN_SASLEXTERNAL) + gtk_widget_set_sensitive (edit_entry_pass, FALSE); + else + gtk_widget_set_sensitive (edit_entry_pass, TRUE); +} + +static void +servlist_username_changed_cb (GtkEntry *entry, gpointer userdata) +{ + GtkWidget *connect_btn = GTK_WIDGET (userdata); + + if (gtk_entry_get_text (entry)[0] == 0) + { + gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); + gtk_entry_set_icon_tooltip_text (entry, GTK_ENTRY_ICON_SECONDARY, + _("User name cannot be left blank.")); + gtk_widget_set_sensitive (connect_btn, FALSE); + } + else + { + gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, NULL); + gtk_widget_set_sensitive (connect_btn, TRUE); + } +} + +static void +servlist_nick_changed_cb (GtkEntry *entry, gpointer userdata) +{ + GtkWidget *connect_btn = GTK_WIDGET (userdata); + const gchar *nick1 = gtk_entry_get_text (GTK_ENTRY (entry_nick1)); + const gchar *nick2 = gtk_entry_get_text (GTK_ENTRY (entry_nick2)); + + if (!nick1[0] || !nick2[0]) + { + entry = GTK_ENTRY(!nick1[0] ? entry_nick1 : entry_nick2); + gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); + gtk_entry_set_icon_tooltip_text (entry, GTK_ENTRY_ICON_SECONDARY, + _("You cannot have an empty nick name.")); + gtk_widget_set_sensitive (connect_btn, FALSE); + } + else if (!rfc_casecmp (nick1, nick2)) + { + gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); + gtk_entry_set_icon_tooltip_text (entry, GTK_ENTRY_ICON_SECONDARY, + _("You must have two unique nick names.")); + gtk_widget_set_sensitive (connect_btn, FALSE); + } + else + { + gtk_entry_set_icon_from_stock (GTK_ENTRY(entry_nick1), GTK_ENTRY_ICON_SECONDARY, NULL); + gtk_entry_set_icon_from_stock (GTK_ENTRY(entry_nick2), GTK_ENTRY_ICON_SECONDARY, NULL); + gtk_widget_set_sensitive (connect_btn, TRUE); + } +} + +static GtkWidget * +servlist_create_charsetcombo (void) +{ + GtkWidget *cb; + int i; + + cb = gtk_combo_box_text_new_with_entry (); + i = 0; + while (pages[i]) + { + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), (char *)pages[i]); + i++; + } + + gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN(cb))), selected_net->encoding ? selected_net->encoding : pages[0]); + + g_signal_connect (G_OBJECT (gtk_bin_get_child (GTK_BIN (cb))), "changed", + G_CALLBACK (servlist_combo_cb), NULL); + + return cb; +} + +static GtkWidget * +servlist_create_logintypecombo (GtkWidget *data) +{ + GtkWidget *cb; + int i; + + cb = gtk_combo_box_text_new (); + + i = 0; + + while (login_types[i]) + { + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), (char *)login_types[i]); + i++; + } + + gtk_combo_box_set_active (GTK_COMBO_BOX (cb), servlist_get_login_desc_index (selected_net->logintype)); + + gtk_widget_set_tooltip_text (cb, _("The way you identify yourself to the server. For custom login methods use connect commands.")); + g_signal_connect (G_OBJECT (GTK_BIN (cb)), "changed", G_CALLBACK (servlist_logintypecombo_cb), data); + + return cb; +} + +static void +no_servlist (GtkWidget * igad, gpointer serv) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (igad))) + prefs.hex_gui_slist_skip = TRUE; + else + prefs.hex_gui_slist_skip = FALSE; +} + +static void +fav_servlist (GtkWidget * igad, gpointer serv) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (igad))) + prefs.hex_gui_slist_fav = TRUE; + else + prefs.hex_gui_slist_fav = FALSE; + + servlist_networks_populate (networks_tree, network_list); +} + +static GtkWidget * +bold_label (char *text) +{ + char buf[128]; + GtkWidget *label; + + g_snprintf (buf, sizeof (buf), "<b>%s</b>", text); + label = gtk_label_new (buf); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_widget_show (label); + + return label; +} + +static GtkWidget * +servlist_open_edit (GtkWidget *parent, ircnet *net) +{ + GtkWidget *editwindow; + GtkWidget *vbox5; + GtkWidget *table3; + GtkWidget *label34; + GtkWidget *label_logintype; + GtkWidget *comboboxentry_charset; + GtkWidget *combobox_logintypes; + GtkWidget *hbox1; + GtkWidget *scrolledwindow2; + GtkWidget *scrolledwindow4; + GtkWidget *scrolledwindow5; + GtkWidget *treeview_servers; + GtkWidget *treeview_channels; + GtkWidget *treeview_commands; + GtkWidget *vbuttonbox1; + GtkWidget *buttonadd; + GtkWidget *buttonremove; + GtkWidget *buttonedit; + GtkWidget *hseparator2; + GtkWidget *hbuttonbox4; + GtkWidget *button10; + GtkWidget *check; + GtkWidget *notebook; + GtkTreeModel *model; + GtkListStore *store; + GtkCellRenderer *renderer; + char buf[128]; + + editwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (editwindow), 4); + g_snprintf (buf, sizeof (buf), _("Edit %s - %s"), net->name, _(DISPLAY_NAME)); + gtk_window_set_title (GTK_WINDOW (editwindow), buf); + gtk_window_set_default_size (GTK_WINDOW (editwindow), netedit_win_width, netedit_win_height); + gtk_window_set_transient_for (GTK_WINDOW (editwindow), GTK_WINDOW (parent)); + gtk_window_set_modal (GTK_WINDOW (editwindow), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (editwindow), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_window_set_role (GTK_WINDOW (editwindow), "editserv"); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (editwindow), vbox5); + + + /* Tabs and buttons */ + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox5), hbox1, TRUE, TRUE, 4); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); + scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); + + notebook = gtk_notebook_new (); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), scrolledwindow2, gtk_label_new (_("Servers"))); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), scrolledwindow4, gtk_label_new (_("Autojoin channels"))); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), scrolledwindow5, gtk_label_new (_("Connect commands"))); + gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_BOTTOM); + gtk_box_pack_start (GTK_BOX (hbox1), notebook, TRUE, TRUE, SERVLIST_X_PADDING); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_SHADOW_IN); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN); + gtk_widget_set_tooltip_text (scrolledwindow5, _("%n=Nick name\n%p=Password\n%r=Real name\n%u=User name")); + + + /* Server Tree */ + store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); + model = GTK_TREE_MODEL (store); + + edit_trees[SERVER_TREE] = treeview_servers = gtk_tree_view_new_with_model (model); + g_signal_connect (G_OBJECT (treeview_servers), "key_press_event", + G_CALLBACK (servlist_keypress_cb), notebook); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview_servers))), + "changed", G_CALLBACK (servlist_server_row_cb), NULL); + g_object_unref (model); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview_servers); + gtk_widget_set_size_request (treeview_servers, -1, 80); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_servers), + FALSE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editserver_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_servers), -1, + 0, renderer, + "text", 0, + "editable", 1, + NULL); + + /* Channel Tree */ + store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); + model = GTK_TREE_MODEL (store); + + edit_trees[CHANNEL_TREE] = treeview_channels = gtk_tree_view_new_with_model (model); + g_signal_connect (G_OBJECT (treeview_channels), "key_press_event", + G_CALLBACK (servlist_keypress_cb), notebook); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview_channels))), + "changed", G_CALLBACK (servlist_channel_row_cb), NULL); + g_object_unref (model); + gtk_container_add (GTK_CONTAINER (scrolledwindow4), treeview_channels); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_channels), TRUE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editchannel_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_channels), -1, + _("Channel"), renderer, + "text", 0, + "editable", 2, + NULL); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editkey_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_channels), -1, + _("Key (Password)"), renderer, + "text", 1, + "editable", 2, + NULL); + + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (treeview_channels), 0), TRUE); + gtk_tree_view_column_set_expand (gtk_tree_view_get_column (GTK_TREE_VIEW (treeview_channels), 1), TRUE); + + + /* Command Tree */ + store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); + model = GTK_TREE_MODEL (store); + + edit_trees[CMD_TREE] = treeview_commands = gtk_tree_view_new_with_model (model); + g_signal_connect (G_OBJECT (treeview_commands), "key_press_event", + G_CALLBACK (servlist_keypress_cb), notebook); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview_commands))), + "changed", G_CALLBACK (servlist_command_row_cb), NULL); + g_object_unref (model); + gtk_container_add (GTK_CONTAINER (scrolledwindow5), treeview_commands); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_commands), + FALSE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_editcommand_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_commands), -1, + 0, renderer, + "text", 0, + "editable", 1, + NULL); + + + /* Button Box */ + vbuttonbox1 = gtk_vbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (vbuttonbox1), 3); + gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox1), GTK_BUTTONBOX_START); + gtk_box_pack_start (GTK_BOX (hbox1), vbuttonbox1, FALSE, FALSE, 3); + + buttonadd = gtk_button_new_from_stock ("gtk-add"); + g_signal_connect (G_OBJECT (buttonadd), "clicked", + G_CALLBACK (servlist_addbutton_cb), notebook); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonadd); + gtk_widget_set_can_default (buttonadd, TRUE); + + buttonremove = gtk_button_new_from_stock ("gtk-remove"); + g_signal_connect (G_OBJECT (buttonremove), "clicked", + G_CALLBACK (servlist_deletebutton_cb), notebook); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonremove); + gtk_widget_set_can_default (buttonremove, TRUE); + + buttonedit = gtk_button_new_with_mnemonic (_("_Edit")); + g_signal_connect (G_OBJECT (buttonedit), "clicked", + G_CALLBACK (servlist_editbutton_cb), notebook); + gtk_container_add (GTK_CONTAINER (vbuttonbox1), buttonedit); + gtk_widget_set_can_default (buttonedit, TRUE); + + + /* Checkboxes and entries */ + table3 = gtk_table_new (13, 2, FALSE); + gtk_box_pack_start (GTK_BOX (vbox5), table3, FALSE, FALSE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table3), 2); + gtk_table_set_col_spacings (GTK_TABLE (table3), 8); + + check = servlist_create_check (0, !(net->flags & FLAG_CYCLE), table3, 0, 0, _("Connect to selected server only")); + gtk_widget_set_tooltip_text (check, _("Don't cycle through all the servers when the connection fails.")); + servlist_create_check (3, net->flags & FLAG_AUTO_CONNECT, table3, 1, 0, _("Connect to this network automatically")); + servlist_create_check (4, !(net->flags & FLAG_USE_PROXY), table3, 2, 0, _("Bypass proxy server")); + check = servlist_create_check (2, net->flags & FLAG_USE_SSL, table3, 3, 0, _("Use SSL for all the servers on this network")); +#ifndef USE_OPENSSL + gtk_widget_set_sensitive (check, FALSE); +#endif + check = servlist_create_check (5, net->flags & FLAG_ALLOW_INVALID, table3, 4, 0, _("Accept invalid SSL certificates")); +#ifndef USE_OPENSSL + gtk_widget_set_sensitive (check, FALSE); +#endif + servlist_create_check (1, net->flags & FLAG_USE_GLOBAL, table3, 5, 0, _("Use global user information")); + + edit_entry_nick = servlist_create_entry (table3, _("_Nick name:"), 6, net->nick, &edit_label_nick, 0); + edit_entry_nick2 = servlist_create_entry (table3, _("Second choice:"), 7, net->nick2, &edit_label_nick2, 0); + edit_entry_real = servlist_create_entry (table3, _("Rea_l name:"), 8, net->real, &edit_label_real, 0); + edit_entry_user = servlist_create_entry (table3, _("_User name:"), 9, net->user, &edit_label_user, 0); + + label_logintype = gtk_label_new (_("Login method:")); + gtk_table_attach (GTK_TABLE (table3), label_logintype, 0, 1, 10, 11, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), SERVLIST_X_PADDING, SERVLIST_Y_PADDING); + gtk_misc_set_alignment (GTK_MISC (label_logintype), 0, 0.5); + combobox_logintypes = servlist_create_logintypecombo (notebook); + gtk_table_attach (GTK_TABLE (table3), combobox_logintypes, 1, 2, 10, 11, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 4, 2); + + edit_entry_pass = servlist_create_entry (table3, _("Password:"), 11, net->pass, 0, _("Password used for login. If in doubt, leave blank.")); + gtk_entry_set_visibility (GTK_ENTRY (edit_entry_pass), FALSE); + if (selected_net && selected_net->logintype == LOGIN_SASLEXTERNAL) + gtk_widget_set_sensitive (edit_entry_pass, FALSE); + + label34 = gtk_label_new (_("Character set:")); + gtk_table_attach (GTK_TABLE (table3), label34, 0, 1, 12, 13, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), SERVLIST_X_PADDING, SERVLIST_Y_PADDING); + gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5); + comboboxentry_charset = servlist_create_charsetcombo (); + gtk_table_attach (GTK_TABLE (table3), comboboxentry_charset, 1, 2, 12, 13, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 4, 2); + + + /* Rule and Close button */ + hseparator2 = gtk_hseparator_new (); + gtk_box_pack_start (GTK_BOX (vbox5), hseparator2, FALSE, FALSE, 8); + + hbuttonbox4 = gtk_hbutton_box_new (); + gtk_box_pack_start (GTK_BOX (vbox5), hbuttonbox4, FALSE, FALSE, 0); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_END); + + button10 = gtk_button_new_from_stock ("gtk-close"); + g_signal_connect (G_OBJECT (button10), "clicked", + G_CALLBACK (servlist_edit_close_cb), 0); + gtk_container_add (GTK_CONTAINER (hbuttonbox4), button10); + gtk_widget_set_can_default (button10, TRUE); + + if (net->flags & FLAG_USE_GLOBAL) + { + servlist_toggle_global_user (FALSE); + } + + gtk_widget_grab_focus (button10); + gtk_widget_grab_default (button10); + + gtk_widget_show_all (editwindow); + + /* We can't set the active tab without child elements being shown, so this must be *after* gtk_widget_show()s! */ + gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), netedit_active_tab); + + /* We need to connect this *after* setting the active tab so that the value doesn't get overriden. */ + g_signal_connect (G_OBJECT (notebook), "switch-page", G_CALLBACK (servlist_edit_tabswitch_cb), notebook); + + return editwindow; +} + +static GtkWidget * +servlist_open_networks (void) +{ + GtkWidget *servlist; + GtkWidget *vbox1; + GtkWidget *label2; + GtkWidget *table1; + GtkWidget *label3; + GtkWidget *label4; + GtkWidget *label5; + GtkWidget *label6; + /* GtkWidget *label7; */ + GtkWidget *entry1; + GtkWidget *entry2; + GtkWidget *entry3; + GtkWidget *entry4; + /* GtkWidget *entry5; */ + GtkWidget *vbox2; + GtkWidget *label1; + GtkWidget *table4; + GtkWidget *scrolledwindow3; + GtkWidget *treeview_networks; + GtkWidget *checkbutton_skip; + GtkWidget *checkbutton_fav; + GtkWidget *hbox; + GtkWidget *vbuttonbox2; + GtkWidget *button_add; + GtkWidget *button_remove; + GtkWidget *button_edit; + GtkWidget *button_sort; + GtkWidget *hseparator1; + GtkWidget *hbuttonbox1; + GtkWidget *button_connect; + GtkWidget *button_close; + GtkTreeModel *model; + GtkListStore *store; + GtkCellRenderer *renderer; + char buf[128]; + + servlist = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (servlist), 4); + g_snprintf(buf, sizeof(buf), _("Network List - %s"), _(DISPLAY_NAME)); + gtk_window_set_title (GTK_WINDOW (servlist), buf); + gtk_window_set_default_size (GTK_WINDOW (servlist), netlist_win_width, netlist_win_height); + gtk_window_set_role (GTK_WINDOW (servlist), "servlist"); + gtk_window_set_type_hint (GTK_WINDOW (servlist), GDK_WINDOW_TYPE_HINT_DIALOG); + if (current_sess) + gtk_window_set_transient_for (GTK_WINDOW (servlist), GTK_WINDOW (current_sess->gui->window)); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (servlist), vbox1); + + label2 = bold_label (_("User Information")); + gtk_box_pack_start (GTK_BOX (vbox1), label2, FALSE, FALSE, 0); + + table1 = gtk_table_new (5, 2, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (vbox1), table1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table1), 8); + gtk_table_set_row_spacings (GTK_TABLE (table1), 2); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); + + label3 = gtk_label_new_with_mnemonic (_("_Nick name:")); + gtk_widget_show (label3); + gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); + + label4 = gtk_label_new (_("Second choice:")); + gtk_widget_show (label4); + gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); + + label5 = gtk_label_new (_("Third choice:")); + gtk_widget_show (label5); + gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); + + label6 = gtk_label_new_with_mnemonic (_("_User name:")); + gtk_widget_show (label6); + gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); + + /* label7 = gtk_label_new_with_mnemonic (_("Rea_l name:")); + gtk_widget_show (label7); + gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 4, 5, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);*/ + + entry_nick1 = entry1 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry1), prefs.hex_irc_nick1); + gtk_widget_show (entry1); + gtk_table_attach (GTK_TABLE (table1), entry1, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_nick2 = entry2 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry2), prefs.hex_irc_nick2); + gtk_widget_show (entry2); + gtk_table_attach (GTK_TABLE (table1), entry2, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_nick3 = entry3 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry3), prefs.hex_irc_nick3); + gtk_widget_show (entry3); + gtk_table_attach (GTK_TABLE (table1), entry3, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + entry_guser = entry4 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry4), prefs.hex_irc_user_name); + gtk_widget_show (entry4); + gtk_table_attach (GTK_TABLE (table1), entry4, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + /* entry_greal = entry5 = gtk_entry_new (); + gtk_entry_set_text (GTK_ENTRY (entry5), prefs.hex_irc_real_name); + gtk_widget_show (entry5); + gtk_table_attach (GTK_TABLE (table1), entry5, 1, 2, 4, 5, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); */ + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0); + + label1 = bold_label (_("Networks")); + gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0); + + table4 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table4); + gtk_box_pack_start (GTK_BOX (vbox2), table4, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table4), 8); + gtk_table_set_row_spacings (GTK_TABLE (table4), 2); + gtk_table_set_col_spacings (GTK_TABLE (table4), 3); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow3); + gtk_table_attach (GTK_TABLE (table4), scrolledwindow3, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), + GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), + GTK_SHADOW_IN); + + store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT); + model = GTK_TREE_MODEL (store); + + networks_tree = treeview_networks = gtk_tree_view_new_with_model (model); + g_object_unref (model); + gtk_widget_show (treeview_networks); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), treeview_networks); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview_networks), + FALSE); + + renderer = gtk_cell_renderer_text_new (); + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (servlist_celledit_cb), model); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (treeview_networks), -1, + 0, renderer, + "text", 0, + "editable", 1, + "weight", 2, + NULL); + + hbox = gtk_hbox_new (0, FALSE); + gtk_table_attach (GTK_TABLE (table4), hbox, 0, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_show (hbox); + + checkbutton_skip = + gtk_check_button_new_with_mnemonic (_("Skip network list on startup")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton_skip), + prefs.hex_gui_slist_skip); + gtk_container_add (GTK_CONTAINER (hbox), checkbutton_skip); + g_signal_connect (G_OBJECT (checkbutton_skip), "toggled", + G_CALLBACK (no_servlist), 0); + gtk_widget_show (checkbutton_skip); + + checkbutton_fav = + gtk_check_button_new_with_mnemonic (_("Show favorites only")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton_fav), + prefs.hex_gui_slist_fav); + gtk_container_add (GTK_CONTAINER (hbox), checkbutton_fav); + g_signal_connect (G_OBJECT (checkbutton_fav), "toggled", + G_CALLBACK (fav_servlist), 0); + gtk_widget_show (checkbutton_fav); + + vbuttonbox2 = gtk_vbutton_box_new (); + gtk_box_set_spacing (GTK_BOX (vbuttonbox2), 3); + gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox2), GTK_BUTTONBOX_START); + gtk_widget_show (vbuttonbox2); + gtk_table_attach (GTK_TABLE (table4), vbuttonbox2, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + button_add = gtk_button_new_from_stock ("gtk-add"); + g_signal_connect (G_OBJECT (button_add), "clicked", + G_CALLBACK (servlist_addnet_cb), networks_tree); + gtk_widget_show (button_add); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_add); + gtk_widget_set_can_default (button_add, TRUE); + + button_remove = gtk_button_new_from_stock ("gtk-remove"); + g_signal_connect (G_OBJECT (button_remove), "clicked", + G_CALLBACK (servlist_deletenet_cb), 0); + gtk_widget_show (button_remove); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_remove); + gtk_widget_set_can_default (button_remove, TRUE); + + button_edit = gtk_button_new_with_mnemonic (_("_Edit...")); + g_signal_connect (G_OBJECT (button_edit), "clicked", + G_CALLBACK (servlist_edit_cb), 0); + gtk_widget_show (button_edit); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_edit); + gtk_widget_set_can_default (button_edit, TRUE); + + button_sort = gtk_button_new_with_mnemonic (_("_Sort")); + gtk_widget_set_tooltip_text (button_sort, _("Sorts the network list in alphabetical order. " + "Use Shift+Up and Shift+Down keys to move a row.")); + g_signal_connect (G_OBJECT (button_sort), "clicked", + G_CALLBACK (servlist_sort), 0); + gtk_widget_show (button_sort); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_sort); + gtk_widget_set_can_default (button_sort, TRUE); + + button_sort = gtk_button_new_with_mnemonic (_("_Favor")); + gtk_widget_set_tooltip_text (button_sort, _("Mark or unmark this network as a favorite.")); + g_signal_connect (G_OBJECT (button_sort), "clicked", + G_CALLBACK (servlist_favor), 0); + gtk_widget_show (button_sort); + gtk_container_add (GTK_CONTAINER (vbuttonbox2), button_sort); + gtk_widget_set_can_default (button_sort, TRUE); + + hseparator1 = gtk_hseparator_new (); + gtk_widget_show (hseparator1); + gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, FALSE, TRUE, 4); + + hbuttonbox1 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 8); + + button_close = gtk_button_new_from_stock ("gtk-close"); + gtk_widget_show (button_close); + g_signal_connect (G_OBJECT (button_close), "clicked", + G_CALLBACK (servlist_close_cb), 0); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_close); + gtk_widget_set_can_default (button_close, TRUE); + + button_connect = gtkutil_button (hbuttonbox1, GTK_STOCK_CONNECT, NULL, + servlist_connect_cb, NULL, _("C_onnect")); + gtk_widget_set_can_default (button_connect, TRUE); + + g_signal_connect (G_OBJECT (entry_guser), "changed", + G_CALLBACK(servlist_username_changed_cb), button_connect); + g_signal_connect (G_OBJECT (entry_nick1), "changed", + G_CALLBACK(servlist_nick_changed_cb), button_connect); + g_signal_connect (G_OBJECT (entry_nick2), "changed", + G_CALLBACK(servlist_nick_changed_cb), button_connect); + + /* Run validity checks now */ + servlist_nick_changed_cb (GTK_ENTRY(entry_nick2), button_connect); + servlist_username_changed_cb (GTK_ENTRY(entry_guser), button_connect); + + gtk_label_set_mnemonic_widget (GTK_LABEL (label3), entry1); + gtk_label_set_mnemonic_widget (GTK_LABEL (label6), entry4); + /* gtk_label_set_mnemonic_widget (GTK_LABEL (label7), entry5); */ + + gtk_widget_grab_focus (networks_tree); + gtk_widget_grab_default (button_close); + return servlist; +} + +void +fe_serverlist_open (session *sess) +{ + if (serverlist_win) + { + gtk_window_present (GTK_WINDOW (serverlist_win)); + return; + } + + servlist_sess = sess; + + serverlist_win = servlist_open_networks (); + gtkutil_set_icon (serverlist_win); + + servlist_networks_populate (networks_tree, network_list); + + g_signal_connect (G_OBJECT (serverlist_win), "delete_event", + G_CALLBACK (servlist_delete_cb), 0); + g_signal_connect (G_OBJECT (serverlist_win), "configure_event", + G_CALLBACK (servlist_configure_cb), 0); + g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (networks_tree))), + "changed", G_CALLBACK (servlist_network_row_cb), NULL); + g_signal_connect (G_OBJECT (networks_tree), "key_press_event", + G_CALLBACK (servlist_net_keypress_cb), networks_tree); + + gtk_widget_show (serverlist_win); +} diff --git a/src/fe-gtk/servlistgui.h b/src/fe-gtk/servlistgui.h new file mode 100644 index 0000000000000000000000000000000000000000..ca176a343a130857798a3e2f7ba3856b007898c5 --- /dev/null +++ b/src/fe-gtk/servlistgui.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_SERVLISTGUI_H +#define HEXCHAT_SERVLISTGUI_H + +void servlist_autojoinedit (ircnet *net, char *channel, gboolean add); + +#endif diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c new file mode 100644 index 0000000000000000000000000000000000000000..0e1dfde3ad3fefca4fe9a8fa196aa043912688d9 --- /dev/null +++ b/src/fe-gtk/setup.c @@ -0,0 +1,2359 @@ +/* X-Chat + * Copyright (C) 2004-2007 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <sys/types.h> + +#include "../common/hexchat.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/text.h" +#include "../common/userlist.h" +#include "../common/util.h" +#include "../common/hexchatc.h" +#include "../common/outbound.h" +#include "fe-gtk.h" +#include "gtkutil.h" +#include "maingui.h" +#include "palette.h" +#include "pixmaps.h" +#include "menu.h" +#include "plugin-tray.h" +#include "notifications/notification-backend.h" + +#ifdef WIN32 +#include "../common/fe.h" +#endif +#include "sexy-spell-entry.h" + +GtkStyle *create_input_style (GtkStyle *); + +#define LABEL_INDENT 12 + +static GtkWidget *setup_window = NULL; +static int last_selected_page = 0; +static int last_selected_row = 0; /* sound row */ +static gboolean color_change; +static struct hexchatprefs setup_prefs; +static GtkWidget *cancel_button; +static GtkWidget *font_dialog = NULL; + +enum +{ + ST_END, + ST_TOGGLE, + ST_TOGGLR, + ST_3OGGLE, + ST_ENTRY, + ST_EFONT, + ST_EFILE, + ST_EFOLDER, + ST_MENU, + ST_RADIO, + ST_NUMBER, + ST_HSCALE, + ST_HEADER, + ST_LABEL, + ST_ALERTHEAD +}; + +typedef struct +{ + int type; + char *label; + int offset; + char *tooltip; + char const *const *list; + int extra; +} setting; + +#ifdef WIN32 +static const char *const langsmenu[] = +{ + N_("Afrikaans"), + N_("Albanian"), + N_("Amharic"), + N_("Asturian"), + N_("Azerbaijani"), + N_("Basque"), + N_("Belarusian"), + N_("Bulgarian"), + N_("Catalan"), + N_("Chinese (Simplified)"), + N_("Chinese (Traditional)"), + N_("Czech"), + N_("Danish"), + N_("Dutch"), + N_("English (British)"), + N_("English"), + N_("Estonian"), + N_("Finnish"), + N_("French"), + N_("Galician"), + N_("German"), + N_("Greek"), + N_("Gujarati"), + N_("Hindi"), + N_("Hungarian"), + N_("Indonesian"), + N_("Italian"), + N_("Japanese"), + N_("Kannada"), + N_("Kinyarwanda"), + N_("Korean"), + N_("Latvian"), + N_("Lithuanian"), + N_("Macedonian"), + N_("Malay"), + N_("Malayalam"), + N_("Norwegian (Bokmal)"), + N_("Norwegian (Nynorsk)"), + N_("Polish"), + N_("Portuguese"), + N_("Portuguese (Brazilian)"), + N_("Punjabi"), + N_("Russian"), + N_("Serbian"), + N_("Slovak"), + N_("Slovenian"), + N_("Spanish"), + N_("Swedish"), + N_("Thai"), + N_("Turkish"), + N_("Ukrainian"), + N_("Vietnamese"), + N_("Walloon"), + NULL +}; +#endif + +static const setting appearance_settings[] = +{ + {ST_HEADER, N_("General"),0,0,0}, +#ifdef WIN32 + {ST_MENU, N_("Language:"), P_OFFINTNL(hex_gui_lang), 0, langsmenu, 0}, + {ST_EFONT, N_("Main font:"), P_OFFSETNL(hex_text_font_main), 0, 0, sizeof prefs.hex_text_font_main}, +#else + {ST_EFONT, N_("Font:"), P_OFFSETNL(hex_text_font), 0, 0, sizeof prefs.hex_text_font}, +#endif + + {ST_HEADER, N_("Text Box"),0,0,0}, + {ST_TOGGLE, N_("Colored nick names"), P_OFFINTNL(hex_text_color_nicks), N_("Give each person on IRC a different color"),0,0}, + {ST_TOGGLR, N_("Indent nick names"), P_OFFINTNL(hex_text_indent), N_("Make nick names right-justified"),0,0}, + {ST_TOGGLE, N_ ("Show marker line"), P_OFFINTNL (hex_text_show_marker), N_ ("Insert a red line after the last read text."), 0, 0}, + {ST_EFILE, N_ ("Background image:"), P_OFFSETNL (hex_text_background), 0, 0, sizeof prefs.hex_text_background}, + + {ST_HEADER, N_("Transparency Settings"), 0,0,0}, + {ST_HSCALE, N_("Window opacity:"), P_OFFINTNL(hex_gui_transparency),0,0,0}, + + {ST_HEADER, N_("Timestamps"),0,0,0}, + {ST_TOGGLE, N_("Enable timestamps"), P_OFFINTNL(hex_stamp_text),0,0,1}, + {ST_ENTRY, N_("Timestamp format:"), P_OFFSETNL(hex_stamp_text_format), +#ifdef WIN32 + N_("See the strftime MSDN article for details."),0,sizeof prefs.hex_stamp_text_format}, +#else + N_("See the strftime manpage for details."),0,sizeof prefs.hex_stamp_text_format}, +#endif + + {ST_HEADER, N_("Title Bar"),0,0,0}, + {ST_TOGGLE, N_("Show channel modes"), P_OFFINTNL(hex_gui_win_modes),0,0,0}, + {ST_TOGGLR, N_("Show number of users"), P_OFFINTNL(hex_gui_win_ucount),0,0,0}, + {ST_TOGGLE, N_("Show nickname"), P_OFFINTNL(hex_gui_win_nick),0,0,0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const tabcompmenu[] = +{ + N_("A-Z"), + N_("Last-spoke order"), + NULL +}; + +static const setting inputbox_settings[] = +{ + {ST_HEADER, N_("Input Box"),0,0,0}, + {ST_TOGGLE, N_("Use the text box font and colors"), P_OFFINTNL(hex_gui_input_style),0,0,0}, + {ST_TOGGLE, N_("Render colors and attributes"), P_OFFINTNL (hex_gui_input_attr),0,0,0}, + {ST_TOGGLE, N_("Show nick box"), P_OFFINTNL(hex_gui_input_nick),0,0,1}, + {ST_TOGGLE, N_("Show user mode icon in nick box"), P_OFFINTNL(hex_gui_input_icon),0,0,0}, + {ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(hex_gui_input_spell),0,0,1}, + {ST_ENTRY, N_("Dictionaries to use:"), P_OFFSETNL(hex_text_spell_langs),0,0,sizeof prefs.hex_text_spell_langs}, +#ifdef WIN32 + {ST_LABEL, N_("Use language codes (as in \"%LOCALAPPDATA%\\enchant\\myspell\\dicts\").\nSeparate multiple entries with commas.")}, +#else + {ST_LABEL, N_("Use language codes. Separate multiple entries with commas.")}, +#endif + + {ST_HEADER, N_("Nick Completion"),0,0,0}, + {ST_ENTRY, N_("Nick completion suffix:"), P_OFFSETNL(hex_completion_suffix),0,0,sizeof prefs.hex_completion_suffix}, + {ST_MENU, N_("Nick completion sorted:"), P_OFFINTNL(hex_completion_sort), 0, tabcompmenu, 0}, + {ST_NUMBER, N_("Nick completion amount:"), P_OFFINTNL(hex_completion_amount), N_("Threshold of nicks to start listing instead of completing"), (const char **)N_("nicks."), 1000}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const lagmenutext[] = +{ + N_("Off"), + N_("Graphical"), + N_("Text"), + N_("Both"), + NULL +}; + +static const char *const ulmenutext[] = +{ + N_("A-Z, ops first"), + N_("A-Z"), + N_("Z-A, ops last"), + N_("Z-A"), + N_("Unsorted"), + NULL +}; + +static const char *const cspos[] = +{ + N_("Left (upper)"), + N_("Left (lower)"), + N_("Right (upper)"), + N_("Right (lower)"), + N_("Top"), + N_("Bottom"), + N_("Hidden"), + NULL +}; + +static const char *const ulpos[] = +{ + N_("Left (upper)"), + N_("Left (lower)"), + N_("Right (upper)"), + N_("Right (lower)"), + NULL +}; + +static const setting userlist_settings[] = +{ + {ST_HEADER, N_("User List"),0,0,0}, + {ST_TOGGLE, N_("Show hostnames in user list"), P_OFFINTNL(hex_gui_ulist_show_hosts), 0, 0, 0}, + {ST_TOGGLE, N_("Use the Text box font and colors"), P_OFFINTNL(hex_gui_ulist_style),0,0,0}, + {ST_TOGGLE, N_("Show icons for user modes"), P_OFFINTNL(hex_gui_ulist_icons), N_("Use graphical icons instead of text symbols in the user list."), 0, 0}, + {ST_TOGGLE, N_("Color nicknames in userlist"), P_OFFINTNL(hex_gui_ulist_color), N_("Will color nicknames the same as in chat."), 0, 0}, + {ST_TOGGLE, N_("Show user count in channels"), P_OFFINTNL(hex_gui_ulist_count), 0, 0, 0}, + {ST_MENU, N_("User list sorted by:"), P_OFFINTNL(hex_gui_ulist_sort), 0, ulmenutext, 0}, + {ST_MENU, N_("Show user list at:"), P_OFFINTNL(hex_gui_ulist_pos), 0, ulpos, 1}, + + {ST_HEADER, N_("Away Tracking"),0,0,0}, + {ST_TOGGLE, N_("Track the away status of users and mark them in a different color"), P_OFFINTNL(hex_away_track),0,0,1}, + {ST_NUMBER, N_("On channels smaller than:"), P_OFFINTNL(hex_away_size_max),0,0,10000}, + + {ST_HEADER, N_("Action Upon Double Click"),0,0,0}, + {ST_ENTRY, N_("Execute command:"), P_OFFSETNL(hex_gui_ulist_doubleclick), 0, 0, sizeof prefs.hex_gui_ulist_doubleclick}, + + {ST_HEADER, N_("Extra Gadgets"),0,0,0}, + {ST_MENU, N_("Lag meter:"), P_OFFINTNL(hex_gui_lagometer), 0, lagmenutext, 0}, + {ST_MENU, N_("Throttle meter:"), P_OFFINTNL(hex_gui_throttlemeter), 0, lagmenutext, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const tabwin[] = +{ + N_("Windows"), + N_("Tabs"), + NULL +}; + +static const char *const focusnewtabsmenu[] = +{ + N_("Never"), + N_("Always"), + N_("Only requested tabs"), + NULL +}; + +static const char *const noticeposmenu[] = +{ + N_("Automatic"), + N_("In an extra tab"), + N_("In the front tab"), + NULL +}; + +static const char *const swtype[] = +{ + N_("Tabs"), /* 0 tabs */ + "", /* 1 reserved */ + N_("Tree"), /* 2 tree */ + NULL +}; + +static const setting tabs_settings[] = +{ + /*{ST_HEADER, N_("Channel Switcher"),0,0,0},*/ + {ST_RADIO, N_("Switcher type:"),P_OFFINTNL(hex_gui_tab_layout), 0, swtype, 0}, + {ST_TOGGLE, N_("Open an extra tab for server messages"), P_OFFINTNL(hex_gui_tab_server), 0, 0, 0}, + {ST_TOGGLE, N_("Open a new tab when you receive a private message"), P_OFFINTNL(hex_gui_autoopen_dialog), 0, 0, 0}, + {ST_TOGGLE, N_("Sort tabs in alphabetical order"), P_OFFINTNL(hex_gui_tab_sort), 0, 0, 0}, + {ST_TOGGLE, N_("Show icons in the channel tree"), P_OFFINTNL(hex_gui_tab_icons), 0, 0, 0}, + {ST_TOGGLE, N_("Show dotted lines in the channel tree"), P_OFFINTNL(hex_gui_tab_dots), 0, 0, 0}, + {ST_TOGGLE, N_("Scroll mouse-wheel to change tabs"), P_OFFINTNL (hex_gui_tab_scrollchans), 0, 0, 0}, + {ST_TOGGLE, N_("Middle click to close tab"), P_OFFINTNL(hex_gui_tab_middleclose), 0, 0, 0}, + {ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(hex_gui_tab_small), 0, 0, 0}, + {ST_MENU, N_("Focus new tabs:"), P_OFFINTNL(hex_gui_tab_newtofront), 0, focusnewtabsmenu, 0}, + {ST_MENU, N_("Placement of notices:"), P_OFFINTNL(hex_irc_notice_pos), 0, noticeposmenu, 0}, + {ST_MENU, N_("Show channel switcher at:"), P_OFFINTNL(hex_gui_tab_pos), 0, cspos, 1}, + {ST_NUMBER, N_("Shorten tab labels to:"), P_OFFINTNL(hex_gui_tab_trunc), 0, (const char **)N_("letters."), 99}, + + {ST_HEADER, N_("Tabs or Windows"),0,0,0}, + {ST_MENU, N_("Open channels in:"), P_OFFINTNL(hex_gui_tab_chans), 0, tabwin, 0}, + {ST_MENU, N_("Open dialogs in:"), P_OFFINTNL(hex_gui_tab_dialogs), 0, tabwin, 0}, + {ST_MENU, N_("Open utilities in:"), P_OFFINTNL(hex_gui_tab_utils), N_("Open DCC, Ignore, Notify etc, in tabs or windows?"), tabwin, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting color_settings[] = +{ + {ST_TOGGLE, N_("Messages"), P_OFFINTNL(hex_text_stripcolor_msg), 0, 0, 0}, + {ST_TOGGLE, N_("Scrollback"), P_OFFINTNL(hex_text_stripcolor_replay), 0, 0, 0}, + {ST_TOGGLE, N_("Topic"), P_OFFINTNL(hex_text_stripcolor_topic), 0, 0, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const dccaccept[] = +{ + N_("Ask for confirmation"), + N_("Ask for download folder"), + N_("Save without interaction"), + NULL +}; + +static const setting filexfer_settings[] = +{ + {ST_HEADER, N_("Files and Directories"), 0, 0, 0}, + {ST_MENU, N_("Auto accept file offers:"), P_OFFINTNL(hex_dcc_auto_recv), 0, dccaccept, 0}, + {ST_EFOLDER,N_("Download files to:"), P_OFFSETNL(hex_dcc_dir), 0, 0, sizeof prefs.hex_dcc_dir}, + {ST_EFOLDER,N_("Move completed files to:"), P_OFFSETNL(hex_dcc_completed_dir), 0, 0, sizeof prefs.hex_dcc_completed_dir}, + {ST_TOGGLE, N_("Save nick name in filenames"), P_OFFINTNL(hex_dcc_save_nick), 0, 0, 0}, + + {ST_HEADER, N_("Auto Open DCC Windows"),0,0,0}, + {ST_TOGGLE, N_("Send window"), P_OFFINTNL(hex_gui_autoopen_send), 0, 0, 0}, + {ST_TOGGLE, N_("Receive window"), P_OFFINTNL(hex_gui_autoopen_recv), 0, 0, 0}, + {ST_TOGGLE, N_("Chat window"), P_OFFINTNL(hex_gui_autoopen_chat), 0, 0, 0}, + + {ST_HEADER, N_("Maximum File Transfer Speeds (Byte per Second)"), 0, 0, 0}, + {ST_NUMBER, N_("One upload:"), P_OFFINTNL(hex_dcc_max_send_cps), + N_("Maximum speed for one transfer"), 0, 10000000}, + {ST_NUMBER, N_("One download:"), P_OFFINTNL(hex_dcc_max_get_cps), + N_("Maximum speed for one transfer"), 0, 10000000}, + {ST_NUMBER, N_("All uploads combined:"), P_OFFINTNL(hex_dcc_global_max_send_cps), + N_("Maximum speed for all files"), 0, 10000000}, + {ST_NUMBER, N_("All downloads combined:"), P_OFFINTNL(hex_dcc_global_max_get_cps), + N_("Maximum speed for all files"), 0, 10000000}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const int balloonlist[3] = +{ + P_OFFINTNL(hex_input_balloon_chans), P_OFFINTNL(hex_input_balloon_priv), P_OFFINTNL(hex_input_balloon_hilight) +}; + +static const int trayblinklist[3] = +{ + P_OFFINTNL(hex_input_tray_chans), P_OFFINTNL(hex_input_tray_priv), P_OFFINTNL(hex_input_tray_hilight) +}; + +static const int taskbarlist[3] = +{ + P_OFFINTNL(hex_input_flash_chans), P_OFFINTNL(hex_input_flash_priv), P_OFFINTNL(hex_input_flash_hilight) +}; + +static const int beeplist[3] = +{ + P_OFFINTNL(hex_input_beep_chans), P_OFFINTNL(hex_input_beep_priv), P_OFFINTNL(hex_input_beep_hilight) +}; + +static const setting alert_settings[] = +{ + {ST_HEADER, N_("Alerts"),0,0,0}, + + {ST_ALERTHEAD}, + + + {ST_3OGGLE, N_("Show notifications on:"), 0, 0, (void *)balloonlist, 0}, + {ST_3OGGLE, N_("Blink tray icon on:"), 0, 0, (void *)trayblinklist, 0}, + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, +#ifdef WIN32 + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play the \"Instant Message Notification\" system sound upon the selected events"), (void *)beeplist, 0}, +#else +#ifdef USE_LIBCANBERRA + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play \"message-new-instant\" from the freedesktop.org sound theme upon the selected events"), (void *)beeplist, 0}, +#else + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play a GTK beep upon the selected events"), (void *)beeplist, 0}, +#endif +#endif + + {ST_TOGGLE, N_("Omit alerts when marked as being away"), P_OFFINTNL(hex_away_omit_alerts), 0, 0, 0}, + {ST_TOGGLE, N_("Omit alerts while the window is focused"), P_OFFINTNL(hex_gui_focus_omitalerts), 0, 0, 0}, + + {ST_HEADER, N_("Tray Behavior"), 0, 0, 0}, + {ST_TOGGLE, N_("Enable system tray icon"), P_OFFINTNL(hex_gui_tray), 0, 0, 4}, + {ST_TOGGLE, N_("Minimize to tray"), P_OFFINTNL(hex_gui_tray_minimize), 0, 0, 0}, + {ST_TOGGLE, N_("Close to tray"), P_OFFINTNL(hex_gui_tray_close), 0, 0, 0}, + {ST_TOGGLE, N_("Automatically mark away/back"), P_OFFINTNL(hex_gui_tray_away), N_("Automatically change status when hiding to tray."), 0, 0}, + {ST_TOGGLE, N_("Only show notifications when hidden or iconified"), P_OFFINTNL(hex_gui_tray_quiet), 0, 0, 0}, + + {ST_HEADER, N_("Highlighted Messages"),0,0,0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(hex_irc_extra_hilight), 0, 0, sizeof prefs.hex_irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(hex_irc_no_hilight), 0, 0, sizeof prefs.hex_irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(hex_irc_nick_hilight), 0, 0, sizeof prefs.hex_irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting alert_settings_nonotifications[] = +{ + {ST_HEADER, N_("Alerts"),0,0,0}, + + {ST_ALERTHEAD}, + {ST_3OGGLE, N_("Blink tray icon on:"), 0, 0, (void *)trayblinklist, 0}, +#ifdef HAVE_GTK_MAC + {ST_3OGGLE, N_("Bounce dock icon on:"), 0, 0, (void *)taskbarlist, 0}, +#else +#ifndef __APPLE__ + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, +#endif +#endif +#ifdef WIN32 + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play the \"Instant Message Notification\" system sound upon the selected events"), (void *)beeplist, 0}, +#else +#ifdef USE_LIBCANBERRA + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play \"message-new-instant\" from the freedesktop.org sound theme upon the selected events"), (void *)beeplist, 0}, +#else + {ST_3OGGLE, N_("Make a beep sound on:"), 0, N_("Play a GTK beep upon the selected events"), (void *)beeplist, 0}, +#endif +#endif + + {ST_TOGGLE, N_("Omit alerts when marked as being away"), P_OFFINTNL(hex_away_omit_alerts), 0, 0, 0}, + {ST_TOGGLE, N_("Omit alerts while the window is focused"), P_OFFINTNL(hex_gui_focus_omitalerts), 0, 0, 0}, + + {ST_HEADER, N_("Tray Behavior"), 0, 0, 0}, + {ST_TOGGLE, N_("Enable system tray icon"), P_OFFINTNL(hex_gui_tray), 0, 0, 4}, + {ST_TOGGLE, N_("Minimize to tray"), P_OFFINTNL(hex_gui_tray_minimize), 0, 0, 0}, + {ST_TOGGLE, N_("Close to tray"), P_OFFINTNL(hex_gui_tray_close), 0, 0, 0}, + {ST_TOGGLE, N_("Automatically mark away/back"), P_OFFINTNL(hex_gui_tray_away), N_("Automatically change status when hiding to tray."), 0, 0}, + + {ST_HEADER, N_("Highlighted Messages"),0,0,0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(hex_irc_extra_hilight), 0, 0, sizeof prefs.hex_irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(hex_irc_no_hilight), 0, 0, sizeof prefs.hex_irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(hex_irc_nick_hilight), 0, 0, sizeof prefs.hex_irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting alert_settings_unity[] = +{ + {ST_HEADER, N_("Alerts"),0,0,0}, + + {ST_ALERTHEAD}, + {ST_3OGGLE, N_("Show notifications on:"), 0, 0, (void *)balloonlist, 0}, + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, + {ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0}, + + {ST_TOGGLE, N_("Omit alerts when marked as being away"), P_OFFINTNL(hex_away_omit_alerts), 0, 0, 0}, + {ST_TOGGLE, N_("Omit alerts while the window is focused"), P_OFFINTNL(hex_gui_focus_omitalerts), 0, 0, 0}, + + {ST_HEADER, N_("Highlighted Messages"),0,0,0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(hex_irc_extra_hilight), 0, 0, sizeof prefs.hex_irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(hex_irc_no_hilight), 0, 0, sizeof prefs.hex_irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(hex_irc_nick_hilight), 0, 0, sizeof prefs.hex_irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting alert_settings_unityandnonotifications[] = +{ + {ST_HEADER, N_("Alerts"), 0, 0, 0}, + + {ST_ALERTHEAD}, + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, + {ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0}, + + {ST_TOGGLE, N_("Omit alerts when marked as being away"), P_OFFINTNL (hex_away_omit_alerts), 0, 0, 0}, + {ST_TOGGLE, N_("Omit alerts while the window is focused"), P_OFFINTNL (hex_gui_focus_omitalerts), 0, 0, 0}, + + {ST_HEADER, N_("Highlighted Messages"), 0, 0, 0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL (hex_irc_extra_hilight), 0, 0, sizeof prefs.hex_irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL (hex_irc_no_hilight), 0, 0, sizeof prefs.hex_irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL (hex_irc_nick_hilight), 0, 0, sizeof prefs.hex_irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting general_settings[] = +{ + {ST_HEADER, N_("Default Messages"),0,0,0}, + {ST_ENTRY, N_("Quit:"), P_OFFSETNL(hex_irc_quit_reason), 0, 0, sizeof prefs.hex_irc_quit_reason}, + {ST_ENTRY, N_("Leave channel:"), P_OFFSETNL(hex_irc_part_reason), 0, 0, sizeof prefs.hex_irc_part_reason}, + {ST_ENTRY, N_("Away:"), P_OFFSETNL(hex_away_reason), 0, 0, sizeof prefs.hex_away_reason}, + + {ST_HEADER, N_("Away"),0,0,0}, + {ST_TOGGLE, N_("Show away once"), P_OFFINTNL(hex_away_show_once), N_("Show identical away messages only once."), 0, 0}, + {ST_TOGGLE, N_("Automatically unmark away"), P_OFFINTNL(hex_away_auto_unmark), N_("Unmark yourself as away before sending messages."), 0, 0}, + + {ST_HEADER, N_("Miscellaneous"),0,0,0}, + {ST_TOGGLE, N_("Display MODEs in raw form"), P_OFFINTNL(hex_irc_raw_modes), 0, 0, 0}, + {ST_TOGGLE, N_("WHOIS on notify"), P_OFFINTNL(hex_notify_whois_online), N_("Sends a /WHOIS when a user comes online in your notify list."), 0, 0}, + {ST_TOGGLE, N_("Hide join and part messages"), P_OFFINTNL(hex_irc_conf_mode), N_("Hide channel join/part messages by default."), 0, 0}, + {ST_TOGGLE, N_("Hide nick change messages"), P_OFFINTNL(hex_irc_hide_nickchange), 0, 0, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const bantypemenu[] = +{ + N_("*!*@*.host"), + N_("*!*@domain"), + N_("*!*user@*.host"), + N_("*!*user@domain"), + NULL +}; + +static const setting advanced_settings[] = +{ + {ST_HEADER, N_("Auto Copy Behavior"),0,0,0}, + {ST_TOGGLE, N_("Automatically copy selected text"), P_OFFINTNL(hex_text_autocopy_text), + N_("Copy selected text to clipboard when left mouse button is released. " + "Otherwise, Ctrl+Shift+C will copy the " + "selected text to the clipboard."), 0, 0}, + {ST_TOGGLE, N_("Automatically include timestamps"), P_OFFINTNL(hex_text_autocopy_stamp), + N_("Automatically include timestamps in copied lines of text. Otherwise, " + "include timestamps if the Shift key is held down while selecting."), 0, 0}, + {ST_TOGGLE, N_("Automatically include color information"), P_OFFINTNL(hex_text_autocopy_color), + N_("Automatically include color information in copied lines of text. " + "Otherwise, include color information if the Ctrl key is held down " + "while selecting."), 0, 0}, + + {ST_HEADER, N_("Miscellaneous"), 0, 0, 0}, + {ST_ENTRY, N_("Real name:"), P_OFFSETNL(hex_irc_real_name), 0, 0, sizeof prefs.hex_irc_real_name}, +#ifdef WIN32 + {ST_ENTRY, N_("Alternative fonts:"), P_OFFSETNL(hex_text_font_alternative), N_("Separate multiple entries with commas without spaces before or after."), 0, sizeof prefs.hex_text_font_alternative}, +#endif + {ST_TOGGLE, N_("Display lists in compact mode"), P_OFFINTNL(hex_gui_compact), N_("Use less spacing between user list/channel tree rows."), 0, 0}, + {ST_TOGGLE, N_("Use server time if supported"), P_OFFINTNL(hex_irc_cap_server_time), N_("Display timestamps obtained from server if it supports the time-server extension."), 0, 0}, + {ST_TOGGLE, N_("Automatically reconnect to servers on disconnect"), P_OFFINTNL(hex_net_auto_reconnect), 0, 0, 1}, + {ST_NUMBER, N_("Auto reconnect delay:"), P_OFFINTNL(hex_net_reconnect_delay), 0, 0, 9999}, + {ST_NUMBER, N_("Auto join delay:"), P_OFFINTNL(hex_irc_join_delay), 0, 0, 9999}, + {ST_MENU, N_("Ban Type:"), P_OFFINTNL(hex_irc_ban_type), N_("Attempt to use this banmask when banning or quieting. (requires irc_who_join)"), bantypemenu, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting logging_settings[] = +{ + {ST_HEADER, N_("Logging"),0,0,0}, + {ST_TOGGLE, N_("Display scrollback from previous session"), P_OFFINTNL(hex_text_replay), 0, 0, 0}, + {ST_NUMBER, N_("Scrollback lines:"), P_OFFINTNL(hex_text_max_lines),0,0,100000}, + {ST_TOGGLE, N_("Enable logging of conversations to disk"), P_OFFINTNL(hex_irc_logging), 0, 0, 0}, + {ST_ENTRY, N_("Log filename:"), P_OFFSETNL(hex_irc_logmask), 0, 0, sizeof prefs.hex_irc_logmask}, + {ST_LABEL, N_("%s=Server %c=Channel %n=Network.")}, + + {ST_HEADER, N_("Timestamps"),0,0,0}, + {ST_TOGGLE, N_("Insert timestamps in logs"), P_OFFINTNL(hex_stamp_log), 0, 0, 1}, + {ST_ENTRY, N_("Log timestamp format:"), P_OFFSETNL(hex_stamp_log_format), 0, 0, sizeof prefs.hex_stamp_log_format}, +#ifdef WIN32 + {ST_LABEL, N_("See the strftime MSDN article for details.")}, +#else + {ST_LABEL, N_("See the strftime manpage for details.")}, +#endif + + {ST_HEADER, N_("URLs"),0,0,0}, + {ST_TOGGLE, N_("Enable logging of URLs to disk"), P_OFFINTNL(hex_url_logging), 0, 0, 0}, + {ST_TOGGLE, N_("Enable URL grabber"), P_OFFINTNL(hex_url_grabber), 0, 0, 1}, + {ST_NUMBER, N_("Maximum number of URLs to grab:"), P_OFFINTNL(hex_url_grabber_limit), 0, 0, 9999}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const char *const proxytypes[] = +{ + N_("(Disabled)"), + N_("Wingate"), + N_("SOCKS4"), + N_("SOCKS5"), + N_("HTTP"), + N_("Auto"), + NULL +}; + +static const char *const proxyuse[] = +{ + N_("All connections"), + N_("IRC server only"), + N_("DCC only"), + NULL +}; + +static const setting network_settings[] = +{ + {ST_HEADER, N_("Your Address"), 0, 0, 0, 0}, + {ST_ENTRY, N_("Bind to:"), P_OFFSETNL(hex_net_bind_host), 0, 0, sizeof prefs.hex_net_bind_host}, + {ST_LABEL, N_("Only useful for computers with multiple addresses.")}, + + {ST_HEADER, N_("File Transfers"), 0, 0, 0}, + {ST_TOGGLE, N_("Get my address from the IRC server"), P_OFFINTNL(hex_dcc_ip_from_server), + N_("Asks the IRC server for your real address. Use this if you have a 192.168.*.* address!"), 0, 0}, + {ST_ENTRY, N_("DCC IP address:"), P_OFFSETNL(hex_dcc_ip), + N_("Claim you are at this address when offering files."), 0, sizeof prefs.hex_dcc_ip}, + {ST_NUMBER, N_("First DCC listen port:"), P_OFFINTNL(hex_dcc_port_first), 0, 0, 65535}, + {ST_NUMBER, N_("Last DCC listen port:"), P_OFFINTNL(hex_dcc_port_last), 0, + (const char **)N_("!Leave ports at zero for full range."), 65535}, + + {ST_HEADER, N_("Proxy Server"), 0, 0, 0, 0}, + {ST_ENTRY, N_("Hostname:"), P_OFFSETNL(hex_net_proxy_host), 0, 0, sizeof prefs.hex_net_proxy_host}, + {ST_NUMBER, N_("Port:"), P_OFFINTNL(hex_net_proxy_port), 0, 0, 65535}, + {ST_MENU, N_("Type:"), P_OFFINTNL(hex_net_proxy_type), 0, proxytypes, 0}, + {ST_MENU, N_("Use proxy for:"), P_OFFINTNL(hex_net_proxy_use), 0, proxyuse, 0}, + + {ST_HEADER, N_("Proxy Authentication"), 0, 0, 0, 0}, + {ST_TOGGLE, N_("Use authentication (HTTP or SOCKS5 only)"), P_OFFINTNL(hex_net_proxy_auth), 0, 0, 0}, + {ST_ENTRY, N_("Username:"), P_OFFSETNL(hex_net_proxy_user), 0, 0, sizeof prefs.hex_net_proxy_user}, + {ST_ENTRY, N_("Password:"), P_OFFSETNL(hex_net_proxy_pass), 0, GINT_TO_POINTER(1), sizeof prefs.hex_net_proxy_pass}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +static const setting identd_settings[] = +{ + {ST_HEADER, N_("Identd Server"), 0, 0, 0, 0}, + {ST_TOGGLE, N_("Enabled"), P_OFFINTNL(hex_identd_server), N_("Server will respond with the networks username"), 0, 1}, + {ST_NUMBER, N_("Port:"), P_OFFINTNL(hex_identd_port), N_("You must have permissions to listen on this port. " + "If not 113 (0 defaults to this) then you must configure port-forwarding."), 0, 65535}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +#define setup_get_str(pr,set) (((char *)pr)+set->offset) +#define setup_get_int(pr,set) *(((int *)pr)+set->offset) +#define setup_get_int3(pr,off) *(((int *)pr)+off) + +#define setup_set_int(pr,set,num) *((int *)pr+set->offset)=num +#define setup_set_str(pr,set,str) strcpy(((char *)pr)+set->offset,str) + + +static void +setup_3oggle_cb (GtkToggleButton *but, unsigned int *setting) +{ + *setting = gtk_toggle_button_get_active (but); +} + +static void +setup_headlabel (GtkWidget *tab, int row, int col, char *text) +{ + GtkWidget *label; + char buf[128]; + char *sp; + + g_snprintf (buf, sizeof (buf), "<b><span size=\"smaller\">%s</span></b>", text); + sp = strchr (buf + 17, ' '); + if (sp) + *sp = '\n'; + + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, col, col + 1, row, row + 1, 0, 0, 4, 0); +} + +static void +setup_create_alert_header (GtkWidget *tab, int row, const setting *set) +{ + setup_headlabel (tab, row, 3, _("Channel Message")); + setup_headlabel (tab, row, 4, _("Private Message")); + setup_headlabel (tab, row, 5, _("Highlighted Message")); +} + +/* makes 3 toggles side-by-side */ + +static void +setup_create_3oggle (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *label, *wid; + int *offsets = (int *)set->list; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + if (set->tooltip) + { + gtk_widget_set_tooltip_text (label, _(set->tooltip)); + } + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[0])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[0]); + gtk_table_attach (GTK_TABLE (tab), wid, 3, 4, row, row + 1, 0, 0, 0, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[1])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[1]); + gtk_table_attach (GTK_TABLE (tab), wid, 4, 5, row, row + 1, 0, 0, 0, 0); + + wid = gtk_check_button_new (); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int3 (&setup_prefs, offsets[2])); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_3oggle_cb), ((int *)&setup_prefs) + offsets[2]); + gtk_table_attach (GTK_TABLE (tab), wid, 5, 6, row, row + 1, 0, 0, 0, 0); +} + +static void +setup_toggle_cb (GtkToggleButton *but, const setting *set) +{ + GtkWidget *label, *disable_wid; + + setup_set_int (&setup_prefs, set, gtk_toggle_button_get_active (but)); + + /* does this toggle also enable/disable another widget? */ + disable_wid = g_object_get_data (G_OBJECT (but), "nxt"); + if (disable_wid) + { + gtk_widget_set_sensitive (disable_wid, gtk_toggle_button_get_active (but)); + label = g_object_get_data (G_OBJECT (disable_wid), "lbl"); + gtk_widget_set_sensitive (label, gtk_toggle_button_get_active (but)); + } +} + +static void +setup_toggle_sensitive_cb (GtkToggleButton *but, GtkWidget *wid) +{ + gtk_widget_set_sensitive (wid, gtk_toggle_button_get_active (but)); +} + +static void +setup_create_toggleR (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (_(set->label)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_toggle_cb), (gpointer)set); + if (set->tooltip) + gtk_widget_set_tooltip_text (wid, _(set->tooltip)); + gtk_table_attach (GTK_TABLE (tab), wid, 4, 5, row, row + 1, + GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static GtkWidget * +setup_create_toggleL (GtkWidget *tab, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_check_button_new_with_label (_(set->label)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_toggle_cb), (gpointer)set); + if (set->tooltip) + gtk_widget_set_tooltip_text (wid, _(set->tooltip)); + gtk_table_attach (GTK_TABLE (tab), wid, 2, row==6 ? 6 : 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + return wid; +} + +static GtkWidget * +setup_create_italic_label (char *text) +{ + GtkWidget *label; + char buf[256]; + + label = gtk_label_new (NULL); + g_snprintf (buf, sizeof (buf), "<i><span size=\"smaller\">%s</span></i>", text); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); + + return label; +} + +static void +setup_spin_cb (GtkSpinButton *spin, const setting *set) +{ + setup_set_int (&setup_prefs, set, gtk_spin_button_get_value_as_int (spin)); +} + +static GtkWidget * +setup_create_spin (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *label, *wid, *rbox, *align; + char *text; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0); + gtk_table_attach (GTK_TABLE (table), align, 3, 4, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + rbox = gtk_hbox_new (0, 0); + gtk_container_add (GTK_CONTAINER (align), rbox); + + wid = gtk_spin_button_new_with_range (0, set->extra, 1); + g_object_set_data (G_OBJECT (wid), "lbl", label); + if (set->tooltip) + gtk_widget_set_tooltip_text (wid, _(set->tooltip)); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (wid), + setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "value_changed", + G_CALLBACK (setup_spin_cb), (gpointer)set); + gtk_box_pack_start (GTK_BOX (rbox), wid, 0, 0, 0); + + if (set->list) + { + text = _((char *)set->list); + if (text[0] == '!') + label = setup_create_italic_label (text + 1); + else + label = gtk_label_new (text); + gtk_box_pack_start (GTK_BOX (rbox), label, 0, 0, 6); + } + + return wid; +} + +static gint +setup_apply_trans (int *tag) +{ + prefs.hex_gui_transparency = setup_prefs.hex_gui_transparency; + gtk_window_set_opacity (GTK_WINDOW (current_sess->gui->window), + (prefs.hex_gui_transparency / 255.)); + + /* mg_update_xtext (current_sess->gui->xtext); */ + *tag = 0; + return 0; +} + +static void +setup_hscale_cb (GtkHScale *wid, const setting *set) +{ + static int tag = 0; + + setup_set_int (&setup_prefs, set, (int) gtk_range_get_value (GTK_RANGE (wid))); + + if (tag == 0) + { + tag = g_idle_add ((GSourceFunc) setup_apply_trans, &tag); + } +} + +static void +setup_create_hscale (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_hscale_new_with_range (0., 255., 1.); + gtk_scale_set_value_pos (GTK_SCALE (wid), GTK_POS_RIGHT); + gtk_range_set_value (GTK_RANGE (wid), setup_get_int (&setup_prefs, set)); + g_signal_connect (G_OBJECT(wid), "value_changed", + G_CALLBACK (setup_hscale_cb), (gpointer)set); + gtk_table_attach (GTK_TABLE (table), wid, 3, 6, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + +#ifndef WIN32 /* Windows always supports this */ + /* Only used for transparency currently */ + if (!gtk_widget_is_composited (current_sess->gui->window)) + gtk_widget_set_sensitive (wid, FALSE); +#endif +} + + +static GtkWidget *proxy_user; /* username GtkEntry */ +static GtkWidget *proxy_pass; /* password GtkEntry */ + +static void +setup_menu_cb (GtkWidget *cbox, const setting *set) +{ + int n = gtk_combo_box_get_active (GTK_COMBO_BOX (cbox)); + + /* set the prefs.<field> */ + setup_set_int (&setup_prefs, set, n + set->extra); + + if (set->list == proxytypes) + { + /* only HTTP and SOCKS5 can use a username/pass */ + gtk_widget_set_sensitive (proxy_user, (n == 3 || n == 4 || n == 5)); + gtk_widget_set_sensitive (proxy_pass, (n == 3 || n == 4 || n == 5)); + } +} + +static void +setup_radio_cb (GtkWidget *item, const setting *set) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (item))) + { + int n = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "n")); + /* set the prefs.<field> */ + setup_set_int (&setup_prefs, set, n); + } +} + +static int +setup_create_radio (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid, *hbox; + int i; + const char **text = (const char **)set->list; + GSList *group; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + hbox = gtk_hbox_new (0, 0); + gtk_table_attach (GTK_TABLE (table), hbox, 3, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + + i = 0; + group = NULL; + while (text[i]) + { + if (text[i][0] != 0) + { + wid = gtk_radio_button_new_with_mnemonic (group, _(text[i])); + /*if (set->tooltip) + gtk_widget_set_tooltip_text (wid, _(set->tooltip));*/ + group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (wid)); + gtk_container_add (GTK_CONTAINER (hbox), wid); + if (i == setup_get_int (&setup_prefs, set)) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wid), TRUE); + g_object_set_data (G_OBJECT (wid), "n", GINT_TO_POINTER (i)); + g_signal_connect (G_OBJECT (wid), "toggled", + G_CALLBACK (setup_radio_cb), (gpointer)set); + } + i++; + row++; + } + + return i; +} + +/* +static const char *id_strings[] = +{ + "", + "*", + "%C4*%C18%B%B", + "%U" +}; + +static void +setup_id_menu_cb (GtkWidget *item, char *dest) +{ + int n = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "n")); + + strcpy (dest, id_strings[n]); +} + +static void +setup_create_id_menu (GtkWidget *table, char *label, int row, char *dest) +{ + GtkWidget *wid, *menu, *item; + int i, def = 0; + static const char *text[] = + { + ("(disabled)"), + ("A star (*)"), + ("A red star (*)"), + ("Underlined") + }; + + wid = gtk_label_new (label); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_option_menu_new (); + menu = gtk_menu_new (); + + for (i = 0; i < 4; i++) + { + if (strcmp (id_strings[i], dest) == 0) + { + def = i; + break; + } + } + + i = 0; + while (text[i]) + { + item = gtk_menu_item_new_with_label (_(text[i])); + g_object_set_data (G_OBJECT (item), "n", GINT_TO_POINTER (i)); + + gtk_widget_show (item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (setup_id_menu_cb), dest); + i++; + } + + gtk_option_menu_set_menu (GTK_OPTION_MENU (wid), menu); + gtk_option_menu_set_history (GTK_OPTION_MENU (wid), def); + + gtk_table_attach (GTK_TABLE (table), wid, 3, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +*/ + +static void +setup_create_menu (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *wid, *cbox, *box; + const char **text = (const char **)set->list; + int i; + + wid = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (wid), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), wid, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + cbox = gtk_combo_box_text_new (); + + for (i = 0; text[i]; i++) + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cbox), _(text[i])); + + gtk_combo_box_set_active (GTK_COMBO_BOX (cbox), + setup_get_int (&setup_prefs, set) - set->extra); + g_signal_connect (G_OBJECT (cbox), "changed", + G_CALLBACK (setup_menu_cb), (gpointer)set); + + box = gtk_hbox_new (0, 0); + gtk_box_pack_start (GTK_BOX (box), cbox, 0, 0, 0); + gtk_table_attach (GTK_TABLE (table), box, 3, 4, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); +} + +static void +setup_filereq_cb (GtkWidget *entry, char *file) +{ + if (file) + { + if (file[0]) + gtk_entry_set_text (GTK_ENTRY (entry), file); + } +} + +static void +setup_browsefile_cb (GtkWidget *button, GtkWidget *entry) +{ + /* used for background image only */ + char *filter; + int filter_type; + +#ifdef WIN32 + filter = "*png;*.tiff;*.gif;*.jpeg;*.jpg"; + filter_type = FRF_EXTENSIONS; +#else + filter = "image/*"; + filter_type = FRF_MIMETYPES; +#endif + gtkutil_file_req (GTK_WINDOW (setup_window), _("Select an Image File"), setup_filereq_cb, + entry, NULL, filter, filter_type|FRF_RECENTLYUSED|FRF_MODAL); +} + +static void +setup_fontsel_destroy (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + font_dialog = NULL; +} + +static void +setup_fontsel_cb (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + GtkWidget *entry; + char *font_name; + + entry = g_object_get_data (G_OBJECT (button), "e"); + font_name = gtk_font_selection_dialog_get_font_name (dialog); + + gtk_entry_set_text (GTK_ENTRY (entry), font_name); + + g_free (font_name); + gtk_widget_destroy (GTK_WIDGET (dialog)); + font_dialog = NULL; +} + +static void +setup_fontsel_cancel (GtkWidget *button, GtkFontSelectionDialog *dialog) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); + font_dialog = NULL; +} + +static void +setup_browsefolder_cb (GtkWidget *button, GtkEntry *entry) +{ + gtkutil_file_req (GTK_WINDOW (setup_window), _("Select Download Folder"), setup_filereq_cb, entry, (char*)gtk_entry_get_text (entry), NULL, FRF_CHOOSEFOLDER|FRF_MODAL); +} + +static void +setup_browsefont_cb (GtkWidget *button, GtkWidget *entry) +{ + GtkFontSelection *sel; + GtkFontSelectionDialog *dialog; + GtkWidget *ok_button; + + dialog = (GtkFontSelectionDialog *) gtk_font_selection_dialog_new (_("Select font")); + font_dialog = (GtkWidget *)dialog; /* global var */ + + gtk_window_set_transient_for (GTK_WINDOW (font_dialog), GTK_WINDOW (setup_window)); + gtk_window_set_modal (GTK_WINDOW (font_dialog), TRUE); + + sel = (GtkFontSelection *) gtk_font_selection_dialog_get_font_selection (dialog); + + if (gtk_entry_get_text (GTK_ENTRY (entry))[0]) + gtk_font_selection_set_font_name (sel, gtk_entry_get_text (GTK_ENTRY (entry))); + + ok_button = gtk_font_selection_dialog_get_ok_button (dialog); + g_object_set_data (G_OBJECT (ok_button), "e", entry); + + g_signal_connect (G_OBJECT (dialog), "destroy", + G_CALLBACK (setup_fontsel_destroy), dialog); + g_signal_connect (G_OBJECT (ok_button), "clicked", + G_CALLBACK (setup_fontsel_cb), dialog); + g_signal_connect (G_OBJECT (gtk_font_selection_dialog_get_cancel_button (dialog)), "clicked", + G_CALLBACK (setup_fontsel_cancel), dialog); + + gtk_widget_show (GTK_WIDGET (dialog)); +} + +static void +setup_entry_cb (GtkEntry *entry, setting *set) +{ + int size; + int pos; + unsigned char *p = (unsigned char*)gtk_entry_get_text (entry); + int len = strlen (p); + + /* need to truncate? */ + if (len >= set->extra) + { + len = pos = 0; + while (1) + { + size = g_utf8_skip [*p]; + len += size; + p += size; + /* truncate to "set->extra" BYTES */ + if (len >= set->extra) + { + gtk_editable_delete_text (GTK_EDITABLE (entry), pos, -1); + break; + } + pos++; + } + } + else + { + setup_set_str (&setup_prefs, set, gtk_entry_get_text (entry)); + } +} + +static void +setup_create_label (GtkWidget *table, int row, const setting *set) +{ + gtk_table_attach (GTK_TABLE (table), setup_create_italic_label (_(set->label)), + set->extra ? 1 : 3, 5, row, row + 1, GTK_FILL, + GTK_SHRINK | GTK_FILL, 0, 0); +} + +static GtkWidget * +setup_create_entry (GtkWidget *table, int row, const setting *set) +{ + GtkWidget *label; + GtkWidget *wid, *bwid; + + label = gtk_label_new (_(set->label)); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + wid = gtk_entry_new (); + g_object_set_data (G_OBJECT (wid), "lbl", label); + if (set->list) + gtk_entry_set_visibility (GTK_ENTRY (wid), FALSE); + if (set->tooltip) + gtk_widget_set_tooltip_text (wid, _(set->tooltip)); + gtk_entry_set_max_length (GTK_ENTRY (wid), set->extra - 1); + gtk_entry_set_text (GTK_ENTRY (wid), setup_get_str (&setup_prefs, set)); + g_signal_connect (G_OBJECT (wid), "changed", + G_CALLBACK (setup_entry_cb), (gpointer)set); + + if (set->offset == P_OFFSETNL(hex_net_proxy_user)) + proxy_user = wid; + if (set->offset == P_OFFSETNL(hex_net_proxy_pass)) + proxy_pass = wid; + + /* only http and Socks5 can auth */ + if ( (set->offset == P_OFFSETNL(hex_net_proxy_pass) || + set->offset == P_OFFSETNL(hex_net_proxy_user)) && + (setup_prefs.hex_net_proxy_type != 4 && setup_prefs.hex_net_proxy_type != 3 && setup_prefs.hex_net_proxy_type != 5) ) + gtk_widget_set_sensitive (wid, FALSE); + + if (set->type == ST_ENTRY) + gtk_table_attach (GTK_TABLE (table), wid, 3, 6, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + else + { + gtk_table_attach (GTK_TABLE (table), wid, 3, 5, row, row + 1, + GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + bwid = gtk_button_new_with_label (_("Browse...")); + gtk_table_attach (GTK_TABLE (table), bwid, 5, 6, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0); + if (set->type == ST_EFILE) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefile_cb), wid); + if (set->type == ST_EFONT) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefont_cb), wid); + if (set->type == ST_EFOLDER) + g_signal_connect (G_OBJECT (bwid), "clicked", + G_CALLBACK (setup_browsefolder_cb), wid); + } + + return wid; +} + +static void +setup_create_header (GtkWidget *table, int row, char *labeltext) +{ + GtkWidget *label; + char buf[128]; + + if (row == 0) + g_snprintf (buf, sizeof (buf), "<b>%s</b>", _(labeltext)); + else + g_snprintf (buf, sizeof (buf), "\n<b>%s</b>", _(labeltext)); + + label = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (table), label, 0, 4, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 5); +} + +static void +setup_create_button (GtkWidget *table, int row, char *label, GCallback callback) +{ + GtkWidget *but = gtk_button_new_with_label (label); + gtk_table_attach (GTK_TABLE (table), but, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 5); + g_signal_connect (G_OBJECT (but), "clicked", callback, NULL); +} + +static GtkWidget * +setup_create_frame (void) +{ + GtkWidget *tab; + + tab = gtk_table_new (3, 2, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (tab), 6); + gtk_table_set_row_spacings (GTK_TABLE (tab), 2); + gtk_table_set_col_spacings (GTK_TABLE (tab), 3); + + return tab; +} + +static void +open_data_cb (GtkWidget *button, gpointer data) +{ + fe_open_url (get_xdir ()); +} + +static GtkWidget * +setup_create_page (const setting *set) +{ + int i, row, do_disable; + GtkWidget *tab; + GtkWidget *wid = NULL, *parentwid = NULL; + + tab = setup_create_frame (); + gtk_container_set_border_width (GTK_CONTAINER (tab), 6); + + i = row = do_disable = 0; + while (set[i].type != ST_END) + { + switch (set[i].type) + { + case ST_HEADER: + setup_create_header (tab, row, set[i].label); + break; + case ST_EFONT: + case ST_ENTRY: + case ST_EFILE: + case ST_EFOLDER: + wid = setup_create_entry (tab, row, &set[i]); + break; + case ST_TOGGLR: + row--; + setup_create_toggleR (tab, row, &set[i]); + break; + case ST_TOGGLE: + wid = setup_create_toggleL (tab, row, &set[i]); + if (set[i].extra) + do_disable = set[i].extra; + break; + case ST_3OGGLE: + setup_create_3oggle (tab, row, &set[i]); + break; + case ST_MENU: + setup_create_menu (tab, row, &set[i]); + break; + case ST_RADIO: + row += setup_create_radio (tab, row, &set[i]); + break; + case ST_NUMBER: + wid = setup_create_spin (tab, row, &set[i]); + break; + case ST_HSCALE: + setup_create_hscale (tab, row, &set[i]); + break; + case ST_LABEL: + setup_create_label (tab, row, &set[i]); + break; + case ST_ALERTHEAD: + setup_create_alert_header (tab, row, &set[i]); + } + + if (do_disable) + { + if (GTK_IS_WIDGET (parentwid)) + { + g_signal_connect (G_OBJECT (parentwid), "toggled", G_CALLBACK(setup_toggle_sensitive_cb), wid); + gtk_widget_set_sensitive (wid, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (parentwid))); + do_disable--; + if (!do_disable) + parentwid = NULL; + } + else + parentwid = wid; + } + + i++; + row++; + } + + if (set == logging_settings) + { + setup_create_button (tab, row, _("Open Data Folder"), G_CALLBACK(open_data_cb)); + } + + return tab; +} + +static void +setup_color_ok_cb (GtkWidget *button, GtkWidget *dialog) +{ + GtkColorSelectionDialog *cdialog = GTK_COLOR_SELECTION_DIALOG (dialog); + GdkColor *col; + GdkColor old_color; + GtkStyle *style; + + col = g_object_get_data (G_OBJECT (button), "c"); + old_color = *col; + + button = g_object_get_data (G_OBJECT (button), "b"); + + if (!GTK_IS_WIDGET (button)) + { + gtk_widget_destroy (dialog); + return; + } + + color_change = TRUE; + + gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (cdialog)), col); + + gdk_colormap_alloc_color (gtk_widget_get_colormap (button), col, TRUE, TRUE); + + style = gtk_style_new (); + style->bg[0] = *col; + gtk_widget_set_style (button, style); + g_object_unref (style); + + /* is this line correct?? */ + gdk_colormap_free_colors (gtk_widget_get_colormap (button), &old_color, 1); + + gtk_widget_destroy (dialog); +} + +static void +setup_color_cb (GtkWidget *button, gpointer userdata) +{ + GtkWidget *dialog, *cancel_button, *ok_button, *help_button; + GtkColorSelectionDialog *cdialog; + GdkColor *color; + + color = &colors[GPOINTER_TO_INT (userdata)]; + + dialog = gtk_color_selection_dialog_new (_("Select color")); + cdialog = GTK_COLOR_SELECTION_DIALOG (dialog); + + g_object_get (G_OBJECT(cdialog), "cancel-button", &cancel_button, + "ok-button", &ok_button, + "help-button", &help_button, NULL); + + gtk_widget_hide (help_button); + g_signal_connect (G_OBJECT (ok_button), "clicked", + G_CALLBACK (setup_color_ok_cb), dialog); + g_signal_connect (G_OBJECT (cancel_button), "clicked", + G_CALLBACK (gtkutil_destroy), dialog); + g_object_set_data (G_OBJECT (ok_button), "c", color); + g_object_set_data (G_OBJECT (ok_button), "b", button); + gtk_widget_set_sensitive (help_button, FALSE); + gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (cdialog)), color); + gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (setup_window)); + gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); + gtk_widget_show (dialog); + + g_object_unref (cancel_button); + g_object_unref (ok_button); + g_object_unref (help_button); +} + +static void +setup_create_color_button (GtkWidget *table, int num, int row, int col) +{ + GtkWidget *but; + GtkStyle *style; + char buf[64]; + + if (num > 31) + strcpy (buf, "<span size=\"x-small\"> </span>"); + else + /* 12345678901 23456789 01 23456789 */ + sprintf (buf, "<span size=\"x-small\">%d</span>", num); + but = gtk_button_new_with_label (" "); + gtk_label_set_markup (GTK_LABEL (gtk_bin_get_child (GTK_BIN (but))), buf); + /* win32 build uses this to turn off themeing */ + g_object_set_data (G_OBJECT (but), "hexchat-color", (gpointer)1); + gtk_table_attach (GTK_TABLE (table), but, col, col+1, row, row+1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0); + g_signal_connect (G_OBJECT (but), "clicked", + G_CALLBACK (setup_color_cb), GINT_TO_POINTER (num)); + style = gtk_style_new (); + style->bg[GTK_STATE_NORMAL] = colors[num]; + gtk_widget_set_style (but, style); + g_object_unref (style); +} + +static void +setup_create_other_colorR (char *text, int num, int row, GtkWidget *tab) +{ + GtkWidget *label; + + label = gtk_label_new (text); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 5, 9, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + setup_create_color_button (tab, num, row, 9); +} + +static void +setup_create_other_color (char *text, int num, int row, GtkWidget *tab) +{ + GtkWidget *label; + + label = gtk_label_new (text); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, row, row + 1, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + setup_create_color_button (tab, num, row, 3); +} + +static GtkWidget * +setup_create_color_page (void) +{ + GtkWidget *tab, *box, *label; + int i; + + box = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (box), 6); + + tab = gtk_table_new (9, 2, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (tab), 6); + gtk_table_set_row_spacings (GTK_TABLE (tab), 2); + gtk_table_set_col_spacings (GTK_TABLE (tab), 3); + gtk_container_add (GTK_CONTAINER (box), tab); + + setup_create_header (tab, 0, N_("Text Colors")); + + label = gtk_label_new (_("mIRC colors:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 1, 2, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + for (i = 0; i < 16; i++) + setup_create_color_button (tab, i, 1, i+3); + + label = gtk_label_new (_("Local colors:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 2, 3, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); + + for (i = 16; i < 32; i++) + setup_create_color_button (tab, i, 2, (i+3) - 16); + + setup_create_other_color (_("Foreground:"), COL_FG, 3, tab); + setup_create_other_colorR (_("Background:"), COL_BG, 3, tab); + + setup_create_header (tab, 5, N_("Selected Text")); + + setup_create_other_color (_("Foreground:"), COL_MARK_FG, 6, tab); + setup_create_other_colorR (_("Background:"), COL_MARK_BG, 6, tab); + + setup_create_header (tab, 8, N_("Interface Colors")); + + setup_create_other_color (_("New data:"), COL_NEW_DATA, 9, tab); + setup_create_other_colorR (_("Marker line:"), COL_MARKER, 9, tab); + setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab); + setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab); + setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab); + setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab); + + setup_create_header (tab, 15, N_("Color Stripping")); + + /* label = gtk_label_new (_("Strip colors from:")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (tab), label, 2, 3, 16, 17, + GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, LABEL_INDENT, 0); */ + + for (i = 0; i < 3; i++) + { + setup_create_toggleL (tab, i + 16, &color_settings[i]); + } + + return box; +} + +/* === GLOBALS for sound GUI === */ + +static GtkWidget *sndfile_entry; +static int ignore_changed = FALSE; + +extern struct text_event te[]; /* text.c */ +extern char *sound_files[]; + +static void +setup_snd_populate (GtkTreeView * treeview) +{ + GtkListStore *store; + GtkTreeIter iter; + GtkTreeSelection *sel; + GtkTreePath *path; + int i; + + sel = gtk_tree_view_get_selection (treeview); + store = (GtkListStore *)gtk_tree_view_get_model (treeview); + + for (i = NUM_XP-1; i >= 0; i--) + { + gtk_list_store_prepend (store, &iter); + if (sound_files[i]) + gtk_list_store_set (store, &iter, 0, te[i].name, 1, sound_files[i], 2, i, -1); + else + gtk_list_store_set (store, &iter, 0, te[i].name, 1, "", 2, i, -1); + if (i == last_selected_row) + { + gtk_tree_selection_select_iter (sel, &iter); + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_view_set_cursor (treeview, path, NULL, FALSE); + gtk_tree_path_free (path); + } + } + } +} + +static int +setup_snd_get_selected (GtkTreeSelection *sel, GtkTreeIter *iter) +{ + int n; + GtkTreeModel *model; + + if (!gtk_tree_selection_get_selected (sel, &model, iter)) + return -1; + + gtk_tree_model_get (model, iter, 2, &n, -1); + return n; +} + +static void +setup_snd_row_cb (GtkTreeSelection *sel, gpointer user_data) +{ + int n; + GtkTreeIter iter; + + n = setup_snd_get_selected (sel, &iter); + if (n == -1) + return; + last_selected_row = n; + + ignore_changed = TRUE; + if (sound_files[n]) + gtk_entry_set_text (GTK_ENTRY (sndfile_entry), sound_files[n]); + else + gtk_entry_set_text (GTK_ENTRY (sndfile_entry), ""); + ignore_changed = FALSE; +} + +static void +setup_snd_add_columns (GtkTreeView * treeview) +{ + GtkCellRenderer *renderer; + GtkTreeModel *model; + + /* event column */ + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, _("Event"), renderer, + "text", 0, NULL); + + /* file column */ + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, _("Sound file"), renderer, + "text", 1, NULL); + + model = GTK_TREE_MODEL (gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT)); + gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), model); + g_object_unref (model); +} + +static void +setup_snd_filereq_cb (GtkWidget *entry, char *file) +{ + if (file) + { + if (file[0]) + { + /* Use just the filename if the given sound file is in the default <config>/sounds directory. + * We're comparing absolute paths so this won't work in portable mode which uses a relative path. + */ + if (!strcmp (g_path_get_dirname (file), g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL))) + { + gtk_entry_set_text (GTK_ENTRY (entry), g_path_get_basename (file)); + } + else + { + gtk_entry_set_text (GTK_ENTRY (entry), file); + } + } + } +} + +static void +setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry) +{ + char *sounds_dir = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL); + char *filter = NULL; + int filter_type; +#ifdef WIN32 /* win32 only supports wav, others could support anything */ + filter = "*.wav"; + filter_type = FRF_EXTENSIONS; +#else + filter = "audio/*"; + filter_type = FRF_MIMETYPES; +#endif + + gtkutil_file_req (GTK_WINDOW (setup_window), _("Select a sound file"), setup_snd_filereq_cb, entry, + sounds_dir, filter, FRF_MODAL|FRF_FILTERISINITIAL|filter_type); + g_free (sounds_dir); +} + +static void +setup_snd_play_cb (GtkWidget *button, GtkEntry *entry) +{ + sound_play (gtk_entry_get_text (entry), FALSE); +} + +static void +setup_snd_changed_cb (GtkEntry *ent, GtkTreeView *tree) +{ + int n; + GtkTreeIter iter; + GtkListStore *store; + GtkTreeSelection *sel; + + if (ignore_changed) + return; + + sel = gtk_tree_view_get_selection (tree); + n = setup_snd_get_selected (sel, &iter); + if (n == -1) + return; + + /* get the new sound file */ + g_free (sound_files[n]); + sound_files[n] = g_strdup (gtk_entry_get_text (GTK_ENTRY (ent))); + + /* update the TreeView list */ + store = (GtkListStore *)gtk_tree_view_get_model (tree); + gtk_list_store_set (store, &iter, 1, sound_files[n], -1); + + gtk_widget_set_sensitive (cancel_button, FALSE); +} + +static GtkWidget * +setup_create_sound_page (void) +{ + GtkWidget *vbox1; + GtkWidget *vbox2; + GtkWidget *scrolledwindow1; + GtkWidget *sound_tree; + GtkWidget *table1; + GtkWidget *sound_label; + GtkWidget *sound_browse; + GtkWidget *sound_play; + GtkTreeSelection *sel; + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 6); + gtk_widget_show (vbox1); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_container_add (GTK_CONTAINER (vbox1), vbox2); + + scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow1); + gtk_container_add (GTK_CONTAINER (vbox2), scrolledwindow1); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), + GTK_SHADOW_IN); + + sound_tree = gtk_tree_view_new (); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (sound_tree)); + gtk_tree_selection_set_mode (sel, GTK_SELECTION_SINGLE); + setup_snd_add_columns (GTK_TREE_VIEW (sound_tree)); + setup_snd_populate (GTK_TREE_VIEW (sound_tree)); + g_signal_connect (G_OBJECT (sel), "changed", + G_CALLBACK (setup_snd_row_cb), NULL); + gtk_widget_show (sound_tree); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), sound_tree); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (sound_tree), TRUE); + + table1 = gtk_table_new (2, 3, FALSE); + gtk_widget_show (table1); + gtk_box_pack_start (GTK_BOX (vbox2), table1, FALSE, TRUE, 8); + gtk_table_set_row_spacings (GTK_TABLE (table1), 2); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); + + sound_label = gtk_label_new_with_mnemonic (_("Sound file:")); + gtk_widget_show (sound_label); + gtk_table_attach (GTK_TABLE (table1), sound_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (sound_label), 0, 0.5); + + sndfile_entry = gtk_entry_new (); + g_signal_connect (G_OBJECT (sndfile_entry), "changed", + G_CALLBACK (setup_snd_changed_cb), sound_tree); + gtk_widget_show (sndfile_entry); + gtk_table_attach (GTK_TABLE (table1), sndfile_entry, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + sound_browse = gtk_button_new_with_mnemonic (_("_Browse...")); + g_signal_connect (G_OBJECT (sound_browse), "clicked", + G_CALLBACK (setup_snd_browse_cb), sndfile_entry); + gtk_widget_show (sound_browse); + gtk_table_attach (GTK_TABLE (table1), sound_browse, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + +#ifdef GTK_STOCK_MEDIA_PLAY + sound_play = gtk_button_new_from_stock (GTK_STOCK_MEDIA_PLAY); +#else + sound_play = gtk_button_new_with_mnemonic (_("_Play")); +#endif + g_signal_connect (G_OBJECT (sound_play), "clicked", + G_CALLBACK (setup_snd_play_cb), sndfile_entry); + gtk_widget_show (sound_play); + gtk_table_attach (GTK_TABLE (table1), sound_play, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + setup_snd_row_cb (sel, NULL); + + return vbox1; +} + +static void +setup_add_page (const char *title, GtkWidget *book, GtkWidget *tab) +{ + GtkWidget *label, *vvbox, *viewport; + GtkScrolledWindow *sw; + char buf[128]; + + vvbox = gtk_vbox_new (FALSE, 0); + + /* label */ + label = gtk_label_new (NULL); + g_snprintf (buf, sizeof (buf), "<b><big>%s</big></b>", _(title)); + gtk_label_set_markup (GTK_LABEL (label), buf); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_misc_set_padding (GTK_MISC (label), 2, 1); + gtk_box_pack_start (GTK_BOX (vvbox), label, FALSE, FALSE, 2); + + gtk_container_add (GTK_CONTAINER (vvbox), tab); + + sw = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new (NULL, NULL)); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_IN); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport (sw, vvbox); + + viewport = gtk_bin_get_child (GTK_BIN(sw)); + gtk_viewport_set_shadow_type (GTK_VIEWPORT(viewport), GTK_SHADOW_NONE); + + gtk_notebook_append_page (GTK_NOTEBOOK (book), GTK_WIDGET(sw), NULL); +} + +static const char *const cata[] = +{ + N_("Interface"), + N_("Appearance"), + N_("Input box"), + N_("User list"), + N_("Channel switcher"), + N_("Colors"), + NULL, + N_("Chatting"), + N_("General"), + N_("Alerts"), + N_("Sounds"), + N_("Logging"), + N_("Advanced"), + NULL, + N_("Network"), + N_("Network setup"), + N_("File transfers"), + N_("Identd"), + NULL, + NULL +}; + +static GtkWidget * +setup_create_pages (GtkWidget *box) +{ + GtkWidget *book; + GtkWindow *win = GTK_WINDOW(gtk_widget_get_toplevel (box)); + + book = gtk_notebook_new (); + + setup_add_page (cata[1], book, setup_create_page (appearance_settings)); + setup_add_page (cata[2], book, setup_create_page (inputbox_settings)); + setup_add_page (cata[3], book, setup_create_page (userlist_settings)); + setup_add_page (cata[4], book, setup_create_page (tabs_settings)); + setup_add_page (cata[5], book, setup_create_color_page ()); + + setup_add_page (cata[8], book, setup_create_page (general_settings)); + + if (!gtkutil_tray_icon_supported (win) && !notification_backend_supported ()) + { + setup_add_page (cata[9], book, setup_create_page (alert_settings_unityandnonotifications)); + } + else if (!gtkutil_tray_icon_supported (win)) + { + setup_add_page (cata[9], book, setup_create_page (alert_settings_unity)); + } + else if (!notification_backend_supported ()) + { + setup_add_page (cata[9], book, setup_create_page (alert_settings_nonotifications)); + } + else + { + setup_add_page (cata[9], book, setup_create_page (alert_settings)); + } + + setup_add_page (cata[10], book, setup_create_sound_page ()); + setup_add_page (cata[11], book, setup_create_page (logging_settings)); + setup_add_page (cata[12], book, setup_create_page (advanced_settings)); + + setup_add_page (cata[15], book, setup_create_page (network_settings)); + setup_add_page (cata[16], book, setup_create_page (filexfer_settings)); + setup_add_page (cata[17], book, setup_create_page (identd_settings)); + + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (book), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (book), FALSE); + gtk_container_add (GTK_CONTAINER (box), book); + + return book; +} + +static void +setup_tree_cb (GtkTreeView *treeview, GtkWidget *book) +{ + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + GtkTreeIter iter; + GtkTreeModel *model; + int page; + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gtk_tree_model_get (model, &iter, 1, &page, -1); + if (page != -1) + { + gtk_notebook_set_current_page (GTK_NOTEBOOK (book), page); + last_selected_page = page; + } + } +} + +static gboolean +setup_tree_select_filter (GtkTreeSelection *selection, GtkTreeModel *model, + GtkTreePath *path, gboolean path_selected, + gpointer data) +{ + if (gtk_tree_path_get_depth (path) > 1) + return TRUE; + return FALSE; +} + +static void +setup_create_tree (GtkWidget *box, GtkWidget *book) +{ + GtkWidget *tree; + GtkWidget *frame; + GtkTreeStore *model; + GtkTreeIter iter; + GtkTreeIter child_iter; + GtkTreeIter *sel_iter = NULL; + GtkCellRenderer *renderer; + GtkTreeSelection *sel; + int i, page; + + model = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_INT); + + i = 0; + page = 0; + do + { + gtk_tree_store_append (model, &iter, NULL); + gtk_tree_store_set (model, &iter, 0, _(cata[i]), 1, -1, -1); + i++; + + do + { + gtk_tree_store_append (model, &child_iter, &iter); + gtk_tree_store_set (model, &child_iter, 0, _(cata[i]), 1, page, -1); + if (page == last_selected_page) + sel_iter = gtk_tree_iter_copy (&child_iter); + page++; + i++; + } while (cata[i]); + + i++; + + } while (cata[i]); + + tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); + g_object_unref (G_OBJECT (model)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + gtk_tree_selection_set_mode (sel, GTK_SELECTION_BROWSE); + gtk_tree_selection_set_select_function (sel, setup_tree_select_filter, + NULL, NULL); + g_signal_connect (G_OBJECT (tree), "cursor_changed", + G_CALLBACK (setup_tree_cb), book); + + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree), + -1, _("Categories"), renderer, "text", 0, NULL); + gtk_tree_view_expand_all (GTK_TREE_VIEW (tree)); + + frame = gtk_frame_new (NULL); + gtk_container_add (GTK_CONTAINER (frame), tree); + gtk_box_pack_start (GTK_BOX (box), frame, 0, 0, 0); + gtk_box_reorder_child (GTK_BOX (box), frame, 0); + + if (sel_iter) + { + gtk_tree_selection_select_iter (sel, sel_iter); + gtk_tree_iter_free (sel_iter); + } +} + +static void +setup_apply_entry_style (GtkWidget *entry) +{ + gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &colors[COL_BG]); + gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &colors[COL_FG]); + gtk_widget_modify_font (entry, input_style->font_desc); +} + +static void +setup_apply_to_sess (session_gui *gui) +{ + mg_update_xtext (gui->xtext); + + if (prefs.hex_gui_ulist_style) + gtk_widget_set_style (gui->user_tree, input_style); + + if (prefs.hex_gui_input_style) + { + extern char cursor_color_rc[]; + char buf[256]; + sprintf (buf, cursor_color_rc, + (colors[COL_FG].red >> 8), + (colors[COL_FG].green >> 8), + (colors[COL_FG].blue >> 8)); + gtk_rc_parse_string (buf); + + setup_apply_entry_style (gui->input_box); + setup_apply_entry_style (gui->limit_entry); + setup_apply_entry_style (gui->key_entry); + setup_apply_entry_style (gui->topic_entry); + } + + if (prefs.hex_gui_ulist_buttons) + gtk_widget_show (gui->button_box); + else + gtk_widget_hide (gui->button_box); + + /* update active languages */ + sexy_spell_entry_deactivate_language((SexySpellEntry *)gui->input_box,NULL); + sexy_spell_entry_activate_default_languages((SexySpellEntry *)gui->input_box); + + sexy_spell_entry_set_checked ((SexySpellEntry *)gui->input_box, prefs.hex_gui_input_spell); + sexy_spell_entry_set_parse_attributes ((SexySpellEntry *)gui->input_box, prefs.hex_gui_input_attr); +} + +static void +unslash (char *dir) +{ + if (dir[0]) + { + int len = strlen (dir) - 1; +#ifdef WIN32 + if (dir[len] == '/' || dir[len] == '\\') +#else + if (dir[len] == '/') +#endif + dir[len] = 0; + } +} + +void +setup_apply_real (int new_pix, int do_ulist, int do_layout, int do_identd) +{ + GSList *list; + session *sess; + int done_main = FALSE; + + /* remove trailing slashes */ + unslash (prefs.hex_dcc_dir); + unslash (prefs.hex_dcc_completed_dir); + + g_mkdir (prefs.hex_dcc_dir, 0700); + g_mkdir (prefs.hex_dcc_completed_dir, 0700); + + if (new_pix) + { + if (channelwin_pix) + g_object_unref (channelwin_pix); + channelwin_pix = pixmap_load_from_file (prefs.hex_text_background); + } + + input_style = create_input_style (input_style); + + list = sess_list; + while (list) + { + sess = list->data; + if (sess->gui->is_tab) + { + /* only apply to main tabwindow once */ + if (!done_main) + { + done_main = TRUE; + setup_apply_to_sess (sess->gui); + } + } else + { + setup_apply_to_sess (sess->gui); + } + + log_open_or_close (sess); + + if (do_ulist) + userlist_rehash (sess); + + list = list->next; + } + + mg_apply_setup (); + tray_apply_setup (); + hexchat_reinit_timers (); + + if (do_layout) + menu_change_layout (); + + if (do_identd) + handle_command (current_sess, "IDENTD reload", FALSE); +} + +static void +setup_apply (struct hexchatprefs *pr) +{ +#ifdef WIN32 + PangoFontDescription *old_desc; + PangoFontDescription *new_desc; + char buffer[4 * FONTNAMELEN + 1]; +#endif + int new_pix = FALSE; + int noapply = FALSE; + int do_ulist = FALSE; + int do_layout = FALSE; + int do_identd = FALSE; + + if (strcmp (pr->hex_text_background, prefs.hex_text_background) != 0) + new_pix = TRUE; + +#define DIFF(a) (pr->a != prefs.a) + +#ifdef WIN32 + if (DIFF (hex_gui_lang)) + noapply = TRUE; +#endif + if (DIFF (hex_gui_compact)) + noapply = TRUE; + if (DIFF (hex_gui_input_icon)) + noapply = TRUE; + if (DIFF (hex_gui_input_nick)) + noapply = TRUE; + if (DIFF (hex_gui_lagometer)) + noapply = TRUE; + if (DIFF (hex_gui_tab_icons)) + noapply = TRUE; + if (DIFF (hex_gui_tab_server)) + noapply = TRUE; + if (DIFF (hex_gui_tab_small)) + noapply = TRUE; + if (DIFF (hex_gui_tab_sort)) + noapply = TRUE; + if (DIFF (hex_gui_tab_trunc)) + noapply = TRUE; + if (DIFF (hex_gui_throttlemeter)) + noapply = TRUE; + if (DIFF (hex_gui_ulist_count)) + noapply = TRUE; + if (DIFF (hex_gui_ulist_icons)) + noapply = TRUE; + if (DIFF (hex_gui_ulist_show_hosts)) + noapply = TRUE; + if (DIFF (hex_gui_ulist_style)) + noapply = TRUE; + if (DIFF (hex_gui_ulist_sort)) + noapply = TRUE; + if (DIFF (hex_gui_input_style) && prefs.hex_gui_input_style == TRUE) + noapply = TRUE; /* Requires restart to *disable* */ + + if (DIFF (hex_gui_tab_dots)) + do_layout = TRUE; + if (DIFF (hex_gui_tab_layout)) + do_layout = TRUE; + + if (DIFF (hex_identd_server) || DIFF (hex_identd_port)) + do_identd = TRUE; + + if (color_change || (DIFF (hex_gui_ulist_color)) || (DIFF (hex_away_size_max)) || (DIFF (hex_away_track))) + do_ulist = TRUE; + + if ((pr->hex_gui_tab_pos == 5 || pr->hex_gui_tab_pos == 6) && + pr->hex_gui_tab_layout == 2 && pr->hex_gui_tab_pos != prefs.hex_gui_tab_pos) + fe_message (_("You cannot place the tree on the top or bottom!\n" + "Please change to the <b>Tabs</b> layout in the <b>View</b>" + " menu first."), + FE_MSG_WARN | FE_MSG_MARKUP); + + /* format cannot be blank, there is already a setting for this */ + if (pr->hex_stamp_text_format[0] == 0) + { + pr->hex_stamp_text = 0; + strcpy (pr->hex_stamp_text_format, prefs.hex_stamp_text_format); + } + + memcpy (&prefs, pr, sizeof (prefs)); + +#ifdef WIN32 + /* merge hex_font_main and hex_font_alternative into hex_font_normal */ + old_desc = pango_font_description_from_string (prefs.hex_text_font_main); + sprintf (buffer, "%s,%s", pango_font_description_get_family (old_desc), prefs.hex_text_font_alternative); + new_desc = pango_font_description_from_string (buffer); + pango_font_description_set_weight (new_desc, pango_font_description_get_weight (old_desc)); + pango_font_description_set_style (new_desc, pango_font_description_get_style (old_desc)); + pango_font_description_set_size (new_desc, pango_font_description_get_size (old_desc)); + sprintf (prefs.hex_text_font, "%s", pango_font_description_to_string (new_desc)); + + /* FIXME this is not required after pango_font_description_from_string() + g_free (old_desc); + g_free (new_desc); + */ +#endif + + if (prefs.hex_irc_real_name[0] == 0) + { + fe_message (_("The Real name option cannot be left blank. Falling back to \"realname\"."), FE_MSG_WARN); + strcpy (prefs.hex_irc_real_name, "realname"); + } + + setup_apply_real (new_pix, do_ulist, do_layout, do_identd); + + if (noapply) + fe_message (_("Some settings were changed that require a" + " restart to take full effect."), FE_MSG_WARN); + +#ifndef WIN32 + if (prefs.hex_dcc_auto_recv == 2) /* Auto */ + { + if (!strcmp ((char *)g_get_home_dir (), prefs.hex_dcc_dir)) + { + fe_message (_("*WARNING*\n" + "Auto accepting DCC to your home directory\n" + "can be dangerous and is exploitable. Eg:\n" + "Someone could send you a .bash_profile"), FE_MSG_WARN); + } + } +#endif +} + +static void +setup_ok_cb (GtkWidget *but, GtkWidget *win) +{ + gtk_widget_destroy (win); + setup_apply (&setup_prefs); + save_config (); + palette_save (); +} + +static GtkWidget * +setup_window_open (void) +{ + GtkWidget *wid, *win, *vbox, *hbox, *hbbox; + char buf[128]; + + g_snprintf(buf, sizeof(buf), _("Preferences - %s"), _(DISPLAY_NAME)); + win = gtkutil_window_new (buf, "prefs", 0, 600, 2); + + vbox = gtk_vbox_new (FALSE, 5); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); + gtk_container_add (GTK_CONTAINER (win), vbox); + + hbox = gtk_hbox_new (FALSE, 4); + gtk_container_add (GTK_CONTAINER (vbox), hbox); + + setup_create_tree (hbox, setup_create_pages (hbox)); + + /* prepare the button box */ + hbbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbbox), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (hbbox), 4); + gtk_box_pack_end (GTK_BOX (vbox), hbbox, FALSE, FALSE, 0); + + cancel_button = wid = gtk_button_new_from_stock (GTK_STOCK_CANCEL); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (gtkutil_destroy), win); + gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); + + wid = gtk_button_new_from_stock (GTK_STOCK_OK); + g_signal_connect (G_OBJECT (wid), "clicked", + G_CALLBACK (setup_ok_cb), win); + gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); + + gtk_widget_show_all (win); + + return win; +} + +static void +setup_close_cb (GtkWidget *win, GtkWidget **swin) +{ + *swin = NULL; + + if (font_dialog) + { + gtk_widget_destroy (font_dialog); + font_dialog = NULL; + } +} + +void +setup_open (void) +{ + if (setup_window) + { + gtk_window_present (GTK_WINDOW (setup_window)); + return; + } + + memcpy (&setup_prefs, &prefs, sizeof (prefs)); + + color_change = FALSE; + setup_window = setup_window_open (); + + g_signal_connect (G_OBJECT (setup_window), "destroy", + G_CALLBACK (setup_close_cb), &setup_window); +} diff --git a/src/fe-gtk/setup.h b/src/fe-gtk/setup.h new file mode 100644 index 0000000000000000000000000000000000000000..b2c1a714b842c99d570460cb37d3242b3ce8262d --- /dev/null +++ b/src/fe-gtk/setup.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_SETUP_H +#define HEXCHAT_SETUP_H + +void setup_apply_real (int new_pix, int do_ulist, int do_layout, int do_identd); + +#endif diff --git a/src/fe-gtk/sexy-iso-codes.c b/src/fe-gtk/sexy-iso-codes.c new file mode 100644 index 0000000000000000000000000000000000000000..06c8cd07ee74be358e8614dfa567a83a0acbf4f3 --- /dev/null +++ b/src/fe-gtk/sexy-iso-codes.c @@ -0,0 +1,226 @@ +/* gtkspell - a spell-checking addon for GTK's TextView widget +* Copyright (c) 2013 Sandro Mani +* +* Based on gtkhtml-editor-spell-language.c code which is +* Copyright (C) 2008 Novell, Inc. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the 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. +*/ + +#include "config.h" + +#include "sexy-iso-codes.h" +#include <libintl.h> +#include <string.h> + +#define ISO_639_DOMAIN "iso_639" +#define ISO_3166_DOMAIN "iso_3166" + +static GHashTable *iso_639_table = NULL; +static GHashTable *iso_3166_table = NULL; + +static void +iso_639_start_element (GMarkupParseContext *context, +const gchar *element_name, +const gchar **attribute_names, +const gchar **attribute_values, +gpointer data, +GError **error) +{ + GHashTable *hash_table = data; + const gchar *name = NULL; + const gchar *code = NULL; + int i; + + if (strcmp (element_name, "iso_639_entry") != 0) + return; + + for (i = 0; attribute_names[i] != NULL; i++) + { + if (strcmp (attribute_names[i], "name") == 0) + name = attribute_values[i]; + else if (strcmp (attribute_names[i], "iso_639_1_code") == 0) + code = attribute_values[i]; + } + + if (code != NULL && *code != '\0' && name != NULL && *name != '\0') + g_hash_table_insert (hash_table, g_strdup (code), + g_strdup (dgettext (ISO_639_DOMAIN, name))); +} + +static void +iso_3166_start_element (GMarkupParseContext *context, +const gchar *element_name, +const gchar **attribute_names, +const gchar **attribute_values, +gpointer data, +GError **error) +{ + GHashTable *hash_table = data; + const gchar *name = NULL; + const gchar *code = NULL; + int i; + + if (strcmp (element_name, "iso_3166_entry") != 0) + return; + + for (i = 0; attribute_names[i] != NULL; i++) + { + if (strcmp (attribute_names[i], "name") == 0) + name = attribute_values[i]; + else if (strcmp (attribute_names[i], "alpha_2_code") == 0) + code = attribute_values[i]; + } + + if (code != NULL && *code != '\0' && name != NULL && *name != '\0') + g_hash_table_insert (hash_table, g_strdup (code), + g_strdup (dgettext (ISO_3166_DOMAIN, name))); +} + +static void +iso_codes_parse (const GMarkupParser *parser, +const gchar *basename, +GHashTable *hash_table) +{ + GMappedFile *mapped_file; + gchar *filename; + GError *error = NULL; + + filename = g_build_filename (ISO_CODES_PREFIX, "share", "xml", "iso-codes", + basename, NULL); + mapped_file = g_mapped_file_new (filename, FALSE, &error); + g_free (filename); + + if (mapped_file != NULL) + { + GMarkupParseContext *context; + const gchar *contents; + gsize length; + + context = g_markup_parse_context_new (parser, 0, hash_table, NULL); + contents = g_mapped_file_get_contents (mapped_file); + length = g_mapped_file_get_length (mapped_file); + g_markup_parse_context_parse (context, contents, length, &error); + g_markup_parse_context_free (context); + g_mapped_file_unref (mapped_file); + } + + if (error != NULL) + { + g_warning ("%s: %s", basename, error->message); + g_error_free (error); + } +} + +/** +* codetable_init: +* +* Initializes the code table. +*/ +void +codetable_init (void) +{ + GMarkupParser iso_639_parser = { + iso_639_start_element, NULL, NULL, NULL, NULL + }; + + GMarkupParser iso_3166_parser = { + iso_3166_start_element, NULL, NULL, NULL, NULL + }; + + g_return_if_fail (iso_639_table == NULL); + g_return_if_fail (iso_3166_table == NULL); + +#ifdef ENABLE_NLS + bindtextdomain (ISO_639_DOMAIN, ISO_CODES_LOCALEDIR); + bind_textdomain_codeset (ISO_639_DOMAIN, "UTF-8"); + + bindtextdomain (ISO_3166_DOMAIN, ISO_CODES_LOCALEDIR); + bind_textdomain_codeset (ISO_3166_DOMAIN, "UTF-8"); +#endif + + iso_639_table = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify)g_free, (GDestroyNotify)g_free); + iso_3166_table = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify)g_free, (GDestroyNotify)g_free); + + iso_codes_parse (&iso_639_parser, "iso_639.xml", iso_639_table); + iso_codes_parse (&iso_3166_parser, "iso_3166.xml", iso_3166_table); +} + +/** +* codetable_free: +* +* Frees the code table. +*/ +void +codetable_free (void) +{ + g_return_if_fail (iso_639_table != NULL); + g_return_if_fail (iso_3166_table != NULL); + + g_hash_table_unref (iso_639_table); + g_hash_table_unref (iso_3166_table); + + iso_639_table = NULL; + iso_3166_table = NULL; +} + +/** +* codetable_lookup: +* @language_code: A language code (i.e. "en_US") +* @language_name: (out) (transfer none): Pointer to the name of the language. +* This pointer is owned by the code table and must not be freed. +* @country_name: (out) (transfer none): Pointer to the name of the country. +* This pointer is owned by the code table and must not be freed. +* +* Looks up the language and country name for the specified language code. +* If no matching entries are found, language_name and country_name will +* simply contain the parts of the language code (i.e. "en" and "US"). +*/ +void +codetable_lookup (const gchar *language_code, const gchar **language_name, const gchar** country_name) +{ + gchar **parts; + + g_return_if_fail (iso_639_table != NULL); + g_return_if_fail (iso_3166_table != NULL); + + /* Split language code into parts. */ + parts = g_strsplit (language_code, "_", 2); + + g_return_if_fail (*parts != NULL); + + *language_name = g_hash_table_lookup (iso_639_table, parts[0]); + if (*language_name == NULL) + { + g_hash_table_insert (iso_639_table, g_strdup (parts[0]), + g_strdup (parts[0])); + *language_name = g_hash_table_lookup (iso_639_table, parts[0]); + } + + if (g_strv_length (parts) == 2) + { + *country_name = g_hash_table_lookup (iso_3166_table, parts[1]); + if (*country_name == NULL) + { + g_hash_table_insert (iso_3166_table, g_strdup (parts[1]), + g_strdup (parts[1])); + *country_name = g_hash_table_lookup (iso_3166_table, parts[1]); + } + } + + g_strfreev (parts); +} diff --git a/src/fe-gtk/sexy-iso-codes.h b/src/fe-gtk/sexy-iso-codes.h new file mode 100644 index 0000000000000000000000000000000000000000..52949c7200959c67e285603d17cfe01a8c3432c6 --- /dev/null +++ b/src/fe-gtk/sexy-iso-codes.h @@ -0,0 +1,37 @@ +/* gtkspell - a spell-checking addon for GTK's TextView widget +* Copyright (c) 2013 Sandro Mani +* +* Based on gtkhtml-editor-spell-language.c code which is +* Copyright (C) 2008 Novell, Inc. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the 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. +*/ + +#ifndef GTK_SPELL_CODETABLE_H +#define GTK_SPELL_CODETABLE_H + +#include <glib.h> + +G_BEGIN_DECLS + +void codetable_init (void); +void codetable_free (void); +void codetable_lookup (const gchar *language_code, + const gchar **language_name, + const gchar **country_name); + +G_END_DECLS + +#endif /* GTK_SPELL_CODETABLE_H */ \ No newline at end of file diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c new file mode 100644 index 0000000000000000000000000000000000000000..a304278310acc7f062cc071856b27e052fb1e4f3 --- /dev/null +++ b/src/fe-gtk/sexy-spell-entry.c @@ -0,0 +1,1683 @@ +/* + * @file libsexy/sexy-icon-entry.c Entry widget + * + * @Copyright (C) 2004-2006 Christian Hammond. + * Some of this code is from gtkspell, Copyright (C) 2002 Evan Martin. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <gtk/gtk.h> +#include "sexy-spell-entry.h" +#include <string.h> +#include <fcntl.h> +#include <stdlib.h> +#include <glib/gi18n.h> +#include <sys/types.h> +#include <sys/stat.h> +#include "sexy-iso-codes.h" + +#ifdef WIN32 +#include "marshal.h" +#else +#include "../common/marshal.h" +#endif + +#ifdef WIN32 +#include "../common/typedef.h" +#include <io.h> +#else +#include <unistd.h> +#endif + +#include "../common/cfgfiles.h" +#include "../common/hexchatc.h" +#include "palette.h" +#include "xtext.h" + +/* + * Bunch of poop to make enchant into a runtime dependency rather than a + * compile-time dependency. This makes it so I don't have to hear the + * complaints from people with binary distributions who don't get spell + * checking because they didn't check their configure output. + */ +struct EnchantDict; +struct EnchantBroker; + +typedef void (*EnchantDictDescribeFn) (const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data); + +static struct EnchantBroker * (*enchant_broker_init) (void); +static void (*enchant_broker_free) (struct EnchantBroker * broker); +static void (*enchant_broker_free_dict) (struct EnchantBroker * broker, struct EnchantDict * dict); +static void (*enchant_broker_list_dicts) (struct EnchantBroker * broker, EnchantDictDescribeFn fn, void * user_data); +static struct EnchantDict * (*enchant_broker_request_dict) (struct EnchantBroker * broker, const char *const tag); + +static void (*enchant_dict_add_to_personal) (struct EnchantDict * dict, const char *const word, ssize_t len); +static void (*enchant_dict_add_to_session) (struct EnchantDict * dict, const char *const word, ssize_t len); +static int (*enchant_dict_check) (struct EnchantDict * dict, const char *const word, ssize_t len); +static void (*enchant_dict_describe) (struct EnchantDict * dict, EnchantDictDescribeFn fn, void * user_data); +static void (*enchant_dict_free_suggestions) (struct EnchantDict * dict, char **suggestions); +static void (*enchant_dict_store_replacement) (struct EnchantDict * dict, const char *const mis, ssize_t mis_len, const char *const cor, ssize_t cor_len); +static char ** (*enchant_dict_suggest) (struct EnchantDict * dict, const char *const word, ssize_t len, size_t * out_n_suggs); +static gboolean have_enchant = FALSE; + +struct _SexySpellEntryPriv +{ + struct EnchantBroker *broker; + PangoAttrList *attr_list; + gint mark_character; + GHashTable *dict_hash; + GSList *dict_list; + gchar **words; + gint *word_starts; + gint *word_ends; + gboolean checked; + gboolean parseattr; +}; + +static void sexy_spell_entry_class_init(SexySpellEntryClass *klass); +static void sexy_spell_entry_editable_init (GtkEditableClass *iface); +static void sexy_spell_entry_init(SexySpellEntry *entry); +static void sexy_spell_entry_finalize(GObject *obj); +static void sexy_spell_entry_destroy(GObject *obj); +static gint sexy_spell_entry_expose(GtkWidget *widget, GdkEventExpose *event); +static gint sexy_spell_entry_button_press(GtkWidget *widget, GdkEventButton *event); + +/* GtkEditable handlers */ +static void sexy_spell_entry_changed(GtkEditable *editable, gpointer data); + +/* Other handlers */ +static gboolean sexy_spell_entry_popup_menu(GtkWidget *widget, SexySpellEntry *entry); + +/* Internal utility functions */ +static gint gtk_entry_find_position (GtkEntry *entry, + gint x); +static gboolean word_misspelled (SexySpellEntry *entry, + int start, + int end); +static gboolean default_word_check (SexySpellEntry *entry, + const gchar *word); +static gboolean sexy_spell_entry_activate_language_internal (SexySpellEntry *entry, + const gchar *lang, + GError **error); +static gchar *get_lang_from_dict (struct EnchantDict *dict); +static void sexy_spell_entry_recheck_all (SexySpellEntry *entry); +static void entry_strsplit_utf8 (GtkEntry *entry, + gchar ***set, + gint **starts, + gint **ends); + +static GtkEntryClass *parent_class = NULL; + +#ifdef HAVE_ISO_CODES +static int codetable_ref = 0; +#endif + +G_DEFINE_TYPE_EXTENDED(SexySpellEntry, sexy_spell_entry, GTK_TYPE_ENTRY, 0, G_IMPLEMENT_INTERFACE(GTK_TYPE_EDITABLE, sexy_spell_entry_editable_init)); + +enum +{ + WORD_CHECK, + LAST_SIGNAL +}; +static guint signals[LAST_SIGNAL] = {0}; + +static PangoAttrList *empty_attrs_list = NULL; + +static gboolean +spell_accumulator(GSignalInvocationHint *hint, GValue *return_accu, const GValue *handler_return, gpointer data) +{ + gboolean ret = g_value_get_boolean(handler_return); + /* Handlers return TRUE if the word is misspelled. In this + * case, it means that we want to stop if the word is checked + * as correct */ + g_value_set_boolean (return_accu, ret); + return ret; +} + +static void +initialize_enchant (void) +{ + GModule *enchant; + gpointer funcptr; + gsize i; + const char * const libnames[] = { +#ifdef G_OS_WIN32 + "libenchant.dll", +#endif +#ifdef G_OS_UNIX + "libenchant.so.1", + "libenchant.so.2", + "libenchant-2.so.2", +#endif +#ifdef __APPLE__ + "libenchant.dylib", +#endif + }; + + for (i = 0; i < G_N_ELEMENTS(libnames); ++i) + { + enchant = g_module_open(libnames[i], 0); + if (enchant) + { + g_info ("Loaded %s", libnames[i]); + have_enchant = TRUE; + break; + } + } + + if (!have_enchant) + return; + +#define MODULE_SYMBOL(name, func, alt_name) G_STMT_START { \ + const char *funcname = name; \ + gboolean ret = g_module_symbol(enchant, funcname, &funcptr); \ + if (alt_name) { \ + funcname = alt_name; \ + ret = g_module_symbol(enchant, funcname, &funcptr); \ + } \ + if (ret == FALSE) { \ + g_warning ("Failed to find enchant symbol %s", funcname); \ + have_enchant = FALSE; \ + return; \ + } \ + (func) = funcptr; \ +} G_STMT_END; + + MODULE_SYMBOL("enchant_broker_init", enchant_broker_init, NULL) + MODULE_SYMBOL("enchant_broker_free", enchant_broker_free, NULL) + MODULE_SYMBOL("enchant_broker_free_dict", enchant_broker_free_dict, NULL) + MODULE_SYMBOL("enchant_broker_list_dicts", enchant_broker_list_dicts, NULL) + MODULE_SYMBOL("enchant_broker_request_dict", enchant_broker_request_dict, NULL) + + MODULE_SYMBOL("enchant_dict_add_to_personal", enchant_dict_add_to_personal, + "enchant_dict_add") + MODULE_SYMBOL("enchant_dict_add_to_session", enchant_dict_add_to_session, NULL) + MODULE_SYMBOL("enchant_dict_check", enchant_dict_check, NULL) + MODULE_SYMBOL("enchant_dict_describe", enchant_dict_describe, NULL) + MODULE_SYMBOL("enchant_dict_free_suggestions", + enchant_dict_free_suggestions, "enchant_dict_free_string_list") + MODULE_SYMBOL("enchant_dict_store_replacement", + enchant_dict_store_replacement, NULL) + MODULE_SYMBOL("enchant_dict_suggest", enchant_dict_suggest, NULL) +} + +static void +sexy_spell_entry_class_init(SexySpellEntryClass *klass) +{ + GObjectClass *gobject_class; + GObjectClass *object_class; + GtkWidgetClass *widget_class; + + initialize_enchant(); + + parent_class = g_type_class_peek_parent(klass); + + gobject_class = G_OBJECT_CLASS(klass); + object_class = G_OBJECT_CLASS(klass); + widget_class = GTK_WIDGET_CLASS(klass); + + if (have_enchant) + klass->word_check = default_word_check; + + gobject_class->finalize = sexy_spell_entry_finalize; + + object_class->dispose = sexy_spell_entry_destroy; + + widget_class->expose_event = sexy_spell_entry_expose; + widget_class->button_press_event = sexy_spell_entry_button_press; + + /** + * SexySpellEntry::word-check: + * @entry: The entry on which the signal is emitted. + * @word: The word to check. + * + * The ::word-check signal is emitted whenever the entry has to check + * a word. This allows the application to mark words as correct even + * if none of the active dictionaries contain it, such as nicknames in + * a chat client. + * + * Returns: %FALSE to indicate that the word should be marked as + * correct. + */ + signals[WORD_CHECK] = g_signal_new("word_check", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(SexySpellEntryClass, word_check), + (GSignalAccumulator) spell_accumulator, NULL, + _hexchat_marshal_BOOLEAN__STRING, + G_TYPE_BOOLEAN, + 1, G_TYPE_STRING); + + if (empty_attrs_list == NULL) + { + empty_attrs_list = pango_attr_list_new (); + } +} + +static void +sexy_spell_entry_editable_init (GtkEditableClass *iface) +{ +} + +static gint +gtk_entry_find_position (GtkEntry *entry, gint x) +{ + PangoLayout *layout; + PangoLayoutLine *line; + const gchar *text; + gint cursor_index; + gint index; + gint pos; + gboolean trailing; + + x = x + entry->scroll_offset; + + layout = gtk_entry_get_layout(entry); + text = pango_layout_get_text(layout); + cursor_index = g_utf8_offset_to_pointer(text, entry->current_pos) - text; + + line = pango_layout_get_lines(layout)->data; + pango_layout_line_x_to_index(line, x * PANGO_SCALE, &index, &trailing); + + if (index >= cursor_index && entry->preedit_length) { + if (index >= cursor_index + entry->preedit_length) { + index -= entry->preedit_length; + } else { + index = cursor_index; + trailing = FALSE; + } + } + + pos = g_utf8_pointer_to_offset (text, text + index); + pos += trailing; + + return pos; +} + +static void +insert_hiddenchar (SexySpellEntry *entry, guint start, guint end) +{ + /* FIXME: Pango does not properly reflect the new widths after a char + * is 'hidden' */ +#if 0 + PangoAttribute *hattr; + PangoRectangle *rect = g_new (PangoRectangle, 1); + + rect->x = 0; + rect->y = 0; + rect->width = 0; + rect->height = 0; + + hattr = pango_attr_shape_new (rect, rect); + hattr->start_index = start; + hattr->end_index = end; + pango_attr_list_insert (entry->priv->attr_list, hattr); + + g_free (rect); +#endif +} + +static void +insert_underline_error (SexySpellEntry *entry, guint start, guint end) +{ + PangoAttribute *ucolor; + PangoAttribute *unline; + + ucolor = pango_attr_underline_color_new (colors[COL_SPELL].red, colors[COL_SPELL].green, colors[COL_SPELL].blue); + unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR); + + ucolor->start_index = start; + unline->start_index = start; + + ucolor->end_index = end; + unline->end_index = end; + + pango_attr_list_insert (entry->priv->attr_list, ucolor); + pango_attr_list_insert (entry->priv->attr_list, unline); +} + +static void +insert_underline (SexySpellEntry *entry, guint start, gboolean toggle) +{ + PangoAttribute *uattr; + + uattr = pango_attr_underline_new (toggle ? PANGO_UNDERLINE_NONE : PANGO_UNDERLINE_SINGLE); + uattr->start_index = start; + uattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, uattr); +} + +static void +insert_bold (SexySpellEntry *entry, guint start, gboolean toggle) +{ + PangoAttribute *battr; + + battr = pango_attr_weight_new (toggle ? PANGO_WEIGHT_NORMAL : PANGO_WEIGHT_BOLD); + battr->start_index = start; + battr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, battr); +} + +static void +insert_italic (SexySpellEntry *entry, guint start, gboolean toggle) +{ + PangoAttribute *iattr; + + iattr = pango_attr_style_new (toggle ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC); + iattr->start_index = start; + iattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, iattr); +} + +static void +insert_strikethrough (SexySpellEntry *entry, guint start, gboolean toggle) +{ + PangoAttribute *sattr; + + sattr = pango_attr_strikethrough_new (!toggle); + sattr->start_index = start; + sattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, sattr); +} + +static void +insert_color (SexySpellEntry *entry, guint start, int fgcolor, int bgcolor) +{ + PangoAttribute *fgattr; + PangoAttribute *ulattr; + PangoAttribute *bgattr; + + if (fgcolor < 0 || fgcolor > MAX_COL) + { + fgattr = pango_attr_foreground_new (colors[COL_FG].red, colors[COL_FG].green, colors[COL_FG].blue); + ulattr = pango_attr_underline_color_new (colors[COL_FG].red, colors[COL_FG].green, colors[COL_FG].blue); + } + else + { + fgattr = pango_attr_foreground_new (colors[fgcolor].red, colors[fgcolor].green, colors[fgcolor].blue); + ulattr = pango_attr_underline_color_new (colors[fgcolor].red, colors[fgcolor].green, colors[fgcolor].blue); + } + + if (bgcolor < 0 || bgcolor > MAX_COL) + bgattr = pango_attr_background_new (colors[COL_BG].red, colors[COL_BG].green, colors[COL_BG].blue); + else + bgattr = pango_attr_background_new (colors[bgcolor].red, colors[bgcolor].green, colors[bgcolor].blue); + + fgattr->start_index = start; + fgattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, fgattr); + ulattr->start_index = start; + ulattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, ulattr); + bgattr->start_index = start; + bgattr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + pango_attr_list_change (entry->priv->attr_list, bgattr); +} + +static void +insert_reset (SexySpellEntry *entry, guint start) +{ + insert_bold (entry, start, TRUE); + insert_underline (entry, start, TRUE); + insert_italic (entry, start, TRUE); + insert_strikethrough (entry, start, TRUE); + insert_color (entry, start, -1, -1); +} + +static void +get_word_extents_from_position(SexySpellEntry *entry, gint *start, gint *end, guint position) +{ + const gchar *text; + gint i, bytes_pos; + + *start = -1; + *end = -1; + + if (entry->priv->words == NULL) + return; + + text = gtk_entry_get_text(GTK_ENTRY(entry)); + bytes_pos = (gint) (g_utf8_offset_to_pointer(text, position) - text); + + for (i = 0; entry->priv->words[i]; i++) { + if (bytes_pos >= entry->priv->word_starts[i] && + bytes_pos <= entry->priv->word_ends[i]) { + *start = entry->priv->word_starts[i]; + *end = entry->priv->word_ends[i]; + return; + } + } +} + +static void +add_to_dictionary(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *word; + gint start, end; + struct EnchantDict *dict; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + + dict = (struct EnchantDict *) g_object_get_data(G_OBJECT(menuitem), "enchant-dict"); + if (dict) + enchant_dict_add_to_personal(dict, word, -1); + + g_free(word); + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all (entry); +} + +static void +ignore_all(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *word; + gint start, end; + GSList *li; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + struct EnchantDict *dict = (struct EnchantDict *) li->data; + enchant_dict_add_to_session(dict, word, -1); + } + + g_free(word); + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +static void +replace_word(GtkWidget *menuitem, SexySpellEntry *entry) +{ + char *oldword; + const char *newword; + gint start, end; + gint cursor; + struct EnchantDict *dict; + + if (!have_enchant) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + oldword = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + newword = gtk_label_get_text(GTK_LABEL(gtk_bin_get_child (GTK_BIN(menuitem)))); + + cursor = gtk_editable_get_position(GTK_EDITABLE(entry)); + /* is the cursor at the end? If so, restore it there */ + if (g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry)), -1) == cursor) + cursor = -1; + else if(cursor > start && cursor <= end) + cursor = start; + + gtk_editable_delete_text(GTK_EDITABLE(entry), start, end); + gtk_editable_set_position(GTK_EDITABLE(entry), start); + gtk_editable_insert_text(GTK_EDITABLE(entry), newword, strlen(newword), + &start); + gtk_editable_set_position(GTK_EDITABLE(entry), cursor); + + dict = (struct EnchantDict *) g_object_get_data(G_OBJECT(menuitem), "enchant-dict"); + + if (dict) + enchant_dict_store_replacement(dict, + oldword, -1, + newword, -1); + + g_free(oldword); +} + +static void +build_suggestion_menu(SexySpellEntry *entry, GtkWidget *menu, struct EnchantDict *dict, const gchar *word) +{ + GtkWidget *mi; + gchar **suggestions; + size_t n_suggestions, i; + + if (!have_enchant) + return; + + suggestions = enchant_dict_suggest(dict, word, -1, &n_suggestions); + + if (suggestions == NULL || n_suggestions == 0) { + /* no suggestions. put something in the menu anyway... */ + GtkWidget *label = gtk_label_new(""); + gtk_label_set_markup(GTK_LABEL(label), _("<i>(no suggestions)</i>")); + + mi = gtk_separator_menu_item_new(); + gtk_container_add(GTK_CONTAINER(mi), label); + gtk_widget_show_all(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + } else { + /* build a set of menus with suggestions */ + for (i = 0; i < n_suggestions; i++) { + if ((i != 0) && (i % 10 == 0)) { + mi = gtk_separator_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + + mi = gtk_menu_item_new_with_label(_("More...")); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + } + + mi = gtk_menu_item_new_with_label(suggestions[i]); + g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(replace_word), entry); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + } + } + + enchant_dict_free_suggestions(dict, suggestions); +} + +static GtkWidget * +build_spelling_menu(SexySpellEntry *entry, const gchar *word) +{ + struct EnchantDict *dict; + GtkWidget *topmenu, *mi; + gchar *label; + + if (!have_enchant) + return NULL; + + topmenu = gtk_menu_new(); + + if (entry->priv->dict_list == NULL) + return topmenu; + + /* Suggestions */ + if (g_slist_length(entry->priv->dict_list) == 1) { + dict = (struct EnchantDict *) entry->priv->dict_list->data; + build_suggestion_menu(entry, topmenu, dict, word); + } else { + GSList *li; + GtkWidget *menu; + gchar *lang, *lang_name; + + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + dict = (struct EnchantDict *) li->data; + lang = get_lang_from_dict(dict); + lang_name = sexy_spell_entry_get_language_name (entry, lang); + if (lang_name) + { + mi = gtk_menu_item_new_with_label(lang_name); + g_free (lang_name); + } + else + { + mi = gtk_menu_item_new_with_label(lang); + } + g_free(lang); + + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + build_suggestion_menu(entry, menu, dict, word); + } + } + + /* Separator */ + mi = gtk_separator_menu_item_new (); + gtk_widget_show(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + /* + Add to Dictionary */ + label = g_strdup_printf(_("Add \"%s\" to Dictionary"), word); + mi = gtk_image_menu_item_new_with_label(label); + g_free(label); + + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU)); + + if (g_slist_length(entry->priv->dict_list) == 1) { + dict = (struct EnchantDict *) entry->priv->dict_list->data; + g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(add_to_dictionary), entry); + } else { + GSList *li; + GtkWidget *menu, *submi; + gchar *lang, *lang_name; + + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), menu); + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *)li->data; + lang = get_lang_from_dict(dict); + lang_name = sexy_spell_entry_get_language_name (entry, lang); + if (lang_name) + { + submi = gtk_menu_item_new_with_label(lang_name); + g_free (lang_name); + } + else + { + submi = gtk_menu_item_new_with_label(lang); + } + g_free(lang); + g_object_set_data(G_OBJECT(submi), "enchant-dict", dict); + + g_signal_connect(G_OBJECT(submi), "activate", G_CALLBACK(add_to_dictionary), entry); + + gtk_widget_show(submi); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), submi); + } + } + + gtk_widget_show_all(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + /* - Ignore All */ + mi = gtk_image_menu_item_new_with_label(_("Ignore All")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), gtk_image_new_from_stock(GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU)); + g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(ignore_all), entry); + gtk_widget_show_all(mi); + gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); + + return topmenu; +} + +static void +sexy_spell_entry_populate_popup(SexySpellEntry *entry, GtkMenu *menu, gpointer data) +{ + GtkWidget *icon, *mi; + gint start, end; + gchar *word; + + if ((have_enchant == FALSE) || (entry->priv->checked == FALSE)) + return; + + if (g_slist_length(entry->priv->dict_list) == 0) + return; + + get_word_extents_from_position(entry, &start, &end, entry->priv->mark_character); + if (start == end) + return; + if (!word_misspelled(entry, start, end)) + return; + + /* separator */ + mi = gtk_separator_menu_item_new(); + gtk_widget_show(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); + + /* Above the separator, show the suggestions menu */ + icon = gtk_image_new_from_stock(GTK_STOCK_SPELL_CHECK, GTK_ICON_SIZE_MENU); + mi = gtk_image_menu_item_new_with_label(_("Spelling Suggestions")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), icon); + + word = gtk_editable_get_chars(GTK_EDITABLE(entry), start, end); + g_assert(word != NULL); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), build_spelling_menu(entry, word)); + g_free(word); + + gtk_widget_show_all(mi); + gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), mi); +} + +static void +sexy_spell_entry_init(SexySpellEntry *entry) +{ + entry->priv = g_new0(SexySpellEntryPriv, 1); + + entry->priv->dict_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); + + if (have_enchant) + { +#ifdef HAVE_ISO_CODES + if (codetable_ref == 0) + codetable_init (); + codetable_ref++; +#endif + sexy_spell_entry_activate_default_languages(entry); + } + + entry->priv->attr_list = pango_attr_list_new(); + + entry->priv->checked = TRUE; + entry->priv->parseattr = TRUE; + + g_signal_connect(G_OBJECT(entry), "popup-menu", G_CALLBACK(sexy_spell_entry_popup_menu), entry); + g_signal_connect(G_OBJECT(entry), "populate-popup", G_CALLBACK(sexy_spell_entry_populate_popup), NULL); + g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(sexy_spell_entry_changed), NULL); +} + +static void +sexy_spell_entry_finalize(GObject *obj) +{ + SexySpellEntry *entry; + + g_return_if_fail(obj != NULL); + g_return_if_fail(SEXY_IS_SPELL_ENTRY(obj)); + + entry = SEXY_SPELL_ENTRY(obj); + + if (entry->priv->attr_list) + pango_attr_list_unref(entry->priv->attr_list); + if (entry->priv->dict_hash) + g_hash_table_destroy(entry->priv->dict_hash); + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + + if (have_enchant) { + if (entry->priv->broker) { + GSList *li; + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + struct EnchantDict *dict = (struct EnchantDict*) li->data; + enchant_broker_free_dict (entry->priv->broker, dict); + } + g_slist_free (entry->priv->dict_list); + + enchant_broker_free(entry->priv->broker); + } + } + + g_free(entry->priv); +#ifdef HAVE_ISO_CODES + codetable_ref--; + if (codetable_ref == 0) + codetable_free (); +#endif + + if (G_OBJECT_CLASS(parent_class)->finalize) + G_OBJECT_CLASS(parent_class)->finalize(obj); +} + +static void +sexy_spell_entry_destroy(GObject *obj) +{ + if (G_OBJECT_CLASS(parent_class)->dispose) + G_OBJECT_CLASS(parent_class)->dispose(obj); +} + +/** + * sexy_spell_entry_new + * + * Creates a new SexySpellEntry widget. + * + * Returns: a new #SexySpellEntry. + */ +GtkWidget * +sexy_spell_entry_new(void) +{ + return GTK_WIDGET(g_object_new(SEXY_TYPE_SPELL_ENTRY, NULL)); +} + +GQuark +sexy_spell_error_quark(void) +{ + static GQuark q = 0; + if (q == 0) + q = g_quark_from_static_string("sexy-spell-error-quark"); + return q; +} + +static gboolean +default_word_check(SexySpellEntry *entry, const gchar *word) +{ + gboolean result = TRUE; + GSList *li; + + if (!have_enchant) + return result; + + if (g_unichar_isalpha(*word) == FALSE) { + /* We only want to check words */ + return FALSE; + } + for (li = entry->priv->dict_list; li; li = g_slist_next (li)) { + struct EnchantDict *dict = (struct EnchantDict *) li->data; + if (enchant_dict_check(dict, word, strlen(word)) == 0) { + result = FALSE; + break; + } + } + return result; +} + +static gboolean +word_misspelled(SexySpellEntry *entry, int start, int end) +{ + const gchar *text; + gchar *word; + gboolean ret; + + if (start == end) + return FALSE; + text = gtk_entry_get_text(GTK_ENTRY(entry)); + word = g_new0(gchar, end - start + 2); + + g_strlcpy(word, text + start, end - start + 1); + + g_signal_emit(entry, signals[WORD_CHECK], 0, word, &ret); + + g_free(word); + return ret; +} + +static void +check_word(SexySpellEntry *entry, int start, int end) +{ + PangoAttrIterator *it; + + /* Check to see if we've got any attributes at this position. + * If so, free them, since we'll readd it if the word is misspelled */ + it = pango_attr_list_get_iterator(entry->priv->attr_list); + if (it == NULL) + return; + do { + gint s, e; + pango_attr_iterator_range(it, &s, &e); + if (s == start) { + GSList *attrs = pango_attr_iterator_get_attrs(it); + g_slist_foreach(attrs, (GFunc) pango_attribute_destroy, NULL); + g_slist_free(attrs); + } + } while (pango_attr_iterator_next(it)); + pango_attr_iterator_destroy(it); + + if (word_misspelled(entry, start, end)) + insert_underline_error(entry, start, end); +} + +static void +check_attributes (SexySpellEntry *entry, const char *text, int len) +{ + gboolean bold = FALSE; + gboolean italic = FALSE; + gboolean underline = FALSE; + gboolean strikethrough = FALSE; + int parsing_color = 0; + char fg_color[3]; + char bg_color[3]; + int i, offset = 0; + + memset (bg_color, 0, sizeof(bg_color)); + memset (fg_color, 0, sizeof(fg_color)); + + for (i = 0; i < len; i++) + { + switch (text[i]) + { + case ATTR_BOLD: + insert_hiddenchar (entry, i, i + 1); + insert_bold (entry, i, bold); + bold = !bold; + goto check_color; + + case ATTR_ITALICS: + insert_hiddenchar (entry, i, i + 1); + insert_italic (entry, i, italic); + italic = !italic; + goto check_color; + + case ATTR_STRIKETHROUGH: + insert_hiddenchar (entry, i, i + 1); + insert_strikethrough (entry, i, strikethrough); + strikethrough = !strikethrough; + goto check_color; + + case ATTR_UNDERLINE: + insert_hiddenchar (entry, i, i + 1); + insert_underline (entry, i, underline); + underline = !underline; + goto check_color; + + case ATTR_RESET: + insert_hiddenchar (entry, i, i + 1); + insert_reset (entry, i); + bold = FALSE; + italic = FALSE; + underline = FALSE; + strikethrough = FALSE; + goto check_color; + + case ATTR_HIDDEN: + insert_hiddenchar (entry, i, i + 1); + goto check_color; + + case ATTR_REVERSE: + insert_hiddenchar (entry, i, i + 1); + insert_color (entry, i, COL_BG, COL_FG); + goto check_color; + + case '\n': + insert_reset (entry, i); + parsing_color = 0; + break; + + case ATTR_COLOR: + parsing_color = 1; + offset = 1; + break; + + default: +check_color: + if (!parsing_color) + continue; + + if (!g_unichar_isdigit (text[i])) + { + if (text[i] == ',' && parsing_color <= 3) + { + parsing_color = 3; + offset++; + continue; + } + else + parsing_color = 5; + } + + /* don't parse background color without a comma */ + else if (parsing_color == 3 && text[i - 1] != ',') + parsing_color = 5; + + switch (parsing_color) + { + case 1: + fg_color[0] = text[i]; + parsing_color++; + offset++; + continue; + case 2: + fg_color[1] = text[i]; + parsing_color++; + offset++; + continue; + case 3: + bg_color[0] = text[i]; + parsing_color++; + offset++; + continue; + case 4: + bg_color[1] = text[i]; + parsing_color++; + offset++; + continue; + case 5: + if (bg_color[0] != 0) + { + insert_hiddenchar (entry, i - offset, i); + insert_color (entry, i, atoi (fg_color), atoi (bg_color)); + } + else if (fg_color[0] != 0) + { + insert_hiddenchar (entry, i - offset, i); + insert_color (entry, i, atoi (fg_color), -1); + } + else + { + /* No colors but some commas may have been added */ + insert_hiddenchar (entry, i - offset, i - offset + 1); + insert_color (entry, i, -1, -1); + } + + memset (bg_color, 0, sizeof(bg_color)); + memset (fg_color, 0, sizeof(fg_color)); + parsing_color = 0; + offset = 0; + continue; + } + } + } +} + +static void +sexy_spell_entry_recheck_all(SexySpellEntry *entry) +{ + GdkRectangle rect; + GtkAllocation allocation; + GtkWidget *widget = GTK_WIDGET(entry); + PangoLayout *layout; + int length, i, text_len; + const char *text; + + /* Remove all existing pango attributes. These will get readded as we check */ + pango_attr_list_unref(entry->priv->attr_list); + entry->priv->attr_list = pango_attr_list_new(); + + if (entry->priv->parseattr) + { + /* Check for attributes */ + text = gtk_entry_get_text (GTK_ENTRY (entry)); + text_len = strlen (text); + check_attributes (entry, text, text_len); + } + + if (have_enchant && entry->priv->checked + && g_slist_length (entry->priv->dict_list) != 0) + { + /* Loop through words */ + for (i = 0; entry->priv->words[i]; i++) + { + length = strlen (entry->priv->words[i]); + if (length == 0) + continue; + check_word (entry, entry->priv->word_starts[i], entry->priv->word_ends[i]); + } + } + + layout = gtk_entry_get_layout(GTK_ENTRY(entry)); + pango_layout_set_attributes(layout, entry->priv->attr_list); + + if (gtk_widget_get_realized (GTK_WIDGET(entry))) + { + gtk_widget_get_allocation (GTK_WIDGET(entry), &allocation); + + rect.x = 0; rect.y = 0; + rect.width = allocation.width; + rect.height = allocation.height; + gdk_window_invalidate_rect(gtk_widget_get_window (widget), &rect, TRUE); + } +} + +static gint +sexy_spell_entry_expose(GtkWidget *widget, GdkEventExpose *event) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(widget); + GtkEntry *gtk_entry = GTK_ENTRY(widget); + PangoLayout *layout; + + + layout = gtk_entry_get_layout(gtk_entry); + if (gtk_entry->preedit_length == 0) + { + pango_layout_set_attributes(layout, entry->priv->attr_list); + } + else + { + pango_layout_set_attributes(layout, empty_attrs_list); + } + + return GTK_WIDGET_CLASS(parent_class)->expose_event (widget, event); +} + +static gint +sexy_spell_entry_button_press(GtkWidget *widget, GdkEventButton *event) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(widget); + GtkEntry *gtk_entry = GTK_ENTRY(widget); + gint pos; + + pos = gtk_entry_find_position(gtk_entry, event->x); + entry->priv->mark_character = pos; + + return GTK_WIDGET_CLASS(parent_class)->button_press_event (widget, event); +} + +static gboolean +sexy_spell_entry_popup_menu(GtkWidget *widget, SexySpellEntry *entry) +{ + /* Menu popped up from a keybinding (menu key or <shift>+F10). Use + * the cursor position as the mark position */ + entry->priv->mark_character = gtk_editable_get_position (GTK_EDITABLE (entry)); + return FALSE; +} + +static void +entry_strsplit_utf8(GtkEntry *entry, gchar ***set, gint **starts, gint **ends) +{ + PangoLayout *layout; + const PangoLogAttr *log_attrs; + const gchar *text; + gint n_attrs, n_strings, i, j; + PangoLogAttr a; + + layout = gtk_entry_get_layout(GTK_ENTRY(entry)); + text = gtk_entry_get_text(GTK_ENTRY(entry)); + log_attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs); + + /* Find how many words we have */ + for (i = 0, n_strings = 0; i < n_attrs; i++) + { + a = log_attrs[i]; + if (a.is_word_start && a.is_word_boundary) + n_strings++; + } + + *set = g_new0(gchar *, n_strings + 1); + *starts = g_new0(gint, n_strings); + *ends = g_new0(gint, n_strings); + + /* Copy out strings */ + for (i = 0, j = 0; i < n_attrs; i++) + { + a = log_attrs[i]; + if (a.is_word_start && a.is_word_boundary) + { + gint cend, bytes; + gchar *start; + + /* Find the end of this string */ + for (cend = i; cend < n_attrs; cend++) + { + a = log_attrs[cend]; + if (a.is_word_end && a.is_word_boundary) + break; + } + + /* Copy sub-string */ + start = g_utf8_offset_to_pointer(text, i); + bytes = (gint) (g_utf8_offset_to_pointer(text, cend) - start); + (*set)[j] = g_new0(gchar, bytes + 1); + (*starts)[j] = (gint) (start - text); + (*ends)[j] = (gint) (start - text + bytes); + g_utf8_strncpy((*set)[j], start, cend - i); + + /* Move on to the next word */ + j++; + } + } +} + +static void +sexy_spell_entry_changed(GtkEditable *editable, gpointer data) +{ + SexySpellEntry *entry = SEXY_SPELL_ENTRY(editable); + + if (entry->priv->words) + { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +static gboolean +enchant_has_lang(const gchar *lang, GSList *langs) { + GSList *i; + for (i = langs; i; i = g_slist_next(i)) + { + if (strcmp(lang, i->data) == 0) + { + return TRUE; + } + } + return FALSE; +} + +/** + * sexy_spell_entry_activate_default_languages: + * @entry: A #SexySpellEntry. + * + * Activate spell checking for languages specified in the + * text_spell_langs setting. These languages are + * activated by default, so this function need only be called + * if they were previously deactivated. + */ +void +sexy_spell_entry_activate_default_languages(SexySpellEntry *entry) +{ + GSList *enchant_langs; + char *lang, **i, **langs; + + if (!have_enchant) + return; + + if (!entry->priv->broker) + entry->priv->broker = enchant_broker_init(); + + enchant_langs = sexy_spell_entry_get_languages(entry); + + langs = g_strsplit_set (prefs.hex_text_spell_langs, ", \t", 0); + + for (i = langs; *i; i++) + { + lang = *i; + + if (enchant_has_lang (lang, enchant_langs)) + { + sexy_spell_entry_activate_language_internal (entry, lang, NULL); + } + } + + g_slist_foreach(enchant_langs, (GFunc) g_free, NULL); + g_slist_free(enchant_langs); + g_strfreev (langs); + + /* If we don't have any languages activated, use "en" */ + if (entry->priv->dict_list == NULL) + sexy_spell_entry_activate_language_internal(entry, "en", NULL); + + sexy_spell_entry_recheck_all (entry); +} + +static void +get_lang_from_dict_cb(const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data) { + gchar **lang = (gchar **)user_data; + *lang = g_strdup(lang_tag); +} + +static gchar * +get_lang_from_dict(struct EnchantDict *dict) +{ + gchar *lang; + + if (!have_enchant) + return NULL; + + enchant_dict_describe(dict, get_lang_from_dict_cb, &lang); + return lang; +} + +static gboolean +sexy_spell_entry_activate_language_internal(SexySpellEntry *entry, const gchar *lang, GError **error) +{ + struct EnchantDict *dict; + + if (!have_enchant) + return FALSE; + + if (!entry->priv->broker) + entry->priv->broker = enchant_broker_init(); + + if (g_hash_table_lookup(entry->priv->dict_hash, lang)) + return TRUE; + + dict = enchant_broker_request_dict(entry->priv->broker, lang); + + if (!dict) { + g_set_error(error, SEXY_SPELL_ERROR, SEXY_SPELL_ERROR_BACKEND, _("enchant error for language: %s"), lang); + return FALSE; + } + + enchant_dict_add_to_session (dict, "HexChat", strlen("HexChat")); + entry->priv->dict_list = g_slist_append(entry->priv->dict_list, (gpointer) dict); + g_hash_table_insert(entry->priv->dict_hash, get_lang_from_dict(dict), (gpointer) dict); + + return TRUE; +} + +static void +dict_describe_cb(const char * const lang_tag, + const char * const provider_name, + const char * const provider_desc, + const char * const provider_file, + void * user_data) +{ + GSList **langs = (GSList **)user_data; + + *langs = g_slist_append(*langs, (gpointer)g_strdup(lang_tag)); +} + +/** + * sexy_spell_entry_get_languages: + * @entry: A #SexySpellEntry. + * + * Retrieve a list of language codes for which dictionaries are available. + * + * Returns: a new #GList object, or %NULL on error. + */ +GSList * +sexy_spell_entry_get_languages(const SexySpellEntry *entry) +{ + GSList *langs = NULL; + + g_return_val_if_fail(entry != NULL, NULL); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), NULL); + + if (enchant_broker_list_dicts == NULL) + return NULL; + + if (!entry->priv->broker) + return NULL; + + enchant_broker_list_dicts(entry->priv->broker, dict_describe_cb, &langs); + + return langs; +} + +/** + * sexy_spell_entry_get_language_name: + * @entry: A #SexySpellEntry. + * @lang: The language code to lookup a friendly name for. + * + * Get a friendly name for a given locale. + * + * Returns: The name of the locale. Should be freed with g_free() + */ +gchar * +sexy_spell_entry_get_language_name(const SexySpellEntry *entry, + const gchar *lang) +{ +#ifdef HAVE_ISO_CODES + const gchar *lang_name = ""; + const gchar *country_name = ""; + + g_return_val_if_fail (have_enchant, NULL); + + if (codetable_ref == 0) + codetable_init (); + + codetable_lookup (lang, &lang_name, &country_name); + + if (codetable_ref == 0) + codetable_free (); + + if (strlen (country_name) != 0) + return g_strdup_printf ("%s (%s)", lang_name, country_name); + else + return g_strdup_printf ("%s", lang_name); +#else + return g_strdup (lang); +#endif +} + +/** + * sexy_spell_entry_language_is_active: + * @entry: A #SexySpellEntry. + * @lang: The language to use, in a form enchant understands. + * + * Determine if a given language is currently active. + * + * Returns: TRUE if the language is active. + */ +gboolean +sexy_spell_entry_language_is_active(const SexySpellEntry *entry, + const gchar *lang) +{ + return (g_hash_table_lookup(entry->priv->dict_hash, lang) != NULL); +} + +/** + * sexy_spell_entry_activate_language: + * @entry: A #SexySpellEntry + * @lang: The language to use in a form Enchant understands. Typically either + * a two letter language code or a locale code in the form xx_XX. + * @error: Return location for error. + * + * Activate spell checking for the language specifed. + * + * Returns: FALSE if there was an error. + */ +gboolean +sexy_spell_entry_activate_language(SexySpellEntry *entry, const gchar *lang, GError **error) +{ + gboolean ret; + + g_return_val_if_fail(entry != NULL, FALSE); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), FALSE); + g_return_val_if_fail(lang != NULL && *lang != '\0', FALSE); + + if (!have_enchant) + return FALSE; + + if (error) + g_return_val_if_fail(*error == NULL, FALSE); + + ret = sexy_spell_entry_activate_language_internal(entry, lang, error); + + if (ret) { + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + } + + return ret; +} + +/** + * sexy_spell_entry_deactivate_language: + * @entry: A #SexySpellEntry. + * @lang: The language in a form Enchant understands. Typically either + * a two letter language code or a locale code in the form xx_XX. + * + * Deactivate spell checking for the language specifed. + */ +void +sexy_spell_entry_deactivate_language(SexySpellEntry *entry, const gchar *lang) +{ + g_return_if_fail(entry != NULL); + g_return_if_fail(SEXY_IS_SPELL_ENTRY(entry)); + + if (!have_enchant) + return; + + if (!entry->priv->dict_list) + return; + + if (lang) { + struct EnchantDict *dict; + + dict = g_hash_table_lookup(entry->priv->dict_hash, lang); + if (!dict) + return; + enchant_broker_free_dict(entry->priv->broker, dict); + entry->priv->dict_list = g_slist_remove(entry->priv->dict_list, dict); + g_hash_table_remove (entry->priv->dict_hash, lang); + } else { + /* deactivate all */ + GSList *li; + struct EnchantDict *dict; + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *)li->data; + enchant_broker_free_dict(entry->priv->broker, dict); + } + + g_slist_free (entry->priv->dict_list); + g_hash_table_destroy (entry->priv->dict_hash); + entry->priv->dict_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); + entry->priv->dict_list = NULL; + } + + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); +} + +/** + * sexy_spell_entry_set_active_languages: + * @entry: A #SexySpellEntry + * @langs: A list of language codes to activate, in a form Enchant understands. + * Typically either a two letter language code or a locale code in the + * form xx_XX. + * @error: Return location for error. + * + * Activate spell checking for only the languages specified. + * + * Returns: FALSE if there was an error. + */ +gboolean +sexy_spell_entry_set_active_languages(SexySpellEntry *entry, GSList *langs, GError **error) +{ + GSList *li; + + g_return_val_if_fail(entry != NULL, FALSE); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), FALSE); + g_return_val_if_fail(langs != NULL, FALSE); + + if (!have_enchant) + return FALSE; + + /* deactivate all languages first */ + sexy_spell_entry_deactivate_language(entry, NULL); + + for (li = langs; li; li = g_slist_next(li)) { + if (sexy_spell_entry_activate_language_internal(entry, + (const gchar *) li->data, error) == FALSE) + return FALSE; + } + if (entry->priv->words) { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + return TRUE; +} + +/** + * sexy_spell_entry_get_active_languages: + * @entry: A #SexySpellEntry + * + * Retrieve a list of the currently active languages. + * + * Returns: A GSList of char* values with language codes (en, fr, etc). Both + * the data and the list must be freed by the user. + */ +GSList * +sexy_spell_entry_get_active_languages(SexySpellEntry *entry) +{ + GSList *ret = NULL, *li; + struct EnchantDict *dict; + gchar *lang; + + g_return_val_if_fail(entry != NULL, NULL); + g_return_val_if_fail(SEXY_IS_SPELL_ENTRY(entry), NULL); + + if (!have_enchant) + return NULL; + + for (li = entry->priv->dict_list; li; li = g_slist_next(li)) { + dict = (struct EnchantDict *) li->data; + lang = get_lang_from_dict(dict); + ret = g_slist_append(ret, lang); + } + return ret; +} + +/** + * sexy_spell_entry_is_checked: + * @entry: A #SexySpellEntry. + * + * Queries a #SexySpellEntry and returns whether the entry has spell-checking enabled. + * + * Returns: TRUE if the entry has spell-checking enabled. + */ +gboolean +sexy_spell_entry_is_checked(SexySpellEntry *entry) +{ + return entry->priv->checked; +} + +/** + * sexy_spell_entry_set_checked: + * @entry: A #SexySpellEntry. + * @checked: Whether to enable spell-checking + * + * Sets whether the entry has spell-checking enabled. + */ +void +sexy_spell_entry_set_checked(SexySpellEntry *entry, gboolean checked) +{ + GtkWidget *widget; + + if (entry->priv->checked == checked) + return; + + entry->priv->checked = checked; + widget = GTK_WIDGET(entry); + + if (checked == FALSE && gtk_widget_get_realized (widget)) + { + /* This will unmark any existing */ + sexy_spell_entry_recheck_all (entry); + } + else + { + if (entry->priv->words) + { + g_strfreev(entry->priv->words); + g_free(entry->priv->word_starts); + g_free(entry->priv->word_ends); + } + entry_strsplit_utf8(GTK_ENTRY(entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all(entry); + } +} + +/** +* sexy_spell_entry_set_parse_attributes: +* @entry: A #SexySpellEntry. +* @parse: Whether to enable showing attributes +* +* Sets whether to enable showing attributes is enabled. +*/ +void +sexy_spell_entry_set_parse_attributes (SexySpellEntry *entry, gboolean parse) +{ + GtkWidget *widget; + + if (entry->priv->parseattr == parse) + return; + + entry->priv->parseattr = parse; + widget = GTK_WIDGET (entry); + + if (parse == FALSE && gtk_widget_get_realized (widget)) + { + /* This will remove current attrs */ + sexy_spell_entry_recheck_all (entry); + } + else + { + if (entry->priv->words) + { + g_strfreev (entry->priv->words); + g_free (entry->priv->word_starts); + g_free (entry->priv->word_ends); + } + entry_strsplit_utf8 (GTK_ENTRY (entry), &entry->priv->words, &entry->priv->word_starts, &entry->priv->word_ends); + sexy_spell_entry_recheck_all (entry); + } +} diff --git a/src/fe-gtk/sexy-spell-entry.h b/src/fe-gtk/sexy-spell-entry.h new file mode 100644 index 0000000000000000000000000000000000000000..1e6fd1f258cfbc99863daecec1761c4316072c80 --- /dev/null +++ b/src/fe-gtk/sexy-spell-entry.h @@ -0,0 +1,85 @@ +/* libsexy + * Copyright (C) 2004-2006 Christian Hammond. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef _SEXY_SPELL_ENTRY_H_ +#define _SEXY_SPELL_ENTRY_H_ + +typedef struct _SexySpellEntry SexySpellEntry; +typedef struct _SexySpellEntryClass SexySpellEntryClass; +typedef struct _SexySpellEntryPriv SexySpellEntryPriv; + +#include <gtk/gtk.h> + +#define SEXY_TYPE_SPELL_ENTRY (sexy_spell_entry_get_type()) +#define SEXY_SPELL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SEXY_TYPE_SPELL_ENTRY, SexySpellEntry)) +#define SEXY_SPELL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SEXY_TYPE_SPELL_ENTRY, SexySpellEntryClass)) +#define SEXY_IS_SPELL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SEXY_TYPE_SPELL_ENTRY)) +#define SEXY_IS_SPELL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SEXY_TYPE_SPELL_ENTRY)) +#define SEXY_SPELL_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SEXY_TYPE_SPELL_ENTRY, SexySpellEntryClass)) + +#define SEXY_SPELL_ERROR (sexy_spell_error_quark()) + +typedef enum { + SEXY_SPELL_ERROR_BACKEND, +} SexySpellError; + +struct _SexySpellEntry +{ + GtkEntry parent_object; + + SexySpellEntryPriv *priv; + + void (*gtk_reserved1)(void); + void (*gtk_reserved2)(void); + void (*gtk_reserved3)(void); + void (*gtk_reserved4)(void); +}; + +struct _SexySpellEntryClass +{ + GtkEntryClass parent_class; + + /* Signals */ + gboolean (*word_check)(SexySpellEntry *entry, const gchar *word); + + void (*gtk_reserved1)(void); + void (*gtk_reserved2)(void); + void (*gtk_reserved3)(void); + void (*gtk_reserved4)(void); +}; + +G_BEGIN_DECLS + +GType sexy_spell_entry_get_type(void); +GtkWidget *sexy_spell_entry_new(void); +GQuark sexy_spell_error_quark(void); + +GSList *sexy_spell_entry_get_languages(const SexySpellEntry *entry); +gchar *sexy_spell_entry_get_language_name(const SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_language_is_active(const SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_activate_language(SexySpellEntry *entry, const gchar *lang, GError **error); +void sexy_spell_entry_deactivate_language(SexySpellEntry *entry, const gchar *lang); +gboolean sexy_spell_entry_set_active_languages(SexySpellEntry *entry, GSList *langs, GError **error); +GSList *sexy_spell_entry_get_active_languages(SexySpellEntry *entry); +gboolean sexy_spell_entry_is_checked(SexySpellEntry *entry); +void sexy_spell_entry_set_checked(SexySpellEntry *entry, gboolean checked); +void sexy_spell_entry_set_parse_attributes (SexySpellEntry *entry, gboolean parse); +void sexy_spell_entry_activate_default_languages(SexySpellEntry *entry); + +G_END_DECLS + +#endif diff --git a/src/fe-gtk/textgui.c b/src/fe-gtk/textgui.c new file mode 100644 index 0000000000000000000000000000000000000000..b5eaf8938f5aa9092f1c28b78740e95133201c76 --- /dev/null +++ b/src/fe-gtk/textgui.c @@ -0,0 +1,484 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/fe.h" +#include "../common/text.h" +#include "gtkutil.h" +#include "xtext.h" +#include "maingui.h" +#include "palette.h" +#include "textgui.h" + +extern struct text_event te[]; +extern char *pntevts_text[]; +extern char *pntevts[]; + +static GtkWidget *pevent_dialog = NULL, *pevent_dialog_twid, + *pevent_dialog_list, *pevent_dialog_hlist; + +enum +{ + EVENT_COLUMN, + TEXT_COLUMN, + ROW_COLUMN, + N_COLUMNS +}; + + +/* this is only used in xtext.c for indented timestamping */ +int +xtext_get_stamp_str (time_t tim, char **ret) +{ + return get_stamp_str (prefs.hex_stamp_text_format, tim, ret); +} + +static void +PrintTextLine (xtext_buffer *xtbuf, unsigned char *text, int len, int indent, time_t timet) +{ + unsigned char *tab, *new_text; + int leftlen; + + if (len == 0) + len = 1; + + if (!indent) + { + if (prefs.hex_stamp_text) + { + int stamp_size; + char *stamp; + + if (timet == 0) + timet = time (0); + + stamp_size = get_stamp_str (prefs.hex_stamp_text_format, timet, &stamp); + new_text = g_malloc (len + stamp_size + 1); + memcpy (new_text, stamp, stamp_size); + g_free (stamp); + memcpy (new_text + stamp_size, text, len); + gtk_xtext_append (xtbuf, new_text, len + stamp_size, timet); + g_free (new_text); + } else + gtk_xtext_append (xtbuf, text, len, timet); + return; + } + + tab = strchr (text, '\t'); + if (tab && tab < (text + len)) + { + leftlen = tab - text; + gtk_xtext_append_indent (xtbuf, + text, leftlen, tab + 1, len - (leftlen + 1), timet); + } else + gtk_xtext_append_indent (xtbuf, 0, 0, text, len, timet); +} + +void +PrintTextRaw (void *xtbuf, unsigned char *text, int indent, time_t stamp) +{ + char *last_text = text; + int len = 0; + int beep_done = FALSE; + + /* split the text into separate lines */ + while (1) + { + switch (*text) + { + case 0: + PrintTextLine (xtbuf, last_text, len, indent, stamp); + return; + case '\n': + PrintTextLine (xtbuf, last_text, len, indent, stamp); + text++; + if (*text == 0) + return; + last_text = text; + len = 0; + break; + case ATTR_BEEP: + *text = ' '; + if (!beep_done) /* beeps may be slow, so only do 1 per line */ + { + beep_done = TRUE; + if (!prefs.hex_input_filter_beep) + gdk_beep (); + } + default: + text++; + len++; + } + } +} + +static void +pevent_dialog_close (GtkWidget *wid, gpointer arg) +{ + pevent_dialog = NULL; + pevent_save (NULL); +} + +static void +pevent_edited (GtkCellRendererText *render, gchar *pathstr, gchar *new_text, gpointer data) +{ + GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_list)); + GtkTreePath *path; + GtkTreeIter iter; + GtkXText *xtext = GTK_XTEXT (pevent_dialog_twid); + int len, m; + const char *text; + char *out; + int sig; + + if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), + &iter, ROW_COLUMN, &sig, -1)) + return; + + text = new_text; + len = strlen (new_text); + + if (pevt_build_string (text, &out, &m) != 0) + { + fe_message (_("There was an error parsing the string"), FE_MSG_ERROR); + return; + } + if (m > (te[sig].num_args & 0x7f)) + { + g_free (out); + out = g_strdup_printf ( + _("This signal is only passed %d args, $%d is invalid"), + te[sig].num_args & 0x7f, m); + fe_message (out, FE_MSG_WARN); + g_free (out); + return; + } + + path = gtk_tree_path_new_from_string (pathstr); + gtk_tree_model_get_iter (model, &iter, path); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, TEXT_COLUMN, new_text, -1); + gtk_tree_path_free (path); + + g_free (pntevts_text[sig]); + g_free (pntevts[sig]); + + pntevts_text[sig] = g_strdup (text); + pntevts[sig] = out; + + out = g_malloc (len + 2); + memcpy (out, text, len + 1); + out[len] = '\n'; + out[len + 1] = 0; + check_special_chars (out, TRUE); + + PrintTextRaw (xtext->buffer, out, 0, 0); + g_free (out); + + /* Scroll to bottom */ + gtk_adjustment_set_value (xtext->adj, gtk_adjustment_get_upper (xtext->adj)); + + /* save this when we exit */ + prefs.save_pevents = 1; +} + +static void +pevent_dialog_hfill (GtkWidget *list, int e) +{ + int i = 0; + char *text; + GtkTreeIter iter; + GtkListStore *store; + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); + gtk_list_store_clear (store); + + while (i < (te[e].num_args & 0x7f)) + { + text = _(te[e].help[i]); + i++; + if (text[0] == '\001') + text++; + gtk_list_store_insert_with_values (store, &iter, -1, + 0, i, + 1, text, -1); + } +} + +static void +pevent_selection_changed (GtkTreeSelection *sel, gpointer userdata) +{ + GtkTreeIter iter; + int sig; + + if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (pevent_dialog_list), + &iter, ROW_COLUMN, &sig, -1)) + { + gtk_list_store_clear (GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (pevent_dialog_hlist)))); + return; + } + + pevent_dialog_hfill (pevent_dialog_hlist, sig); +} + +static void +pevent_dialog_fill (GtkWidget *list) +{ + int i; + GtkListStore *store; + GtkTreeIter iter; + + store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); + gtk_list_store_clear (store); + + i = NUM_XP; + do + { + i--; + gtk_list_store_insert_with_values (store, &iter, 0, + EVENT_COLUMN, te[i].name, + TEXT_COLUMN, pntevts_text[i], + ROW_COLUMN, i, -1); + } + while (i != 0); +} + +static void +pevent_save_req_cb (void *arg1, char *file) +{ + if (file) + pevent_save (file); +} + +static void +pevent_save_cb (GtkWidget * wid, void *data) +{ + if (data) + { + gtkutil_file_req (NULL, _("Print Texts File"), pevent_save_req_cb, NULL, + NULL, NULL, FRF_WRITE); + return; + } + pevent_save (NULL); +} + +static void +pevent_load_req_cb (void *arg1, char *file) +{ + if (file) + { + pevent_load (file); + pevent_make_pntevts (); + pevent_dialog_fill (pevent_dialog_list); + prefs.save_pevents = 1; + } +} + +static void +pevent_load_cb (GtkWidget * wid, void *data) +{ + gtkutil_file_req (NULL, _("Print Texts File"), pevent_load_req_cb, NULL, NULL, NULL, 0); +} + +static void +pevent_ok_cb (GtkWidget * wid, void *data) +{ + gtk_widget_destroy (pevent_dialog); +} + +static void +pevent_test_cb (GtkWidget * wid, GtkWidget * twid) +{ + int len, n; + char *out, *text; + + for (n = 0; n < NUM_XP; n++) + { + text = _(pntevts_text[n]); + len = strlen (text); + + out = g_malloc (len + 2); + memcpy (out, text, len + 1); + out[len] = '\n'; + out[len + 1] = 0; + check_special_chars (out, TRUE); + + PrintTextRaw (GTK_XTEXT (twid)->buffer, out, 0, 0); + g_free (out); + } +} + +static GtkWidget * +pevent_treeview_new (GtkWidget *box) +{ + GtkWidget *scroll; + GtkListStore *store; + GtkTreeViewColumn *col; + GtkTreeSelection *sel; + GtkWidget *view; + GtkCellRenderer *render; + + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); + gtk_widget_set_size_request (GTK_WIDGET (scroll), -1, 250); + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); + g_return_val_if_fail (store != NULL, NULL); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); + gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (view), TRUE); + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); + g_signal_connect (G_OBJECT (sel), "changed", + G_CALLBACK (pevent_selection_changed), NULL); + + render = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), EVENT_COLUMN, + _("Event"), render, + "text", EVENT_COLUMN, + NULL); + + render = gtk_cell_renderer_text_new (); + g_object_set (render, "editable", TRUE, NULL); + g_signal_connect (G_OBJECT (render), "edited", + G_CALLBACK (pevent_edited), NULL); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), TEXT_COLUMN, + _("Text"), render, + "text", TEXT_COLUMN, + NULL); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), EVENT_COLUMN); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + gtk_tree_view_column_set_resizable (col, TRUE); + gtk_tree_view_column_set_min_width (col, 100); + + gtk_container_add (GTK_CONTAINER (scroll), view); + gtk_container_add (GTK_CONTAINER (box), scroll); + + return view; +} + +static GtkWidget * +pevent_hlist_treeview_new (GtkWidget *box) +{ + GtkWidget *scroll; + GtkListStore *store; + GtkTreeViewColumn *col; + GtkWidget *view; + GtkCellRenderer *render; + + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_IN); + + store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); + gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (view), TRUE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (view), FALSE); + gtk_widget_set_can_focus (view, FALSE); + + render = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), 0, + _("$ Number"), render, + "text", 0, + NULL); + + render = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes ( + GTK_TREE_VIEW (view), 1, + _("Description"), render, + "text", 1, + NULL); + + col = gtk_tree_view_get_column (GTK_TREE_VIEW (view), 0); + gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE); + + gtk_container_add (GTK_CONTAINER (scroll), view); + gtk_container_add (GTK_CONTAINER (box), scroll); + + return view; +} + +void +pevent_dialog_show () +{ + GtkWidget *vbox, *hbox, *wid, *pane; + + if (pevent_dialog) + { + mg_bring_tofront (pevent_dialog); + return; + } + + pevent_dialog = + mg_create_generic_tab ("edit events", _("Edit Events"), + TRUE, FALSE, pevent_dialog_close, NULL, + 600, 455, &vbox, 0); + + pane = gtk_vpaned_new (); + gtk_box_pack_start (GTK_BOX (vbox), pane, TRUE, TRUE, 0); + + pevent_dialog_list = pevent_treeview_new (pane); + pevent_dialog_fill (pevent_dialog_list); + + pevent_dialog_hlist = pevent_hlist_treeview_new (pane); + + wid = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (wid), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + gtk_box_pack_start (GTK_BOX (vbox), wid, FALSE, TRUE, 0); + + pevent_dialog_twid = gtk_xtext_new (colors, 0); + gtk_widget_set_sensitive (pevent_dialog_twid, FALSE); + gtk_widget_set_size_request (pevent_dialog_twid, -1, 75); + gtk_container_add (GTK_CONTAINER (wid), pevent_dialog_twid); + gtk_xtext_set_font (GTK_XTEXT (pevent_dialog_twid), prefs.hex_text_font); + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 4); + gtkutil_button (hbox, GTK_STOCK_SAVE_AS, NULL, pevent_save_cb, + (void *) 1, _("Save As...")); + gtkutil_button (hbox, GTK_STOCK_OPEN, NULL, pevent_load_cb, + NULL, _("Load From...")); + gtkutil_button (hbox, NULL, NULL, pevent_test_cb, + pevent_dialog_twid, _("Test All")); + gtkutil_button (hbox, GTK_STOCK_OK, NULL, pevent_ok_cb, + NULL, _("OK")); + + gtk_widget_show_all (pevent_dialog); +} diff --git a/src/fe-gtk/textgui.h b/src/fe-gtk/textgui.h new file mode 100644 index 0000000000000000000000000000000000000000..6d9a3a2330d015bcf9aafd4476abf02061e3a6fa --- /dev/null +++ b/src/fe-gtk/textgui.h @@ -0,0 +1,26 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_TEXTGUI_H +#define HEXCHAT_TEXTGUI_H + +void PrintTextRaw (void *xtbuf, unsigned char *text, int indent, time_t stamp); +void pevent_dialog_show (void); + +#endif diff --git a/src/fe-gtk/urlgrab.c b/src/fe-gtk/urlgrab.c new file mode 100644 index 0000000000000000000000000000000000000000..fc2f4b5a0f179a375f8f8a3d32be835e38792e76 --- /dev/null +++ b/src/fe-gtk/urlgrab.c @@ -0,0 +1,229 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/fe.h" +#include "../common/url.h" +#include "../common/tree.h" +#include "gtkutil.h" +#include "menu.h" +#include "maingui.h" +#include "urlgrab.h" + +/* model for the URL treeview */ +enum +{ + URL_COLUMN, + N_COLUMNS +}; + +static GtkWidget *urlgrabberwindow = 0; + + +static gboolean +url_treeview_url_clicked_cb (GtkWidget *view, GdkEventButton *event, + gpointer data) +{ + GtkTreeIter iter; + gchar *url; + GtkTreeSelection *sel; + GtkTreePath *path; + GtkTreeView *tree = GTK_TREE_VIEW (view); + + if (!event || !gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) + return FALSE; + + /* select what they right-clicked on */ + sel = gtk_tree_view_get_selection (tree); + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + gtk_tree_path_free (path); + + if (!gtkutil_treeview_get_selected (GTK_TREE_VIEW (view), &iter, + URL_COLUMN, &url, -1)) + return FALSE; + + switch (event->button) + { + case 1: + if (event->type == GDK_2BUTTON_PRESS) + fe_open_url (url); + break; + case 3: + menu_urlmenu (event, url); + break; + default: + break; + } + g_free (url); + + return FALSE; +} + +static GtkWidget * +url_treeview_new (GtkWidget *box) +{ + GtkListStore *store; + GtkWidget *view; + + store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING); + g_return_val_if_fail (store != NULL, NULL); + + view = gtkutil_treeview_new (box, GTK_TREE_MODEL (store), NULL, + URL_COLUMN, _("URL"), -1); + g_signal_connect (G_OBJECT (view), "button_press_event", + G_CALLBACK (url_treeview_url_clicked_cb), NULL); + /* don't want column headers */ + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view), FALSE); + gtk_widget_show (view); + return view; +} + +static void +url_closegui (GtkWidget *wid, gpointer userdata) +{ + urlgrabberwindow = 0; +} + +static void +url_button_clear (void) +{ + GtkListStore *store; + + url_clear (); + store = GTK_LIST_STORE (g_object_get_data (G_OBJECT (urlgrabberwindow), + "model")); + gtk_list_store_clear (store); +} + +static void +url_button_copy (GtkWidget *widget, gpointer data) +{ + GtkTreeView *view = GTK_TREE_VIEW (data); + GtkTreeIter iter; + gchar *url = NULL; + + if (gtkutil_treeview_get_selected (view, &iter, URL_COLUMN, &url, -1)) + { + gtkutil_copy_to_clipboard (GTK_WIDGET (view), NULL, url); + g_free (url); + } +} + +static void +url_save_callback (void *arg1, char *file) +{ + if (file) + { + url_save_tree (file, "w", TRUE); + } +} + +static void +url_button_save (void) +{ + gtkutil_file_req (NULL, _("Select an output filename"), + url_save_callback, NULL, NULL, NULL, FRF_WRITE); +} + +void +fe_url_add (const char *urltext) +{ + GtkListStore *store; + GtkTreeIter iter; + gboolean valid; + + if (urlgrabberwindow) + { + store = GTK_LIST_STORE (g_object_get_data (G_OBJECT (urlgrabberwindow), + "model")); + gtk_list_store_prepend (store, &iter); + gtk_list_store_set (store, &iter, + URL_COLUMN, urltext, + -1); + + /* remove any overflow */ + if (prefs.hex_url_grabber_limit > 0) + { + valid = gtk_tree_model_iter_nth_child ( + GTK_TREE_MODEL (store), &iter, NULL, prefs.hex_url_grabber_limit); + while (valid) + valid = gtk_list_store_remove (store, &iter); + } + } +} + +static int +populate_cb (char *urltext, gpointer userdata) +{ + fe_url_add (urltext); + return TRUE; +} + +void +url_opengui () +{ + GtkWidget *vbox, *hbox, *view; + char buf[128]; + + if (urlgrabberwindow) + { + mg_bring_tofront (urlgrabberwindow); + return; + } + + g_snprintf(buf, sizeof(buf), _("URL Grabber - %s"), _(DISPLAY_NAME)); + urlgrabberwindow = + mg_create_generic_tab ("UrlGrabber", buf, FALSE, TRUE, url_closegui, NULL, + 400, 256, &vbox, 0); + gtkutil_destroy_on_esc (urlgrabberwindow); + view = url_treeview_new (vbox); + g_object_set_data (G_OBJECT (urlgrabberwindow), "model", + gtk_tree_view_get_model (GTK_TREE_VIEW (view))); + + hbox = gtk_hbutton_box_new (); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + gtk_box_pack_end (GTK_BOX (vbox), hbox, 0, 0, 0); + gtk_widget_show (hbox); + + gtkutil_button (hbox, GTK_STOCK_CLEAR, + _("Clear list"), url_button_clear, 0, _("Clear")); + gtkutil_button (hbox, GTK_STOCK_COPY, + _("Copy selected URL"), url_button_copy, view, _("Copy")); + gtkutil_button (hbox, GTK_STOCK_SAVE_AS, + _("Save list to a file"), url_button_save, 0, _("Save As...")); + + gtk_widget_show (urlgrabberwindow); + + if (prefs.hex_url_grabber) + tree_foreach (url_tree, (tree_traverse_func *)populate_cb, NULL); + else + { + gtk_list_store_clear (GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view)))); + fe_url_add ("URL Grabber is disabled."); + } +} diff --git a/src/fe-gtk/urlgrab.h b/src/fe-gtk/urlgrab.h new file mode 100644 index 0000000000000000000000000000000000000000..246b56e7a83bef159085ab3786a1147a1437ebe7 --- /dev/null +++ b/src/fe-gtk/urlgrab.h @@ -0,0 +1,25 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_URLGRAB_H +#define HEXCHAT_URLGRAB_H + +void url_opengui (void); + +#endif diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c new file mode 100644 index 0000000000000000000000000000000000000000..d06975ca8a8b570eeedbb4c715b4805f8a00836c --- /dev/null +++ b/src/fe-gtk/userlistgui.c @@ -0,0 +1,753 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include "fe-gtk.h" + +#include <gdk/gdkkeysyms.h> + +#include "../common/hexchat.h" +#include "../common/util.h" +#include "../common/userlist.h" +#include "../common/modes.h" +#include "../common/text.h" +#include "../common/notify.h" +#include "../common/hexchatc.h" +#include "../common/fe.h" +#include "gtkutil.h" +#include "palette.h" +#include "maingui.h" +#include "menu.h" +#include "pixmaps.h" +#include "userlistgui.h" +#include "fkeys.h" + +enum +{ + COL_PIX=0, /* GdkPixbuf * */ + COL_NICK=1, /* char * */ + COL_HOST=2, /* char * */ + COL_USER=3, /* struct User * */ + COL_GDKCOLOR=4 /* GdkColor * */ +}; + + +GdkPixbuf * +get_user_icon (server *serv, struct User *user) +{ + char *pre; + int level; + + if (!user) + return NULL; + + /* these ones are hardcoded */ + switch (user->prefix[0]) + { + case 0: return NULL; + case '+': return pix_ulist_voice; + case '%': return pix_ulist_halfop; + case '@': return pix_ulist_op; + } + + /* find out how many levels above Op this user is */ + pre = strchr (serv->nick_prefixes, '@'); + if (pre && pre != serv->nick_prefixes) + { + pre--; + level = 0; + while (1) + { + if (pre[0] == user->prefix[0]) + { + switch (level) + { + case 0: return pix_ulist_owner; /* 1 level above op */ + case 1: return pix_ulist_founder; /* 2 levels above op */ + case 2: return pix_ulist_netop; /* 3 levels above op */ + } + break; /* 4+, no icons */ + } + level++; + if (pre == serv->nick_prefixes) + break; + pre--; + } + } + + return NULL; +} + +void +fe_userlist_numbers (session *sess) +{ + char tbuf[256]; + + if (sess == current_tab || !sess->gui->is_tab) + { + if (sess->total) + { + g_snprintf (tbuf, sizeof (tbuf), _("%d ops, %d total"), sess->ops, sess->total); + tbuf[sizeof (tbuf) - 1] = 0; + gtk_label_set_text (GTK_LABEL (sess->gui->namelistinfo), tbuf); + } else + { + gtk_label_set_text (GTK_LABEL (sess->gui->namelistinfo), NULL); + } + + if (sess->type == SESS_CHANNEL && prefs.hex_gui_win_ucount) + fe_set_title (sess); + } +} + +static void +scroll_to_iter (GtkTreeIter *iter, GtkTreeView *treeview, GtkTreeModel *model) +{ + GtkTreePath *path = gtk_tree_model_get_path (model, iter); + if (path) + { + gtk_tree_view_scroll_to_cell (treeview, path, NULL, TRUE, 0.5, 0.5); + gtk_tree_path_free (path); + } +} + +/* select a row in the userlist by nick-name */ + +void +userlist_select (session *sess, char *name) +{ + GtkTreeIter iter; + GtkTreeView *treeview = GTK_TREE_VIEW (sess->gui->user_tree); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + struct User *row_user; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + if (sess->server->p_cmp (row_user->nick, name) == 0) + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + gtk_tree_selection_unselect_iter (selection, &iter); + else + gtk_tree_selection_select_iter (selection, &iter); + + /* and make sure it's visible */ + scroll_to_iter (&iter, treeview, model); + return; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} + +char ** +userlist_selection_list (GtkWidget *widget, int *num_ret) +{ + GtkTreeIter iter; + GtkTreeView *treeview = (GtkTreeView *) widget; + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + struct User *user; + int i, num_sel; + char **nicks; + + *num_ret = 0; + /* first, count the number of selections */ + num_sel = 0; + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + num_sel++; + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + if (num_sel < 1) + return NULL; + + nicks = g_new (char *, num_sel + 1); + + i = 0; + gtk_tree_model_get_iter_first (model, &iter); + do + { + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + { + gtk_tree_model_get (model, &iter, COL_USER, &user, -1); + nicks[i] = g_strdup (user->nick); + i++; + nicks[i] = NULL; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + + *num_ret = i; + return nicks; +} + +void +fe_userlist_set_selected (struct session *sess) +{ + GtkListStore *store = sess->res->user_model; + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sess->gui->user_tree)); + GtkTreeIter iter; + struct User *user; + + /* if it's not front-most tab it doesn't own the GtkTreeView! */ + if (store != (GtkListStore*) gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree))) + return; + + if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter)) + { + do + { + gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, COL_USER, &user, -1); + + if (gtk_tree_selection_iter_is_selected (selection, &iter)) + user->selected = 1; + else + user->selected = 0; + + } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter)); + } +} + +static GtkTreeIter * +find_row (GtkTreeView *treeview, GtkTreeModel *model, struct User *user, + int *selected) +{ + static GtkTreeIter iter; + struct User *row_user; + + *selected = FALSE; + if (gtk_tree_model_get_iter_first (model, &iter)) + { + do + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + if (row_user == user) + { + if (gtk_tree_view_get_model (treeview) == model) + { + if (gtk_tree_selection_iter_is_selected (gtk_tree_view_get_selection (treeview), &iter)) + *selected = TRUE; + } + return &iter; + } + } + while (gtk_tree_model_iter_next (model, &iter)); + } + + return NULL; +} + +void +userlist_set_value (GtkWidget *treeview, gfloat val) +{ + gtk_adjustment_set_value ( + gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (treeview)), val); +} + +gfloat +userlist_get_value (GtkWidget *treeview) +{ + return gtk_adjustment_get_value (gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (treeview))); +} + +int +fe_userlist_remove (session *sess, struct User *user) +{ + GtkTreeIter *iter; +/* GtkAdjustment *adj; + gfloat val, end;*/ + int sel; + + iter = find_row (GTK_TREE_VIEW (sess->gui->user_tree), + GTK_TREE_MODEL(sess->res->user_model), user, &sel); + if (!iter) + return 0; + +/* adj = gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (sess->gui->user_tree)); + val = adj->value;*/ + + gtk_list_store_remove (sess->res->user_model, iter); + + /* is it the front-most tab? */ +/* if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree)) + == sess->res->user_model) + { + end = adj->upper - adj->lower - adj->page_size; + if (val > end) + val = end; + gtk_adjustment_set_value (adj, val); + }*/ + + return sel; +} + +void +fe_userlist_rehash (session *sess, struct User *user) +{ + GtkTreeIter *iter; + int sel; + int nick_color = 0; + + iter = find_row (GTK_TREE_VIEW (sess->gui->user_tree), + GTK_TREE_MODEL(sess->res->user_model), user, &sel); + if (!iter) + return; + + if (prefs.hex_away_track && user->away) + nick_color = COL_AWAY; + else if (prefs.hex_gui_ulist_color) + nick_color = text_color_of(user->nick); + + gtk_list_store_set (GTK_LIST_STORE (sess->res->user_model), iter, + COL_HOST, user->hostname, + COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL, + -1); +} + +void +fe_userlist_insert (session *sess, struct User *newuser, gboolean sel) +{ + GtkTreeModel *model = GTK_TREE_MODEL(sess->res->user_model); + GdkPixbuf *pix = get_user_icon (sess->server, newuser); + GtkTreeIter iter; + char *nick; + int nick_color = 0; + + if (prefs.hex_away_track && newuser->away) + nick_color = COL_AWAY; + else if (prefs.hex_gui_ulist_color) + nick_color = text_color_of(newuser->nick); + + nick = newuser->nick; + if (!prefs.hex_gui_ulist_icons) + { + nick = g_malloc (strlen (newuser->nick) + 2); + nick[0] = newuser->prefix[0]; + if (nick[0] == '\0' || nick[0] == ' ') + strcpy (nick, newuser->nick); + else + strcpy (nick + 1, newuser->nick); + pix = NULL; + } + + gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &iter, 0, + COL_PIX, pix, + COL_NICK, nick, + COL_HOST, newuser->hostname, + COL_USER, newuser, + COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL, + -1); + + if (!prefs.hex_gui_ulist_icons) + { + g_free (nick); + } + + /* is it me? */ + if (newuser->me && sess->gui->nick_box) + { + if (!sess->gui->is_tab || sess == current_tab) + mg_set_access_icon (sess->gui, pix, sess->server->is_away); + } + + /* is it the front-most tab? */ + if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree)) + == model) + { + if (sel) + gtk_tree_selection_select_iter (gtk_tree_view_get_selection + (GTK_TREE_VIEW (sess->gui->user_tree)), &iter); + } +} + +void +fe_userlist_clear (session *sess) +{ + gtk_list_store_clear (sess->res->user_model); +} + +static void +userlist_dnd_drop (GtkTreeView *widget, GdkDragContext *context, + gint x, gint y, GtkSelectionData *selection_data, + guint info, guint ttime, gpointer userdata) +{ + struct User *user; + gchar *data; + GtkTreePath *path; + GtkTreeModel *model; + GtkTreeIter iter; + + if (!gtk_tree_view_get_path_at_pos (widget, x, y, &path, NULL, NULL, NULL)) + return; + + model = gtk_tree_view_get_model (widget); + if (!gtk_tree_model_get_iter (model, &iter, path)) + return; + gtk_tree_model_get (model, &iter, COL_USER, &user, -1); + + data = (char *)gtk_selection_data_get_data (selection_data); + + if (data) + mg_dnd_drop_file (current_sess, user->nick, data); +} + +static gboolean +userlist_dnd_motion (GtkTreeView *widget, GdkDragContext *context, gint x, + gint y, guint ttime, gpointer tree) +{ + GtkTreePath *path; + GtkTreeSelection *sel; + + if (!tree) + return FALSE; + + if (gtk_tree_view_get_path_at_pos (widget, x, y, &path, NULL, NULL, NULL)) + { + sel = gtk_tree_view_get_selection (widget); + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + } + + return FALSE; +} + +static gboolean +userlist_dnd_leave (GtkTreeView *widget, GdkDragContext *context, guint ttime) +{ + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (widget)); + return TRUE; +} + +static int +userlist_alpha_cmp (GtkTreeModel *model, GtkTreeIter *iter_a, GtkTreeIter *iter_b, gpointer userdata) +{ + struct User *user_a, *user_b; + + gtk_tree_model_get (model, iter_a, COL_USER, &user_a, -1); + gtk_tree_model_get (model, iter_b, COL_USER, &user_b, -1); + + return nick_cmp_alpha (user_a, user_b, ((session*)userdata)->server); +} + +static int +userlist_ops_cmp (GtkTreeModel *model, GtkTreeIter *iter_a, GtkTreeIter *iter_b, gpointer userdata) +{ + struct User *user_a, *user_b; + + gtk_tree_model_get (model, iter_a, COL_USER, &user_a, -1); + gtk_tree_model_get (model, iter_b, COL_USER, &user_b, -1); + + return nick_cmp_az_ops (((session*)userdata)->server, user_a, user_b); +} + +GtkListStore * +userlist_create_model (session *sess) +{ + GtkListStore *store; + GtkTreeIterCompareFunc cmp_func; + GtkSortType sort_type; + + store = gtk_list_store_new (5, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_POINTER, GDK_TYPE_COLOR); + + switch (prefs.hex_gui_ulist_sort) + { + case 0: + cmp_func = userlist_ops_cmp; + sort_type = GTK_SORT_ASCENDING; + break; + case 1: + cmp_func = userlist_alpha_cmp; + sort_type = GTK_SORT_ASCENDING; + break; + case 2: + cmp_func = userlist_ops_cmp; + sort_type = GTK_SORT_DESCENDING; + break; + case 3: + cmp_func = userlist_alpha_cmp; + sort_type = GTK_SORT_DESCENDING; + break; + default: + /* No sorting */ + gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE(store), NULL, NULL, NULL); + return store; + } + + gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE(store), cmp_func, sess, NULL); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(store), + GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, sort_type); + + return store; +} + +static void +userlist_add_columns (GtkTreeView * treeview) +{ + GtkCellRenderer *renderer; + + /* icon column */ + renderer = gtk_cell_renderer_pixbuf_new (); + if (prefs.hex_gui_compact) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "pixbuf", 0, NULL); + + /* nick column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.hex_gui_compact) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "text", 1, "foreground-gdk", 4, NULL); + + if (prefs.hex_gui_ulist_show_hosts) + { + /* hostname column */ + renderer = gtk_cell_renderer_text_new (); + if (prefs.hex_gui_compact) + g_object_set (G_OBJECT (renderer), "ypad", 0, NULL); + gtk_cell_renderer_text_set_fixed_height_from_font (GTK_CELL_RENDERER_TEXT (renderer), 1); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), + -1, NULL, renderer, + "text", 2, NULL); + } +} + +static gint +userlist_click_cb (GtkWidget *widget, GdkEventButton *event, gpointer userdata) +{ + char **nicks; + int i; + GtkTreeSelection *sel; + GtkTreePath *path; + + if (!event) + return FALSE; + + if (!(event->state & STATE_CTRL) && + event->type == GDK_2BUTTON_PRESS && prefs.hex_gui_ulist_doubleclick[0]) + { + nicks = userlist_selection_list (widget, &i); + if (nicks) + { + nick_command_parse (current_sess, prefs.hex_gui_ulist_doubleclick, nicks[0], + nicks[0]); + while (i) + { + i--; + g_free (nicks[i]); + } + g_free (nicks); + } + return TRUE; + } + + if (event->button == 3) + { + /* do we have a multi-selection? */ + nicks = userlist_selection_list (widget, &i); + if (nicks && i > 1) + { + menu_nickmenu (current_sess, event, nicks[0], i); + while (i) + { + i--; + g_free (nicks[i]); + } + g_free (nicks); + return TRUE; + } + if (nicks) + { + g_free (nicks[0]); + g_free (nicks); + } + + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); + if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget), + event->x, event->y, &path, 0, 0, 0)) + { + gtk_tree_selection_unselect_all (sel); + gtk_tree_selection_select_path (sel, path); + gtk_tree_path_free (path); + nicks = userlist_selection_list (widget, &i); + if (nicks) + { + menu_nickmenu (current_sess, event, nicks[0], i); + while (i) + { + i--; + g_free (nicks[i]); + } + g_free (nicks); + } + } else + { + gtk_tree_selection_unselect_all (sel); + } + + return TRUE; + } + + return FALSE; +} + +static gboolean +userlist_key_cb (GtkWidget *wid, GdkEventKey *evt, gpointer userdata) +{ + if (evt->keyval >= GDK_KEY_asterisk && evt->keyval <= GDK_KEY_z) + { + /* dirty trick to avoid auto-selection */ + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, FALSE); + gtk_widget_grab_focus (current_sess->gui->input_box); + SPELL_ENTRY_SET_EDITABLE (current_sess->gui->input_box, TRUE); + gtk_widget_event (current_sess->gui->input_box, (GdkEvent *)evt); + return TRUE; + } + + return FALSE; +} + +GtkWidget * +userlist_create (GtkWidget *box) +{ + GtkWidget *sw, *treeview; + static const GtkTargetEntry dnd_dest_targets[] = + { + {"text/uri-list", 0, 1}, + {"HEXCHAT_CHANVIEW", GTK_TARGET_SAME_APP, 75 } + }; + static const GtkTargetEntry dnd_src_target[] = + { + {"HEXCHAT_USERLIST", GTK_TARGET_SAME_APP, 75 } + }; + + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), + GTK_SHADOW_ETCHED_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + prefs.hex_gui_ulist_show_hosts ? + GTK_POLICY_AUTOMATIC : + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + gtk_box_pack_start (GTK_BOX (box), sw, TRUE, TRUE, 0); + gtk_widget_show (sw); + + treeview = gtk_tree_view_new (); + gtk_widget_set_name (treeview, "hexchat-userlist"); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE); + gtk_tree_selection_set_mode (gtk_tree_view_get_selection + (GTK_TREE_VIEW (treeview)), + GTK_SELECTION_MULTIPLE); + + /* set up drops */ + gtk_drag_dest_set (treeview, GTK_DEST_DEFAULT_ALL, dnd_dest_targets, 2, + GDK_ACTION_MOVE | GDK_ACTION_COPY | GDK_ACTION_LINK); + gtk_drag_source_set (treeview, GDK_BUTTON1_MASK, dnd_src_target, 1, GDK_ACTION_MOVE); + + /* file DND (for DCC) */ + g_signal_connect (G_OBJECT (treeview), "drag_motion", + G_CALLBACK (userlist_dnd_motion), treeview); + g_signal_connect (G_OBJECT (treeview), "drag_leave", + G_CALLBACK (userlist_dnd_leave), 0); + g_signal_connect (G_OBJECT (treeview), "drag_data_received", + G_CALLBACK (userlist_dnd_drop), treeview); + + g_signal_connect (G_OBJECT (treeview), "button_press_event", + G_CALLBACK (userlist_click_cb), 0); + g_signal_connect (G_OBJECT (treeview), "key_press_event", + G_CALLBACK (userlist_key_cb), 0); + + /* tree/chanview DND */ + g_signal_connect (G_OBJECT (treeview), "drag_begin", + G_CALLBACK (mg_drag_begin_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_drop", + G_CALLBACK (mg_drag_drop_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_motion", + G_CALLBACK (mg_drag_motion_cb), NULL); + g_signal_connect (G_OBJECT (treeview), "drag_end", + G_CALLBACK (mg_drag_end_cb), NULL); + + userlist_add_columns (GTK_TREE_VIEW (treeview)); + + gtk_container_add (GTK_CONTAINER (sw), treeview); + gtk_widget_show (treeview); + + return treeview; +} + +void +userlist_show (session *sess) +{ + gtk_tree_view_set_model (GTK_TREE_VIEW (sess->gui->user_tree), + GTK_TREE_MODEL(sess->res->user_model)); +} + +void +fe_uselect (session *sess, char *word[], int do_clear, int scroll_to) +{ + int thisname; + char *name; + GtkTreeIter iter; + GtkTreeView *treeview = GTK_TREE_VIEW (sess->gui->user_tree); + GtkTreeModel *model = gtk_tree_view_get_model (treeview); + GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview); + struct User *row_user; + + if (gtk_tree_model_get_iter_first (model, &iter)) + { + if (do_clear) + gtk_tree_selection_unselect_all (selection); + + do + { + if (*word[0]) + { + gtk_tree_model_get (model, &iter, COL_USER, &row_user, -1); + thisname = 0; + while ( *(name = word[thisname++]) ) + { + if (sess->server->p_cmp (row_user->nick, name) == 0) + { + gtk_tree_selection_select_iter (selection, &iter); + if (scroll_to) + scroll_to_iter (&iter, treeview, model); + break; + } + } + } + + } + while (gtk_tree_model_iter_next (model, &iter)); + } +} diff --git a/src/fe-gtk/userlistgui.h b/src/fe-gtk/userlistgui.h new file mode 100644 index 0000000000000000000000000000000000000000..e24f2ebc1a6a54b26cf330ef9f1b34a9a1e2b4f7 --- /dev/null +++ b/src/fe-gtk/userlistgui.h @@ -0,0 +1,32 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_USERLISTGUI_H +#define HEXCHAT_USERLISTGUI_H + +void userlist_set_value (GtkWidget *treeview, gfloat val); +gfloat userlist_get_value (GtkWidget *treeview); +GtkWidget *userlist_create (GtkWidget *box); +GtkListStore *userlist_create_model (session *sess); +void userlist_show (session *sess); +void userlist_select (session *sess, char *name); +char **userlist_selection_list (GtkWidget *widget, int *num_ret); +GdkPixbuf *get_user_icon (server *serv, struct User *user); + +#endif diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c new file mode 100644 index 0000000000000000000000000000000000000000..be978f22079432b9e14b419e06d0885c06eb8d51 --- /dev/null +++ b/src/fe-gtk/xtext.c @@ -0,0 +1,5077 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * ========================================================================= + * + * xtext, the text widget used by X-Chat. + * By Peter Zelezny <zed@xchat.org>. + * + */ + +#define GDK_MULTIHEAD_SAFE +#define MARGIN 2 /* dont touch. */ +#define REFRESH_TIMEOUT 20 +#define WORDWRAP_LIMIT 24 + +#include <string.h> +#include <ctype.h> +#include <stdlib.h> +#include <time.h> + +#include "config.h" +#include "../common/hexchat.h" +#include "../common/fe.h" +#include "../common/util.h" +#include "../common/hexchatc.h" +#include "../common/url.h" + +#ifdef WIN32 +#include "marshal.h" +#else +#include "../common/marshal.h" +#endif + +#include "fe-gtk.h" +#include "xtext.h" +#include "fkeys.h" + +#define charlen(str) g_utf8_skip[*(guchar *)(str)] + +#ifdef WIN32 +#include <windows.h> +#include <io.h> +#include <gdk/gdk.h> +#include <gdk/gdkwin32.h> +#else +#include <unistd.h> +#ifdef GDK_WINDOWING_X11 +#include <gdk/gdkx.h> +#endif +#endif + +/* is delimiter */ +#define is_del(c) \ + (c == ' ' || c == '\n' || c == '>' || c == '<' || c == 0) + +/* force scrolling off */ +#define dontscroll(buf) (buf)->last_pixel_pos = 0x7fffffff + +static GtkWidgetClass *parent_class = NULL; + +struct textentry +{ + struct textentry *next; + struct textentry *prev; + unsigned char *str; + time_t stamp; + gint16 str_width; + gint16 str_len; + gint16 mark_start; + gint16 mark_end; + gint16 indent; + gint16 left_len; + GSList *slp; + GSList *sublines; + guchar tag; + guchar pad1; + guchar pad2; /* 32-bit align : 44 bytes total */ + GList *marks; /* List of found strings */ +}; + +enum +{ + WORD_CLICK, + SET_SCROLL_ADJUSTMENTS, + LAST_SIGNAL +}; + +/* values for selection info */ +enum +{ + TARGET_UTF8_STRING, + TARGET_STRING, + TARGET_TEXT, + TARGET_COMPOUND_TEXT +}; + +static guint xtext_signals[LAST_SIGNAL]; + +char *nocasestrstr (const char *text, const char *tofind); /* util.c */ +int xtext_get_stamp_str (time_t, char **); +static void gtk_xtext_render_page (GtkXText * xtext); +static void gtk_xtext_calc_lines (xtext_buffer *buf, int); +static gboolean gtk_xtext_is_selecting (GtkXText *xtext); +static char *gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret); +static textentry *gtk_xtext_nth (GtkXText *xtext, int line, int *subline); +static void gtk_xtext_adjustment_changed (GtkAdjustment * adj, + GtkXText * xtext); +static void gtk_xtext_scroll_adjustments (GtkXText *xtext, GtkAdjustment *hadj, + GtkAdjustment *vadj); +static int gtk_xtext_render_ents (GtkXText * xtext, textentry *, textentry *); +static void gtk_xtext_recalc_widths (xtext_buffer *buf, int); +static void gtk_xtext_fix_indent (xtext_buffer *buf); +static int gtk_xtext_find_subline (GtkXText *xtext, textentry *ent, int line); +/* static char *gtk_xtext_conv_color (unsigned char *text, int len, int *newlen); */ +/* For use by gtk_xtext_strip_color() and its callers -- */ +struct offlen_s { + guint16 off; + guint16 len; + guint16 emph; + guint16 width; +}; +typedef struct offlen_s offlen_t; +static unsigned char * +gtk_xtext_strip_color (unsigned char *text, int len, unsigned char *outbuf, + int *newlen, GSList **slp, int strip_hidden); +static gboolean gtk_xtext_check_ent_visibility (GtkXText * xtext, textentry *find_ent, int add); +static int gtk_xtext_render_page_timeout (GtkXText * xtext); +static int gtk_xtext_search_offset (xtext_buffer *buf, textentry *ent, unsigned int off); +static GList * gtk_xtext_search_textentry (xtext_buffer *, textentry *); +static void gtk_xtext_search_textentry_add (xtext_buffer *, textentry *, GList *, gboolean); +static void gtk_xtext_search_textentry_del (xtext_buffer *, textentry *); +static void gtk_xtext_search_textentry_fini (gpointer, gpointer); +static void gtk_xtext_search_fini (xtext_buffer *); +static gboolean gtk_xtext_search_init (xtext_buffer *buf, const gchar *text, gtk_xtext_search_flags flags, GError **perr); +static char * gtk_xtext_get_word (GtkXText * xtext, int x, int y, textentry ** ret_ent, int *ret_off, int *ret_len, GSList **slp); + +#define xtext_draw_bg(xt,x,y,w,h) gdk_draw_rectangle(xt->draw_buf, xt->bgc, 1, x, y, w, h); + +/* ======================================= */ +/* ============ PANGO BACKEND ============ */ +/* ======================================= */ + +#define EMPH_ITAL 1 +#define EMPH_BOLD 2 +#define EMPH_HIDDEN 4 +static PangoAttrList *attr_lists[4]; +static int fontwidths[4][128]; + +static PangoAttribute * +xtext_pango_attr (PangoAttribute *attr) +{ + attr->start_index = PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING; + attr->end_index = PANGO_ATTR_INDEX_TO_TEXT_END; + return attr; +} + +static void +xtext_pango_init (GtkXText *xtext) +{ + size_t i; + int j; + char buf[2] = "\000"; + + if (attr_lists[0]) + { + for (i = 0; i < (EMPH_ITAL | EMPH_BOLD); i++) + pango_attr_list_unref (attr_lists[i]); + } + + for (i = 0; i < sizeof attr_lists / sizeof attr_lists[0]; i++) + { + attr_lists[i] = pango_attr_list_new (); + switch (i) + { + case 0: /* Roman */ + break; + case EMPH_ITAL: /* Italic */ + pango_attr_list_insert (attr_lists[i], + xtext_pango_attr (pango_attr_style_new (PANGO_STYLE_ITALIC))); + break; + case EMPH_BOLD: /* Bold */ + pango_attr_list_insert (attr_lists[i], + xtext_pango_attr (pango_attr_weight_new (PANGO_WEIGHT_BOLD))); + break; + case EMPH_ITAL | EMPH_BOLD: /* Italic Bold */ + pango_attr_list_insert (attr_lists[i], + xtext_pango_attr (pango_attr_style_new (PANGO_STYLE_ITALIC))); + pango_attr_list_insert (attr_lists[i], + xtext_pango_attr (pango_attr_weight_new (PANGO_WEIGHT_BOLD))); + break; + } + + /* Now initialize fontwidths[i] */ + pango_layout_set_attributes (xtext->layout, attr_lists[i]); + for (j = 0; j < 128; j++) + { + buf[0] = j; + pango_layout_set_text (xtext->layout, buf, 1); + pango_layout_get_pixel_size (xtext->layout, &fontwidths[i][j], NULL); + } + } + xtext->space_width = fontwidths[0][' ']; +} + +static void +backend_font_close (GtkXText *xtext) +{ + pango_font_description_free (xtext->font->font); +} + +static void +backend_init (GtkXText *xtext) +{ + if (xtext->layout == NULL) + { + xtext->layout = gtk_widget_create_pango_layout (GTK_WIDGET (xtext), 0); + if (xtext->font) + pango_layout_set_font_description (xtext->layout, xtext->font->font); + } +} + +static void +backend_deinit (GtkXText *xtext) +{ + if (xtext->layout) + { + g_object_unref (xtext->layout); + xtext->layout = NULL; + } +} + +static PangoFontDescription * +backend_font_open_real (char *name) +{ + PangoFontDescription *font; + + font = pango_font_description_from_string (name); + if (font && pango_font_description_get_size (font) == 0) + { + pango_font_description_free (font); + font = pango_font_description_from_string ("sans 11"); + } + if (!font) + font = pango_font_description_from_string ("sans 11"); + + return font; +} + +static void +backend_font_open (GtkXText *xtext, char *name) +{ + PangoLanguage *lang; + PangoContext *context; + PangoFontMetrics *metrics; + + xtext->font = &xtext->pango_font; + xtext->font->font = backend_font_open_real (name); + if (!xtext->font->font) + { + xtext->font = NULL; + return; + } + + backend_init (xtext); + pango_layout_set_font_description (xtext->layout, xtext->font->font); + xtext_pango_init (xtext); + + /* vte does it this way */ + context = gtk_widget_get_pango_context (GTK_WIDGET (xtext)); + lang = pango_context_get_language (context); + metrics = pango_context_get_metrics (context, xtext->font->font, lang); + xtext->font->ascent = pango_font_metrics_get_ascent (metrics) / PANGO_SCALE; + xtext->font->descent = pango_font_metrics_get_descent (metrics) / PANGO_SCALE; + + /* + * In later versions of pango, a font's height should be calculated like + * this to account for line gap; a typical symptom of not doing so is + * cutting off the underscore on some fonts. + */ +#if PANGO_VERSION_CHECK(1, 44, 0) + xtext->fontsize = pango_font_metrics_get_height (metrics) / PANGO_SCALE + 1; + + if (xtext->fontsize == 0) + xtext->fontsize = xtext->font->ascent + xtext->font->descent; +#else + xtext->fontsize = xtext->font->ascent + xtext->font->descent; +#endif + + pango_font_metrics_unref (metrics); +} + +static int +backend_get_text_width_emph (GtkXText *xtext, guchar *str, int len, int emphasis) +{ + int width; + int deltaw; + int mbl; + + if (*str == 0) + return 0; + + if ((emphasis & EMPH_HIDDEN)) + return 0; + emphasis &= (EMPH_ITAL | EMPH_BOLD); + + width = 0; + pango_layout_set_attributes (xtext->layout, attr_lists[emphasis]); + while (len > 0) + { + mbl = charlen(str); + if (*str < 128) + deltaw = fontwidths[emphasis][*str]; + else + { + pango_layout_set_text (xtext->layout, str, mbl); + pango_layout_get_pixel_size (xtext->layout, &deltaw, NULL); + } + width += deltaw; + str += mbl; + len -= mbl; + } + + return width; +} + +static int +backend_get_text_width_slp (GtkXText *xtext, guchar *str, GSList *slp) +{ + int width = 0; + + while (slp) + { + offlen_t *meta; + + meta = slp->data; + width += backend_get_text_width_emph (xtext, str, meta->len, meta->emph); + str += meta->len; + slp = g_slist_next (slp); + } + + return width; +} + +/* simplified version of gdk_draw_layout_line_with_colors() */ + +static void +xtext_draw_layout_line (GdkDrawable *drawable, + GdkGC *gc, + gint x, + gint y, + PangoLayoutLine *line) +{ + GSList *tmp_list = line->runs; + PangoRectangle logical_rect; + gint x_off = 0; + + while (tmp_list) + { + PangoLayoutRun *run = tmp_list->data; + + pango_glyph_string_extents (run->glyphs, run->item->analysis.font, + NULL, &logical_rect); + + gdk_draw_glyphs (drawable, gc, run->item->analysis.font, + x + x_off / PANGO_SCALE, y, run->glyphs); + + x_off += logical_rect.width; + tmp_list = tmp_list->next; + } +} + +static void +backend_draw_text_emph (GtkXText *xtext, int dofill, GdkGC *gc, int x, int y, + char *str, int len, int str_width, int emphasis) +{ + GdkGCValues val; + GdkColor col; + PangoLayoutLine *line; + + pango_layout_set_attributes (xtext->layout, attr_lists[emphasis]); + pango_layout_set_text (xtext->layout, str, len); + + if (dofill) + { + gdk_gc_get_values (gc, &val); + col.pixel = val.background.pixel; + gdk_gc_set_foreground (gc, &col); + gdk_draw_rectangle (xtext->draw_buf, gc, 1, x, y - + xtext->font->ascent, str_width, xtext->fontsize); + col.pixel = val.foreground.pixel; + gdk_gc_set_foreground (gc, &col); + } + + line = pango_layout_get_lines (xtext->layout)->data; + + xtext_draw_layout_line (xtext->draw_buf, gc, x, y, line); +} + +static void +xtext_set_fg (GtkXText *xtext, GdkGC *gc, int index) +{ + gdk_gc_set_foreground (gc, &xtext->palette[index]); +} + +static void +xtext_set_bg (GtkXText *xtext, GdkGC *gc, int index) +{ + gdk_gc_set_background (gc, &xtext->palette[index]); +} + +static void +gtk_xtext_init (GtkXText * xtext) +{ + xtext->pixmap = NULL; + xtext->io_tag = 0; + xtext->add_io_tag = 0; + xtext->scroll_tag = 0; + xtext->max_lines = 0; + xtext->col_back = XTEXT_BG; + xtext->col_fore = XTEXT_FG; + xtext->nc = 0; + xtext->pixel_offset = 0; + xtext->underline = FALSE; + xtext->strikethrough = FALSE; + xtext->hidden = FALSE; + xtext->font = NULL; + xtext->layout = NULL; + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + xtext->ts_x = 0; + xtext->ts_y = 0; + xtext->clip_x = 0; + xtext->clip_x2 = 1000000; + xtext->clip_y = 0; + xtext->clip_y2 = 1000000; + xtext->urlcheck_function = NULL; + xtext->color_paste = FALSE; + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + xtext->render_hilights_only = FALSE; + xtext->un_hilight = FALSE; + xtext->recycle = FALSE; + xtext->dont_render = FALSE; + xtext->dont_render2 = FALSE; + gtk_xtext_scroll_adjustments (xtext, NULL, NULL); + + { + static const GtkTargetEntry targets[] = { + { "UTF8_STRING", 0, TARGET_UTF8_STRING }, + { "STRING", 0, TARGET_STRING }, + { "TEXT", 0, TARGET_TEXT }, + { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT } + }; + static const gint n_targets = sizeof (targets) / sizeof (targets[0]); + + gtk_selection_add_targets (GTK_WIDGET (xtext), GDK_SELECTION_PRIMARY, + targets, n_targets); + } +} + +static void +gtk_xtext_adjustment_set (xtext_buffer *buf, int fire_signal) +{ + GtkAdjustment *adj = buf->xtext->adj; + + if (buf->xtext->buffer == buf) + { + adj->lower = 0; + adj->upper = buf->num_lines; + + if (adj->upper == 0) + adj->upper = 1; + + adj->page_size = GTK_WIDGET (buf->xtext)->allocation.height / + buf->xtext->fontsize; + adj->page_increment = adj->page_size; + + if (adj->value > adj->upper - adj->page_size) + { + buf->scrollbar_down = TRUE; + adj->value = adj->upper - adj->page_size; + } + + if (adj->value < 0) + adj->value = 0; + + if (fire_signal) + gtk_adjustment_changed (adj); + } +} + +static gint +gtk_xtext_adjustment_timeout (GtkXText * xtext) +{ + gtk_xtext_render_page (xtext); + xtext->io_tag = 0; + return 0; +} + +static void +gtk_xtext_adjustment_changed (GtkAdjustment * adj, GtkXText * xtext) +{ + if (!gtk_widget_get_realized (GTK_WIDGET (xtext))) + return; + + if (xtext->buffer->old_value != xtext->adj->value) + { + if (xtext->adj->value >= xtext->adj->upper - xtext->adj->page_size) + xtext->buffer->scrollbar_down = TRUE; + else + xtext->buffer->scrollbar_down = FALSE; + + if (xtext->adj->value + 1 == xtext->buffer->old_value || + xtext->adj->value - 1 == xtext->buffer->old_value) /* clicked an arrow? */ + { + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + gtk_xtext_render_page (xtext); + } else + { + if (!xtext->io_tag) + xtext->io_tag = g_timeout_add (REFRESH_TIMEOUT, + (GSourceFunc) + gtk_xtext_adjustment_timeout, + xtext); + } + } + xtext->buffer->old_value = adj->value; +} + +GtkWidget * +gtk_xtext_new (GdkColor palette[], int separator) +{ + GtkXText *xtext; + + xtext = g_object_new (gtk_xtext_get_type (), NULL); + xtext->separator = separator; + xtext->wordwrap = TRUE; + xtext->buffer = gtk_xtext_buffer_new (xtext); + xtext->orig_buffer = xtext->buffer; + + gtk_widget_set_double_buffered (GTK_WIDGET (xtext), FALSE); + gtk_xtext_set_palette (xtext, palette); + + return GTK_WIDGET (xtext); +} + +static void +gtk_xtext_destroy (GtkObject * object) +{ + GtkXText *xtext = GTK_XTEXT (object); + + if (xtext->add_io_tag) + { + g_source_remove (xtext->add_io_tag); + xtext->add_io_tag = 0; + } + + if (xtext->scroll_tag) + { + g_source_remove (xtext->scroll_tag); + xtext->scroll_tag = 0; + } + + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + + if (xtext->pixmap) + { + g_object_unref (xtext->pixmap); + xtext->pixmap = NULL; + } + + if (xtext->font) + { + backend_font_close (xtext); + xtext->font = NULL; + } + + if (xtext->adj) + { + g_signal_handlers_disconnect_matched (G_OBJECT (xtext->adj), + G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, xtext); + /* gtk_signal_disconnect_by_data (G_OBJECT (xtext->adj), xtext);*/ + g_object_unref (G_OBJECT (xtext->adj)); + xtext->adj = NULL; + } + + if (xtext->bgc) + { + g_object_unref (xtext->bgc); + xtext->bgc = NULL; + } + + if (xtext->fgc) + { + g_object_unref (xtext->fgc); + xtext->fgc = NULL; + } + + if (xtext->light_gc) + { + g_object_unref (xtext->light_gc); + xtext->light_gc = NULL; + } + + if (xtext->dark_gc) + { + g_object_unref (xtext->dark_gc); + xtext->dark_gc = NULL; + } + + if (xtext->thin_gc) + { + g_object_unref (xtext->thin_gc); + xtext->thin_gc = NULL; + } + + if (xtext->marker_gc) + { + g_object_unref (xtext->marker_gc); + xtext->marker_gc = NULL; + } + + if (xtext->hand_cursor) + { + gdk_cursor_unref (xtext->hand_cursor); + xtext->hand_cursor = NULL; + } + + if (xtext->resize_cursor) + { + gdk_cursor_unref (xtext->resize_cursor); + xtext->resize_cursor = NULL; + } + + if (xtext->orig_buffer) + { + gtk_xtext_buffer_free (xtext->orig_buffer); + xtext->orig_buffer = NULL; + } + + if (GTK_OBJECT_CLASS (parent_class)->destroy) + (*GTK_OBJECT_CLASS (parent_class)->destroy) (object); +} + +static void +gtk_xtext_unrealize (GtkWidget * widget) +{ + backend_deinit (GTK_XTEXT (widget)); + + /* if there are still events in the queue, this'll avoid segfault */ + gdk_window_set_user_data (widget->window, NULL); + + if (parent_class->unrealize) + (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); +} + +static void +gtk_xtext_realize (GtkWidget * widget) +{ + GtkXText *xtext; + GdkWindowAttr attributes; + GdkGCValues val; + GdkColor col; + GdkColormap *cmap; + + gtk_widget_set_realized (widget, TRUE); + xtext = GTK_XTEXT (widget); + + attributes.x = widget->allocation.x; + attributes.y = widget->allocation.y; + attributes.width = widget->allocation.width; + attributes.height = widget->allocation.height; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.event_mask = gtk_widget_get_events (widget) | + GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + | GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK; + + cmap = gtk_widget_get_colormap (widget); + attributes.colormap = cmap; + attributes.visual = gtk_widget_get_visual (widget); + + widget->window = gdk_window_new (widget->parent->window, &attributes, + GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | + GDK_WA_COLORMAP); + + gdk_window_set_user_data (widget->window, widget); + + xtext->depth = gdk_window_get_visual (widget->window)->depth; + + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + + xtext->bgc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->fgc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->light_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->dark_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->thin_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext->marker_gc = gdk_gc_new_with_values (widget->window, &val, + GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + + /* for the separator bar (light) */ + col.red = 0xffff; col.green = 0xffff; col.blue = 0xffff; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->light_gc, &col); + + /* for the separator bar (dark) */ + col.red = 0x1111; col.green = 0x1111; col.blue = 0x1111; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->dark_gc, &col); + + /* for the separator bar (thinline) */ + col.red = 0x8e38; col.green = 0x8e38; col.blue = 0x9f38; + gdk_colormap_alloc_color (cmap, &col, FALSE, TRUE); + gdk_gc_set_foreground (xtext->thin_gc, &col); + + /* for the marker bar (marker) */ + gdk_gc_set_foreground (xtext->marker_gc, &xtext->palette[XTEXT_MARKER]); + + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + + /* draw directly to window */ + xtext->draw_buf = widget->window; + + if (xtext->pixmap) + { + gdk_gc_set_tile (xtext->bgc, xtext->pixmap); + gdk_gc_set_ts_origin (xtext->bgc, 0, 0); + xtext->ts_x = xtext->ts_y = 0; + gdk_gc_set_fill (xtext->bgc, GDK_TILED); + } + + xtext->hand_cursor = gdk_cursor_new_for_display (gdk_window_get_display (widget->window), GDK_HAND1); + xtext->resize_cursor = gdk_cursor_new_for_display (gdk_window_get_display (widget->window), GDK_LEFT_SIDE); + + gdk_window_set_back_pixmap (widget->window, NULL, FALSE); + widget->style = gtk_style_attach (widget->style, widget->window); + + backend_init (xtext); +} + +static void +gtk_xtext_size_request (GtkWidget * widget, GtkRequisition * requisition) +{ + requisition->width = 200; + requisition->height = 90; +} + +static void +gtk_xtext_size_allocate (GtkWidget * widget, GtkAllocation * allocation) +{ + GtkXText *xtext = GTK_XTEXT (widget); + int height_only = FALSE; + + if (allocation->width == xtext->buffer->window_width) + height_only = TRUE; + + widget->allocation = *allocation; + if (gtk_widget_get_realized (GTK_WIDGET(widget))) + { + xtext->buffer->window_width = allocation->width; + xtext->buffer->window_height = allocation->height; + + gdk_window_move_resize (widget->window, allocation->x, allocation->y, + allocation->width, allocation->height); + dontscroll (xtext->buffer); /* force scrolling off */ + if (!height_only) + gtk_xtext_calc_lines (xtext->buffer, FALSE); + else + { + xtext->buffer->pagetop_ent = NULL; + gtk_xtext_adjustment_set (xtext->buffer, FALSE); + } + if (xtext->buffer->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + } +} + +static int +gtk_xtext_selection_clear (xtext_buffer *buf) +{ + textentry *ent; + int ret = 0; + + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + ret = 1; + ent->mark_start = -1; + ent->mark_end = -1; + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + + return ret; +} + +static int +find_x (GtkXText *xtext, textentry *ent, int x, int subline, int indent) +{ + int xx = indent; + int suboff; + GSList *list; + GSList *hid = NULL; + offlen_t *meta; + int off, len, wid, mbl, mbw; + + /* Skip to the first chunk of stuff for the subline */ + if (subline > 0) + { + suboff = GPOINTER_TO_INT (g_slist_nth_data (ent->sublines, subline - 1)); + for (list = ent->slp; list; list = g_slist_next (list)) + { + meta = list->data; + if (meta->off + meta->len > suboff) + break; + } + } + else + { + suboff = 0; + list = ent->slp; + } + /* Step to the first character of the subline */ + if (list == NULL) + return 0; + meta = list->data; + off = meta->off; + len = meta->len; + if (meta->emph & EMPH_HIDDEN) + hid = list; + while (len > 0) + { + if (off >= suboff) + break; + mbl = charlen (ent->str + off); + len -= mbl; + off += mbl; + } + if (len < 0) + return ent->str_len; /* Bad char -- return max offset. */ + + /* Step through characters to find the one at the x position */ + wid = x - indent; + len = meta->len - (off - meta->off); + while (wid > 0) + { + mbl = charlen (ent->str + off); + mbw = backend_get_text_width_emph (xtext, ent->str + off, mbl, meta->emph); + wid -= mbw; + xx += mbw; + if (xx >= x) + return off; + len -= mbl; + off += mbl; + if (len <= 0) + { + if (meta->emph & EMPH_HIDDEN) + hid = list; + list = g_slist_next (list); + if (list == NULL) + return ent->str_len; + meta = list->data; + off = meta->off; + len = meta->len; + } + } + + /* If previous chunk exists and is marked hidden, regard it as unhidden */ + if (hid && list && hid->next == list) + { + meta = hid->data; + off = meta->off; + } + + /* Return offset of character at x within subline */ + return off; +} + +static int +gtk_xtext_find_x (GtkXText * xtext, int x, textentry * ent, int subline, + int line, int *out_of_bounds) +{ + int indent; + unsigned char *str; + + if (subline < 1) + indent = ent->indent; + else + indent = xtext->buffer->indent; + + if (line > xtext->adj->page_size || line < 0) + { + *out_of_bounds = TRUE; + return 0; + } + + str = ent->str + gtk_xtext_find_subline (xtext, ent, subline); + if (str >= ent->str + ent->str_len) + return 0; + + /* Let user select left a few pixels to grab hidden text e.g. '<' */ + if (x < indent - xtext->space_width) + { + *out_of_bounds = 1; + return (str - ent->str); + } + + *out_of_bounds = 0; + + return find_x (xtext, ent, x, subline, indent); +} + +static textentry * +gtk_xtext_find_char (GtkXText * xtext, int x, int y, int *off, int *out_of_bounds) +{ + textentry *ent; + int line; + int subline; + int outofbounds = FALSE; + + /* Adjust y value for negative rounding, double to int */ + if (y < 0) + y -= xtext->fontsize; + + line = (y + xtext->pixel_offset) / xtext->fontsize; + ent = gtk_xtext_nth (xtext, line + (int)xtext->adj->value, &subline); + if (!ent) + return NULL; + + if (off) + *off = gtk_xtext_find_x (xtext, x, ent, subline, line, &outofbounds); + if (out_of_bounds) + *out_of_bounds = outofbounds; + + return ent; +} + +static void +gtk_xtext_draw_sep (GtkXText * xtext, int y) +{ + int x, height; + GdkGC *light, *dark; + + if (y == -1) + { + y = 0; + height = GTK_WIDGET (xtext)->allocation.height; + } else + { + height = xtext->fontsize; + } + + /* draw the separator line */ + if (xtext->separator && xtext->buffer->indent) + { + light = xtext->light_gc; + dark = xtext->dark_gc; + + x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (x < 1) + return; + + if (xtext->thinline) + { + if (xtext->moving_separator) + gdk_draw_line (xtext->draw_buf, light, x, y, x, y + height); + else + gdk_draw_line (xtext->draw_buf, xtext->thin_gc, x, y, x, y + height); + } else + { + if (xtext->moving_separator) + { + gdk_draw_line (xtext->draw_buf, light, x - 1, y, x - 1, y + height); + gdk_draw_line (xtext->draw_buf, dark, x, y, x, y + height); + } else + { + gdk_draw_line (xtext->draw_buf, dark, x - 1, y, x - 1, y + height); + gdk_draw_line (xtext->draw_buf, light, x, y, x, y + height); + } + } + } +} + +static void +gtk_xtext_draw_marker (GtkXText * xtext, textentry * ent, int y) +{ + int x, width, render_y; + + if (!xtext->marker) return; + + if (xtext->buffer->marker_pos == ent) + { + render_y = y + xtext->font->descent; + } + else if (xtext->buffer->marker_pos == ent->next && ent->next != NULL) + { + render_y = y + xtext->font->descent + xtext->fontsize * g_slist_length (ent->sublines); + } + else return; + + x = 0; + width = GTK_WIDGET (xtext)->allocation.width; + + gdk_draw_line (xtext->draw_buf, xtext->marker_gc, x, render_y, x + width, render_y); + + if (gtk_window_has_toplevel_focus (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (xtext))))) + { + xtext->buffer->marker_seen = TRUE; + } +} + +static void +gtk_xtext_paint (GtkWidget *widget, GdkRectangle *area) +{ + GtkXText *xtext = GTK_XTEXT (widget); + textentry *ent_start, *ent_end; + int x, y; + + if (area->x == 0 && area->y == 0 && + area->height == widget->allocation.height && + area->width == widget->allocation.width) + { + dontscroll (xtext->buffer); /* force scrolling off */ + gtk_xtext_render_page (xtext); + return; + } + + ent_start = gtk_xtext_find_char (xtext, area->x, area->y, NULL, NULL); + if (!ent_start) + { + xtext_draw_bg (xtext, area->x, area->y, area->width, area->height); + goto xit; + } + ent_end = gtk_xtext_find_char (xtext, area->x + area->width, + area->y + area->height, NULL, NULL); + if (!ent_end) + ent_end = xtext->buffer->text_last; + + /* can't set a clip here, because fgc/bgc are used to draw the DB too */ +/* backend_set_clip (xtext, area);*/ + xtext->clip_x = area->x; + xtext->clip_x2 = area->x + area->width; + xtext->clip_y = area->y; + xtext->clip_y2 = area->y + area->height; + + /* y is the last pixel y location it rendered text at */ + y = gtk_xtext_render_ents (xtext, ent_start, ent_end); + + if (y && y < widget->allocation.height && !ent_end->next) + { + GdkRectangle rect; + + rect.x = 0; + rect.y = y; + rect.width = widget->allocation.width; + rect.height = widget->allocation.height - y; + + /* fill any space below the last line that also intersects with + the exposure rectangle */ + if (gdk_rectangle_intersect (area, &rect, &rect)) + { + xtext_draw_bg (xtext, rect.x, rect.y, rect.width, rect.height); + } + } + + /*backend_clear_clip (xtext);*/ + xtext->clip_x = 0; + xtext->clip_x2 = 1000000; + xtext->clip_y = 0; + xtext->clip_y2 = 1000000; + +xit: + x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (area->x <= x) + gtk_xtext_draw_sep (xtext, -1); +} + +static gboolean +gtk_xtext_expose (GtkWidget * widget, GdkEventExpose * event) +{ + gtk_xtext_paint (widget, &event->area); + return FALSE; +} + +/* render a selection that has extended or contracted upward */ + +static void +gtk_xtext_selection_up (GtkXText *xtext, textentry *start, textentry *end, + int start_offset) +{ + /* render all the complete lines */ + if (start->next == end) + gtk_xtext_render_ents (xtext, end, NULL); + else + gtk_xtext_render_ents (xtext, start->next, end); + + /* now the incomplete upper line */ + if (start == xtext->buffer->last_ent_start) + xtext->jump_in_offset = xtext->buffer->last_offset_start; + else + xtext->jump_in_offset = start_offset; + gtk_xtext_render_ents (xtext, start, NULL); + xtext->jump_in_offset = 0; +} + +/* render a selection that has extended or contracted downward */ + +static void +gtk_xtext_selection_down (GtkXText *xtext, textentry *start, textentry *end, + int end_offset) +{ + /* render all the complete lines */ + if (end->prev == start) + gtk_xtext_render_ents (xtext, start, NULL); + else + gtk_xtext_render_ents (xtext, start, end->prev); + + /* now the incomplete bottom line */ + if (end == xtext->buffer->last_ent_end) + xtext->jump_out_offset = xtext->buffer->last_offset_end; + else + xtext->jump_out_offset = end_offset; + gtk_xtext_render_ents (xtext, end, NULL); + xtext->jump_out_offset = 0; +} + +static void +gtk_xtext_selection_render (GtkXText *xtext, textentry *start_ent, textentry *end_ent) +{ + textentry *ent; + int start_offset = start_ent->mark_start; + int end_offset = end_ent->mark_end; + int start, end; + + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + + /* force an optimized render if there was no previous selection */ + if (xtext->buffer->last_ent_start == NULL && start_ent == end_ent) + { + xtext->buffer->last_offset_start = start_offset; + xtext->buffer->last_offset_end = end_offset; + goto lamejump; + } + + /* mark changed within 1 ent only? */ + if (xtext->buffer->last_ent_start == start_ent && + xtext->buffer->last_ent_end == end_ent) + { + /* when only 1 end of the selection is changed, we can really + save on rendering */ + if (xtext->buffer->last_offset_start == start_offset || + xtext->buffer->last_offset_end == end_offset) + { +lamejump: + ent = end_ent; + /* figure out where to start and end the rendering */ + if (end_offset > xtext->buffer->last_offset_end) + { + end = end_offset; + start = xtext->buffer->last_offset_end; + } else if (end_offset < xtext->buffer->last_offset_end) + { + end = xtext->buffer->last_offset_end; + start = end_offset; + } else if (start_offset < xtext->buffer->last_offset_start) + { + end = xtext->buffer->last_offset_start; + start = start_offset; + ent = start_ent; + } else if (start_offset > xtext->buffer->last_offset_start) + { + end = start_offset; + start = xtext->buffer->last_offset_start; + ent = start_ent; + } else + { /* WORD selects end up here */ + end = end_offset; + start = start_offset; + } + } else + { + /* LINE selects end up here */ + /* so which ent actually changed? */ + ent = start_ent; + if (xtext->buffer->last_offset_start == start_offset) + ent = end_ent; + + end = MAX (xtext->buffer->last_offset_end, end_offset); + start = MIN (xtext->buffer->last_offset_start, start_offset); + } + + xtext->jump_out_offset = end; + xtext->jump_in_offset = start; + gtk_xtext_render_ents (xtext, ent, NULL); + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + } + /* marking downward? */ + else if (xtext->buffer->last_ent_start == start_ent && + xtext->buffer->last_offset_start == start_offset) + { + /* find the range that covers both old and new selection */ + ent = start_ent; + while (ent) + { + if (ent == xtext->buffer->last_ent_end) + { + gtk_xtext_selection_down (xtext, ent, end_ent, end_offset); + /*gtk_xtext_render_ents (xtext, ent, end_ent);*/ + break; + } + if (ent == end_ent) + { + gtk_xtext_selection_down (xtext, ent, xtext->buffer->last_ent_end, end_offset); + /*gtk_xtext_render_ents (xtext, ent, xtext->buffer->last_ent_end);*/ + break; + } + ent = ent->next; + } + } + /* marking upward? */ + else if (xtext->buffer->last_ent_start != NULL && + xtext->buffer->last_ent_end == end_ent && + xtext->buffer->last_offset_end == end_offset) + { + ent = end_ent; + while (ent) + { + if (ent == start_ent && xtext->buffer->last_ent_start) + { + gtk_xtext_selection_up (xtext, xtext->buffer->last_ent_start, ent, start_offset); + /*gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, ent);*/ + break; + } + if (ent == xtext->buffer->last_ent_start) + { + gtk_xtext_selection_up (xtext, start_ent, ent, start_offset); + /*gtk_xtext_render_ents (xtext, start_ent, ent);*/ + break; + } + ent = ent->prev; + } + } + else /* cross-over mark (stretched or shrunk at both ends) */ + { + /* unrender the old mark */ + gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, xtext->buffer->last_ent_end); + /* now render the new mark, but skip overlaps */ + if (start_ent == xtext->buffer->last_ent_start) + { + /* if the new mark is a sub-set of the old, do nothing */ + if (start_ent != end_ent) + gtk_xtext_render_ents (xtext, start_ent->next, end_ent); + } else if (end_ent == xtext->buffer->last_ent_end) + { + /* if the new mark is a sub-set of the old, do nothing */ + if (start_ent != end_ent) + gtk_xtext_render_ents (xtext, start_ent, end_ent->prev); + } else + gtk_xtext_render_ents (xtext, start_ent, end_ent); + } + + xtext->buffer->last_ent_start = start_ent; + xtext->buffer->last_ent_end = end_ent; + xtext->buffer->last_offset_start = start_offset; + xtext->buffer->last_offset_end = end_offset; + + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; +} + +static void +gtk_xtext_selection_draw (GtkXText * xtext, GdkEventMotion * event, gboolean render) +{ + textentry *ent; + textentry *ent_end; + textentry *ent_start; + int offset_start = 0; + int offset_end = 0; + textentry *low_ent, *high_ent; + int low_x, low_y, low_offs; + int high_x, high_y, high_offs, high_len; + + if (xtext->buffer->text_first == NULL) + return; + + ent_start = gtk_xtext_find_char (xtext, xtext->select_start_x, xtext->select_start_y, &offset_start, NULL); + ent_end = gtk_xtext_find_char (xtext, xtext->select_end_x, xtext->select_end_y, &offset_end, NULL); + if (ent_start == NULL && ent_end == NULL) + return; + + if ((ent_start != ent_end && xtext->select_start_y > xtext->select_end_y) || /* different entries */ + (ent_start == ent_end && offset_start > offset_end)) /* same entry, different character offsets */ + { + /* marking up */ + low_ent = ent_end; + low_x = xtext->select_end_x; + low_y = xtext->select_end_y; + low_offs = offset_end; + high_ent = ent_start; + high_x = xtext->select_start_x; + high_y = xtext->select_start_y; + high_offs = offset_start; + } + else + { + /* marking down */ + low_ent = ent_start; + low_x = xtext->select_start_x; + low_y = xtext->select_start_y; + low_offs = offset_start; + high_ent = ent_end; + high_x = xtext->select_end_x; + high_y = xtext->select_end_y; + high_offs = offset_end; + } + if (low_ent == NULL) + { + low_ent = xtext->buffer->text_first; + low_offs = 0; + } + if (high_ent == NULL) + { + high_ent = xtext->buffer->text_last; + high_offs = high_ent->str_len; + } + + /* word selection */ + if (xtext->word_select) + { + /* a word selection cannot be started if the cursor is out of bounds in gtk_xtext_button_press */ + gtk_xtext_get_word (xtext, low_x, low_y, NULL, &low_offs, NULL, NULL); + + /* in case the cursor is out of bounds we keep offset_end from gtk_xtext_find_char and fix the length */ + if (gtk_xtext_get_word (xtext, high_x, high_y, NULL, &high_offs, &high_len, NULL) == NULL) + high_len = high_offs == high_ent->str_len? 0: -1; /* -1 for the space, 0 if at the end */ + high_offs += high_len; + if (low_y < 0) + low_offs = xtext->buffer->last_offset_start; + if (high_y > xtext->buffer->window_height) + high_offs = xtext->buffer->last_offset_end; + } + /* line/ent selection */ + else if (xtext->line_select) + { + low_offs = 0; + high_offs = high_ent->str_len; + } + /* character selection */ + else + { + if (low_y < 0) + low_offs = xtext->buffer->last_offset_start; + if (high_y > xtext->buffer->window_height) + high_offs = xtext->buffer->last_offset_end; + } + + /* set all the old mark_ fields to -1 */ + gtk_xtext_selection_clear (xtext->buffer); + + low_ent->mark_start = low_offs; + low_ent->mark_end = high_offs; + + if (low_ent != high_ent) + { + low_ent->mark_end = low_ent->str_len; + if (high_offs != 0) + { + high_ent->mark_start = 0; + high_ent->mark_end = high_offs; + } + + /* set all the mark_ fields of the ents within the selection */ + ent = low_ent->next; + while (ent && ent != high_ent) + { + ent->mark_start = 0; + ent->mark_end = ent->str_len; + ent = ent->next; + } + } + + if (render) + gtk_xtext_selection_render (xtext, low_ent, high_ent); +} + +static int +gtk_xtext_timeout_ms (GtkXText *xtext, int pixes) +{ + int apixes = abs(pixes); + + if (apixes < 6) return 100; + if (apixes < 12) return 50; + if (apixes < 20) return 20; + return 10; +} +static gint +gtk_xtext_scrolldown_timeout (GtkXText * xtext) +{ + int p_y, win_height; + xtext_buffer *buf = xtext->buffer; + GtkAdjustment *adj = xtext->adj; + + gdk_window_get_pointer (GTK_WIDGET (xtext)->window, 0, &p_y, 0); + win_height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (xtext))); + + if (buf->last_ent_end == NULL || /* If context has changed OR */ + buf->pagetop_ent == NULL || /* pagetop_ent is reset OR */ + p_y <= win_height || /* pointer not below bottom margin OR */ + adj->value >= adj->upper - adj->page_size) /* we're scrolled to bottom */ + { + xtext->scroll_tag = 0; + return 0; + } + + xtext->select_start_y -= xtext->fontsize; + xtext->select_start_adj++; + adj->value++; + gtk_adjustment_value_changed (adj); + gtk_xtext_selection_draw (xtext, NULL, TRUE); + gtk_xtext_render_ents (xtext, buf->pagetop_ent->next, buf->last_ent_end); + xtext->scroll_tag = g_timeout_add (gtk_xtext_timeout_ms (xtext, p_y - win_height), + (GSourceFunc) + gtk_xtext_scrolldown_timeout, + xtext); + + return 0; +} + +static gint +gtk_xtext_scrollup_timeout (GtkXText * xtext) +{ + int p_y; + xtext_buffer *buf = xtext->buffer; + GtkAdjustment *adj = xtext->adj; + int delta_y; + + gdk_window_get_pointer (GTK_WIDGET (xtext)->window, 0, &p_y, 0); + + if (buf->last_ent_start == NULL || /* If context has changed OR */ + buf->pagetop_ent == NULL || /* pagetop_ent is reset OR */ + p_y >= 0 || /* not above top margin OR */ + adj->value == 0) /* we're scrolled to the top */ + { + xtext->scroll_tag = 0; + return 0; + } + + if (adj->value < 0) + { + delta_y = adj->value * xtext->fontsize; + adj->value = 0; + } else { + delta_y = xtext->fontsize; + adj->value--; + } + xtext->select_start_y += delta_y; + xtext->select_start_adj = adj->value; + gtk_adjustment_value_changed (adj); + gtk_xtext_selection_draw (xtext, NULL, TRUE); + gtk_xtext_render_ents (xtext, buf->pagetop_ent->prev, buf->last_ent_end); + xtext->scroll_tag = g_timeout_add (gtk_xtext_timeout_ms (xtext, p_y), + (GSourceFunc) + gtk_xtext_scrollup_timeout, + xtext); + + return 0; +} + +static void +gtk_xtext_selection_update (GtkXText * xtext, GdkEventMotion * event, int p_y, gboolean render) +{ + int win_height; + int moved; + + if (xtext->scroll_tag) + { + return; + } + + win_height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (xtext))); + + /* selecting past top of window, scroll up! */ + if (p_y < 0 && xtext->adj->value >= 0) + { + gtk_xtext_scrollup_timeout (xtext); + } + + /* selecting past bottom of window, scroll down! */ + else if (p_y > win_height && + xtext->adj->value < (xtext->adj->upper - xtext->adj->page_size)) + { + gtk_xtext_scrolldown_timeout (xtext); + } + else + { + moved = (int)xtext->adj->value - xtext->select_start_adj; + xtext->select_start_y -= (moved * xtext->fontsize); + xtext->select_start_adj = xtext->adj->value; + gtk_xtext_selection_draw (xtext, event, render); + } +} + +static char * +gtk_xtext_get_word (GtkXText * xtext, int x, int y, textentry ** ret_ent, + int *ret_off, int *ret_len, GSList **slp) +{ + textentry *ent; + int offset; + unsigned char *word; + unsigned char *last, *end; + int len; + int out_of_bounds = 0; + int len_to_offset = 0; + + ent = gtk_xtext_find_char (xtext, x, y, &offset, &out_of_bounds); + if (ent == NULL || out_of_bounds || offset < 0 || offset >= ent->str_len) + return NULL; + + word = ent->str + offset; + while ((word = g_utf8_find_prev_char (ent->str, word))) + { + if (is_del (*word)) + { + word++; + len_to_offset--; + break; + } + len_to_offset += charlen (word); + } + if (!word) + word = ent->str; + + /* remove color characters from the length */ + gtk_xtext_strip_color (word, len_to_offset, xtext->scratch_buffer, &len_to_offset, NULL, FALSE); + + last = word; + end = ent->str + ent->str_len; + len = 0; + do + { + if (is_del (*last)) + break; + len += charlen (last); + last = g_utf8_find_next_char (last, end); + } + while (last); + + if (len > 0 && word[len-1]=='.') + len--; + + if (ret_ent) + *ret_ent = ent; + if (ret_off) + *ret_off = word - ent->str; + if (ret_len) + *ret_len = len; /* Length before stripping */ + + word = gtk_xtext_strip_color (word, len, xtext->scratch_buffer, NULL, slp, FALSE); + + /* avoid turning the cursor into a hand for non-url part of the word */ + if (xtext->urlcheck_function && xtext->urlcheck_function (GTK_WIDGET (xtext), word)) + { + int start, end; + url_last (&start, &end); + + /* make sure we're not before the start of the match */ + if (len_to_offset < start) + return NULL; + + /* and not after it */ + if (len_to_offset - start >= end - start) + return NULL; + } + + return word; +} + +static void +gtk_xtext_unrender_hilight (GtkXText *xtext) +{ + xtext->render_hilights_only = TRUE; + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + xtext->un_hilight = TRUE; + + gtk_xtext_render_ents (xtext, xtext->hilight_ent, NULL); + + xtext->render_hilights_only = FALSE; + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + xtext->un_hilight = FALSE; +} + +static gboolean +gtk_xtext_leave_notify (GtkWidget * widget, GdkEventCrossing * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + + if (xtext->cursor_hand) + { + gtk_xtext_unrender_hilight (xtext); + xtext->hilight_start = -1; + xtext->hilight_end = -1; + xtext->cursor_hand = FALSE; + gdk_window_set_cursor (widget->window, 0); + xtext->hilight_ent = NULL; + } + + if (xtext->cursor_resize) + { + gtk_xtext_unrender_hilight (xtext); + xtext->hilight_start = -1; + xtext->hilight_end = -1; + xtext->cursor_resize = FALSE; + gdk_window_set_cursor (widget->window, 0); + xtext->hilight_ent = NULL; + } + + return FALSE; +} + +/* check if we should mark time stamps, and if a redraw is needed */ + +static gboolean +gtk_xtext_check_mark_stamp (GtkXText *xtext, GdkModifierType mask) +{ + gboolean redraw = FALSE; + + if ((mask & STATE_SHIFT || prefs.hex_text_autocopy_stamp) + && (!prefs.hex_stamp_text || prefs.hex_text_indent)) + { + if (!xtext->mark_stamp) + { + redraw = TRUE; /* must redraw all */ + xtext->mark_stamp = TRUE; + } + } else + { + if (xtext->mark_stamp) + { + redraw = TRUE; /* must redraw all */ + xtext->mark_stamp = FALSE; + } + } + return redraw; +} + +static int +gtk_xtext_get_word_adjust (GtkXText *xtext, int x, int y, textentry **word_ent, int *offset, int *len) +{ + GSList *slp = NULL; + unsigned char *word; + int word_type = 0; + + word = gtk_xtext_get_word (xtext, x, y, word_ent, offset, len, &slp); + if (word) + { + int laststart, lastend; + + word_type = xtext->urlcheck_function (GTK_WIDGET (xtext), word); + if (word_type > 0) + { + if (url_last (&laststart, &lastend)) + { + int cumlen, startadj = 0, endadj = 0; + offlen_t *meta; + GSList *sl; + + for (sl = slp, cumlen = 0; sl; sl = g_slist_next (sl)) + { + meta = sl->data; + startadj = meta->off - cumlen; + cumlen += meta->len; + if (laststart < cumlen) + break; + } + for (sl = slp, cumlen = 0; sl; sl = g_slist_next (sl)) + { + meta = sl->data; + endadj = meta->off - cumlen; + cumlen += meta->len; + if (lastend < cumlen) + break; + } + laststart += startadj; + *offset += laststart; + *len = lastend + endadj - laststart; + } + } + } + g_slist_free_full (slp, g_free); + + return word_type; +} + +static gboolean +gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + GdkModifierType mask; + int redraw, tmp, x, y, offset, len, line_x; + textentry *word_ent; + int word_type; + + gdk_window_get_pointer (widget->window, &x, &y, &mask); + + if (xtext->moving_separator) + { + if (x < (3 * widget->allocation.width) / 5 && x > 15) + { + tmp = xtext->buffer->indent; + xtext->buffer->indent = x; + gtk_xtext_fix_indent (xtext->buffer); + if (tmp != xtext->buffer->indent) + { + gtk_xtext_recalc_widths (xtext->buffer, FALSE); + if (xtext->buffer->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + if (!xtext->io_tag) + xtext->io_tag = g_timeout_add (REFRESH_TIMEOUT, + (GSourceFunc) + gtk_xtext_adjustment_timeout, + xtext); + } + } + return FALSE; + } + + if (xtext->button_down) + { + redraw = gtk_xtext_check_mark_stamp (xtext, mask); + gtk_grab_add (widget); + /*gdk_pointer_grab (widget->window, TRUE, + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK, NULL, NULL, 0);*/ + xtext->select_end_x = x; + xtext->select_end_y = y; + gtk_xtext_selection_update (xtext, event, y, !redraw); + + /* user has pressed or released SHIFT, must redraw entire selection */ + if (redraw) + { + xtext->force_stamp = TRUE; + gtk_xtext_render_ents (xtext, xtext->buffer->last_ent_start, + xtext->buffer->last_ent_end); + xtext->force_stamp = FALSE; + } + return FALSE; + } + + if (xtext->separator && xtext->buffer->indent) + { + line_x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (line_x == x || line_x == x + 1 || line_x == x - 1) + { + if (!xtext->cursor_resize) + { + gdk_window_set_cursor (GTK_WIDGET (xtext)->window, + xtext->resize_cursor); + xtext->cursor_hand = FALSE; + xtext->cursor_resize = TRUE; + } + return FALSE; + } + } + + if (xtext->urlcheck_function == NULL) + return FALSE; + + word_type = gtk_xtext_get_word_adjust (xtext, x, y, &word_ent, &offset, &len); + if (word_type > 0) + { + if (!xtext->cursor_hand || + xtext->hilight_ent != word_ent || + xtext->hilight_start != offset || + xtext->hilight_end != offset + len) + { + if (!xtext->cursor_hand) + { + gdk_window_set_cursor (GTK_WIDGET (xtext)->window, + xtext->hand_cursor); + xtext->cursor_hand = TRUE; + xtext->cursor_resize = FALSE; + } + + /* un-render the old hilight */ + if (xtext->hilight_ent) + gtk_xtext_unrender_hilight (xtext); + + xtext->hilight_ent = word_ent; + xtext->hilight_start = offset; + xtext->hilight_end = offset + len; + + xtext->skip_border_fills = TRUE; + xtext->render_hilights_only = TRUE; + xtext->skip_stamp = TRUE; + + gtk_xtext_render_ents (xtext, word_ent, NULL); + + xtext->skip_border_fills = FALSE; + xtext->render_hilights_only = FALSE; + xtext->skip_stamp = FALSE; + } + return FALSE; + } + + gtk_xtext_leave_notify (widget, NULL); + + return FALSE; +} + +static void +gtk_xtext_set_clip_owner (GtkWidget * xtext, GdkEventButton * event) +{ + char *str; + int len; + + if (GTK_XTEXT (xtext)->selection_buffer && + GTK_XTEXT (xtext)->selection_buffer != GTK_XTEXT (xtext)->buffer) + gtk_xtext_selection_clear (GTK_XTEXT (xtext)->selection_buffer); + + GTK_XTEXT (xtext)->selection_buffer = GTK_XTEXT (xtext)->buffer; + + str = gtk_xtext_selection_get_text (GTK_XTEXT (xtext), &len); + if (str) + { + if (str[0]) + { + gtk_clipboard_set_text (gtk_widget_get_clipboard (xtext, GDK_SELECTION_CLIPBOARD), str, len); + + gtk_selection_owner_set (xtext, GDK_SELECTION_PRIMARY, event ? event->time : GDK_CURRENT_TIME); + gtk_selection_owner_set (xtext, GDK_SELECTION_SECONDARY, event ? event->time : GDK_CURRENT_TIME); + } + + g_free (str); + } +} + +void +gtk_xtext_copy_selection (GtkXText *xtext) +{ + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), NULL); +} + +static void +gtk_xtext_unselect (GtkXText *xtext) +{ + xtext_buffer *buf = xtext->buffer; + + xtext->skip_border_fills = TRUE; + xtext->skip_stamp = TRUE; + + xtext->jump_in_offset = buf->last_ent_start->mark_start; + /* just a single ent was marked? */ + if (buf->last_ent_start == buf->last_ent_end) + { + xtext->jump_out_offset = buf->last_ent_start->mark_end; + buf->last_ent_end = NULL; + } + + gtk_xtext_selection_clear (xtext->buffer); + + /* FIXME: use jump_out on multi-line selects too! */ + xtext->jump_in_offset = 0; + xtext->jump_out_offset = 0; + gtk_xtext_render_ents (xtext, buf->last_ent_start, buf->last_ent_end); + + xtext->skip_border_fills = FALSE; + xtext->skip_stamp = FALSE; + + xtext->buffer->last_ent_start = NULL; + xtext->buffer->last_ent_end = NULL; +} + +static gboolean +gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + unsigned char *word; + int old; + + if (xtext->moving_separator) + { + xtext->moving_separator = FALSE; + old = xtext->buffer->indent; + if (event->x < (4 * widget->allocation.width) / 5 && event->x > 15) + xtext->buffer->indent = event->x; + gtk_xtext_fix_indent (xtext->buffer); + if (xtext->buffer->indent != old) + { + gtk_xtext_recalc_widths (xtext->buffer, FALSE); + gtk_xtext_adjustment_set (xtext->buffer, TRUE); + gtk_xtext_render_page (xtext); + } else + gtk_xtext_draw_sep (xtext, -1); + return FALSE; + } + + if (event->button == 1) + { + xtext->button_down = FALSE; + if (xtext->scroll_tag) + { + g_source_remove (xtext->scroll_tag); + xtext->scroll_tag = 0; + } + + gtk_grab_remove (widget); + /*gdk_pointer_ungrab (0);*/ + + /* got a new selection? */ + if (xtext->buffer->last_ent_start) + { + xtext->color_paste = FALSE; + if (event->state & STATE_CTRL || prefs.hex_text_autocopy_color) + xtext->color_paste = TRUE; + if (prefs.hex_text_autocopy_text) + { + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } + } + + if (xtext->word_select || xtext->line_select) + { + xtext->word_select = FALSE; + xtext->line_select = FALSE; + return FALSE; + } + + if (xtext->select_start_x == event->x && + xtext->select_start_y == event->y && + xtext->buffer->last_ent_start) + { + gtk_xtext_unselect (xtext); + xtext->mark_stamp = FALSE; + return FALSE; + } + + if (!gtk_xtext_is_selecting (xtext)) + { + word = gtk_xtext_get_word (xtext, event->x, event->y, 0, 0, 0, 0); + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, word ? word : NULL, event); + } + } + + return FALSE; +} + +static gboolean +gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + GdkModifierType mask; + textentry *ent; + unsigned char *word; + int line_x, x, y, offset, len; + + gdk_window_get_pointer (widget->window, &x, &y, &mask); + + if (event->button == 3 || event->button == 2) /* right/middle click */ + { + word = gtk_xtext_get_word (xtext, x, y, 0, 0, 0, 0); + if (word) + { + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, + word, event); + } else + g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, + "", event); + return FALSE; + } + + if (event->button != 1) /* we only want left button */ + return FALSE; + + if (event->type == GDK_2BUTTON_PRESS) /* WORD select */ + { + gtk_xtext_check_mark_stamp (xtext, mask); + if (gtk_xtext_get_word (xtext, x, y, &ent, &offset, &len, 0)) + { + if (len == 0) + return FALSE; + gtk_xtext_selection_clear (xtext->buffer); + ent->mark_start = offset; + ent->mark_end = offset + len; + gtk_xtext_selection_render (xtext, ent, ent); + xtext->word_select = TRUE; + } + + return FALSE; + } + + if (event->type == GDK_3BUTTON_PRESS) /* LINE select */ + { + gtk_xtext_check_mark_stamp (xtext, mask); + if (gtk_xtext_get_word (xtext, x, y, &ent, 0, 0, 0)) + { + gtk_xtext_selection_clear (xtext->buffer); + ent->mark_start = 0; + ent->mark_end = ent->str_len; + gtk_xtext_selection_render (xtext, ent, ent); + xtext->line_select = TRUE; + } + + return FALSE; + } + + /* check if it was a separator-bar click */ + if (xtext->separator && xtext->buffer->indent) + { + line_x = xtext->buffer->indent - ((xtext->space_width + 1) / 2); + if (line_x == x || line_x == x + 1 || line_x == x - 1) + { + xtext->moving_separator = TRUE; + /* draw the separator line */ + gtk_xtext_draw_sep (xtext, -1); + return FALSE; + } + } + + xtext->button_down = TRUE; + xtext->select_start_x = x; + xtext->select_start_y = y; + xtext->select_start_adj = xtext->adj->value; + + return FALSE; +} + +/* another program has claimed the selection */ + +static gboolean +gtk_xtext_selection_kill (GtkXText *xtext, GdkEventSelection *event) +{ +#ifndef WIN32 + if (xtext->buffer->last_ent_start) + gtk_xtext_unselect (xtext); +#endif + return TRUE; +} + +static gboolean +gtk_xtext_is_selecting (GtkXText *xtext) +{ + textentry *ent; + xtext_buffer *buf; + + buf = xtext->selection_buffer; + if (!buf) + return FALSE; + + for (ent = buf->last_ent_start; ent; ent = ent->next) + { + if (ent->mark_start != -1 && ent->mark_end - ent->mark_start > 0) + return TRUE; + + if (ent == buf->last_ent_end) + break; + } + + return FALSE; +} + +static char * +gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret) +{ + textentry *ent; + char *txt; + char *pos; + char *stripped; + int len; + int first = TRUE; + xtext_buffer *buf; + + buf = xtext->selection_buffer; + if (!buf) + return NULL; + + /* first find out how much we need to malloc ... */ + len = 0; + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + { + /* include timestamp? */ + if (ent->mark_start == 0 && xtext->mark_stamp) + { + char *time_str; + int stamp_size = xtext_get_stamp_str (ent->stamp, &time_str); + g_free (time_str); + len += stamp_size; + } + + if (ent->mark_end - ent->mark_start > 0) + len += (ent->mark_end - ent->mark_start) + 1; + else + len++; + } + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + + if (len < 1) + return NULL; + + /* now allocate mem and copy buffer */ + pos = txt = g_malloc (len); + ent = buf->last_ent_start; + while (ent) + { + if (ent->mark_start != -1) + { + if (!first) + { + *pos = '\n'; + pos++; + } + first = FALSE; + if (ent->mark_end - ent->mark_start > 0) + { + /* include timestamp? */ + if (ent->mark_start == 0 && xtext->mark_stamp) + { + char *time_str; + int stamp_size = xtext_get_stamp_str (ent->stamp, &time_str); + memcpy (pos, time_str, stamp_size); + g_free (time_str); + pos += stamp_size; + } + + memcpy (pos, ent->str + ent->mark_start, + ent->mark_end - ent->mark_start); + pos += ent->mark_end - ent->mark_start; + } + } + if (ent == buf->last_ent_end) + break; + ent = ent->next; + } + *pos = 0; + + if (xtext->color_paste) + { + /*stripped = gtk_xtext_conv_color (txt, strlen (txt), &len);*/ + stripped = txt; + len = strlen (txt); + } + else + { + stripped = gtk_xtext_strip_color (txt, strlen (txt), NULL, &len, NULL, FALSE); + g_free (txt); + } + + *len_ret = len; + return stripped; +} + +/* another program is asking for our selection */ + +static void +gtk_xtext_selection_get (GtkWidget * widget, + GtkSelectionData * selection_data_ptr, + guint info, guint time) +{ + GtkXText *xtext = GTK_XTEXT (widget); + char *stripped; + guchar *new_text; + int len; + gsize glen; + + stripped = gtk_xtext_selection_get_text (xtext, &len); + if (!stripped) + return; + + switch (info) + { + case TARGET_UTF8_STRING: + /* it's already in utf8 */ + gtk_selection_data_set_text (selection_data_ptr, stripped, len); + break; + case TARGET_TEXT: + case TARGET_COMPOUND_TEXT: +#ifdef GDK_WINDOWING_X11 + { + GdkDisplay *display = gdk_window_get_display (widget->window); + GdkAtom encoding; + gint format; + gint new_length; + + gdk_x11_display_string_to_compound_text (display, stripped, &encoding, + &format, &new_text, &new_length); + gtk_selection_data_set (selection_data_ptr, encoding, format, + new_text, new_length); + gdk_x11_free_compound_text (new_text); + + } + break; +#endif + default: + new_text = g_locale_from_utf8 (stripped, len, NULL, &glen, NULL); + gtk_selection_data_set (selection_data_ptr, GDK_SELECTION_TYPE_STRING, + 8, new_text, glen); + g_free (new_text); + } + + g_free (stripped); +} + +static gboolean +gtk_xtext_scroll (GtkWidget *widget, GdkEventScroll *event) +{ + GtkXText *xtext = GTK_XTEXT (widget); + gfloat new_value; + + if (event->direction == GDK_SCROLL_UP) /* mouse wheel pageUp */ + { + new_value = xtext->adj->value - (xtext->adj->page_increment / 10); + if (new_value < xtext->adj->lower) + new_value = xtext->adj->lower; + gtk_adjustment_set_value (xtext->adj, new_value); + } + else if (event->direction == GDK_SCROLL_DOWN) /* mouse wheel pageDn */ + { + new_value = xtext->adj->value + (xtext->adj->page_increment / 10); + if (new_value > (xtext->adj->upper - xtext->adj->page_size)) + new_value = xtext->adj->upper - xtext->adj->page_size; + gtk_adjustment_set_value (xtext->adj, new_value); + } + + return FALSE; +} + +static void +gtk_xtext_scroll_adjustments (GtkXText *xtext, GtkAdjustment *hadj, GtkAdjustment *vadj) +{ + /* hadj is ignored entirely */ + + if (vadj) + g_return_if_fail (GTK_IS_ADJUSTMENT (vadj)); + else + vadj = GTK_ADJUSTMENT(gtk_adjustment_new (0, 0, 1, 1, 1, 1)); + + if (xtext->adj && (xtext->adj != vadj)) + { + g_signal_handlers_disconnect_by_func (xtext->adj, + gtk_xtext_adjustment_changed, + xtext); + g_object_unref (xtext->adj); + } + + if (xtext->adj != vadj) + { + xtext->adj = vadj; + g_object_ref_sink (xtext->adj); + + xtext->vc_signal_tag = g_signal_connect (xtext->adj, "value-changed", + G_CALLBACK (gtk_xtext_adjustment_changed), + xtext); + + gtk_xtext_adjustment_changed (xtext->adj, xtext); + } +} + +static void +gtk_xtext_class_init (GtkXTextClass * class) +{ + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkXTextClass *xtext_class; + + object_class = (GtkObjectClass *) class; + widget_class = (GtkWidgetClass *) class; + xtext_class = (GtkXTextClass *) class; + + parent_class = g_type_class_peek (gtk_widget_get_type ()); + + xtext_signals[WORD_CLICK] = + g_signal_new ("word_click", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkXTextClass, word_click), + NULL, NULL, + _hexchat_marshal_VOID__POINTER_POINTER, + G_TYPE_NONE, + 2, G_TYPE_POINTER, G_TYPE_POINTER); + xtext_signals[SET_SCROLL_ADJUSTMENTS] = + g_signal_new ("set_scroll_adjustments", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkXTextClass, set_scroll_adjustments), + NULL, NULL, + _hexchat_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, + 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); + + object_class->destroy = gtk_xtext_destroy; + + widget_class->realize = gtk_xtext_realize; + widget_class->unrealize = gtk_xtext_unrealize; + widget_class->size_request = gtk_xtext_size_request; + widget_class->size_allocate = gtk_xtext_size_allocate; + widget_class->button_press_event = gtk_xtext_button_press; + widget_class->button_release_event = gtk_xtext_button_release; + widget_class->motion_notify_event = gtk_xtext_motion_notify; + widget_class->selection_clear_event = (void *)gtk_xtext_selection_kill; + widget_class->selection_get = gtk_xtext_selection_get; + widget_class->expose_event = gtk_xtext_expose; + widget_class->scroll_event = gtk_xtext_scroll; + widget_class->leave_notify_event = gtk_xtext_leave_notify; + widget_class->set_scroll_adjustments_signal = xtext_signals[SET_SCROLL_ADJUSTMENTS]; + + xtext_class->word_click = NULL; + xtext_class->set_scroll_adjustments = gtk_xtext_scroll_adjustments; +} + +GType +gtk_xtext_get_type (void) +{ + static GType xtext_type = 0; + + if (!xtext_type) + { + static const GTypeInfo xtext_info = + { + sizeof (GtkXTextClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gtk_xtext_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GtkXText), + 0, /* n_preallocs */ + (GInstanceInitFunc) gtk_xtext_init, + }; + + xtext_type = g_type_register_static (GTK_TYPE_WIDGET, "GtkXText", + &xtext_info, 0); + } + + return xtext_type; +} + +/* strip MIRC colors and other attribs. */ + +/* CL: needs to strip hidden when called by gtk_xtext_text_width, but not when copying text */ + +typedef struct chunk_s { + GSList *slp; + int off1, len1, emph; + offlen_t meta; +} chunk_t; + +static void +xtext_do_chunk(chunk_t *c) +{ + offlen_t *meta; + + if (c->len1 == 0) + return; + + meta = g_new (offlen_t, 1); + meta->off = c->off1; + meta->len = c->len1; + meta->emph = c->emph; + meta->width = 0; + c->slp = g_slist_append (c->slp, meta); + + c->len1 = 0; +} + +static unsigned char * +gtk_xtext_strip_color (unsigned char *text, int len, unsigned char *outbuf, + int *newlen, GSList **slpp, int strip_hidden) +{ + chunk_t c; + int i = 0; + int rcol = 0, bgcol = 0; + int hidden = FALSE; + unsigned char *new_str; + unsigned char *text0 = text; + int mbl; /* multi-byte length */ + + if (outbuf == NULL) + new_str = g_malloc (len + 2); + else + new_str = outbuf; + + c.slp = NULL; + c.off1 = 0; + c.len1 = 0; + c.emph = 0; + while (len > 0) + { + mbl = charlen (text); + if (mbl > len) + goto bad_utf8; + + if (rcol > 0 && (isdigit (*text) || (*text == ',' && isdigit (text[1]) && !bgcol))) + { + if (text[1] != ',') rcol--; + if (*text == ',') + { + rcol = 2; + bgcol = 1; + } + } else + { + rcol = bgcol = 0; + switch (*text) + { + case ATTR_COLOR: + xtext_do_chunk (&c); + rcol = 2; + break; + case ATTR_BEEP: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_STRIKETHROUGH: + case ATTR_ITALICS: + xtext_do_chunk (&c); + if (*text == ATTR_RESET) + c.emph = 0; + if (*text == ATTR_ITALICS) + c.emph ^= EMPH_ITAL; + if (*text == ATTR_BOLD) + c.emph ^= EMPH_BOLD; + break; + case ATTR_HIDDEN: + xtext_do_chunk (&c); + c.emph ^= EMPH_HIDDEN; + hidden = !hidden; + break; + default: + if (strip_hidden == 2 || (!(hidden && strip_hidden))) + { + if (c.len1 == 0) + c.off1 = text - text0; + memcpy (new_str + i, text, mbl); + i += mbl; + c.len1 += mbl; + } + } + } + text += mbl; + len -= mbl; + } + +bad_utf8: /* Normal ending sequence, and give up if bad utf8 */ + xtext_do_chunk (&c); + + new_str[i] = 0; + + if (newlen != NULL) + *newlen = i; + + if (slpp) + *slpp = c.slp; + else + g_slist_free_full (c.slp, g_free); + + return new_str; +} + +/* gives width of a string, excluding the mIRC codes */ + +static int +gtk_xtext_text_width_ent (GtkXText *xtext, textentry *ent) +{ + unsigned char *new_buf; + GSList *slp0, *slp; + int width; + + if (ent->slp) + { + g_slist_free_full (ent->slp, g_free); + ent->slp = NULL; + } + + new_buf = gtk_xtext_strip_color (ent->str, ent->str_len, xtext->scratch_buffer, + NULL, &slp0, 2); + + width = backend_get_text_width_slp (xtext, new_buf, slp0); + ent->slp = slp0; + + for (slp = slp0; slp; slp = g_slist_next (slp)) + { + offlen_t *meta; + + meta = slp->data; + meta->width = backend_get_text_width_emph (xtext, ent->str + meta->off, meta->len, meta->emph); + } + return width; +} + +static int +gtk_xtext_text_width (GtkXText *xtext, unsigned char *text, int len) +{ + unsigned char *new_buf; + int new_len; + GSList *slp; + int width; + + new_buf = gtk_xtext_strip_color (text, len, xtext->scratch_buffer, + &new_len, &slp, !xtext->ignore_hidden); + + width = backend_get_text_width_slp (xtext, new_buf, slp); + g_slist_free_full (slp, g_free); + + return width; +} + +/* actually draw text to screen (one run with the same color/attribs) */ + +static int +gtk_xtext_render_flush (GtkXText * xtext, int x, int y, unsigned char *str, + int len, GdkGC *gc, int *emphasis) +{ + int str_width, dofill; + GdkDrawable *pix = NULL; + int dest_x = 0, dest_y = 0; + + if (xtext->dont_render || len < 1 || xtext->hidden) + return 0; + + str_width = backend_get_text_width_emph (xtext, str, len, *emphasis); + + if (xtext->dont_render2) + return str_width; + + /* roll-your-own clipping (avoiding XftDrawString is always good!) */ + if (x > xtext->clip_x2 || x + str_width < xtext->clip_x) + return str_width; + if (y - xtext->font->ascent > xtext->clip_y2 || (y - xtext->font->ascent) + xtext->fontsize < xtext->clip_y) + return str_width; + + if (xtext->render_hilights_only) + { + if (!xtext->in_hilight) /* is it a hilight prefix? */ + return str_width; + if (!xtext->un_hilight) /* doing a hilight? no need to draw the text */ + goto dounder; + } + + pix = gdk_pixmap_new (xtext->draw_buf, str_width, xtext->fontsize, xtext->depth); + if (pix) + { + dest_x = x; + dest_y = y - xtext->font->ascent; + + gdk_gc_set_ts_origin (xtext->bgc, xtext->ts_x - x, xtext->ts_y - dest_y); + + x = 0; + y = xtext->font->ascent; + xtext->draw_buf = pix; + } + + dofill = TRUE; + + /* backcolor is always handled by XDrawImageString */ + if (!xtext->backcolor && xtext->pixmap) + { + /* draw the background pixmap behind the text - CAUSES FLICKER HERE!! */ + xtext_draw_bg (xtext, x, y - xtext->font->ascent, str_width, + xtext->fontsize); + dofill = FALSE; /* already drawn the background */ + } + + backend_draw_text_emph (xtext, dofill, gc, x, y, str, len, str_width, *emphasis); + + if (pix) + { + GdkRectangle clip; + GdkRectangle dest; + + gdk_gc_set_ts_origin (xtext->bgc, xtext->ts_x, xtext->ts_y); + xtext->draw_buf = GTK_WIDGET (xtext)->window; + clip.x = xtext->clip_x; + clip.y = xtext->clip_y; + clip.width = xtext->clip_x2 - xtext->clip_x; + clip.height = xtext->clip_y2 - xtext->clip_y; + + dest.x = dest_x; + dest.y = dest_y; + dest.width = str_width; + dest.height = xtext->fontsize; + + if (gdk_rectangle_intersect (&clip, &dest, &dest)) + /* dump the DB to window, but only within the clip_x/x2/y/y2 */ + gdk_draw_drawable (xtext->draw_buf, xtext->bgc, pix, + dest.x - dest_x, dest.y - dest_y, + dest.x, dest.y, dest.width, dest.height); + g_object_unref (pix); + } + + if (xtext->strikethrough) + { + /* pango_attr_strikethrough_new does not render in the custom widget so we need to reinvent the wheel */ + y = dest_y + (xtext->fontsize / 2); + gdk_draw_line (xtext->draw_buf, gc, dest_x, y, dest_x + str_width - 1, y); + } + + if (xtext->underline) + { +dounder: + + if (pix) + y = dest_y + xtext->font->ascent + 1; + else + { + y++; + dest_x = x; + } + /* draw directly to window, it's out of the range of our DB */ + gdk_draw_line (xtext->draw_buf, gc, dest_x, y, dest_x + str_width - 1, y); + } + + return str_width; +} + +static void +gtk_xtext_reset (GtkXText * xtext, int mark, int attribs) +{ + if (attribs) + { + xtext->underline = FALSE; + xtext->strikethrough = FALSE; + xtext->hidden = FALSE; + } + if (!mark) + { + xtext->backcolor = FALSE; + if (xtext->col_fore != XTEXT_FG) + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + if (xtext->col_back != XTEXT_BG) + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + } + xtext->col_fore = XTEXT_FG; + xtext->col_back = XTEXT_BG; + xtext->parsing_color = FALSE; + xtext->parsing_backcolor = FALSE; + xtext->nc = 0; +} + +/* + * gtk_xtext_search_offset (buf, ent, off) -- + * Look for arg offset in arg textentry + * Return one or more flags: + * GTK_MATCH_MID if we are in a match + * GTK_MATCH_START if we're at the first byte of it + * GTK_MATCH_END if we're at the first byte past it + * GTK_MATCH_CUR if it is the current match + */ +#define GTK_MATCH_START 1 +#define GTK_MATCH_MID 2 +#define GTK_MATCH_END 4 +#define GTK_MATCH_CUR 8 +static int +gtk_xtext_search_offset (xtext_buffer *buf, textentry *ent, unsigned int off) +{ + GList *gl; + offsets_t o; + int flags = 0; + + for (gl = g_list_first (ent->marks); gl; gl = g_list_next (gl)) + { + o.u = GPOINTER_TO_UINT (gl->data); + if (off < o.o.start || off > o.o.end) + continue; + flags = GTK_MATCH_MID; + if (off == o.o.start) + flags |= GTK_MATCH_START; + if (off == o.o.end) + { + gl = g_list_next (gl); + if (gl) + { + o.u = GPOINTER_TO_UINT (gl->data); + if (off == o.o.start) /* If subseq match is adjacent */ + { + flags |= (gl == buf->curmark)? GTK_MATCH_CUR: 0; + } + else /* If subseq match is not adjacent */ + { + flags |= GTK_MATCH_END; + } + } + else /* If there is no subseq match */ + { + flags |= GTK_MATCH_END; + } + } + else if (gl == buf->curmark) /* If not yet at the end of this match */ + { + flags |= GTK_MATCH_CUR; + } + break; + } + return flags; +} + +/* render a single line, which WONT wrap, and parse mIRC colors */ + +#define RENDER_FLUSH x += gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, emphasis) + +static int +gtk_xtext_render_str (GtkXText * xtext, int y, textentry * ent, + unsigned char *str, int len, int win_width, int indent, + int line, int left_only, int *x_size_ret, int *emphasis) +{ + GdkGC *gc; + int i = 0, x = indent, j = 0; + unsigned char *pstr = str; + int col_num, tmp; + int offset; + int mark = FALSE; + int ret = 1; + int k; + int srch_underline = FALSE; + int srch_mark = FALSE; + + xtext->in_hilight = FALSE; + + offset = str - ent->str; + + gc = xtext->fgc; /* our foreground GC */ + + if (ent->mark_start != -1 && + ent->mark_start <= i + offset && ent->mark_end > i + offset) + { + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + mark = TRUE; + } + if (xtext->hilight_ent == ent && + xtext->hilight_start <= i + offset && xtext->hilight_end > i + offset) + { + if (!xtext->un_hilight) + { + xtext->underline = TRUE; + } + xtext->in_hilight = TRUE; + } + + if (!xtext->skip_border_fills && !xtext->dont_render) + { + /* draw background to the left of the text */ + if (str == ent->str && indent > MARGIN && xtext->buffer->time_stamp) + { + /* don't overwrite the timestamp */ + if (indent > xtext->stamp_width) + { + xtext_draw_bg (xtext, xtext->stamp_width, y - xtext->font->ascent, + indent - xtext->stamp_width, xtext->fontsize); + } + } else + { + /* fill the indent area with background gc */ + if (indent >= xtext->clip_x) + { + xtext_draw_bg (xtext, 0, y - xtext->font->ascent, + MIN (indent, xtext->clip_x2), xtext->fontsize); + } + } + } + + if (xtext->jump_in_offset > 0 && offset < xtext->jump_in_offset) + xtext->dont_render2 = TRUE; + + while (i < len) + { + + if (xtext->hilight_ent == ent && xtext->hilight_start == (i + offset)) + { + RENDER_FLUSH; + pstr += j; + j = 0; + if (!xtext->un_hilight) + { + xtext->underline = TRUE; + } + + xtext->in_hilight = TRUE; + } + + if ((xtext->parsing_color && isdigit (str[i]) && xtext->nc < 2) || + (xtext->parsing_color && str[i] == ',' && isdigit (str[i+1]) && xtext->nc < 3 && !xtext->parsing_backcolor)) + { + pstr++; + if (str[i] == ',') + { + xtext->parsing_backcolor = TRUE; + if (xtext->nc) + { + xtext->num[xtext->nc] = 0; + xtext->nc = 0; + col_num = atoi (xtext->num); + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_FG; + else + if (col_num > XTEXT_MAX_COLOR) + col_num = col_num % XTEXT_MIRC_COLS; + xtext->col_fore = col_num; + if (!mark) + xtext_set_fg (xtext, gc, col_num); + } + } else + { + xtext->num[xtext->nc] = str[i]; + if (xtext->nc < 7) + xtext->nc++; + } + } else + { + if (xtext->parsing_color) + { + xtext->parsing_color = FALSE; + if (xtext->nc) + { + xtext->num[xtext->nc] = 0; + xtext->nc = 0; + col_num = atoi (xtext->num); + if (xtext->parsing_backcolor) + { + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_BG; + else + if (col_num > XTEXT_MAX_COLOR) + col_num = col_num % XTEXT_MIRC_COLS; + if (col_num == XTEXT_BG) + xtext->backcolor = FALSE; + else + xtext->backcolor = TRUE; + if (!mark) + xtext_set_bg (xtext, gc, col_num); + xtext->col_back = col_num; + } else + { + if (col_num == 99) /* mIRC lameness */ + col_num = XTEXT_FG; + else + if (col_num > XTEXT_MAX_COLOR) + col_num = col_num % XTEXT_MIRC_COLS; + if (!mark) + xtext_set_fg (xtext, gc, col_num); + xtext->col_fore = col_num; + } + xtext->parsing_backcolor = FALSE; + } else + { + /* got a \003<non-digit>... i.e. reset colors */ + RENDER_FLUSH; + pstr += j; + j = 0; + gtk_xtext_reset (xtext, mark, FALSE); + } + } + + if (!left_only && !mark && + (k = gtk_xtext_search_offset (xtext->buffer, ent, offset + i))) + { + RENDER_FLUSH; + pstr += j; + j = 0; + if (!(xtext->buffer->search_flags & highlight)) + { + if (k & GTK_MATCH_CUR) + { + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + srch_mark = TRUE; + } else + { + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + xtext->backcolor = (xtext->col_back != XTEXT_BG)? TRUE: FALSE; + srch_mark = FALSE; + } + } + else + { + xtext->underline = (k & GTK_MATCH_CUR)? TRUE: FALSE; + if (k & (GTK_MATCH_START | GTK_MATCH_MID)) + { + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + srch_mark = TRUE; + } + if (k & GTK_MATCH_END) + { + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + xtext->backcolor = (xtext->col_back != XTEXT_BG)? TRUE: FALSE; + srch_mark = FALSE; + xtext->underline = FALSE; + } + srch_underline = xtext->underline; + } + } + + switch (str[i]) + { + case '\n': + /*case ATTR_BEEP:*/ + break; + case ATTR_REVERSE: + RENDER_FLUSH; + pstr += j + 1; + j = 0; + tmp = xtext->col_fore; + xtext->col_fore = xtext->col_back; + xtext->col_back = tmp; + if (!mark) + { + xtext_set_fg (xtext, gc, xtext->col_fore); + xtext_set_bg (xtext, gc, xtext->col_back); + } + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + break; + case ATTR_BOLD: + RENDER_FLUSH; + *emphasis ^= EMPH_BOLD; + pstr += j + 1; + j = 0; + break; + case ATTR_UNDERLINE: + RENDER_FLUSH; + xtext->underline = !xtext->underline; + pstr += j + 1; + j = 0; + break; + case ATTR_STRIKETHROUGH: + RENDER_FLUSH; + xtext->strikethrough = !xtext->strikethrough; + pstr += j + 1; + j = 0; + break; + case ATTR_ITALICS: + RENDER_FLUSH; + *emphasis ^= EMPH_ITAL; + pstr += j + 1; + j = 0; + break; + case ATTR_HIDDEN: + RENDER_FLUSH; + xtext->hidden = (!xtext->hidden) & (!xtext->ignore_hidden); + pstr += j + 1; + j = 0; + break; + case ATTR_RESET: + RENDER_FLUSH; + *emphasis = 0; + pstr += j + 1; + j = 0; + gtk_xtext_reset (xtext, mark, !xtext->in_hilight); + break; + case ATTR_COLOR: + RENDER_FLUSH; + xtext->parsing_color = TRUE; + pstr += j + 1; + j = 0; + break; + default: + tmp = charlen (str + i); + /* invalid utf8 safe guard */ + if (tmp + i > len) + tmp = len - i; + j += tmp; /* move to the next utf8 char */ + } + } + i += charlen (str + i); /* move to the next utf8 char */ + /* invalid utf8 safe guard */ + if (i > len) + i = len; + + /* Separate the left part, the space and the right part + into separate runs, and reset bidi state inbetween. + Perform this only on the first line of the message. + */ + if (offset == 0) + { + /* we've reached the end of the left part? */ + if ((pstr-str)+j == ent->left_len) + { + RENDER_FLUSH; + pstr += j; + j = 0; + } + else if ((pstr-str)+j == ent->left_len+1) + { + RENDER_FLUSH; + pstr += j; + j = 0; + } + } + + /* have we been told to stop rendering at this point? */ + if (xtext->jump_out_offset > 0 && xtext->jump_out_offset <= (i + offset)) + { + gtk_xtext_render_flush (xtext, x, y, pstr, j, gc, emphasis); + ret = 0; /* skip the rest of the lines, we're done. */ + j = 0; + break; + } + + if (xtext->jump_in_offset > 0 && xtext->jump_in_offset == (i + offset)) + { + RENDER_FLUSH; + pstr += j; + j = 0; + xtext->dont_render2 = FALSE; + } + + if (xtext->hilight_ent == ent && xtext->hilight_end == (i + offset)) + { + RENDER_FLUSH; + pstr += j; + j = 0; + xtext->underline = FALSE; + xtext->in_hilight = FALSE; + if (xtext->render_hilights_only) + { + /* stop drawing this ent */ + ret = 0; + break; + } + } + + if (!mark && ent->mark_start == (i + offset)) + { + RENDER_FLUSH; + pstr += j; + j = 0; + xtext_set_bg (xtext, gc, XTEXT_MARK_BG); + xtext_set_fg (xtext, gc, XTEXT_MARK_FG); + xtext->backcolor = TRUE; + if (srch_underline) + { + xtext->underline = FALSE; + srch_underline = FALSE; + } + mark = TRUE; + } + + if (mark && ent->mark_end == (i + offset)) + { + RENDER_FLUSH; + pstr += j; + j = 0; + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + mark = FALSE; + } + + } + + if (j) + RENDER_FLUSH; + + if (mark || srch_mark) + { + xtext_set_bg (xtext, gc, xtext->col_back); + xtext_set_fg (xtext, gc, xtext->col_fore); + if (xtext->col_back != XTEXT_BG) + xtext->backcolor = TRUE; + else + xtext->backcolor = FALSE; + } + + /* draw background to the right of the text */ + if (!left_only && !xtext->dont_render) + { + /* draw separator now so it doesn't appear to flicker */ + gtk_xtext_draw_sep (xtext, y - xtext->font->ascent); + if (!xtext->skip_border_fills && xtext->clip_x2 >= x) + { + int xx = MAX (x, xtext->clip_x); + + xtext_draw_bg (xtext, + xx, /* x */ + y - xtext->font->ascent, /* y */ + MIN (xtext->clip_x2 - xx, (win_width + MARGIN) - xx), /* width */ + xtext->fontsize); /* height */ + } + } + + xtext->dont_render2 = FALSE; + + /* return how much we drew in the x direction */ + if (x_size_ret) + *x_size_ret = x - indent; + + return ret; +} + +/* walk through str until this line doesn't fit anymore */ + +static int +find_next_wrap (GtkXText * xtext, textentry * ent, unsigned char *str, + int win_width, int indent) +{ + unsigned char *last_space = str; + unsigned char *orig_str = str; + int str_width = indent; + int rcol = 0, bgcol = 0; + int hidden = FALSE; + int mbl; + int char_width; + int ret; + int limit_offset = 0; + int emphasis = 0; + GSList *lp; + + /* single liners */ + if (win_width >= ent->str_width + ent->indent) + return ent->str_len; + + /* it does happen! */ + if (win_width < 1) + { + ret = ent->str_len - (str - ent->str); + goto done; + } + + /* Find emphasis value for the offset that is the first byte of our string */ + for (lp = ent->slp; lp; lp = g_slist_next (lp)) + { + offlen_t *meta = lp->data; + unsigned char *start, *end; + + start = ent->str + meta->off; + end = start + meta->len; + if (str >= start && str < end) + { + emphasis = meta->emph; + break; + } + } + + while (1) + { + if (rcol > 0 && (isdigit (*str) || (*str == ',' && isdigit (str[1]) && !bgcol))) + { + if (str[1] != ',') rcol--; + if (*str == ',') + { + rcol = 2; + bgcol = 1; + } + limit_offset++; + str++; + } else + { + rcol = bgcol = 0; + switch (*str) + { + case ATTR_COLOR: + rcol = 2; + case ATTR_BEEP: + case ATTR_RESET: + case ATTR_REVERSE: + case ATTR_BOLD: + case ATTR_UNDERLINE: + case ATTR_STRIKETHROUGH: + case ATTR_ITALICS: + if (*str == ATTR_RESET) + emphasis = 0; + if (*str == ATTR_ITALICS) + emphasis ^= EMPH_ITAL; + if (*str == ATTR_BOLD) + emphasis ^= EMPH_BOLD; + limit_offset++; + str++; + break; + case ATTR_HIDDEN: + if (xtext->ignore_hidden) + goto def; + hidden = !hidden; + limit_offset++; + str++; + break; + default: + def: + mbl = charlen (str); + char_width = backend_get_text_width_emph (xtext, str, mbl, emphasis); + if (!hidden) str_width += char_width; + if (str_width > win_width) + { + if (xtext->wordwrap) + { + if (str - last_space > WORDWRAP_LIMIT + limit_offset) + ret = str - orig_str; /* fall back to character wrap */ + else + { + if (*last_space == ' ') + last_space++; + ret = last_space - orig_str; + if (ret == 0) /* fall back to character wrap */ + ret = str - orig_str; + } + goto done; + } + ret = str - orig_str; + goto done; + } + + /* keep a record of the last space, for wordwrapping */ + if (is_del (*str)) + { + last_space = str; + limit_offset = 0; + } + + /* progress to the next char */ + str += mbl; + + } + } + + if (str >= ent->str + ent->str_len) + { + ret = str - orig_str; + goto done; + } + } + +done: + + /* must make progress */ + if (ret < 1) + ret = 1; + + return ret; +} + +/* find the offset, in bytes, that wrap number 'line' starts at */ + +static int +gtk_xtext_find_subline (GtkXText *xtext, textentry *ent, int line) +{ + int rlen = 0; + + if (line > 0) + { + rlen = GPOINTER_TO_UINT (g_slist_nth_data (ent->sublines, line - 1)); + if (rlen == 0) + rlen = ent->str_len; + } + return rlen; +} + +/* horrible hack for drawing time stamps */ + +static void +gtk_xtext_render_stamp (GtkXText * xtext, textentry * ent, + char *text, int len, int line, int win_width) +{ + textentry tmp_ent; + int jo, ji, hs; + int xsize, y, emphasis; + + /* trashing ent here, so make a backup first */ + memcpy (&tmp_ent, ent, sizeof (tmp_ent)); + jo = xtext->jump_out_offset; /* back these up */ + ji = xtext->jump_in_offset; + hs = xtext->hilight_start; + xtext->jump_out_offset = 0; + xtext->jump_in_offset = 0; + xtext->hilight_start = 0xffff; /* temp disable */ + emphasis = 0; + + if (xtext->mark_stamp) + { + /* if this line is marked, mark this stamp too */ + if (ent->mark_start == 0) + { + ent->mark_start = 0; + ent->mark_end = len; + } + else + { + ent->mark_start = -1; + ent->mark_end = -1; + } + ent->str = text; + } + + y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset; + gtk_xtext_render_str (xtext, y, ent, text, len, + win_width, 2, line, TRUE, &xsize, &emphasis); + + /* restore everything back to how it was */ + memcpy (ent, &tmp_ent, sizeof (tmp_ent)); + xtext->jump_out_offset = jo; + xtext->jump_in_offset = ji; + xtext->hilight_start = hs; + + /* with a non-fixed-width font, sometimes we don't draw enough + background i.e. when this stamp is shorter than xtext->stamp_width */ + xsize += MARGIN; + if (xsize < xtext->stamp_width) + { + y -= xtext->font->ascent; + xtext_draw_bg (xtext, + xsize, /* x */ + y, /* y */ + xtext->stamp_width - xsize, /* width */ + xtext->fontsize /* height */); + } +} + +/* render a single line, which may wrap to more lines */ + +static int +gtk_xtext_render_line (GtkXText * xtext, textentry * ent, int line, + int lines_max, int subline, int win_width) +{ + unsigned char *str; + int indent, taken, entline, len, y, start_subline; + int emphasis = 0; + + entline = taken = 0; + str = ent->str; + indent = ent->indent; + start_subline = subline; + + /* draw the timestamp */ + if (xtext->auto_indent && xtext->buffer->time_stamp && + (!xtext->skip_stamp || xtext->mark_stamp || xtext->force_stamp)) + { + char *time_str; + int len; + + len = xtext_get_stamp_str (ent->stamp, &time_str); + gtk_xtext_render_stamp (xtext, ent, time_str, len, line, win_width); + g_free (time_str); + } + + /* draw each line one by one */ + do + { + if (entline > 0) + len = GPOINTER_TO_INT (g_slist_nth_data (ent->sublines, entline)) - GPOINTER_TO_INT (g_slist_nth_data (ent->sublines, entline - 1)); + else + len = GPOINTER_TO_INT (g_slist_nth_data (ent->sublines, entline)); + + entline++; + + y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset; + if (!subline) + { + if (!gtk_xtext_render_str (xtext, y, ent, str, len, win_width, + indent, line, FALSE, NULL, &emphasis)) + { + /* small optimization */ + gtk_xtext_draw_marker (xtext, ent, y - xtext->fontsize * (taken + start_subline + 1)); + return g_slist_length (ent->sublines) - subline; + } + } else + { + xtext->dont_render = TRUE; + gtk_xtext_render_str (xtext, y, ent, str, len, win_width, + indent, line, FALSE, NULL, &emphasis); + xtext->dont_render = FALSE; + subline--; + line--; + taken--; + } + + indent = xtext->buffer->indent; + line++; + taken++; + str += len; + + if (line >= lines_max) + break; + + } + while (str < ent->str + ent->str_len); + + gtk_xtext_draw_marker (xtext, ent, y - xtext->fontsize * (taken + start_subline)); + + return taken; +} + +void +gtk_xtext_set_palette (GtkXText * xtext, GdkColor palette[]) +{ + int i; + + for (i = (XTEXT_COLS-1); i >= 0; i--) + { + xtext->palette[i] = palette[i]; + } + + if (gtk_widget_get_realized (GTK_WIDGET(xtext))) + { + xtext_set_fg (xtext, xtext->fgc, XTEXT_FG); + xtext_set_bg (xtext, xtext->fgc, XTEXT_BG); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + + gdk_gc_set_foreground (xtext->marker_gc, &xtext->palette[XTEXT_MARKER]); + } + xtext->col_fore = XTEXT_FG; + xtext->col_back = XTEXT_BG; +} + +static void +gtk_xtext_fix_indent (xtext_buffer *buf) +{ + int j; + + /* make indent a multiple of the space width */ + if (buf->indent && buf->xtext->space_width) + { + j = 0; + while (j < buf->indent) + { + j += buf->xtext->space_width; + } + buf->indent = j; + } + + dontscroll (buf); /* force scrolling off */ +} + +static void +gtk_xtext_recalc_widths (xtext_buffer *buf, int do_str_width) +{ + textentry *ent; + + /* since we have a new font, we have to recalc the text widths */ + ent = buf->text_first; + while (ent) + { + if (do_str_width) + { + ent->str_width = gtk_xtext_text_width_ent (buf->xtext, ent); + } + if (ent->left_len != -1) + { + ent->indent = + (buf->indent - + gtk_xtext_text_width (buf->xtext, ent->str, + ent->left_len)) - buf->xtext->space_width; + if (ent->indent < MARGIN) + ent->indent = MARGIN; + } + ent = ent->next; + } + + gtk_xtext_calc_lines (buf, FALSE); +} + +int +gtk_xtext_set_font (GtkXText *xtext, char *name) +{ + + if (xtext->font) + backend_font_close (xtext); + + /* realize now, so that font_open has a XDisplay */ + gtk_widget_realize (GTK_WIDGET (xtext)); + + backend_font_open (xtext, name); + if (xtext->font == NULL) + return FALSE; + + { + char *time_str; + int stamp_size = xtext_get_stamp_str (time(0), &time_str); + xtext->stamp_width = + gtk_xtext_text_width (xtext, time_str, stamp_size) + MARGIN; + g_free (time_str); + } + + gtk_xtext_fix_indent (xtext->buffer); + + if (gtk_widget_get_realized (GTK_WIDGET(xtext))) + gtk_xtext_recalc_widths (xtext->buffer, TRUE); + + return TRUE; +} + +void +gtk_xtext_set_background (GtkXText * xtext, GdkPixmap * pixmap) +{ + GdkGCValues val; + + if (xtext->pixmap) + { + g_object_unref (xtext->pixmap); + xtext->pixmap = NULL; + } + + dontscroll (xtext->buffer); + xtext->pixmap = pixmap; + + if (pixmap != 0) + { + g_object_ref (pixmap); + if (gtk_widget_get_realized (GTK_WIDGET(xtext))) + { + gdk_gc_set_tile (xtext->bgc, pixmap); + gdk_gc_set_ts_origin (xtext->bgc, 0, 0); + xtext->ts_x = xtext->ts_y = 0; + gdk_gc_set_fill (xtext->bgc, GDK_TILED); + } + } else if (gtk_widget_get_realized (GTK_WIDGET(xtext))) + { + g_object_unref (xtext->bgc); + val.subwindow_mode = GDK_INCLUDE_INFERIORS; + val.graphics_exposures = 0; + xtext->bgc = gdk_gc_new_with_values (GTK_WIDGET (xtext)->window, + &val, GDK_GC_EXPOSURES | GDK_GC_SUBWINDOW); + xtext_set_fg (xtext, xtext->bgc, XTEXT_BG); + } +} + +void +gtk_xtext_save (GtkXText * xtext, int fh) +{ + textentry *ent; + int newlen; + char *buf; + + ent = xtext->buffer->text_first; + while (ent) + { + buf = gtk_xtext_strip_color (ent->str, ent->str_len, NULL, + &newlen, NULL, FALSE); + write (fh, buf, newlen); + write (fh, "\n", 1); + g_free (buf); + ent = ent->next; + } +} + +/* count how many lines 'ent' will take (with wraps) */ + +static int +gtk_xtext_lines_taken (xtext_buffer *buf, textentry * ent) +{ + unsigned char *str; + int indent, len; + int win_width; + + g_slist_free (ent->sublines); + ent->sublines = NULL; + win_width = buf->window_width - MARGIN; + + if (win_width >= ent->indent + ent->str_width) + { + ent->sublines = g_slist_append (ent->sublines, GINT_TO_POINTER (ent->str_len)); + return 1; + } + + indent = ent->indent; + str = ent->str; + + do + { + len = find_next_wrap (buf->xtext, ent, str, win_width, indent); + ent->sublines = g_slist_append (ent->sublines, GINT_TO_POINTER (str + len - ent->str)); + indent = buf->indent; + str += len; + } + while (str < ent->str + ent->str_len); + + return g_slist_length (ent->sublines); +} + +/* Calculate number of actual lines (with wraps), to set adj->lower. * + * This should only be called when the window resizes. */ + +static void +gtk_xtext_calc_lines (xtext_buffer *buf, int fire_signal) +{ + textentry *ent; + int width; + int height; + int lines; + + height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (buf->xtext))); + width = gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (buf->xtext))); + width -= MARGIN; + + if (width < 30 || height < buf->xtext->fontsize || width < buf->indent + 30) + return; + + lines = 0; + ent = buf->text_first; + while (ent) + { + lines += gtk_xtext_lines_taken (buf, ent); + ent = ent->next; + } + + buf->pagetop_ent = NULL; + buf->num_lines = lines; + gtk_xtext_adjustment_set (buf, fire_signal); +} + +/* find the n-th line in the linked list, this includes wrap calculations */ + +static textentry * +gtk_xtext_nth (GtkXText *xtext, int line, int *subline) +{ + int lines = 0; + textentry *ent; + + ent = xtext->buffer->text_first; + + /* -- optimization -- try to make a short-cut using the pagetop ent */ + if (xtext->buffer->pagetop_ent) + { + if (line == xtext->buffer->pagetop_line) + { + *subline = xtext->buffer->pagetop_subline; + return xtext->buffer->pagetop_ent; + } + if (line > xtext->buffer->pagetop_line) + { + /* lets start from the pagetop instead of the absolute beginning */ + ent = xtext->buffer->pagetop_ent; + lines = xtext->buffer->pagetop_line - xtext->buffer->pagetop_subline; + } + else if (line > xtext->buffer->pagetop_line - line) + { + /* move backwards from pagetop */ + ent = xtext->buffer->pagetop_ent; + lines = xtext->buffer->pagetop_line - xtext->buffer->pagetop_subline; + while (1) + { + if (lines <= line) + { + *subline = line - lines; + return ent; + } + ent = ent->prev; + if (!ent) + break; + lines -= g_slist_length (ent->sublines); + } + return NULL; + } + } + /* -- end of optimization -- */ + + while (ent) + { + lines += g_slist_length (ent->sublines); + if (lines > line) + { + *subline = g_slist_length (ent->sublines) - (lines - line); + return ent; + } + ent = ent->next; + } + return NULL; +} + +/* render enta (or an inclusive range enta->entb) */ + +static int +gtk_xtext_render_ents (GtkXText * xtext, textentry * enta, textentry * entb) +{ + textentry *ent, *orig_ent, *tmp_ent; + int line; + int lines_max; + int width; + int height; + int subline; + int drawing = FALSE; + + if (xtext->buffer->indent < MARGIN) + xtext->buffer->indent = MARGIN; /* 2 pixels is our left margin */ + + height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (xtext))); + width = gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (xtext))); + width -= MARGIN; + + if (width < 32 || height < xtext->fontsize || width < xtext->buffer->indent + 30) + return 0; + + lines_max = ((height + xtext->pixel_offset) / xtext->fontsize) + 1; + line = 0; + orig_ent = xtext->buffer->pagetop_ent; + subline = xtext->buffer->pagetop_subline; + + /* used before a complete page is in buffer */ + if (orig_ent == NULL) + orig_ent = xtext->buffer->text_first; + + /* check if enta is before the start of this page */ + if (entb) + { + tmp_ent = orig_ent; + while (tmp_ent) + { + if (tmp_ent == enta) + break; + if (tmp_ent == entb) + { + drawing = TRUE; + break; + } + tmp_ent = tmp_ent->next; + } + } + + ent = orig_ent; + while (ent) + { + if (entb && ent == enta) + drawing = TRUE; + + if (drawing || ent == entb || ent == enta) + { + gtk_xtext_reset (xtext, FALSE, TRUE); + line += gtk_xtext_render_line (xtext, ent, line, lines_max, + subline, width); + subline = 0; + xtext->jump_in_offset = 0; /* jump_in_offset only for the 1st */ + } else + { + if (ent == orig_ent) + { + line -= subline; + subline = 0; + } + line += g_slist_length (ent->sublines); + } + + if (ent == entb) + break; + + if (line >= lines_max) + break; + + ent = ent->next; + } + + /* space below last line */ + return (xtext->fontsize * line) - xtext->pixel_offset; +} + +/* render a whole page/window, starting from 'startline' */ + +static void +gtk_xtext_render_page (GtkXText * xtext) +{ + textentry *ent; + int line; + int lines_max; + int width; + int height; + int subline; + int startline = xtext->adj->value; + int pos, overlap; + + if(!gtk_widget_get_realized(GTK_WIDGET(xtext))) + return; + + if (xtext->buffer->indent < MARGIN) + xtext->buffer->indent = MARGIN; /* 2 pixels is our left margin */ + + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); + + if (width < 34 || height < xtext->fontsize || width < xtext->buffer->indent + 32) + return; + + xtext->pixel_offset = (xtext->adj->value - startline) * xtext->fontsize; + + subline = line = 0; + ent = xtext->buffer->text_first; + + if (startline > 0) + ent = gtk_xtext_nth (xtext, startline, &subline); + + xtext->buffer->pagetop_ent = ent; + xtext->buffer->pagetop_subline = subline; + xtext->buffer->pagetop_line = startline; + + if (xtext->buffer->num_lines <= xtext->adj->page_size) + dontscroll (xtext->buffer); + + pos = xtext->adj->value * xtext->fontsize; + overlap = xtext->buffer->last_pixel_pos - pos; + xtext->buffer->last_pixel_pos = pos; + +#ifndef __APPLE__ + if (!xtext->pixmap && abs (overlap) < height) + { + GdkRectangle area; + + /* so the obscured regions are exposed */ + gdk_gc_set_exposures (xtext->fgc, TRUE); + if (overlap < 1) /* DOWN */ + { + int remainder; + + gdk_draw_drawable (xtext->draw_buf, xtext->fgc, xtext->draw_buf, + 0, -overlap, 0, 0, width, height + overlap); + remainder = ((height - xtext->font->descent) % xtext->fontsize) + + xtext->font->descent; + area.y = (height + overlap) - remainder; + area.height = remainder - overlap; + } else + { + gdk_draw_drawable (xtext->draw_buf, xtext->fgc, xtext->draw_buf, + 0, 0, 0, overlap, width, height - overlap); + area.y = 0; + area.height = overlap; + } + gdk_gc_set_exposures (xtext->fgc, FALSE); + + if (area.height > 0) + { + area.x = 0; + area.width = width; + gtk_xtext_paint (GTK_WIDGET (xtext), &area); + } + + return; + } +#endif + + width -= MARGIN; + lines_max = ((height + xtext->pixel_offset) / xtext->fontsize) + 1; + + while (ent) + { + gtk_xtext_reset (xtext, FALSE, TRUE); + line += gtk_xtext_render_line (xtext, ent, line, lines_max, + subline, width); + subline = 0; + + if (line >= lines_max) + break; + + ent = ent->next; + } + + line = (xtext->fontsize * line) - xtext->pixel_offset; + /* fill any space below the last line with our background GC */ + xtext_draw_bg (xtext, 0, line, width + MARGIN, height - line); + + /* draw the separator line */ + gtk_xtext_draw_sep (xtext, -1); +} + +void +gtk_xtext_refresh (GtkXText * xtext) +{ + if (gtk_widget_get_realized (GTK_WIDGET (xtext))) + { + gtk_xtext_render_page (xtext); + } +} + +static int +gtk_xtext_kill_ent (xtext_buffer *buffer, textentry *ent) +{ + int visible; + + /* Set visible to TRUE if this is the current buffer */ + /* and this ent shows up on the screen now */ + visible = buffer->xtext->buffer == buffer && + gtk_xtext_check_ent_visibility (buffer->xtext, ent, 0); + + if (ent == buffer->pagetop_ent) + buffer->pagetop_ent = NULL; + + if (ent == buffer->last_ent_start) + { + buffer->last_ent_start = ent->next; + buffer->last_offset_start = 0; + } + + if (ent == buffer->last_ent_end) + { + buffer->last_ent_start = NULL; + buffer->last_ent_end = NULL; + } + + if (buffer->marker_pos == ent) + { + /* Allow for "Marker line reset because exceeded scrollback limit. to appear. */ + buffer->marker_pos = ent->next; + buffer->marker_state = MARKER_RESET_BY_KILL; + } + + if (ent->marks) + { + gtk_xtext_search_textentry_del (buffer, ent); + } + + g_slist_free_full (ent->slp, g_free); + g_slist_free (ent->sublines); + + g_free (ent); + return visible; +} + +/* remove the topline from the list */ + +static void +gtk_xtext_remove_top (xtext_buffer *buffer) +{ + textentry *ent; + + ent = buffer->text_first; + if (!ent) + return; + buffer->num_lines -= g_slist_length (ent->sublines); + buffer->pagetop_line -= g_slist_length (ent->sublines); + buffer->last_pixel_pos -= (g_slist_length (ent->sublines) * buffer->xtext->fontsize); + buffer->text_first = ent->next; + if (buffer->text_first) + buffer->text_first->prev = NULL; + else + buffer->text_last = NULL; + + buffer->old_value -= g_slist_length (ent->sublines); + if (buffer->xtext->buffer == buffer) /* is it the current buffer? */ + { + buffer->xtext->adj->value -= g_slist_length (ent->sublines); + buffer->xtext->select_start_adj -= g_slist_length (ent->sublines); + } + + if (gtk_xtext_kill_ent (buffer, ent)) + { + if (!buffer->xtext->add_io_tag) + { + /* remove scrolling events */ + if (buffer->xtext->io_tag) + { + g_source_remove (buffer->xtext->io_tag); + buffer->xtext->io_tag = 0; + } + buffer->xtext->force_render = TRUE; + buffer->xtext->add_io_tag = g_timeout_add (REFRESH_TIMEOUT * 2, + (GSourceFunc) + gtk_xtext_render_page_timeout, + buffer->xtext); + } + } +} + +static void +gtk_xtext_remove_bottom (xtext_buffer *buffer) +{ + textentry *ent; + + ent = buffer->text_last; + if (!ent) + return; + buffer->num_lines -= g_slist_length (ent->sublines); + buffer->text_last = ent->prev; + if (buffer->text_last) + buffer->text_last->next = NULL; + else + buffer->text_first = NULL; + + if (gtk_xtext_kill_ent (buffer, ent)) + { + if (!buffer->xtext->add_io_tag) + { + /* remove scrolling events */ + if (buffer->xtext->io_tag) + { + g_source_remove (buffer->xtext->io_tag); + buffer->xtext->io_tag = 0; + } + buffer->xtext->force_render = TRUE; + buffer->xtext->add_io_tag = g_timeout_add (REFRESH_TIMEOUT * 2, + (GSourceFunc) + gtk_xtext_render_page_timeout, + buffer->xtext); + } + } +} + +/* If lines=0 => clear all */ + +void +gtk_xtext_clear (xtext_buffer *buf, int lines) +{ + textentry *next; + int marker_reset = FALSE; + + if (lines != 0) + { + if (lines < 0) + { + /* delete lines from bottom */ + lines *= -1; + while (lines) + { + if (buf->text_last == buf->marker_pos) + marker_reset = TRUE; + gtk_xtext_remove_bottom (buf); + lines--; + } + } + else + { + /* delete lines from top */ + while (lines) + { + if (buf->text_first == buf->marker_pos) + marker_reset = TRUE; + gtk_xtext_remove_top (buf); + lines--; + } + } + } + else + { + /* delete all */ + if (buf->search_found) + gtk_xtext_search_fini (buf); + if (buf->xtext->auto_indent) + buf->indent = MARGIN; + buf->scrollbar_down = TRUE; + buf->last_ent_start = NULL; + buf->last_ent_end = NULL; + buf->marker_pos = NULL; + if (buf->text_first) + marker_reset = TRUE; + dontscroll (buf); + + while (buf->text_first) + { + next = buf->text_first->next; + g_free (buf->text_first); + buf->text_first = next; + } + buf->text_last = NULL; + } + + if (buf->xtext->buffer == buf) + { + gtk_xtext_calc_lines (buf, TRUE); + gtk_xtext_refresh (buf->xtext); + } else + { + gtk_xtext_calc_lines (buf, FALSE); + } + + if (marker_reset) + buf->marker_state = MARKER_RESET_BY_CLEAR; +} + +static gboolean +gtk_xtext_check_ent_visibility (GtkXText * xtext, textentry *find_ent, int add) +{ + textentry *ent; + int lines; + xtext_buffer *buf = xtext->buffer; + int height; + + if (find_ent == NULL) + { + return FALSE; + } + + height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (xtext))); + + ent = buf->pagetop_ent; + /* If top line not completely displayed return FALSE */ + if (ent == find_ent && buf->pagetop_subline > 0) + { + return FALSE; + } + /* Loop through line positions looking for find_ent */ + lines = ((height + xtext->pixel_offset) / xtext->fontsize) + buf->pagetop_subline + add; + while (ent) + { + lines -= g_slist_length (ent->sublines); + if (lines <= 0) + { + return FALSE; + } + if (ent == find_ent) + { + return TRUE; + } + ent = ent->next; + } + + return FALSE; +} + +void +gtk_xtext_check_marker_visibility (GtkXText * xtext) +{ + if (gtk_xtext_check_ent_visibility (xtext, xtext->buffer->marker_pos, 1)) + xtext->buffer->marker_seen = TRUE; +} + +static void +gtk_xtext_unstrip_color (gint start, gint end, GSList *slp, GList **gl, gint maxo) +{ + gint off1, off2, curlen; + GSList *cursl; + offsets_t marks; + offlen_t *meta; + + off1 = 0; + curlen = 0; + cursl = slp; + while (cursl) + { + meta = cursl->data; + if (start < meta->len) + { + off1 = meta->off + start; + break; + } + curlen += meta->len; + start -= meta->len; + end -= meta->len; + cursl = g_slist_next (cursl); + } + + off2 = off1; + while (cursl) + { + meta = cursl->data; + if (end < meta->len) + { + off2 = meta->off + end; + break; + } + curlen += meta->len; + end -= meta->len; + cursl = g_slist_next (cursl); + } + if (!cursl) + { + off2 = maxo; + } + + marks.o.start = off1; + marks.o.end = off2; + *gl = g_list_append (*gl, GUINT_TO_POINTER (marks.u)); +} + +/* Search a single textentry for occurrence(s) of search arg string */ +static GList * +gtk_xtext_search_textentry (xtext_buffer *buf, textentry *ent) +{ + gchar *str; /* text string to be searched */ + GList *gl = NULL; + GSList *slp; + gint lstr; + + if (buf->search_text == NULL) + { + return gl; + } + + str = gtk_xtext_strip_color (ent->str, ent->str_len, buf->xtext->scratch_buffer, + &lstr, &slp, !buf->xtext->ignore_hidden); + + /* Regular-expression matching --- */ + if (buf->search_flags & regexp) + { + GMatchInfo *gmi; + gint start, end; + + if (buf->search_re == NULL) + { + return gl; + } + g_regex_match (buf->search_re, str, 0, &gmi); + while (g_match_info_matches (gmi)) + { + g_match_info_fetch_pos (gmi, 0, &start, &end); + gtk_xtext_unstrip_color (start, end, slp, &gl, ent->str_len); + g_match_info_next (gmi, NULL); + } + g_match_info_free (gmi); + + /* Non-regular-expression matching --- */ + } else { + gchar *hay, *pos; + gint lhay, off, len; + gint match = buf->search_flags & case_match; + + hay = match? g_strdup (str): g_utf8_casefold (str, lstr); + lhay = strlen (hay); + + for (pos = hay, len = lhay; len; + off += buf->search_lnee, pos = hay + off, len = lhay - off) + { + str = g_strstr_len (pos, len, buf->search_nee); + if (str == NULL) + { + break; + } + off = str - hay; + gtk_xtext_unstrip_color (off, off + buf->search_lnee, + slp, &gl, ent->str_len); + } + + g_free (hay); + } + + /* Common processing --- */ + g_slist_free_full (slp, g_free); + return gl; +} + +/* Add a list of found search results to an entry, maybe NULL */ +static void +gtk_xtext_search_textentry_add (xtext_buffer *buf, textentry *ent, GList *gl, gboolean pre) +{ + ent->marks = gl; + if (gl) + { + buf->search_found = (pre? g_list_prepend: g_list_append) (buf->search_found, ent); + if (pre == FALSE && buf->hintsearch == NULL) + { + buf->hintsearch = ent; + } + } +} + +/* Free all search information for a textentry */ +static void +gtk_xtext_search_textentry_del (xtext_buffer *buf, textentry *ent) +{ + g_list_free (ent->marks); + ent->marks = NULL; + if (buf->cursearch && buf->cursearch->data == ent) + { + buf->cursearch = NULL; + buf->curmark = NULL; + buf->curdata.u = 0; + } + if (buf->pagetop_ent == ent) + { + buf->pagetop_ent = NULL; + } + if (buf->hintsearch == ent) + { + buf->hintsearch = NULL; + } + buf->search_found = g_list_remove (buf->search_found, ent); +} + +/* Used only by glist_foreach */ +static void +gtk_xtext_search_textentry_fini (gpointer entp, gpointer dummy) +{ + textentry *ent = entp; + + g_list_free (ent->marks); + ent->marks = NULL; +} + +/* Free all search information for all textentrys and the xtext_buffer */ +static void +gtk_xtext_search_fini (xtext_buffer *buf) +{ + g_list_foreach (buf->search_found, gtk_xtext_search_textentry_fini, 0); + g_list_free (buf->search_found); + buf->search_found = NULL; + g_free (buf->search_text); + buf->search_text = NULL; + g_free (buf->search_nee); + buf->search_nee = NULL; + buf->search_flags = 0; + buf->cursearch = NULL; + buf->curmark = NULL; + /* but leave buf->curdata.u alone! */ + if (buf->search_re) + { + g_regex_unref (buf->search_re); + buf->search_re = NULL; + } +} + +/* Returns TRUE if the base search information exists and is still okay to use */ +static gboolean +gtk_xtext_search_init (xtext_buffer *buf, const gchar *text, gtk_xtext_search_flags flags, GError **perr) +{ + /* Of the five flags, backward and highlight_all do not need a new search */ + if (buf->search_found && + strcmp (buf->search_text, text) == 0 && + (buf->search_flags & case_match) == (flags & case_match) && + (buf->search_flags & follow) == (flags & follow) && + (buf->search_flags & regexp) == (flags & regexp)) + { + return TRUE; + } + buf->hintsearch = buf->cursearch? buf->cursearch->data: NULL; + gtk_xtext_search_fini (buf); + buf->search_text = g_strdup (text); + if (flags & regexp) + { + buf->search_re = g_regex_new (text, (flags & case_match)? 0: G_REGEX_CASELESS, 0, perr); + if (perr && *perr) + { + return FALSE; + } + } + else + { + if (flags & case_match) + { + buf->search_nee = g_strdup (text); + } + else + { + buf->search_nee = g_utf8_casefold (text, strlen (text)); + } + buf->search_lnee = strlen (buf->search_nee); + } + buf->search_flags = flags; + buf->cursearch = NULL; + buf->curmark = NULL; + /* but leave buf->curdata.u alone! */ + return FALSE; +} + +#define BACKWARD (flags & backward) +#define FIRSTLAST(lp) (BACKWARD? g_list_last(lp): g_list_first(lp)) +#define NEXTPREVIOUS(lp) (BACKWARD? g_list_previous(lp): g_list_next(lp)) +textentry * +gtk_xtext_search (GtkXText * xtext, const gchar *text, gtk_xtext_search_flags flags, GError **perr) +{ + textentry *ent = NULL; + xtext_buffer *buf = xtext->buffer; + GList *gl; + + if (buf->text_first == NULL) + { + return NULL; + } + + /* If the text arg is NULL, one of these has been toggled: highlight follow */ + if (text == NULL) /* Here on highlight or follow toggle */ + { + gint oldfollow = buf->search_flags & follow; + gint newfollow = flags & follow; + + /* If "Follow" has just been checked, search possible new textentries --- */ + if (newfollow && (newfollow != oldfollow)) + { + gl = g_list_last (buf->search_found); + ent = gl? gl->data: buf->text_first; + for (; ent; ent = ent->next) + { + GList *gl; + + gl = gtk_xtext_search_textentry (buf, ent); + gtk_xtext_search_textentry_add (buf, ent, gl, FALSE); + } + } + buf->search_flags = flags; + ent = buf->pagetop_ent; + } + + /* if the text arg is "", the reset button has been clicked or Control-Shift-F has been hit */ + else if (text[0] == 0) /* Let a null string do a reset. */ + { + gtk_xtext_search_fini (buf); + } + + /* If the text arg is neither NULL nor "", it's the search string */ + else + { + if (gtk_xtext_search_init (buf, text, flags, perr) == FALSE) /* If a new search: */ + { + if (perr && *perr) + { + return NULL; + } + for (ent = buf->text_first; ent; ent = ent->next) + { + GList *gl; + + gl = gtk_xtext_search_textentry (buf, ent); + gtk_xtext_search_textentry_add (buf, ent, gl, TRUE); + } + buf->search_found = g_list_reverse (buf->search_found); + } + + /* Now base search results are in place. */ + + if (buf->search_found) + { + /* If we're in the midst of moving among found items */ + if (buf->cursearch) + { + ent = buf->cursearch->data; + buf->curmark = NEXTPREVIOUS (buf->curmark); + if (buf->curmark == NULL) + { + /* We've returned all the matches for this textentry. */ + buf->cursearch = NEXTPREVIOUS (buf->cursearch); + if (buf->cursearch) + { + ent = buf->cursearch->data; + buf->curmark = FIRSTLAST (ent->marks); + } + else /* We've returned all the matches for all textentries */ + { + ent = NULL; + } + } + } + + /* If user changed the search, let's look starting where he was */ + else if (buf->hintsearch) + { + GList *mark; + offsets_t last, this; + /* + * If we already have a 'current' item from the last search, and if + * the first character of an occurrence on this line for this new search + * is within that former item, use the occurrence as current. + */ + ent = buf->hintsearch; + last.u = buf->curdata.u; + for (mark = ent->marks; mark; mark = mark->next) + { + this.u = GPOINTER_TO_UINT (mark->data); + if (this.o.start >= last.o.start && this.o.start < last.o.end) + break; + } + if (mark == NULL) + { + for (ent = buf->hintsearch; ent; ent = BACKWARD? ent->prev: ent->next) + if (ent->marks) + break; + mark = ent? FIRSTLAST (ent->marks): NULL; + } + buf->cursearch = g_list_find (buf->search_found, ent); + buf->curmark = mark; + } + + /* This is a fresh search */ + else + { + buf->cursearch = FIRSTLAST (buf->search_found); + ent = buf->cursearch->data; + buf->curmark = FIRSTLAST (ent->marks); + } + buf->curdata.u = (buf->curmark)? GPOINTER_TO_UINT (buf->curmark->data): 0; + } + } + buf->hintsearch = ent; + + if (!gtk_xtext_check_ent_visibility (xtext, ent, 1)) + { + GtkAdjustment *adj = xtext->adj; + float value; + + buf->pagetop_ent = NULL; + for (value = 0, ent = buf->text_first; + ent && ent != buf->hintsearch; ent = ent->next) + { + value += g_slist_length (ent->sublines); + } + if (value > adj->upper - adj->page_size) + { + value = adj->upper - adj->page_size; + } + else if ((flags & backward) && ent) + { + value -= adj->page_size - g_slist_length (ent->sublines); + if (value < 0) + { + value = 0; + } + } + gtk_adjustment_set_value (adj, value); + } + + gtk_widget_queue_draw (GTK_WIDGET (xtext)); + + return buf->hintsearch; +} +#undef BACKWARD +#undef FIRSTLAST +#undef NEXTPREVIOUS + +static int +gtk_xtext_render_page_timeout (GtkXText * xtext) +{ + GtkAdjustment *adj = xtext->adj; + + xtext->add_io_tag = 0; + + /* less than a complete page? */ + if (xtext->buffer->num_lines <= adj->page_size) + { + xtext->buffer->old_value = 0; + adj->value = 0; + gtk_xtext_render_page (xtext); + } else if (xtext->buffer->scrollbar_down) + { + g_signal_handler_block (xtext->adj, xtext->vc_signal_tag); + gtk_xtext_adjustment_set (xtext->buffer, FALSE); + gtk_adjustment_set_value (adj, adj->upper - adj->page_size); + g_signal_handler_unblock (xtext->adj, xtext->vc_signal_tag); + xtext->buffer->old_value = adj->value; + gtk_xtext_render_page (xtext); + } else + { + gtk_xtext_adjustment_set (xtext->buffer, TRUE); + if (xtext->force_render) + { + xtext->force_render = FALSE; + gtk_xtext_render_page (xtext); + } + } + + return 0; +} + +/* append a textentry to our linked list */ + +static void +gtk_xtext_append_entry (xtext_buffer *buf, textentry * ent, time_t stamp) +{ + int i; + + /* we don't like tabs */ + i = 0; + while (i < ent->str_len) + { + if (ent->str[i] == '\t') + ent->str[i] = ' '; + i++; + } + + ent->stamp = stamp; + if (stamp == 0) + ent->stamp = time (0); + ent->slp = NULL; + ent->str_width = gtk_xtext_text_width_ent (buf->xtext, ent); + ent->mark_start = -1; + ent->mark_end = -1; + ent->next = NULL; + ent->marks = NULL; + + if (ent->indent < MARGIN) + ent->indent = MARGIN; /* 2 pixels is the left margin */ + + /* append to our linked list */ + if (buf->text_last) + buf->text_last->next = ent; + else + buf->text_first = ent; + ent->prev = buf->text_last; + buf->text_last = ent; + + ent->sublines = NULL; + buf->num_lines += gtk_xtext_lines_taken (buf, ent); + + if ((buf->marker_pos == NULL || buf->marker_seen) && (buf->xtext->buffer != buf || + !gtk_window_has_toplevel_focus (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (buf->xtext)))))) + { + buf->marker_pos = ent; + buf->marker_state = MARKER_IS_SET; + dontscroll (buf); /* force scrolling off */ + buf->marker_seen = FALSE; + } + + if (buf->xtext->max_lines > 2 && buf->xtext->max_lines < buf->num_lines) + { + gtk_xtext_remove_top (buf); + } + + if (buf->xtext->buffer == buf) + { + /* this could be improved */ + if ((buf->num_lines - 1) <= buf->xtext->adj->page_size) + dontscroll (buf); + + if (!buf->xtext->add_io_tag) + { + /* remove scrolling events */ + if (buf->xtext->io_tag) + { + g_source_remove (buf->xtext->io_tag); + buf->xtext->io_tag = 0; + } + buf->xtext->add_io_tag = g_timeout_add (REFRESH_TIMEOUT * 2, + (GSourceFunc) + gtk_xtext_render_page_timeout, + buf->xtext); + } + } + if (buf->scrollbar_down) + { + buf->old_value = buf->num_lines - buf->xtext->adj->page_size; + if (buf->old_value < 0) + buf->old_value = 0; + } + if (buf->search_flags & follow) + { + GList *gl; + + gl = gtk_xtext_search_textentry (buf, ent); + gtk_xtext_search_textentry_add (buf, ent, gl, FALSE); + } +} + +/* the main two public functions */ + +void +gtk_xtext_append_indent (xtext_buffer *buf, + unsigned char *left_text, int left_len, + unsigned char *right_text, int right_len, + time_t stamp) +{ + textentry *ent; + unsigned char *str; + int space; + int tempindent; + int left_width; + + if (left_len == -1) + left_len = strlen (left_text); + + if (right_len == -1) + right_len = strlen (right_text); + + if (left_len + right_len + 2 >= sizeof (buf->xtext->scratch_buffer)) + right_len = sizeof (buf->xtext->scratch_buffer) - left_len - 2; + + if (right_text[right_len-1] == '\n') + right_len--; + + ent = g_malloc (left_len + right_len + 2 + sizeof (textentry)); + str = (unsigned char *) ent + sizeof (textentry); + + if (left_len) + memcpy (str, left_text, left_len); + str[left_len] = ' '; + if (right_len) + memcpy (str + left_len + 1, right_text, right_len); + str[left_len + 1 + right_len] = 0; + + left_width = gtk_xtext_text_width (buf->xtext, left_text, left_len); + + ent->left_len = left_len; + ent->str = str; + ent->str_len = left_len + 1 + right_len; + ent->indent = (buf->indent - left_width) - buf->xtext->space_width; + + /* This is copied into the scratch buffer later, double check math */ + g_assert (ent->str_len < sizeof (buf->xtext->scratch_buffer)); + + if (buf->time_stamp) + space = buf->xtext->stamp_width; + else + space = 0; + + /* do we need to auto adjust the separator position? */ + if (buf->xtext->auto_indent && + buf->indent < buf->xtext->max_auto_indent && + ent->indent < MARGIN + space) + { + tempindent = MARGIN + space + buf->xtext->space_width + left_width; + + if (tempindent > buf->indent) + buf->indent = tempindent; + + if (buf->indent > buf->xtext->max_auto_indent) + buf->indent = buf->xtext->max_auto_indent; + + gtk_xtext_fix_indent (buf); + gtk_xtext_recalc_widths (buf, FALSE); + + ent->indent = (buf->indent - left_width) - buf->xtext->space_width; + buf->xtext->force_render = TRUE; + } + + gtk_xtext_append_entry (buf, ent, stamp); +} + +void +gtk_xtext_append (xtext_buffer *buf, unsigned char *text, int len, time_t stamp) +{ + textentry *ent; + gboolean truncate = FALSE; + + if (len == -1) + len = strlen (text); + + if (text[len-1] == '\n') + len--; + + if (len >= sizeof (buf->xtext->scratch_buffer)) + { + len = sizeof (buf->xtext->scratch_buffer) - 1; + truncate = TRUE; + } + + ent = g_malloc (len + 1 + sizeof (textentry)); + ent->str = (unsigned char *) ent + sizeof (textentry); + ent->str_len = len; + if (len) + { + if (!truncate) + { + memcpy (ent->str, text, len); + ent->str[len] = '\0'; + } + else + { + safe_strcpy (ent->str, text, sizeof (buf->xtext->scratch_buffer)); + ent->str_len = strlen (ent->str); + } + } + ent->indent = 0; + ent->left_len = -1; + + gtk_xtext_append_entry (buf, ent, stamp); +} + +gboolean +gtk_xtext_is_empty (xtext_buffer *buf) +{ + return buf->text_first == NULL; +} + + +int +gtk_xtext_lastlog (xtext_buffer *out, xtext_buffer *search_area) +{ + textentry *ent; + int matches; + GList *gl; + + ent = search_area->text_first; + matches = 0; + + while (ent) + { + gl = gtk_xtext_search_textentry (out, ent); + if (gl) + { + matches++; + /* copy the text over */ + if (search_area->xtext->auto_indent) + { + gtk_xtext_append_indent (out, ent->str, ent->left_len, + ent->str + ent->left_len + 1, + ent->str_len - ent->left_len - 1, 0); + } + else + { + gtk_xtext_append (out, ent->str, ent->str_len, 0); + } + + if (out->text_last) + { + out->text_last->stamp = ent->stamp; + gtk_xtext_search_textentry_add (out, out->text_last, gl, TRUE); + } + } + ent = ent->next; + } + out->search_found = g_list_reverse (out->search_found); + + return matches; +} + +void +gtk_xtext_foreach (xtext_buffer *buf, GtkXTextForeach func, void *data) +{ + textentry *ent = buf->text_first; + + while (ent) + { + (*func) (buf->xtext, ent->str, data); + ent = ent->next; + } +} + +void +gtk_xtext_set_indent (GtkXText *xtext, gboolean indent) +{ + xtext->auto_indent = indent; +} + +void +gtk_xtext_set_max_indent (GtkXText *xtext, int max_auto_indent) +{ + xtext->max_auto_indent = max_auto_indent; +} + +void +gtk_xtext_set_max_lines (GtkXText *xtext, int max_lines) +{ + xtext->max_lines = max_lines; +} + +void +gtk_xtext_set_show_marker (GtkXText *xtext, gboolean show_marker) +{ + xtext->marker = show_marker; +} + +void +gtk_xtext_set_show_separator (GtkXText *xtext, gboolean show_separator) +{ + xtext->separator = show_separator; +} + +void +gtk_xtext_set_thin_separator (GtkXText *xtext, gboolean thin_separator) +{ + xtext->thinline = thin_separator; +} + +void +gtk_xtext_set_time_stamp (xtext_buffer *buf, gboolean time_stamp) +{ + buf->time_stamp = time_stamp; +} + +void +gtk_xtext_set_urlcheck_function (GtkXText *xtext, int (*urlcheck_function) (GtkWidget *, char *)) +{ + xtext->urlcheck_function = urlcheck_function; +} + +void +gtk_xtext_set_wordwrap (GtkXText *xtext, gboolean wordwrap) +{ + xtext->wordwrap = wordwrap; +} + +void +gtk_xtext_set_marker_last (session *sess) +{ + xtext_buffer *buf = sess->res->buffer; + + buf->marker_pos = buf->text_last; + buf->marker_state = MARKER_IS_SET; +} + +void +gtk_xtext_reset_marker_pos (GtkXText *xtext) +{ + if (xtext->buffer->marker_pos) + { + xtext->buffer->marker_pos = NULL; + dontscroll (xtext->buffer); /* force scrolling off */ + gtk_xtext_render_page (xtext); + xtext->buffer->marker_state = MARKER_RESET_MANUALLY; + } +} + +int +gtk_xtext_moveto_marker_pos (GtkXText *xtext) +{ + gdouble value = 0; + xtext_buffer *buf = xtext->buffer; + textentry *ent = buf->text_first; + GtkAdjustment *adj = xtext->adj; + + if (buf->marker_pos == NULL) + return buf->marker_state; + + if (gtk_xtext_check_ent_visibility (xtext, buf->marker_pos, 1) == FALSE) + { + while (ent) + { + if (ent == buf->marker_pos) + break; + value += g_slist_length (ent->sublines); + ent = ent->next; + } + if (value >= adj->value && value < adj->value + adj->page_size) + return MARKER_IS_SET; + value -= adj->page_size / 2; + if (value < 0) + value = 0; + if (value > adj->upper - adj->page_size) + value = adj->upper - adj->page_size; + gtk_adjustment_set_value (adj, value); + gtk_xtext_render_page (xtext); + } + + /* If we previously lost marker position to scrollback limit -- */ + if (buf->marker_pos == buf->text_first && + buf->marker_state == MARKER_RESET_BY_KILL) + return MARKER_RESET_BY_KILL; + else + return MARKER_IS_SET; +} + +void +gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render) +{ + int w, h; + + buf->xtext = xtext; + + if (xtext->buffer == buf) + return; + +/*printf("text_buffer_show: xtext=%p buffer=%p\n", xtext, buf);*/ + + if (xtext->add_io_tag) + { + g_source_remove (xtext->add_io_tag); + xtext->add_io_tag = 0; + } + + if (xtext->io_tag) + { + g_source_remove (xtext->io_tag); + xtext->io_tag = 0; + } + + if (!gtk_widget_get_realized (GTK_WIDGET (xtext))) + gtk_widget_realize (GTK_WIDGET (xtext)); + + h = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (xtext))); + w = gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (xtext))); + + /* after a font change */ + if (buf->needs_recalc) + { + buf->needs_recalc = FALSE; + gtk_xtext_recalc_widths (buf, TRUE); + } + + /* now change to the new buffer */ + xtext->buffer = buf; + dontscroll (buf); /* force scrolling off */ + xtext->adj->value = buf->old_value; + xtext->adj->upper = buf->num_lines; + + /* if the scrollbar was down, keep it down */ + if (xtext->buffer->scrollbar_down && xtext->adj->value < + xtext->adj->upper - xtext->adj->page_size) + { + xtext->adj->value = xtext->adj->upper - xtext->adj->page_size; + } + + if (xtext->adj->upper == 0) + xtext->adj->upper = 1; + /* sanity check */ + else if (xtext->adj->value > xtext->adj->upper - xtext->adj->page_size) + { + /*buf->pagetop_ent = NULL;*/ + xtext->adj->value = xtext->adj->upper - xtext->adj->page_size; + if (xtext->adj->value < 0) + xtext->adj->value = 0; + } + + if (render) + { + /* did the window change size since this buffer was last shown? */ + if (buf->window_width != w) + { + buf->window_width = w; + buf->window_height = h; + gtk_xtext_calc_lines (buf, FALSE); + if (buf->scrollbar_down) + gtk_adjustment_set_value (xtext->adj, xtext->adj->upper - + xtext->adj->page_size); + } else if (buf->window_height != h) + { + buf->window_height = h; + buf->pagetop_ent = NULL; + if (buf->scrollbar_down) + xtext->adj->value = xtext->adj->upper; + gtk_xtext_adjustment_set (buf, FALSE); + } + + gtk_xtext_render_page (xtext); + gtk_adjustment_changed (xtext->adj); + } +} + +xtext_buffer * +gtk_xtext_buffer_new (GtkXText *xtext) +{ + xtext_buffer *buf; + + buf = g_new0 (xtext_buffer, 1); + buf->old_value = -1; + buf->xtext = xtext; + buf->scrollbar_down = TRUE; + buf->indent = xtext->space_width * 2; + dontscroll (buf); + + return buf; +} + +void +gtk_xtext_buffer_free (xtext_buffer *buf) +{ + textentry *ent, *next; + + if (buf->xtext->buffer == buf) + buf->xtext->buffer = buf->xtext->orig_buffer; + + if (buf->xtext->selection_buffer == buf) + buf->xtext->selection_buffer = NULL; + + if (buf->search_found) + { + gtk_xtext_search_fini (buf); + } + + ent = buf->text_first; + while (ent) + { + next = ent->next; + g_free (ent); + ent = next; + } + + g_free (buf); +} diff --git a/src/fe-gtk/xtext.h b/src/fe-gtk/xtext.h new file mode 100644 index 0000000000000000000000000000000000000000..18d769fbf9eddad99360ef59a37408461f4e1313 --- /dev/null +++ b/src/fe-gtk/xtext.h @@ -0,0 +1,295 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef HEXCHAT_XTEXT_H +#define HEXCHAT_XTEXT_H + +#include <gtk/gtk.h> + +#define GTK_TYPE_XTEXT (gtk_xtext_get_type ()) +#define GTK_XTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_XTEXT, GtkXText)) +#define GTK_XTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_XTEXT, GtkXTextClass)) +#define GTK_IS_XTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_XTEXT)) +#define GTK_IS_XTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XTEXT)) +#define GTK_XTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_XTEXT, GtkXTextClass)) + +#define ATTR_BOLD '\002' +#define ATTR_COLOR '\003' +#define ATTR_BLINK '\006' +#define ATTR_BEEP '\007' +#define ATTR_HIDDEN '\010' +#define ATTR_ITALICS2 '\011' +#define ATTR_RESET '\017' +#define ATTR_REVERSE '\026' +#define ATTR_ITALICS '\035' +#define ATTR_STRIKETHROUGH '\036' +#define ATTR_UNDERLINE '\037' + +/* these match palette.h */ +#define XTEXT_MIRC_COLS 32 +#define XTEXT_COLS 37 /* 32 plus 5 for extra stuff below */ +#define XTEXT_MARK_FG 32 /* for marking text */ +#define XTEXT_MARK_BG 33 +#define XTEXT_FG 34 +#define XTEXT_BG 35 +#define XTEXT_MARKER 36 /* for marker line */ +#define XTEXT_MAX_COLOR 41 + +typedef struct _GtkXText GtkXText; +typedef struct _GtkXTextClass GtkXTextClass; +typedef struct textentry textentry; + +/* + * offsets_t is used for retaining search information. + * It is stored in the 'data' member of a GList, + * as chained from ent->marks. It saves starting and + * ending+1 offset of a found occurrence. + */ +typedef union offsets_u { + struct offsets_s { + guint16 start; + guint16 end; + } o; + guint32 u; +} offsets_t; + +typedef enum marker_reset_reason_e { + MARKER_WAS_NEVER_SET, + MARKER_IS_SET, + MARKER_RESET_MANUALLY, + MARKER_RESET_BY_KILL, + MARKER_RESET_BY_CLEAR +} marker_reset_reason; + +typedef struct { + GtkXText *xtext; /* attached to this widget */ + + gfloat old_value; /* last known adj->value */ + textentry *text_first; + textentry *text_last; + + textentry *last_ent_start; /* this basically describes the last rendered */ + textentry *last_ent_end; /* selection. */ + int last_offset_start; + int last_offset_end; + + int last_pixel_pos; + + int pagetop_line; + int pagetop_subline; + textentry *pagetop_ent; /* what's at xtext->adj->value */ + + int num_lines; + int indent; /* position of separator (pixels) from left */ + + textentry *marker_pos; + marker_reset_reason marker_state; + + int window_width; /* window size when last rendered. */ + int window_height; + + unsigned int time_stamp:1; + unsigned int scrollbar_down:1; + unsigned int needs_recalc:1; + unsigned int marker_seen:1; + + GList *search_found; /* list of textentries where search found strings */ + gchar *search_text; /* desired text to search for */ + gchar *search_nee; /* prepared needle to look in haystack for */ + gint search_lnee; /* its length */ + gtk_xtext_search_flags search_flags; /* match, bwd, highlight */ + GList *cursearch; /* GList whose 'data' pts to current textentry */ + GList *curmark; /* current item in ent->marks */ + offsets_t curdata; /* current offset info, from *curmark */ + GRegex *search_re; /* Compiled regular expression */ + textentry *hintsearch; /* textentry found for last search */ +} xtext_buffer; + +struct _GtkXText +{ + GtkWidget widget; + + xtext_buffer *buffer; + xtext_buffer *orig_buffer; + xtext_buffer *selection_buffer; + + GtkAdjustment *adj; + GdkPixmap *pixmap; /* 0 = use palette[19] */ + GdkDrawable *draw_buf; /* points to ->window */ + GdkCursor *hand_cursor; + GdkCursor *resize_cursor; + + int pixel_offset; /* amount of pixels the top line is chopped by */ + + int last_win_x; + int last_win_y; + int last_win_h; + int last_win_w; + + GdkGC *bgc; /* backing pixmap */ + GdkGC *fgc; /* text foreground color */ + GdkGC *light_gc; /* sep bar */ + GdkGC *dark_gc; + GdkGC *thin_gc; + GdkGC *marker_gc; + GdkColor palette[XTEXT_COLS]; + + gint io_tag; /* for delayed refresh events */ + gint add_io_tag; /* "" when adding new text */ + gint scroll_tag; /* marking-scroll timeout */ + gulong vc_signal_tag; /* signal handler for "value_changed" adj */ + + int select_start_adj; /* the adj->value when the selection started */ + int select_start_x; + int select_start_y; + int select_end_x; + int select_end_y; + + int max_lines; + + int col_fore; + int col_back; + + int depth; /* gdk window depth */ + + char num[8]; /* for parsing mirc color */ + int nc; /* offset into xtext->num */ + + textentry *hilight_ent; + int hilight_start; + int hilight_end; + + guint16 fontwidth[128]; /* each char's width, only the ASCII ones */ + + struct pangofont + { + PangoFontDescription *font; + int ascent; + int descent; + } *font, pango_font; + PangoLayout *layout; + + int fontsize; + int space_width; /* width (pixels) of the space " " character */ + int stamp_width; /* width of "[88:88:88]" */ + int max_auto_indent; + + unsigned char scratch_buffer[4096]; + + int (*urlcheck_function) (GtkWidget * xtext, char *word); + + int jump_out_offset; /* point at which to stop rendering */ + int jump_in_offset; /* "" start rendering */ + + int ts_x; /* ts origin for ->bgc GC */ + int ts_y; + + int clip_x; /* clipping (x directions) */ + int clip_x2; /* from x to x2 */ + + int clip_y; /* clipping (y directions) */ + int clip_y2; /* from y to y2 */ + + /* current text states */ + unsigned int underline:1; + unsigned int strikethrough:1; + unsigned int hidden:1; + + /* text parsing states */ + unsigned int parsing_backcolor:1; + unsigned int parsing_color:1; + unsigned int backcolor:1; + + /* various state information */ + unsigned int moving_separator:1; + unsigned int word_select:1; + unsigned int line_select:1; + unsigned int button_down:1; + unsigned int dont_render:1; + unsigned int dont_render2:1; + unsigned int cursor_hand:1; + unsigned int cursor_resize:1; + unsigned int skip_border_fills:1; + unsigned int skip_stamp:1; + unsigned int mark_stamp:1; /* Cut&Paste with stamps? */ + unsigned int force_stamp:1; /* force redrawing it */ + unsigned int render_hilights_only:1; + unsigned int in_hilight:1; + unsigned int un_hilight:1; + unsigned int recycle:1; + unsigned int force_render:1; + unsigned int color_paste:1; /* CTRL was pressed when selection finished */ + + /* settings/prefs */ + unsigned int auto_indent:1; + unsigned int thinline:1; + unsigned int marker:1; + unsigned int separator:1; + unsigned int wordwrap:1; + unsigned int ignore_hidden:1; /* rawlog uses this */ +}; + +struct _GtkXTextClass +{ + GtkWidgetClass parent_class; + void (*word_click) (GtkXText * xtext, char *word, GdkEventButton * event); + void (*set_scroll_adjustments) (GtkXText *xtext, GtkAdjustment *hadj, GtkAdjustment *vadj); +}; + +GtkWidget *gtk_xtext_new (GdkColor palette[], int separator); +void gtk_xtext_append (xtext_buffer *buf, unsigned char *text, int len, time_t stamp); +void gtk_xtext_append_indent (xtext_buffer *buf, + unsigned char *left_text, int left_len, + unsigned char *right_text, int right_len, + time_t stamp); +int gtk_xtext_set_font (GtkXText *xtext, char *name); +void gtk_xtext_set_background (GtkXText * xtext, GdkPixmap * pixmap); +void gtk_xtext_set_palette (GtkXText * xtext, GdkColor palette[]); +void gtk_xtext_clear (xtext_buffer *buf, int lines); +void gtk_xtext_save (GtkXText * xtext, int fh); +void gtk_xtext_refresh (GtkXText * xtext); +int gtk_xtext_lastlog (xtext_buffer *out, xtext_buffer *search_area); +textentry *gtk_xtext_search (GtkXText * xtext, const gchar *text, gtk_xtext_search_flags flags, GError **err); +void gtk_xtext_reset_marker_pos (GtkXText *xtext); +int gtk_xtext_moveto_marker_pos (GtkXText *xtext); +void gtk_xtext_check_marker_visibility(GtkXText *xtext); +void gtk_xtext_set_marker_last (session *sess); + +gboolean gtk_xtext_is_empty (xtext_buffer *buf); +typedef void (*GtkXTextForeach) (GtkXText *xtext, unsigned char *text, void *data); +void gtk_xtext_foreach (xtext_buffer *buf, GtkXTextForeach func, void *data); + +void gtk_xtext_set_error_function (GtkXText *xtext, void (*error_function) (int)); +void gtk_xtext_set_indent (GtkXText *xtext, gboolean indent); +void gtk_xtext_set_max_indent (GtkXText *xtext, int max_auto_indent); +void gtk_xtext_set_max_lines (GtkXText *xtext, int max_lines); +void gtk_xtext_set_show_marker (GtkXText *xtext, gboolean show_marker); +void gtk_xtext_set_show_separator (GtkXText *xtext, gboolean show_separator); +void gtk_xtext_set_thin_separator (GtkXText *xtext, gboolean thin_separator); +void gtk_xtext_set_time_stamp (xtext_buffer *buf, gboolean timestamp); +void gtk_xtext_set_urlcheck_function (GtkXText *xtext, int (*urlcheck_function) (GtkWidget *, char *)); +void gtk_xtext_set_wordwrap (GtkXText *xtext, gboolean word_wrap); + +xtext_buffer *gtk_xtext_buffer_new (GtkXText *xtext); +void gtk_xtext_buffer_free (xtext_buffer *buf); +void gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render); +void gtk_xtext_copy_selection (GtkXText *xtext); +GType gtk_xtext_get_type (void); + +#endif diff --git a/src/fe-text/fe-text.c b/src/fe-text/fe-text.c new file mode 100644 index 0000000000000000000000000000000000000000..3673a81f44e4918b27e64ffec4708eac97e344e2 --- /dev/null +++ b/src/fe-text/fe-text.c @@ -0,0 +1,920 @@ +/* X-Chat + * Copyright (C) 1998 Peter Zelezny. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif +#ifdef WIN32 +#include <io.h> +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#else +#include <unistd.h> +#include <sys/time.h> +#endif +#include <sys/types.h> +#include <ctype.h> +#include <glib-object.h> +#include "../common/hexchat.h" +#include "../common/hexchatc.h" +#include "../common/cfgfiles.h" +#include "../common/outbound.h" +#include "../common/util.h" +#include "../common/fe.h" +#include "fe-text.h" + + +static int done = FALSE; /* finished ? */ + + +static void +send_command (char *cmd) +{ + handle_multiline (current_tab, cmd, TRUE, FALSE); +} + +static gboolean +handle_line (GIOChannel *channel, GIOCondition cond, gpointer data) +{ + + gchar *str_return; + gsize length, terminator_pos; + GError *error = NULL; + GIOStatus result; + + result = g_io_channel_read_line(channel, &str_return, &length, &terminator_pos, &error); + if (result == G_IO_STATUS_ERROR || result == G_IO_STATUS_EOF) { + return FALSE; + } + else { + send_command(str_return); + g_free(str_return); + return TRUE; + } +} + +static int done_intro = 0; + +void +fe_new_window (struct session *sess, int focus) +{ + char buf[512]; + + current_sess = sess; + + if (!sess->server->front_session) + sess->server->front_session = sess; + if (!sess->server->server_session) + sess->server->server_session = sess; + if (!current_tab || focus) + current_tab = sess; + + if (done_intro) + return; + done_intro = 1; + + g_snprintf (buf, sizeof (buf), + "\n" + " \017HexChat-Text \00310"PACKAGE_VERSION"\n" + " \017Running on \00310%s\n", + get_sys_str (1)); + fe_print_text (sess, buf, 0, FALSE); + + fe_print_text (sess, "\n\nCompiled in Features\0032:\017 " +#ifdef USE_PLUGIN + "Plugin " +#endif +#ifdef ENABLE_NLS + "NLS " +#endif +#ifdef USE_OPENSSL + "OpenSSL " +#endif + "\n\n", 0, FALSE); + fflush (stdout); +} + +static int +get_stamp_str (time_t tim, char *dest, int size) +{ + return strftime_validated (dest, size, prefs.hex_stamp_text_format, localtime (&tim)); +} + +static int +timecat (char *buf, time_t stamp) +{ + char stampbuf[64]; + + /* set the stamp to the current time if not provided */ + if (!stamp) + stamp = time (0); + + get_stamp_str (stamp, stampbuf, sizeof (stampbuf)); + strcat (buf, stampbuf); + return strlen (stampbuf); +} + +/* Windows doesn't handle ANSI codes in cmd.exe, need to not display them */ +#ifndef WIN32 +/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ +static const short colconv[] = { 0, 7, 4, 2, 1, 3, 5, 11, 13, 12, 6, 16, 14, 15, 10, 7 }; + +void +fe_print_text (struct session *sess, char *text, time_t stamp, + gboolean no_activity) +{ + int dotime = FALSE; + char num[8]; + int reverse = 0, under = 0, bold = 0, + comma, k, i = 0, j = 0, len = strlen (text); + unsigned char *newtext = g_malloc (len + 1024); + + if (prefs.hex_stamp_text) + { + newtext[0] = 0; + j += timecat (newtext, stamp); + } + while (i < len) + { + if (dotime && text[i] != 0) + { + dotime = FALSE; + newtext[j] = 0; + j += timecat (newtext, stamp); + } + switch (text[i]) + { + case 3: + i++; + if (!isdigit (text[i])) + { + newtext[j] = 27; + j++; + newtext[j] = '['; + j++; + newtext[j] = 'm'; + j++; + goto endloop; + } + k = 0; + comma = FALSE; + while (i < len) + { + if (text[i] >= '0' && text[i] <= '9' && k < 2) + { + num[k] = text[i]; + k++; + } else + { + int col, mirc; + num[k] = 0; + newtext[j] = 27; + j++; + newtext[j] = '['; + j++; + if (k == 0) + { + newtext[j] = 'm'; + j++; + } else + { + if (comma) + col = 40; + else + col = 30; + mirc = atoi (num); + mirc = colconv[mirc % G_N_ELEMENTS(colconv)]; + if (mirc > 9) + { + mirc += 50; + sprintf ((char *) &newtext[j], "%dm", mirc + col); + } else + { + sprintf ((char *) &newtext[j], "%dm", mirc + col); + } + j = strlen (newtext); + } + switch (text[i]) + { + case ',': + comma = TRUE; + break; + default: + goto endloop; + } + k = 0; + } + i++; + } + break; + /* don't actually want hidden text */ + case '\010': /* hidden */ + break; + case '\026': /* REVERSE */ + if (reverse) + { + reverse = FALSE; + strcpy (&newtext[j], "\033[27m"); + } else + { + reverse = TRUE; + strcpy (&newtext[j], "\033[7m"); + } + j = strlen (newtext); + break; + case '\037': /* underline */ + if (under) + { + under = FALSE; + strcpy (&newtext[j], "\033[24m"); + } else + { + under = TRUE; + strcpy (&newtext[j], "\033[4m"); + } + j = strlen (newtext); + break; + case '\002': /* bold */ + if (bold) + { + bold = FALSE; + strcpy (&newtext[j], "\033[22m"); + } else + { + bold = TRUE; + strcpy (&newtext[j], "\033[1m"); + } + j = strlen (newtext); + break; + case '\007': + if (!prefs.hex_input_filter_beep) + { + newtext[j] = text[i]; + j++; + } + break; + case '\017': /* reset all */ + strcpy (&newtext[j], "\033[m"); + j += 3; + reverse = FALSE; + bold = FALSE; + under = FALSE; + break; + case '\t': + newtext[j] = ' '; + j++; + break; + case '\n': + newtext[j] = '\r'; + j++; + if (prefs.hex_stamp_text) + dotime = TRUE; + default: + newtext[j] = text[i]; + j++; + } + i++; + endloop: + ; + } + + /* make sure last character is a new line */ + if (text[i-1] != '\n') + newtext[j++] = '\n'; + + newtext[j] = 0; + write (STDOUT_FILENO, newtext, j); + g_free (newtext); +} +#else +/* The win32 version for cmd.exe */ +void +fe_print_text (struct session *sess, char *text, time_t stamp, + gboolean no_activity) +{ + int dotime = FALSE; + int comma, k, i = 0, j = 0, len = strlen (text); + + unsigned char *newtext = g_malloc (len + 1024); + + if (prefs.hex_stamp_text) + { + newtext[0] = 0; + j += timecat (newtext, stamp); + } + while (i < len) + { + if (dotime && text[i] != 0) + { + dotime = FALSE; + newtext[j] = 0; + j += timecat (newtext, stamp); + } + switch (text[i]) + { + case 3: + i++; + if (!isdigit (text[i])) + { + goto endloop; + } + k = 0; + comma = FALSE; + while (i < len) + { + if (text[i] >= '0' && text[i] <= '9' && k < 2) + { + k++; + } else + { + switch (text[i]) + { + case ',': + comma = TRUE; + break; + default: + goto endloop; + } + k = 0; + + } + i++; + } + break; + /* don't actually want hidden text */ + case '\010': /* hidden */ + case '\026': /* REVERSE */ + case '\037': /* underline */ + case '\002': /* bold */ + case '\017': /* reset all */ + break; + case '\007': + if (!prefs.hex_input_filter_beep) + { + newtext[j] = text[i]; + j++; + } + break; + case '\t': + newtext[j] = ' '; + j++; + break; + case '\n': + newtext[j] = '\r'; + j++; + if (prefs.hex_stamp_text) + dotime = TRUE; + default: + newtext[j] = text[i]; + j++; + } + i++; + endloop: + ; + } + + /* make sure last character is a new line */ + if (text[i-1] != '\n') + newtext[j++] = '\n'; + + newtext[j] = 0; + write (STDOUT_FILENO, newtext, j); + g_free (newtext); +} +#endif + +void +fe_timeout_remove (int tag) +{ + g_source_remove (tag); +} + +int +fe_timeout_add (int interval, void *callback, void *userdata) +{ + return g_timeout_add (interval, (GSourceFunc) callback, userdata); +} + +int +fe_timeout_add_seconds (int interval, void *callback, void *userdata) +{ + return g_timeout_add_seconds (interval, (GSourceFunc) callback, userdata); +} + +void +fe_input_remove (int tag) +{ + g_source_remove (tag); +} + +int +fe_input_add (int sok, int flags, void *func, void *data) +{ + int tag, type = 0; + GIOChannel *channel; + +#ifdef G_OS_WIN32 + if (flags & FIA_FD) + channel = g_io_channel_win32_new_fd (sok); + else + channel = g_io_channel_win32_new_socket (sok); +#else + channel = g_io_channel_unix_new (sok); +#endif + + if (flags & FIA_READ) + type |= G_IO_IN | G_IO_HUP | G_IO_ERR; + if (flags & FIA_WRITE) + type |= G_IO_OUT | G_IO_ERR; + if (flags & FIA_EX) + type |= G_IO_PRI; + + tag = g_io_add_watch (channel, type, (GIOFunc) func, data); + g_io_channel_unref (channel); + + return tag; +} + +/* === command-line parameter parsing : requires glib 2.6 === */ + +static char *arg_cfgdir = NULL; +static gint arg_show_autoload = 0; +static gint arg_show_config = 0; +static gint arg_show_version = 0; + +static const GOptionEntry gopt_entries[] = +{ + {"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL}, + {"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"}, + {"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL}, + {"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin/script auto-load directory"), NULL}, + {"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL}, + {"url", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"}, + {"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL}, + {G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &arg_urls, N_("Open an irc://server:port/channel?key URL"), "URL"}, + {NULL} +}; + +int +fe_args (int argc, char *argv[]) +{ + GError *error = NULL; + GOptionContext *context; + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + context = g_option_context_new (NULL); + g_option_context_add_main_entries (context, gopt_entries, GETTEXT_PACKAGE); + g_option_context_parse (context, &argc, &argv, &error); + + if (error) + { + if (error->message) + printf ("%s\n", error->message); + return 1; + } + + g_option_context_free (context); + + if (arg_show_version) + { + printf (PACKAGE_NAME" "PACKAGE_VERSION"\n"); + return 0; + } + + if (arg_show_autoload) + { +#ifndef USE_PLUGIN + printf (PACKAGE_NAME" was build without plugin support\n"); + return 1; +#else +#ifdef WIN32 + /* see the chdir() below */ + char *sl, *exe = g_strdup (argv[0]); + sl = strrchr (exe, '\\'); + if (sl) + { + *sl = 0; + printf ("%s\\plugins\n", exe); + } + g_free (exe); +#else + printf ("%s\n", HEXCHATLIBDIR); +#endif +#endif + return 0; + } + + if (arg_show_config) + { + printf ("%s\n", get_xdir ()); + return 0; + } + + if (arg_cfgdir) /* we want filesystem encoding */ + { + g_free (xdir); + xdir = strdup (arg_cfgdir); + if (xdir[strlen (xdir) - 1] == '/') + xdir[strlen (xdir) - 1] = 0; + g_free (arg_cfgdir); + } + + return -1; +} + +void +fe_init (void) +{ + /* the following should be default generated, not enfoced in binary */ + prefs.hex_gui_tab_server = 0; + prefs.hex_gui_autoopen_dialog = 0; + /* except for these, there is no lag meter, there is no server list */ + prefs.hex_gui_lagometer = 0; + prefs.hex_gui_slist_skip = 1; +} + +void +fe_main (void) +{ + GIOChannel *keyboard_input; + + main_loop = g_main_loop_new(NULL, FALSE); + + /* Keyboard Entry Setup */ +#ifdef G_OS_WIN32 + keyboard_input = g_io_channel_win32_new_fd(STDIN_FILENO); +#else + keyboard_input = g_io_channel_unix_new(STDIN_FILENO); +#endif + + g_io_add_watch(keyboard_input, G_IO_IN, handle_line, NULL); + + g_main_loop_run(main_loop); + + return; +} + +void +fe_exit (void) +{ + done = TRUE; + g_main_loop_quit(main_loop); +} + +void +fe_new_server (struct server *serv) +{ +} + +void +fe_message (char *msg, int flags) +{ + puts (msg); +} + +void +fe_close_window (struct session *sess) +{ + session_free (sess); + done = TRUE; +} + +void +fe_beep (session *sess) +{ + putchar (7); +} + +void +fe_add_rawlog (struct server *serv, char *text, int len, int outbound) +{ +} +void +fe_set_topic (struct session *sess, char *topic, char *stripped_topic) +{ +} +void +fe_cleanup (void) +{ +} +void +fe_set_tab_color (struct session *sess, tabcolor col) +{ +} +void +fe_update_mode_buttons (struct session *sess, char mode, char sign) +{ +} +void +fe_update_channel_key (struct session *sess) +{ +} +void +fe_update_channel_limit (struct session *sess) +{ +} +int +fe_is_chanwindow (struct server *serv) +{ + return 0; +} + +void +fe_add_chan_list (struct server *serv, char *chan, char *users, char *topic) +{ +} +void +fe_chan_list_end (struct server *serv) +{ +} +gboolean +fe_add_ban_list (struct session *sess, char *mask, char *who, char *when, int rplcode) +{ + return 0; +} +gboolean +fe_ban_list_end (struct session *sess, int rplcode) +{ + return 0; +} +void +fe_notify_update (char *name) +{ +} +void +fe_notify_ask (char *name, char *networks) +{ +} +void +fe_text_clear (struct session *sess, int lines) +{ +} +void +fe_progressbar_start (struct session *sess) +{ +} +void +fe_progressbar_end (struct server *serv) +{ +} +void +fe_userlist_insert (struct session *sess, struct User *newuser, gboolean sel) +{ +} +int +fe_userlist_remove (struct session *sess, struct User *user) +{ + return 0; +} +void +fe_userlist_rehash (struct session *sess, struct User *user) +{ +} +void +fe_userlist_numbers (struct session *sess) +{ +} +void +fe_userlist_clear (struct session *sess) +{ +} +void +fe_userlist_set_selected (struct session *sess) +{ +} +void +fe_dcc_add (struct DCC *dcc) +{ +} +void +fe_dcc_update (struct DCC *dcc) +{ +} +void +fe_dcc_remove (struct DCC *dcc) +{ +} +void +fe_clear_channel (struct session *sess) +{ +} +void +fe_session_callback (struct session *sess) +{ +} +void +fe_server_callback (struct server *serv) +{ +} +void +fe_url_add (const char *text) +{ +} +void +fe_pluginlist_update (void) +{ +} +void +fe_buttons_update (struct session *sess) +{ +} +void +fe_dlgbuttons_update (struct session *sess) +{ +} +void +fe_dcc_send_filereq (struct session *sess, char *nick, int maxcps, int passive) +{ +} +void +fe_set_channel (struct session *sess) +{ +} +void +fe_set_title (struct session *sess) +{ +} +void +fe_set_nonchannel (struct session *sess, int state) +{ +} +void +fe_set_nick (struct server *serv, char *newnick) +{ +} +void +fe_change_nick (struct server *serv, char *nick, char *newnick) +{ +} +void +fe_ignore_update (int level) +{ +} +int +fe_dcc_open_recv_win (int passive) +{ + return FALSE; +} +int +fe_dcc_open_send_win (int passive) +{ + return FALSE; +} +int +fe_dcc_open_chat_win (int passive) +{ + return FALSE; +} +void +fe_userlist_hide (session * sess) +{ +} +void +fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_flags flags) +{ +} +void +fe_set_lag (server * serv, long lag) +{ +} +void +fe_set_throttle (server * serv) +{ +} +void +fe_set_away (server *serv) +{ +} +void +fe_serverlist_open (session *sess) +{ +} +void +fe_get_bool (char *title, char *prompt, void *callback, void *userdata) +{ +} +void +fe_get_str (char *prompt, char *def, void *callback, void *ud) +{ +} +void +fe_get_int (char *prompt, int def, void *callback, void *ud) +{ +} +void +fe_idle_add (void *func, void *data) +{ + g_idle_add (func, data); +} +void +fe_ctrl_gui (session *sess, fe_gui_action action, int arg) +{ + /* only one action type handled for now, but could add more */ + switch (action) + { + /* gui focus is really the only case hexchat-text needs to worry about */ + case FE_GUI_FOCUS: + current_sess = sess; + current_tab = sess; + sess->server->front_session = sess; + break; + default: + break; + } +} +int +fe_gui_info (session *sess, int info_type) +{ + return -1; +} +void * +fe_gui_info_ptr (session *sess, int info_type) +{ + return NULL; +} +void fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *), void *ud) +{ +} +char *fe_get_inputbox_contents (struct session *sess) +{ + return NULL; +} +void fe_set_inputbox_contents (struct session *sess, char *text) +{ +} +int fe_get_inputbox_cursor (struct session *sess) +{ + return 0; +} +void fe_set_inputbox_cursor (struct session *sess, int delta, int pos) +{ +} +void fe_open_url (const char *url) +{ +} +void fe_menu_del (menu_entry *me) +{ +} +char *fe_menu_add (menu_entry *me) +{ + return NULL; +} +void fe_menu_update (menu_entry *me) +{ +} +void fe_uselect (struct session *sess, char *word[], int do_clear, int scroll_to) +{ +} +void +fe_server_event (server *serv, int type, int arg) +{ +} +void +fe_flash_window (struct session *sess) +{ +} +void fe_get_file (const char *title, char *initial, + void (*callback) (void *userdata, char *file), void *userdata, + int flags) +{ +} +void fe_tray_set_flash (const char *filename1, const char *filename2, int timeout){} +void fe_tray_set_file (const char *filename){} +void fe_tray_set_icon (feicon icon){} +void fe_tray_set_tooltip (const char *text){} +void fe_userlist_update (session *sess, struct User *user){} +void +fe_open_chan_list (server *serv, char *filter, int do_refresh) +{ + serv->p_list_channels (serv, filter, 1); +} +const char * +fe_get_default_font (void) +{ + return NULL; +} diff --git a/src/fe-text/fe-text.h b/src/fe-text/fe-text.h new file mode 100644 index 0000000000000000000000000000000000000000..a2bc5d758228ecc3f8788aeb0ca2a2ff6a85cd85 --- /dev/null +++ b/src/fe-text/fe-text.h @@ -0,0 +1,20 @@ +/* HexChat + * Copyright (C) 1998-2010 Peter Zelezny. + * Copyright (C) 2009-2013 Berke Viktor. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +GMainLoop *main_loop; diff --git a/src/fe-text/fe-text.vcxproj b/src/fe-text/fe-text.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..75b64a1254c6cf68fa1c586c86fd85a8d079c920 --- /dev/null +++ b/src/fe-text/fe-text.vcxproj @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{E93E1255-95D1-4B08-8FDF-B53CC6A21280}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>fetext</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\..\win32\hexchat.props" /> + <PropertyGroup> + <TargetName>hexchat-text</TargetName> + <OutDir>$(HexChatRel)</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(HexChatLib);$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <AdditionalDependencies>$(DepLibs);$(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PreprocessorDefinitions>WIN32;_WIN64;_AMD64_;NDEBUG;_CONSOLE;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(HexChatLib);$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <AdditionalDependencies>$(DepLibs);$(HexChatLib)common.lib;wbemuuid.lib;comsupp.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="fe-text.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fe-text.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/src/fe-text/fe-text.vcxproj.filters b/src/fe-text/fe-text.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..e8a4bcc5f124fc533ea537a226f1d1ce5d4893d5 --- /dev/null +++ b/src/fe-text/fe-text.vcxproj.filters @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="fe-text.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="fe-text.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/src/fe-text/meson.build b/src/fe-text/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..705d88528ce9dae82904d4ec9553ab89c145c80c --- /dev/null +++ b/src/fe-text/meson.build @@ -0,0 +1,7 @@ +executable('hexchat-text', + sources: [ + 'fe-text.c', + ], + dependencies: hexchat_common_dep, + install: true, +) diff --git a/src/htm/Main.Designer.cs b/src/htm/Main.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..d95cf7fcdbc292dc8498ef91cd873a649516eef5 --- /dev/null +++ b/src/htm/Main.Designer.cs @@ -0,0 +1,337 @@ +/** + * HexChat Theme Manager + * + * Copyright (C) 2012 Patrick Griffs + * Copyright (C) 2012 Berke Viktor + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +namespace thememan +{ + partial class HTM + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HTM)); + this.themelist = new System.Windows.Forms.ListBox(); + this.themecolor0 = new System.Windows.Forms.Label(); + this.themecolor1 = new System.Windows.Forms.Label(); + this.themecolor2 = new System.Windows.Forms.Label(); + this.themecolor3 = new System.Windows.Forms.Label(); + this.themecolor4 = new System.Windows.Forms.Label(); + this.themecolor5 = new System.Windows.Forms.Label(); + this.themecolor6 = new System.Windows.Forms.Label(); + this.themecolor7 = new System.Windows.Forms.Label(); + this.themecolor8 = new System.Windows.Forms.Label(); + this.themecolor9 = new System.Windows.Forms.Label(); + this.themecolora = new System.Windows.Forms.Label(); + this.themecolorb = new System.Windows.Forms.Label(); + this.themecolorc = new System.Windows.Forms.Label(); + this.themecolord = new System.Windows.Forms.Label(); + this.themecolore = new System.Windows.Forms.Label(); + this.themecolorf = new System.Windows.Forms.Label(); + this.themecolorfg = new System.Windows.Forms.Label(); + this.themecolortextbg = new System.Windows.Forms.Label(); + this.importbutton = new System.Windows.Forms.Button(); + this.applybutton = new System.Windows.Forms.Button(); + this.themecolorfgmarked = new System.Windows.Forms.Label(); + this.deleteButton = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // themelist + // + this.themelist.FormattingEnabled = true; + this.themelist.Location = new System.Drawing.Point(12, 12); + this.themelist.Name = "themelist"; + this.themelist.Size = new System.Drawing.Size(160, 199); + this.themelist.TabIndex = 0; + this.themelist.SelectedIndexChanged += new System.EventHandler(this.theme_selected); + // + // themecolor0 + // + this.themecolor0.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor0.Location = new System.Drawing.Point(189, 36); + this.themecolor0.Name = "themecolor0"; + this.themecolor0.Size = new System.Drawing.Size(40, 40); + this.themecolor0.TabIndex = 6; + // + // themecolor1 + // + this.themecolor1.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor1.Location = new System.Drawing.Point(239, 36); + this.themecolor1.Name = "themecolor1"; + this.themecolor1.Size = new System.Drawing.Size(40, 40); + this.themecolor1.TabIndex = 10; + // + // themecolor2 + // + this.themecolor2.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor2.Location = new System.Drawing.Point(289, 36); + this.themecolor2.Name = "themecolor2"; + this.themecolor2.Size = new System.Drawing.Size(40, 40); + this.themecolor2.TabIndex = 14; + // + // themecolor3 + // + this.themecolor3.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor3.Location = new System.Drawing.Point(339, 36); + this.themecolor3.Name = "themecolor3"; + this.themecolor3.Size = new System.Drawing.Size(40, 40); + this.themecolor3.TabIndex = 18; + // + // themecolor4 + // + this.themecolor4.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor4.Location = new System.Drawing.Point(189, 87); + this.themecolor4.Name = "themecolor4"; + this.themecolor4.Size = new System.Drawing.Size(40, 40); + this.themecolor4.TabIndex = 4; + // + // themecolor5 + // + this.themecolor5.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor5.Location = new System.Drawing.Point(239, 87); + this.themecolor5.Name = "themecolor5"; + this.themecolor5.Size = new System.Drawing.Size(40, 40); + this.themecolor5.TabIndex = 8; + // + // themecolor6 + // + this.themecolor6.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor6.Location = new System.Drawing.Point(289, 87); + this.themecolor6.Name = "themecolor6"; + this.themecolor6.Size = new System.Drawing.Size(40, 40); + this.themecolor6.TabIndex = 12; + // + // themecolor7 + // + this.themecolor7.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor7.Location = new System.Drawing.Point(339, 87); + this.themecolor7.Name = "themecolor7"; + this.themecolor7.Size = new System.Drawing.Size(40, 40); + this.themecolor7.TabIndex = 16; + // + // themecolor8 + // + this.themecolor8.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor8.Location = new System.Drawing.Point(189, 138); + this.themecolor8.Name = "themecolor8"; + this.themecolor8.Size = new System.Drawing.Size(40, 40); + this.themecolor8.TabIndex = 5; + // + // themecolor9 + // + this.themecolor9.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolor9.Location = new System.Drawing.Point(239, 138); + this.themecolor9.Name = "themecolor9"; + this.themecolor9.Size = new System.Drawing.Size(40, 40); + this.themecolor9.TabIndex = 9; + // + // themecolora + // + this.themecolora.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolora.Location = new System.Drawing.Point(289, 138); + this.themecolora.Name = "themecolora"; + this.themecolora.Size = new System.Drawing.Size(40, 40); + this.themecolora.TabIndex = 13; + // + // themecolorb + // + this.themecolorb.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolorb.Location = new System.Drawing.Point(339, 138); + this.themecolorb.Name = "themecolorb"; + this.themecolorb.Size = new System.Drawing.Size(40, 40); + this.themecolorb.TabIndex = 17; + // + // themecolorc + // + this.themecolorc.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolorc.Location = new System.Drawing.Point(189, 189); + this.themecolorc.Name = "themecolorc"; + this.themecolorc.Size = new System.Drawing.Size(40, 40); + this.themecolorc.TabIndex = 7; + // + // themecolord + // + this.themecolord.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolord.Location = new System.Drawing.Point(239, 189); + this.themecolord.Name = "themecolord"; + this.themecolord.Size = new System.Drawing.Size(40, 40); + this.themecolord.TabIndex = 11; + // + // themecolore + // + this.themecolore.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolore.Location = new System.Drawing.Point(289, 189); + this.themecolore.Name = "themecolore"; + this.themecolore.Size = new System.Drawing.Size(40, 40); + this.themecolore.TabIndex = 15; + // + // themecolorf + // + this.themecolorf.BackColor = System.Drawing.SystemColors.HotTrack; + this.themecolorf.Location = new System.Drawing.Point(339, 189); + this.themecolorf.Name = "themecolorf"; + this.themecolorf.Size = new System.Drawing.Size(40, 40); + this.themecolorf.TabIndex = 19; + // + // themecolorfg + // + this.themecolorfg.AutoSize = true; + this.themecolorfg.BackColor = System.Drawing.Color.Transparent; + this.themecolorfg.Location = new System.Drawing.Point(190, 18); + this.themecolorfg.Name = "themecolorfg"; + this.themecolorfg.Size = new System.Drawing.Size(66, 13); + this.themecolorfg.TabIndex = 21; + this.themecolorfg.Text = "Sample Text"; + // + // themecolortextbg + // + this.themecolortextbg.Location = new System.Drawing.Point(180, 15); + this.themecolortextbg.Name = "themecolortextbg"; + this.themecolortextbg.Size = new System.Drawing.Size(208, 223); + this.themecolortextbg.TabIndex = 20; + // + // importbutton + // + this.importbutton.Location = new System.Drawing.Point(12, 217); + this.importbutton.Name = "importbutton"; + this.importbutton.Size = new System.Drawing.Size(52, 23); + this.importbutton.TabIndex = 1; + this.importbutton.Text = "Add..."; + this.importbutton.UseVisualStyleBackColor = true; + this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1); + // + // applybutton + // + this.applybutton.Location = new System.Drawing.Point(120, 217); + this.applybutton.Name = "applybutton"; + this.applybutton.Size = new System.Drawing.Size(52, 23); + this.applybutton.TabIndex = 3; + this.applybutton.Text = "Apply"; + this.applybutton.UseVisualStyleBackColor = true; + this.applybutton.Click += new System.EventHandler(this.applybutton_Click_1); + // + // themecolorfgmarked + // + this.themecolorfgmarked.AutoSize = true; + this.themecolorfgmarked.Location = new System.Drawing.Point(313, 18); + this.themecolorfgmarked.Name = "themecolorfgmarked"; + this.themecolorfgmarked.Size = new System.Drawing.Size(67, 13); + this.themecolorfgmarked.TabIndex = 22; + this.themecolorfgmarked.Text = "Marked Text"; + // + // deleteButton + // + this.deleteButton.Location = new System.Drawing.Point(66, 217); + this.deleteButton.Name = "deleteButton"; + this.deleteButton.Size = new System.Drawing.Size(52, 23); + this.deleteButton.TabIndex = 2; + this.deleteButton.Text = "Delete"; + this.deleteButton.UseVisualStyleBackColor = true; + this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click); + // + // HTM + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(397, 248); + this.Controls.Add(this.deleteButton); + this.Controls.Add(this.themecolorfgmarked); + this.Controls.Add(this.themecolorfg); + this.Controls.Add(this.themecolorf); + this.Controls.Add(this.themecolor3); + this.Controls.Add(this.themecolorb); + this.Controls.Add(this.themecolor7); + this.Controls.Add(this.themecolore); + this.Controls.Add(this.themecolor2); + this.Controls.Add(this.themecolora); + this.Controls.Add(this.themecolor6); + this.Controls.Add(this.themecolord); + this.Controls.Add(this.themecolor1); + this.Controls.Add(this.themecolor9); + this.Controls.Add(this.themecolor5); + this.Controls.Add(this.themecolorc); + this.Controls.Add(this.themecolor0); + this.Controls.Add(this.themecolor8); + this.Controls.Add(this.themecolor4); + this.Controls.Add(this.importbutton); + this.Controls.Add(this.applybutton); + this.Controls.Add(this.themelist); + this.Controls.Add(this.themecolortextbg); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "HTM"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.Text = "HexChat Theme Manager"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListBox themelist; + private System.Windows.Forms.Label themecolor0; + private System.Windows.Forms.Label themecolor1; + private System.Windows.Forms.Label themecolor2; + private System.Windows.Forms.Label themecolor3; + private System.Windows.Forms.Label themecolor4; + private System.Windows.Forms.Label themecolor5; + private System.Windows.Forms.Label themecolor6; + private System.Windows.Forms.Label themecolor7; + private System.Windows.Forms.Label themecolor8; + private System.Windows.Forms.Label themecolor9; + private System.Windows.Forms.Label themecolora; + private System.Windows.Forms.Label themecolorb; + private System.Windows.Forms.Label themecolorc; + private System.Windows.Forms.Label themecolord; + private System.Windows.Forms.Label themecolore; + private System.Windows.Forms.Label themecolorf; + private System.Windows.Forms.Label themecolorfg; + private System.Windows.Forms.Label themecolortextbg; + private System.Windows.Forms.Button importbutton; + private System.Windows.Forms.Button applybutton; + private System.Windows.Forms.Label themecolorfgmarked; + private System.Windows.Forms.Button deleteButton; + } +} + diff --git a/src/htm/Main.cs b/src/htm/Main.cs new file mode 100644 index 0000000000000000000000000000000000000000..aecfa1ce9e8bccec2f678319592a3f622bfd5ee4 --- /dev/null +++ b/src/htm/Main.cs @@ -0,0 +1,381 @@ +/** + * HexChat Theme Manager + * + * Copyright (C) 2012 Patrick Griffs + * Copyright (C) 2012 Berke Viktor + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +using System; +using System.Collections.Generic; +using System.Collections; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +/* using System.IO.Compression; */ +using System.IO.Packaging; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Net; + +namespace thememan +{ + public partial class HTM : Form + { + public string hexchatdir; + public string themedir; + + OpenFileDialog importDialog; + + static bool IsPortable(out string directory) + { + System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); + directory = asm != null ? asm.Location : string.Empty; + if (string.IsNullOrEmpty(directory)) + { + directory = string.Empty; + return File.Exists("portable-mode"); + } + directory = Path.GetDirectoryName(directory); + return File.Exists(Path.Combine(directory, "portable-mode")); + } + + public HTM () + { + InitializeComponent (); + string portableDir; + + if (RunningOnWindows() && IsPortable(out portableDir)) + { + hexchatdir = Path.Combine(portableDir, "config\\"); + + if (!Directory.Exists(hexchatdir)) + { + MessageBox.Show("HexChat installation not found!\nCheck your .\\config folder", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + Environment.Exit(1); + } + } + else + { + /* Environment.SpecialFolder.ApplicationData + * Windows: %APPDATA% + * Unix: ~/.config + * Windows is case-insensitive so 'hexchat' should be fine for both + */ + hexchatdir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "hexchat"); + + if (!Directory.Exists(hexchatdir)) + { + if (RunningOnWindows()) + { + MessageBox.Show("HexChat installation not found!\nCheck your %APPDATA%\\HexChat folder", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + else + { + MessageBox.Show("HexChat installation not found!\nCheck your ~/.config/hexchat folder", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + Environment.Exit(1); + } + } + + themedir = Path.Combine(hexchatdir, "themes"); + ListThemes(); + + String[] arguments = Environment.GetCommandLineArgs(); + if (arguments.Length > 1) + { + FileInfo fi = new FileInfo(arguments[1]); + attemptImport(fi); + } + } + + private bool RunningOnWindows() + { + if (Environment.OSVersion.ToString().ToLower().Contains("windows")) + { + return true; + } + else + { + return false; + } + } + + private void ListThemes() + { + themelist.Items.Clear(); + + if (Directory.Exists(themedir)) + { + foreach (string theme in Directory.GetDirectories(themedir)) + { + themelist.Items.Add(theme.Remove(0, themedir.Length + 1)); + } + } + else + { + Directory.CreateDirectory(themedir); + } + + if (themelist.Items.Count == 0) + { + applybutton.Enabled = false; + deleteButton.Enabled = false; + } + else + { + themelist.SetSelected(0, true); + } + } + + private void ShowColors(List<List<string>> themecolors) + { + List<Control> labels = this.Controls.OfType<Label>().Cast<Control>().OrderBy(label => label.Name).ToList(); + for (byte themecolor = 0; themecolor < themecolors.Count; themecolor++) + { + byte rval = Convert.ToByte(int.Parse(themecolors[themecolor][0].ToString(), System.Globalization.NumberStyles.HexNumber) / 257); + byte gval = Convert.ToByte(int.Parse(themecolors[themecolor][1].ToString(), System.Globalization.NumberStyles.HexNumber) / 257); + byte bval = Convert.ToByte(int.Parse(themecolors[themecolor][2].ToString(), System.Globalization.NumberStyles.HexNumber) / 257); + + if (themecolor <= 15) + labels[themecolor].BackColor = Color.FromArgb(rval, gval, bval); + else if (themecolor == 16) + themecolorfgmarked.ForeColor = Color.FromArgb(rval, gval, bval); + else if (themecolor == 17) + themecolorfgmarked.BackColor = Color.FromArgb(rval, gval, bval); + else if (themecolor == 18) + themecolorfg.ForeColor = Color.FromArgb(rval, gval, bval); + else if (themecolor == 19) + { + themecolortextbg.BackColor = Color.FromArgb(rval, gval, bval); + themecolorfg.BackColor = themecolortextbg.BackColor; + } + } + } + + private List<List<string>> ReadTheme(string theme) + { + List<List<string>> themecolors = new List<List<string>>(); + foreach (string line in File.ReadLines(Path.Combine(themedir, theme, "colors.conf"))) + { + List<string> colors = new List<string>(); + List<string> colorlist = new List<string>(); + string[] possiblecolors = { "color_256", "color_257", "color_258", "color_259" }; + + for (byte num = 16; num <=31; num++) + colorlist.Add("color_" + num); + colorlist.AddRange(possiblecolors); + + string[] config = line.Split(new char[] { ' ' }); + if(colorlist.Contains(config[0]) == true) + { + colors.Add(config[2]); + colors.Add(config[3]); + colors.Add(config[4]); + themecolors.Add(colors); + } + } + return themecolors; + } + + private void applybutton_Click_1(object sender, EventArgs e) + { + DialogResult result = MessageBox.Show("HexChat must be closed and this will overwrite your current theme!\n\nDo you wish to continue?", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); + if (result == DialogResult.OK) + { + File.Copy(Path.Combine(themedir, themelist.SelectedItem.ToString(), "colors.conf"), Path.Combine(hexchatdir, "colors.conf"), true); + if (File.Exists(Path.Combine(themedir, themelist.SelectedItem.ToString(), "pevents.conf"))) + { + File.Copy(Path.Combine(themedir, themelist.SelectedItem.ToString(), "pevents.conf"), Path.Combine(hexchatdir, "pevents.conf"), true); + } + else if (File.Exists(Path.Combine(hexchatdir, "pevents.conf"))) + { + File.Delete(Path.Combine(hexchatdir, "pevents.conf")); + } + } + } + + private void theme_selected(object sender, EventArgs e) + { + if (themelist.SelectedItem != null) + { + ShowColors(ReadTheme(themelist.SelectedItem.ToString())); + applybutton.Enabled = true; + deleteButton.Enabled = true; + } + } + + private void importbutton_Click_1(object sender, EventArgs e) + { + importDialog = new OpenFileDialog(); + importDialog.Filter = "HexChat Theme Files|*.hct"; + importDialog.FilterIndex = 1; + importDialog.FileOk += new CancelEventHandler(importdialog_FileOk); + importDialog.ShowDialog(); + } + + private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e) + { + FileInfo fi = new FileInfo(importDialog.FileName); + attemptImport(fi); + } + + private void attemptImport(FileInfo fi) + { + string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length); + int result = extractTheme(fi); + ListThemes(); + /* although a check is added to ListThemes(), this would still fail if the theme file was invalid or the theme is already installed */ + switch (result) + { + case 0: + themelist.SetSelected(themelist.FindStringExact(themeName), true); + /* required for command line invoking */ + ShowColors(ReadTheme(themeName)); + break; + case 1: + MessageBox.Show("This theme is already installed!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + themelist.SetSelected(themelist.FindStringExact(themeName), true); + /* required for command line invoking */ + ShowColors(ReadTheme(themeName)); + break; + case 2: + MessageBox.Show("Invalid theme file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + break; + } + } + /* gzip solution, not good enough coz we need multiple files + * + public string extractTheme(FileInfo fi) + { + using (FileStream inFile = fi.OpenRead()) + { + string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length); + string destFolder = xchatdir + themedir + themeName; + + if (!Directory.Exists(destFolder)) + { + Directory.CreateDirectory(destFolder); + } + + using (FileStream outFile = File.Create(destFolder + "\\colors.conf")) + { + using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress)) + { + Decompress.CopyTo(outFile); + } + } + return themeName; + } + } + */ + + /* using System.IO.Package: + * http://weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx + * [Content_Types].xml must be present for every zip file + */ + + private const long BUFFER_SIZE = 4096; + + private int extractTheme(FileInfo zipFile) + { + string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length); + string destFolder = Path.Combine(themedir, themeName); + + try + { + using (Package zip = Package.Open(zipFile.FullName, FileMode.Open, FileAccess.Read)) + { + PackagePartCollection parts = zip.GetParts(); + + if (Directory.Exists(destFolder)) + { + return 1; + } + else + { + Directory.CreateDirectory(destFolder); + } + + foreach (PackagePart part in parts) + { + /* not sure what's this good for */ + /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */ + String destFile = destFolder + part.Uri.ToString(); + + using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite)) + { + using (Stream inStream = part.GetStream()) + { + long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE; + byte[] buffer = new byte[bufferSize]; + int bytesRead = 0; + long bytesWritten = 0; + + while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0) + { + outFileStream.Write(buffer, 0, bytesRead); + bytesWritten += bufferSize; + } + } + } + + + } + } + } + catch (System.IO.FileFormatException) + { + return 2; + } + + if (IsDirectoryEmpty(destFolder)) + { + Directory.Delete(destFolder); + return 2; + } + else + { + return 0; + } + } + + public bool IsDirectoryEmpty(string path) + { + return !Directory.EnumerateFileSystemEntries(path).Any(); + } + + private void deleteButton_Click(object sender, EventArgs e) + { + DialogResult result = MessageBox.Show("Are you sure you want to delete this theme from the theme repo?\n\nYour currently applied theme won't be affected.", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); + if (result == DialogResult.OK) + { + Directory.Delete(Path.Combine(themedir, themelist.SelectedItem.ToString()), true); + ListThemes(); + if (themelist.Items.Count == 0) + { + deleteButton.Enabled = false; + } + } + } + + + + } +} diff --git a/src/htm/Main.resx b/src/htm/Main.resx new file mode 100644 index 0000000000000000000000000000000000000000..75c995680878d681206e78847b901e5cb092846e --- /dev/null +++ b/src/htm/Main.resx @@ -0,0 +1,287 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAHAAAACQAAAAgAAAAFAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAAABEBAQEbBAQEIQICAh4AAAAVAAAACwAA + AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAFwMDAywDAwM/AwMDSQUF + BUUEBAQ1AQEBHwAAAA0AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAZAgICRQMD + A3IBAQGDAQEBegICA20EBARYBAQEOgEBARsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA + ABQEBARjGhsZricnJcsXFxbYBgYGzgAAAJwCAgJwBQUFTwICAioAAAANAAAAAgAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAABAAAABQMDAlM8Pjqcp6ug17O3rPiFiID3NTcz6QEBAdMBAQGPBAQEWgICAjQAAAATAAAABAAA + AAEAAAABAAAAAgAAAAUAAAAHAAAACAAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADAAA + AA0AAAAMAAAACwAAAAgAAAAGAQEBGRcYF3uqrqPU3ePV+MrPwv+usqf+b3Ns8QcHB+QAAACnBAQEYAQE + BDsAAAAYAAAABwAAAAUAAAAIAAAADgAAABUCAgIdAgICIAEBARwAAAASAAAACQAAAAMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADgEB + ARkDAwMiAgICJwICAikCAgIoAgICJQAAAB8AAAAXAQIBTmFjXaTX3c/p4uja/9bczv/Cx7v+en127hMU + E+QAAAC3BAQEZQQEBD4AAAAfAAAAEgAAABUBAQEeAgICKgICAjcCAgNEAwMDSAQEBEACAgIuAQEBGQAA + AAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAUAAAARAwMDJgMDAzsDAwNJAgICTwICAlICAgJTBAQETwMDA0cEAwQ5AgICd5WZj9vq8OL54ObY/9/l + 1//Kz8P/fYF57BscGt4AAADBAgICbAMDA0UAAAAwAAAALQICAjcCAgJNAgICbgICAoUBAQGJAQEBeAIC + AmQDAwNMBAQELQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAA0AAAA0AgICbAICAo8CAgGbAQEBngAAAJkBAQGOAgICfAMDA28CAgJfAgICjJyf + lufo7d/+5Orc/+Pp2v/Gy7//io2F6SEiINQAAADDAQEBcwMDA1UCAgJSAwMDaQYGBosSExKePD46vjw9 + OtYTFBPTAgICuwAAAJADAwNdBAQEOQICAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAQEBBwYGBkgZGhiOJSYkszAxLsgsLSvRHyAe2RESEd0KCgrdAgICzwAA + ALQAAACKAgICoJygl+ru9OX+6/Hi/+Dl2P7N0sb/jJCI6hscGtEAAADBAgIBgwcHB4MTExKmMzQwvXh8 + dM2hpZvms7mt9Kito/qEiH/2IiMg3QICAr0BAQJrAwMDNgAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQUFGS8wLYO1uq/Yyc/C8sLHu/awtan4n6OZ+pGV + jPtydW70Li8s4RUVFNoCAgLGAQEBvZGUjOjt8+X86O7g/+Xq3P/S18r/g4Z+7A8PDs4EBATFGxwax0dI + RM6RlIvjvsK29sXKvfi6vrL9w8m8/8TJvf+mq6D7UFJN3gUGBb4BAQFqAgICKAAAAA8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAAEBwcHOFBSTZjb4NPw6O7g/uHn + 2f7U2s3/yc3B/7q/s/+2uq/+pquh+4WIgPYrLCrhBwcH03x+d+Lk6dv78Pbn/+nv4f/Y3tD9jZCH6RkZ + GM48PTnXm56V8MXKvfrK0ML90dXI/8rPwv+3vLH/wsi7/8DFuf+bnpT4LC0qzQICAqQBAQFKAAAAFgAA + AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABQAAAAcAAAAJAgICMyco + JpW4vLHa3ePV+Nzh1Pvc4tT/1NnM/8zRxP/HzL//t7uw/6qvpP+Sl433QkQ/2n1/eOHf5Nb88vjp/+/1 + 5v/i6Nr8sLWq732AeOimqp/2ub6y/r7EuP+9wrf/vcK2/7/Dt/+3vLD/ub+y/6Wpnvtwc2vmEBEQswEB + AWQAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAADAAA + AA8AAAATAAAAHwYGBm88Pjqom5+V2MTJvfPGy7//wMW5/77Ct/+9wbX/uL2y/7O3rP+3vLD/o6id8rm9 + svLl693+6e/g/+bs3f/c4tP/x83A/7G1qv6mqqD/nKCW/5ygl/+go5r/o6ed/6aqoP+kqJ7/j5OK81VY + UtwREhG4AQEBbAAAACUAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA + AA4AAAATAAAAGQAAAB4AAAAjAAAAKwAAAEQCAgKJHB0bul5gW9eQlIvyn6OZ/p6imP+go5r/pqqg/6+z + qf+5vrL/wMS5/rm+s/+XnJL/eX11/3J4c/9zgoP/Z3R0/2xxbP+ChX3/g4Z+/3+Cev+BhHv/iIyD/32A + eP5iZF3wNjc01goKCbQAAAB4AAAALAAAAA8AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA + AAgAAAANAAAAFAAAABoAAAAiAAAAKgAAADIAAAA7AAAARQAAAFMAAABrAAAAkAoLCrwpKifkVVdS9Hh7 + dPuDhn7/j5KK/5uflv+anpX/aWxl/0ZOTP9BVl3/M1Ff/ytIV/8wTmD/MEpZ/zRIUv9FTk//cXRu/3p+ + dv5ydW7+UFJO+CorKOwPDw7UAQEBrQICAoECAgJOAwMDLwAAABgAAAAKAAAAAwAAAAAAAAABAAAAAgAA + AAMAAAAGAAAACgAAABAAAAAYAAAAIQAAACoAAAA1AAAAPwAAAEsAAABYAAAAZQAAAHMAAACAAAAAjgAA + AKEBAQG1Dg4N0iEiIOpAQj71cHNs/ICDfP1WWVT+LDk8/0Rsdv9UhZH/Uomd/0CBoP88b4r/PGB1/y9K + W/8rQEz/SE9P/jIzMPQiIyHoEhMS3AECAdQAAADCAQEBngICAnoEBARkBQUFTQMDAzMAAAAaAAAACgAA + AAIAAAACAAAAAwAAAAYAAAALAAAAEgAAABsAAAAmAAAAMQAAAD0AAABKAAAAWAAAAGcAAAB2AAAAhgAA + AJUAAAClAAAAsQAAALoFBQXFDAwM1gcHB+MJCQnrKCkn8lRWUfZDTU7/VX+M/054gv9KVVj/V2Fk/zxc + av9EUln/U1pf/ztRX/8wTF3/JzU9/0ZKRvk/QT3lODo34R4fHecJCQnjAQEB0wAAALABAQGGAwMDagQE + BFEDAwMzAAAAFwAAAAcAAAADAAAABgAAAAsAAAATAAAAHAAAACkAAAA2AAAARQAAAFQAAABkAAAAdAAA + AIUAAACZAAAAsAMDA8QWFhbXKSkp5j4+PvRLS0v5Ojo6+iAgH/YpKifxYGJc+HFzbf1FWmL/XZiu/0td + Yf9iY2P/uLm5/1laW/9jZGT/t7i4/05ZX/9AYXf/LURS/2RqZ/+Ch378goZ+/ICDe/hLTUjtHB0b6wUF + BeUAAADBAQEBjgICAmoFBQVLAwMDJwAAAA0AAAAEAAAACQAAABEAAAAdAAAAKQAAADgAAABIAAAAWgAA + AGwAAAB/AQEBmQICArgcHBzUR0dH7G9vb/uUlJT9u7u7/tra2v+NjY39JSUk+DY3NPdbXVj7eXx1/nh7 + dP88TVT/WI6k/1prcP/P0ND/09TU/2psbP/Q0dH/0tPU/1NjbP9Oe5f/OFFe/4SLhf+ippz/n6OZ/5+j + mf+Rloz+en529Ts8OekMDAvlAAEAxgEBAYYDAwNXBAQEMAAAABIAAAAHAAAADwAAABsAAAApAAAAOQAA + AEsAAABdAAAAcgEBAYwICAi1Kioq3GxsbPOnp6f92dnZ//r6+v/9/f3//Pz8/5ycm/4rLCv6Kiso+EZH + Q/xhY13+fH94/4qNhf9bYV7/QV9s/010g/9ve37/bnyA/09weP9vfYH/aXqB/0qCn/9ThaH/P0tQ/6So + n//DyLz/wsa7/7a7r/+zuKz/rbKm/5KXjvdVWFLrEREQ3QEBAawBAQJVAgICLwAAABIAAAALAAAAFgAA + ACQAAAA3AAAASgAAAF8AAAB3CwsLpCsrK9p1dXXzx8fH/u3t7f/////////////////+/v7/vb29/zY2 + Nv0cHRv8LS8s+0JDP/xZW1b8dHdw/I+Tiv6NkYf8TFNS+UBpevxiqcL/d8fc/4Ta7v95yd//Z7jd/1+h + w/9EW2X/e4F6/8TJvf/R1sn/1NnM/9HWyf/N08X/yc/C/8TJvP+qrqP6WVtW3AcHBrACAgJKAwMDJQAA + AA4AAAAPAAAAHAAAAC8AAABEAAAAXAICAnsXFxezY2Nj6sjIyP3w8PD/8/P0//Pz8/////////////// + ///39/f/jIyM/hsbG/0WFxX8IyQh+jM0MfpAQT34RUdD90BBPfJCREDcKisotj9KTdVCYGv+THOA/3Cs + xf9wr8z/TXWJ/0hZYP9/hX//ztPH/ubr3f7m7N3/7/Xm//D25//m7N3/3+XX/9bczv7L0MP2kJSLwQ4O + DYcCAgJCAQEBFgAAAAgAAAAUAAAAJAAAADkAAABTAgICdiMjI7iHh4f25eXl/v7+/v/+/v//oaHs/62t + vP/4+Pj/////////////////5OTk/25ubv4iIiL9CwwL+wwNDPgMDQzvDAwM1wgIB7AFBQWHAQEBhHN2 + b7enraTzjJKN/3SCgv90goP/mqKc/77Dt/+Tl473YGNd7ImNhfG/xLj55evd+OTq3Pjb4dP40NXJ+MXK + vuutsaa9RkhDiQUFBWQAAAAiAAAACQAAAAMAAAAYAAAAKwAAAEQDAwNrKCgot5iYmPb39/f///////// + ////////oqL3/1pauv/k5OT//////////////////////+fn5/+np6f/T09P+QsLC+gAAADMAAAArwAA + AI8AAAByAQEBhllbVqXKz8Pi2+HT/9zi1P/f5df/5evd/+Pp2/+us6j1MTMw2BUVFMInKCW1Ojs4p0FC + PqxAQj2qNDYyqC0uK54gIB6JBwcGXgAAACIAAAAHAAAAAgAAAAAAAAAaAAAAMAEBAVQjIyOrm5ub9Pf3 + 9///////////////////////vr76/0FBzv/S0tT///////z8/P/o6On/2tra//Pz8//9/f3/2dnZ/3Nz + c/gRERHbAAAAtgAAAJkAAAB9AAAAhRQUE5KorKHE3uTW+O3z5P/x9+j/6O7g/97k1v+vs6juLi8tzAAA + AJICAgJPAgICPgQEBEcDAwNNAQEBPgAAACYAAAATAAAACwAAAAMAAAABAAAAAAAAAAAAAAAcAAAANQwM + DH5zc3Pm6urq////////////////////////////6Oj9/0ND3v+ysrn/3Nzj/5OTx/87O83/Li63/39/ + nP/o6Oj//////97e3v9WVlb0BQUFywAAAKcAAACKAAAAeQICApdGSESVxMm9zOju4Pru9OX/5Orc/97j + 1f+WmZDfHh8dwAEBAX0CAgIyAAAAFAAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAcAAAARDo6Ora8vLz9///////////////////////////+/v7/7e31/0JC5v9KSqb/LS3T/wYG + 8/8AAP7/AQH9/yoqz//Ly9b//v7+//7+/v+np6f+ISEh4gAAALQAAACTAAAAdAAAAIgFBQWjV1lUpMvQ + xNHr8eP85evd/9ne0fdrbWfQCgoJpgEBAVEAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAaAAAAU1lZWeDp6en//////////////////v7+//Ly8//BwdT/ZmbI/xMR + 6P8KBfL/AAD//wAA/v8SEvX/V1ft/8DA7v/4+Pv////////////f39//Ozs78QAAALsAAACYAAAAeAAA + AGMAAAByBgYFm0NFQcO1uq/Z3ePV6qqupM4pKii4AAAAcQAAACMAAAALAAAAAwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAWGRkZPP9/f3////////////s7O//s7PQ/1pa + xf8TE+j/AgL6/wAA/v8ZDOf/Dw7w/2lp6f/IyPL/+fn8///////////////////////39/f/R0dH+AAA + AL0AAACYAAAAeAAAAFcAAAA8AAAARAkJCHM0NjKdUVNOuDM0MZcEBQRkAAAAJgAAAAkAAAADAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAUWJiYu35+fn///////j4 + /v9ycuv/ERHp/wEB/f8AAP//AwP8/yws8P9DQe7/Wlq8/+rq7P////////////////////////////// + ///z8/P/RERE9QAAALgAAACSAAAAcgAAAFEAAAAyAAAAGwAAABcAAAAmAAAANwAAAC8AAAASAAAABAAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAPlJS + Uszb29v+//////7+//+4uPz/JSX8/w0N+v82NvL/nJzr/+jo9/+2tvn/Tk7C/9ra2/////////////// + ///////////////////Nzc3+NDQ05wAAAKsAAACHAAAAZwAAAEUAAAApAAAAFQAAAAgAAAAEAAAABAAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAKAAAAIi4uLo6lpaX1/Pz8////////////6Oj+/9DQ+f/z8/v//v7+///////R0fv/OzvY/8LC + yP/+/v7///////////////////////n5+f+MjIz5FxcXygAAAJcAAAB2AAAAVwAAADkAAAAgAAAADgAA + AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAGAAAADgQEBEBWVlbA0dHR/P7+/v////////////////////////////// + ///x8f7/S0vn/6mpuf/8/Pz//////////////////f39/8DAwP05OTndAQEBoAAAAH4AAABhAAAARAAA + ACkAAAAVAAAACAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAEBARUXFxdYWVlZyby8vPj19fX///////// + ///////////////////7+///c3P1/5iYyP/5+fn///////7+/v/x8fH/rKys+kRERN0ICAiiAAAAfAAA + AGMAAABIAAAALwAAABoAAAALAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABQAAAAoBAQEXDw8PRjs7 + O6h9fX3ox8fH+ubm5v/19fX//Pz8////////////4uL+/9zc9P/y8vL/5OTk/76+vvpvb2/tKSkpwgUF + BYwAAABvAAAAWgAAAEUAAAAwAAAAHAAAAA4AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAUAAAAJAAAAEgcHBysWFhZqKysrsFlZWdaHh4fppaWl9re3t/y5ubn+tra2/KGhofWAgIDrUFBQ2yMj + I70ODg6NAgICZwAAAFcAAABLAAAAPAAAACwAAAAcAAAADwAAAAYAAAACAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAAEAAAACAAAAA0AAAAVAwMDJwkJCUwLCwt0DAwMjwwMDJ8MDAylDAwMoQsL + C5UJCQl/BgYGYQEBAUkAAABAAAAAOwAAADUAAAAsAAAAIgAAABcAAAANAAAABgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADAAAABEAAAAVAAAAGgAA + AB0AAAAgAAAAIwAAACQAAAAkAAAAJAAAACMAAAAhAAAAHgAAABoAAAAVAAAADwAAAAoAAAAFAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAA + AAcAAAAJAAAACwAAAA4AAAAPAAAAEAAAABAAAAARAAAAEAAAAA8AAAAOAAAADQAAAAsAAAAIAAAABQAA + AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABQAAAAQAAAAEAAAAAwAA + AAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA//////// + AAD///////8AAP///////wAA/////f//AAD////wf/8AAP///+A//wAA////4D//AAD////AP/8AAP// + /8A/nwAA//+DgDwHAAD//gAAAAcAAP/8AAAABwAA//wAAAAHAAD//AAAAA8AAP/+AAAAHwAA//4AAAA/ + AAD//wAAAD8AAP/+AAAAfwAA//gAAAAfAAD/4AAAAA8AAP/AAAAABwAA/wAAAAAHAAD+AAAAAAcAAPwA + AAAABwAA+AAAAAAPAADwAACAAB8AAOAAAIAP/wAA4AAAQB//AADAAABAH/8AAMAAAHA//wAAwAAAfH// + AADAAAB///8AAMAAAH///wAAwAAA////AADgAAH///8AAPAAA////wAA+AAH////AAD+AB////8AAP/B + /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA//////// + AAA= +</value> + </data> +</root> \ No newline at end of file diff --git a/src/htm/Program.cs b/src/htm/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..afbb64833c27ac6c13ba6ae3901295322c7f2b31 --- /dev/null +++ b/src/htm/Program.cs @@ -0,0 +1,42 @@ +/** + * HexChat Theme Manager + * + * Copyright (C) 2012 Patrick Griffs + * Copyright (C) 2012 Berke Viktor + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace thememan +{ + static class Program + { + /// <summary> + /// The main entry point for the application. + /// </summary> + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new HTM()); + } + } +} diff --git a/src/htm/Properties/AssemblyInfo.cs b/src/htm/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..9cedc211c1adfc5fbefce7952667f71300ff0cf0 --- /dev/null +++ b/src/htm/Properties/AssemblyInfo.cs @@ -0,0 +1,59 @@ +/** + * HexChat Theme Manager + * + * Copyright (C) 2012 Patrick Griffs + * Copyright (C) 2012 Berke Viktor + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Resources; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("HexChat Theme Manager")] +[assembly: AssemblyDescription("Manages HexChat Themes.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("thememan")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("adb04fa6-faee-4dcc-be53-7ba67e74c2a0")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: NeutralResourcesLanguageAttribute("en-US")] diff --git a/src/htm/Properties/Resources.Designer.cs b/src/htm/Properties/Resources.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..8e2cd74a78c1e6e98870ca3ceb82a32434f5b061 --- /dev/null +++ b/src/htm/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace thememan.Properties { + using System; + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("thememan.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/src/htm/Properties/Resources.resources b/src/htm/Properties/Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HY<Q6CA7v*Fo=_rJy z78Pga=h>R*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/src/htm/Properties/Resources.resx b/src/htm/Properties/Resources.resx new file mode 100644 index 0000000000000000000000000000000000000000..1af7de150c99c12dd67a509fe57c10d63e4eeb04 --- /dev/null +++ b/src/htm/Properties/Resources.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/src/htm/Properties/Settings.Designer.cs b/src/htm/Properties/Settings.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..c8c467e85aa27eb4f00e6c8e7649cbd716da0f63 --- /dev/null +++ b/src/htm/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace thememan.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/src/htm/Properties/Settings.settings b/src/htm/Properties/Settings.settings new file mode 100644 index 0000000000000000000000000000000000000000..39645652af62950ebf3b28ec3a5400dcec30b1c4 --- /dev/null +++ b/src/htm/Properties/Settings.settings @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> + <Profiles> + <Profile Name="(Default)" /> + </Profiles> + <Settings /> +</SettingsFile> diff --git a/src/htm/README.md b/src/htm/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7abc9655598a464a6a1ee28e81ae16a0a5512fea --- /dev/null +++ b/src/htm/README.md @@ -0,0 +1,7 @@ +hexchat-theme-manager +------------------ + +- Shows previews of and can load/save themes +- Will run on windows/linux (still wip) + +![XTM Screenshot](http://puu.sh/uoZz) \ No newline at end of file diff --git a/src/htm/Resources/htm.ico b/src/htm/Resources/htm.ico new file mode 100644 index 0000000000000000000000000000000000000000..f5cac031701cbef0513979c1614dc5b03b6d491c GIT binary patch literal 9662 zcmeHLXINF&wxy$p7(^vT6A>jKO%kyqAfgfwRIs5T7RdEei5Rh9K~TgNu-8CPEP%am zrAQG`0~Qnn8z3Um6{T~4!=7)<6AzF0yt#=<-sg|3WH`^>d+oW#nrpU=jEpS)Gcl3D zzgjX8Ix;fdWMpLY0Nj$91@QfU#$Rp$S!k5vFIWCIDrC+IfHKe?Xa^_)asWU3kOy;Q z-s-ZlvON?O6ne|a$$f_Fu0RKX_w}Lffw{A-HRa{y4FL<_D@8@c(b&g8?57u=bp+&r z4{fkb*+;s=-lM^LG5GocE9K<mzXShiz%V`&%;7zLXlKB-?*fjlpY-T{MpswomZoO6 zM@mXccW^%#ds>8Z7!RqBYd!;>|MuWLN%8ixKYK0J%j-%Zy~k2fUS7`0%zRjI_{l>L zBco4={5SbF3>-Y53^vaMwqbA6!QT{fH2`TG@Vl&!&yM4U&xR#Gf7c#y`wtD)&;F_e zr~s+}+m9v3Bd@0fe%&=c)?9Vs%#o}o&+m(F-c6=67s3S(PxmTiW#vN52?zgKz;OKj z7+{Xfncr6fx?*pi0$R}36W5&q&Ru^dRwQ<X4mIWnpVo$cU7#PJ2k77#$E2pLoUFra zSC^v?pWH1gD9xq^xpyczB~DoBz3i1n7Y*hg4es9p=5O9%eqEvWGw9I=1|v?av4#!i zSmN54*Tfv&!}|;=cXjCe92gFK1-<OUj(`)^8IOBo7339$;(Ga>1KV=SD+?O)iyzU` zqK9<z?p5+$yW(Y!o}c7_z!l7K$NbUw&257buEAN(9#{zYgYRa*3%}hkZyfX+VIJ@E zeFpm;`-v&^xdYqe<Ya@OKLqy<KyJmo)mX;^awZTEd~k0`X~k2ausoNZmu1t>w=UC` zK>xDd+FDt7=PKUu#Qe#a>j*gyvHe45jm{y6nMAV@!ye$AGVv@9bGPHU3;45L*w_B> zz*@@CZ`1vgkGJZ4-Z#?Z3*%HnBZG`yTAw{u@2vhrMMdQabl-*Ie*;_a`%v(qedVue zi-Z?d1(aX(NJzW)GX-qlR1W)RU=Hjr>xWqI)6nP~Ho(**!E5!Bw9sQg#gVb6Ya>n{ zX<EO@r(U~{7VAxrm6cn7Jq*Hon!q0&vdDGa`<oc~UA%Pm(T%&w)$rx|a~F?`4jwts zv|~>|^WvooYmNIGKI_`GOE%W~8T(Dxu{)r&qNYe(`YNA_a0d4t-Xy;bYhHHhq;?0k zypDaOjJ2`8vt#!U&l8iQ>aX8S5M4^V&~o)gJYBnyKw&2jHBWG~&r?)VOoYDq(5naH zo&F1X_H%|bC$dz4orXZy{+#^GO7Ib$l{^-*veW2B+7-HVIg+9-ofX1PhBhNd)*Be= zKg0aY)oYd)6qe;QSJszM+3RQYC@;MwaQnux?%hAWV>V*w!=R8omEhcTGd;N_<9;gQ zBblP(&r@=093@?krJ#`AB10qnH1IwO{<h%3Z8qnr|1_lBIY)86mFD2~&@n()@AEw| z@#nKSALc&GYR)alqO8Za>2}67O1XWRqT|ldiL*y(=f1!OD{G5vZy&E`PYWN2t3_q> zx~`azhs5VDo_Ou;>s1<d;$VGj;sqh`S_~y5M*~rG`D!%ypQG5z7wFjWkmg063yMEd z|0ojN-N5BjfOF5gYCv1wt(-BJb2^_F*Oy-Ke-Fe~M9{%Kk8r*<9FJ_LL|*^OMT$wd zK&Vp^4o4z>s*X*#P+j!miBR@BpNd~Tq1=K@N=Zwi^A}GDVJ8kz@S(lHK00*dM>-Pz z6Y;&H5h1i~*Or>e(;RaVS25u3j<q>2bFFz-?w9%s+ndjZ=W+dD&YW+#SL_2A0M<B% z%{@Quap{{`Gahc={X;eUUkEw8U&4XcKO1?RU{^}I7AwRiM$*3EowUMxDJ}N$B+qqz zG<V4oa{u0)*7<vLERfH-m9%#KD%up_M>rQ@j+;y6puwgOR8-n?9`FJT0k$FAmASSZ zd@c1Au6vvxy8xd6+JHXrCBQXuG~fg*0Jf`iP>JuSuUj~Is$;F!swK_LW!ugz6m)Pe z{TQ-`=DB}MV;siO$SE!~VB$<Nu$f9G4ztL_)|pIg9BH(}c=~?HLRz_InSj_ACOA5X z^bPblwzFXK)3DQ8zyUd@Ki1=%+1CD2n=^N5AMnwedA%W-_dvh`umh$6-vXY1FR&E| z#X1+&)H>cnJ}<YlGOt_Y=`Qy5Tir6nd6Hl_)Qqg%m(e8u9pt$AC$e07h|D~;klC!I z)Zcan8CZ@ZoAKj?F9(>^YWL|~ioBnTn$2|~8G1v&eI;^~8}gn#_AmhV*`~Y)X<m_X z=bnXY8uziE1783m09$~0&jpqN8-P8)G2lFK3A(SVs;WLfu6f?Reft-B{dB7*O_^9f z%HDw{`vj1K*E+JDJdLK#b|bT|=aaRgGdWG4NyBj-CgWU4ci;#bV>_nNV&sUTA;Shg z`>fZeCD8L6{4=5d9OMRYpO1Y^e6t76{p{myxohB>`=fpU*9Z2KNdU+E62Kog0Gxx4 zYu&nad)TjEzhZN9^IAJQyT)O|hBawv^{R(2Rn407wdi}#?^;GrpF=MD&ybzVY?|Zh zN-?pq<UD-_xw^SgbW996IL{=@*~`hu+L7Gm&!u%6*NE3`Sc9`$C9<=(sX%<afNhGf z<`wLL>-v0L+hKiO++!c-Smj)#4sc##?n3|@U^>7t?}K*_;N6&>J$q)29Xs}=hlfY= z?%lgv;^N|j?Cfj`3=C}1(djEfyfw^lnby2w^-=+`KxX!nXxi4JG=0G$x|^O(nORvh z-`$<kGcxF2W)?ZQx|74IeKcg^H?;l-e>xl%OvnQg?ARM1ASUXDn++{fRqarOh~-+y z=P(uLz<m<?3ZDVTH2Vy59}2Lay8!&16wt0+yNmkz`nm4z?ls}z;Vq9JKc=RpCTeME zA+cCY!NEa-fuTVYVoo$>>?kpMO<}c<7xy<bWA-;Ra;7`kFYzOfRcmPBYF`?^$csF@ z*V4R|Ysq%qL2~jBB@4R=$d?D{YHB<s{~SkAac3zq<`kX25QZAEwE;Qwg}VAjPr&CC z`UmclIF^||`#jgOzQACBeSIddyhDc$M-2=NvX?GhT9cBJB2-jVP}?C00wp9Q(4aws zT5!%{qyC1?R--J$&NHTnmn>f-M(!2@cWe}ob8>97oVQXu=Xf$LPsyeA*{^8Dji)p> z<_XOVy-L<IzNJ-bS4#SXj0ZO)b&zFR=5<1Ug8T7=Z-*x6%~e)bItT8yI0GGU<lN4- zXP@W&SOZ_<`6^9K%}7^Q*YecV)RxN1N~)=;1!~&Tr-p_G3J3@gdi3bg(oM6gxKH2S zO#@87XtEqRLNt2ps0PStD{ISKoJ*92t^IwgSqp@5p1!o`)OA{P_BPos-Ap#lv&hHa zhwfyi2*s#xT-&%lbDzP#x!1<`f^aMSYCUSq738>$;Ae$%V4HKE=N!+rXTNd6vt@ny z^oiNHabtZ^Q4vfm5dNpo(3f=jbUcYfqF?Qyu&|I8E?g*RYiqZ3Q0>sH+EG;myhbj1 z*sh)OImFsVthL^AnMZW^>7z9PI|FISx^;jb{dhQ-6458@f`80%b$Pit(7)>PwU|cK zX%YHtQO>hWQTqKGqU$#kUz|Q4mN3R<)Mn^&15d6;9J8EzxE>e){C%@PPfss;|Ni~; zY}>Zu@ZkoUKK&9g-?v9eNeLk?X#Du`jqtfr=(-J@1-1bkLmP1R$MDTk08Z!~vLto| zPkamH(3!}Hx-SNpJVL*ktgEMUaoF%7;UlfgPgz=xIAJ>I%LpT5gAgsP&o;w%zJWgG z&N0imp9j|h6Ra@_c0U;u6jb{*cjlXz*hC{o-l2Q<vLy65Zc9tch;tA76~{8iwWp`2 zNL^h$2Rfqw&b8ivf0r&AJ0nhoUdt<dAgZV-q^gEe;$9lp=rbZ-8TU8hJ@3T%^EaG1 z^2=D*(;mFcai41u=XQ=&wt3s$fqj1<&U+2kE-o)Gf7`s0>(bH|8Z|19E?kJE+}!81 zYgY;lAD%|W#?j>C6O6r-O6KL|<<XQWQ)+R}x1cv1*aEBor+s5=toNYTyA9q=_?995 z7R!5npY|Tu{uK2p30%D~k9!pMX|}Nfz;<rS7ni>p%-<TdCn`QZzU5uyIR+{!>d4Bf zm~3ss$jB&@l$2^nMn)i6*%s2*ze~4nJwTjrtO)E&Lhs(a3!wMkz%GDm-zMzo$W-S^ zM{lKH%Xm@sT+IISI4`4N!FO}h(W8Zd|3u8=8pOUW^$+~~&B6ZT<m~L6UshK3EBef( zy1It0T*;z;{VSC;)JsW4u^PNd!o73nI+{AQf|8P6A+DQS-+lV@Db8ki74*gd`vEV& z6<DmKq!=`6^vJ9Dc6*F(hw>9=j^62~uNQ-7-vfOBsgL02?;4zkrn$Mf)vyms$IF+m zDKau0F?*dfG)hTMu1UhVyJ`t_QmdqS^U5eSwVE0m#nM+=CC3kHv<P|=04e{e_-zJQ zw{PFh6LI;|L??$B<lB7;iVB=l*vF+g1wViH;2Jh@&YU?Fjg5^G4kD32ix<Bjb@eid zf3Usf<;7%ZSV^NszQUg3sl5DUE8n+&a6DUETh~D^+jS?fnAZT<x4F)9@5Ow%UUJ=G z4(#i{<>z?(&cQXz+|kkTc1}(XGCfK1eN2p)bacejv11eJYc+a=7l_dYii&C^2Zv<j zot(F6w_c~Er3t2{rX|pO64(gL1-KXF{)GQl&UJ_RGB}_7nZbRuwz0AC)?>$x)p1^w zj?z+r($gD}ADbm{$@eodn&I1zC^<Q`^`3M-OFl!?<VMu*o6x%tSO&1~aDCJQ*k12z zYrOh@h7#_mA>Ude?<HkqWQaL#|I?_d63EW3gpMDNmGo|H=W+ZbB_*{C9XgcztV7Vd z2AB<418r^p-*O_R|L(!(*ADA-h0UfR58Xf>71h<%wWZejyBTT5)3c8D?@yK3nji3f ztE#H#)TvWV@cSp|R}VwyYJhVN_u=g0oadyu<$e4dufKD!EffJ2>_M|rr%q##`y#x( zy-U$^HWe2a6Yr(1UlkMxsA09pt<{o#A`!(I-vbr+mPtmA4}dNYfWIBs=ebYk8pD3W z>-?46p-!Stx(Ci*o$(E5fN!h$=$+5uJRYEzD?@D5M@L7CV`F25sHiA$XlQ7iudnZm z2@@vdpzlafQ&S5>?c_LRU$+A|R~iD$y%WHG`d9i5)U^(_3G3##;@rUBWnIyK=;9l6 z9D1@P=r6Vb2Z3WiDDLgSGavjNXg1F6E6le9h6DVq&%Ct(O@MX%o!p_mb?`no9{8Mj zAF6;lz&VfomutHg&<E(-27KKc;J**?Jf6=s=iJ7+{w}*i^*cw~eJEoF`xVEY^m~W@ zzQW+Wv1G3NjBU;Hc<;=c&-4GAJC<x6yboTV&xE-!C-#N5kn-f`JdeTeNO`l44`DD5 z>3*dA+H#aWm&y-;^FJK^vA}Oy;FrdLJ7gZeDe-Y2d0y%Bi_Ew9wM=?*on=lS`X zA#;&{<ynf~A(6Et&wIU*7Ld@%e<_yS_krZEh+dHSkUT#LlJ!BbWc4grJxiX>^D1Rz zeEGe6$WE9HY1s=h>3`)S=8NmqKEFsGUK`g^DX~YsjI2af%E(KkNJd#A1({wFNmn57 K9{>A3@_zsss%iQF literal 0 HcmV?d00001 diff --git a/src/htm/app.config b/src/htm/app.config new file mode 100644 index 0000000000000000000000000000000000000000..b33a20518b0dd2f4df9e53ae33706ff5e0d5af17 --- /dev/null +++ b/src/htm/app.config @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<configuration> +<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration> diff --git a/src/htm/htm.csproj b/src/htm/htm.csproj new file mode 100644 index 0000000000000000000000000000000000000000..7c96d2745d1ebfdfe2f5f7de04acad0c6eca7892 --- /dev/null +++ b/src/htm/htm.csproj @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">x86</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{DE87FFCA-9606-4116-B747-062D88A56A28}</ProjectGuid> + <OutputType>WinExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>thememan</RootNamespace> + <AssemblyName>thememan</AssemblyName> + <FileAlignment>512</FileAlignment> + <IsWebBootstrapper>false</IsWebBootstrapper> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <TargetFrameworkProfile> + </TargetFrameworkProfile> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <AutorunEnabled>true</AutorunEnabled> + <ApplicationRevision>1</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <UseApplicationTrust>false</UseApplicationTrust> + <PublishWizardCompleted>true</PublishWizardCompleted> + <BootstrapperEnabled>true</BootstrapperEnabled> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> + <PlatformTarget>x86</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>..\..\..\hexchat-build\Win32\bin\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode> + <Prefer32Bit>false</Prefer32Bit> + </PropertyGroup> + <PropertyGroup> + <ApplicationIcon>Resources\htm.ico</ApplicationIcon> + </PropertyGroup> + <PropertyGroup> + <ManifestCertificateThumbprint>25412E3EF25458D894050F8209E4D9DCCDF432D7</ManifestCertificateThumbprint> + </PropertyGroup> + <PropertyGroup> + <ManifestKeyFile>htm_TemporaryKey.pfx</ManifestKeyFile> + </PropertyGroup> + <PropertyGroup> + <GenerateManifests>false</GenerateManifests> + </PropertyGroup> + <PropertyGroup> + <SignManifests>false</SignManifests> + </PropertyGroup> + <PropertyGroup> + <TargetZone>LocalIntranet</TargetZone> + </PropertyGroup> + <PropertyGroup /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> + <PlatformTarget>x64</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>..\..\..\hexchat-build\x64\bin\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode> + <Prefer32Bit>false</Prefer32Bit> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + <Reference Include="WindowsBase" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Main.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Main.Designer.cs"> + <DependentUpon>Main.cs</DependentUpon> + </Compile> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <EmbeddedResource Include="Main.resx"> + <DependentUpon>Main.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + <SubType>Designer</SubType> + </EmbeddedResource> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + <DesignTime>True</DesignTime> + </Compile> + <None Include="app.config"> + <SubType>Designer</SubType> + </None> + <None Include="Properties\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <LastGenOutput>Settings.Designer.cs</LastGenOutput> + </None> + <Compile Include="Properties\Settings.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> + <Visible>False</Visible> + <ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> + <ItemGroup> + <Content Include="Resources\htm.ico" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file diff --git a/src/htm/meson.build b/src/htm/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..8fa93b0327feab074b1268a4d18f75893a89c5bf --- /dev/null +++ b/src/htm/meson.build @@ -0,0 +1,33 @@ +add_languages('cs') + +executable('thememan', + sources: [ + 'Program.cs', + 'Main.cs', + 'Main.Designer.cs', + ], + resources: [ + # 'Main.resx', # FIXME: Allow setting resource id + 'thememan.HTM.resources', + ], + cs_args: [ + '-r:WindowsBase', + '-r:System.Data', + '-r:System.Drawing', + '-r:System.Windows.Forms', + '-win32icon:' + meson.current_source_dir() + '/Resources/htm.ico' + ], + install: true, +) + +thememan_conf = configuration_data() +thememan_conf.set('exec_prefix', get_option('prefix')) +thememan_conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) + +configure_file( + input: 'thememan.in', + output: 'thememan', + configuration: thememan_conf, + install: true, + install_dir: get_option('bindir'), +) diff --git a/src/htm/thememan.HTM.resources b/src/htm/thememan.HTM.resources new file mode 100644 index 0000000000000000000000000000000000000000..39374ac06933b449a80cd0bef24b7b226e4dfef3 GIT binary patch literal 10228 zcmeHLd0dUz|G({)FbR!eMz$$!GGz}*ND;~wV`yXID$^~pq)4{OzE2IZWMBJgp^`AN zL@8TkS1O`Kb*tO+`My7Q+<q};zB9)BUjCTFyYoEHInU?3&*yx$=U%(~DnUsk60HTq zj&meF?lVjr+$CPV-mdPF+A9ZlXE%3mBi$JiS1)g|hl`Q!7<X@phnHs`a}!hkXQVs8 zSM1~K?cT@J-Pgz4S!|>`!q-LY;cDkTXO!1;ch5d9-Mc$?b?w@%OHVU%chep{+y8bk zUr!&88SaYJ9o>DDL5j&Sro5SN?d?3<!*i<15LYixBi*+jeh4j7vngGtbf40ti(6My zXESH3X`w%1HBncr*{p-eNA$hOLnINIh=zz<MP4FL9ury084(&Y<EF_}M}BlRYAj#- zZL#v5^K$iA1&$tb-Q^e7&OXkn8t=~KVV<kZf7EKg`1fY0&GvBf`Ck2dcaN#x`#^X- ze#7()>Z{_S3I9px2w{98N+MH?Dv5MO`|zj*hV<V|o{XNK|Jy#g2G|@F_~^p_L4nMf ztw#f>57YzH0Jbq6`;;4VWZqgzN=mI%RaM(6D=UA6`{qDHfcN#O?t!_pu60yYRE&Ur zzz{VxwSm}2SL~+^#u@=Cz^B$&r)(oFq3?m<?G3&`z+7czl^Nha4(P>af;qg$Pwfm? z_szi3^@~<5kLc-jyrQGi;*Pqy`ZYWc!=7g19EPJez&)P<&wsb^o)ma@?C;(y<np=- zD4ubzrlO+kXwkP<*xrLXZbwERk_ImetmxX^EFU^g2UcTm<H6q?bF~45AMm>@kI#<% zhR=q39)I5+@%S$_me2O84m1EX0oEV)?2o*jI{3BJ`CMn-fg`&z?mf9Fy?i~1j-1#l zcuB;?8X6i;F=sFMPX>D9`g4FeGG~6jG0+@)`x4NFtk$@13UKWDJH8^<D`Yfgez56w zkgo@H0`!577-OH*QBqd2cXpk)`}V!-`H%B5=~nhNO1gMjnCn05rFJuI<{u62?m*u+ z?=ZjSkoy(n7y#YjC)QZQ26HTNZ^CP04)5VZnu5C)WPT0w28KW`+pq)Rh;@eJ*<e)_ z)t<PYy>aX6tb(G)l@D|8(1V=Ybou%@@?SXTMXT0d+y{ZPm?Osgfw<;6!x;DAtUL_x z1cJeLIpBwDH_RIf`No*X`}~l`w#Rm24tZi=wX(8ODCBR$v#sb?;n{qw<Ar__5E8b1 z)3dz72g1{WY<iNPNxxh<Ln~GW=eKRAn}K)E;T;L)kH%aF^d9i-ADe17-3FgYu;|n4 z7S1UhW2Z594aO&eKkJ2U?Jqa1r2+XiEx-7DRmZP8M4EOnNj5SzOlzb2)m^QoTK5_> zXmAg*uS4*EfEBpj5w>G<!OPb<!t>(C^f2d+kaFV}3R$zP0QyhE9Oz#u2)+=ct=%-j z%-l5IZ@y1T_@2<*$k@ZL_Z{9<wRl-TdAs(yEH_?BNqIW<&<*eD0DrY9A=b6*Y-${I z^3>5gm#!z3z?RF8o!l?ozH4jM+KnOA-oBo%O*$JrYTmqACf54}`;A|_AtbM`G)I>A z@*(Bm3~t=MOhHQ)ylB#-@ipl30`_rnu#NS#wHtnXl8_Wte&KSw^i;x$nsb-p==`O4 zia5BVdW6HU`)cZH36M7pa`i#H$^RhFcFs`5MDA6gryh{CCF@~&5%>s?p4}BPGE?YM z%2_&fCX%8~9Tg%DhF2p-mKz!wJi`3+`3q)0ewv?ET~z*z@?SloJNHv-R<2o^-?HWB z*DU(<ydAo2V-Yx4T~1A^NxPX0|45?fxZ{+Re3}w3#8T+C4N@axgB0-I4gR*^!DTkb zso!e~?i`~y-YQ~neaJA=)Bk#7Ox*EIj)&QgGODv5XHdr7t8_K(JYBqchN4d&qXS2G z)4I(oE3B;hW%>vBJ$mr;maIgYPp`^y32{hv?Bs!0{(*jZ5eK%H$0nQ*63)j^d{Q(J zMQ6@Mga0v#J#&Kg?B7;BQ!+jGGp)}e!QBm9z63b-ye|jT<z34eb2+B-d2xPe1N--a zZ|w`+zVQyux0L;n^_0NtpFK%2@h1p*O3q=|zMo5C<4=_2JijO8zj{cyFYZzH<8->1 zl1Rr-9uOi9?4Yn6n}E%<W7ki#Ywyp*&vx(IMyuDaC>=e{Asc=b1MXt1&2gD?&HG}% z!d6({d^S9f^9OV0c+0h7d%zH|#yKo+{bj3D-%Xxyd(DO)OJM)Pww+t#9C-bsk^2dH zrNr~GLTo}LZ4O&UbNqeD+fPE0ML{&x$A`o}h-p!<Kl=g&ESgIT7tf<*Awh(55nS9R z7Io`xeyc%)`Wy%R03(2P$a-b2bsOI+Y=!e4$H!*C7eG6}0Qd&r961nh1f~OP8Z>MW z*U3Qd>FBWzul?rvR5O>=>sC<c_D%HDwvFT=cBeu1L#h9miDWi%5*gZzB~$y!WNPa~ z<~9yA(0(}m;NwYi7t9ji`@#qZd#Qn;KKphCbbc6mS_s%9=5)q-95d_cU!im6uBZb( zdo!;sdgk2~=m*#V;{bO+0t5o9fN-pHvT@@^HxSPYEUo&M&6J2`fkE?Y#yE`<jCxv- zwRjed3SLVN%YP=zg*(W?YXw<M_NC6Y6UfkVDA^1jE_`EV`np~Fwt0yA*~r<P7m^@% z8@SI!jB-QV8-_iY;W_J+_n?R?3hrF9a8Bbo_G_RE&<C&unD<m*7O(`^2<!ol1E(PS zf~KbCEyS89_3PJvuHQ+oWYn0E<pYM<)98Q@viDm=wxh?<SZ6n~_;wmuJ2;W!_({|o z=V3Z@BI$MQLxXGwRrc%OC#OfR?vK7|^W`(hc>@0FkbeyQ5^$e}eT;mw2af%0<8`@f z<DToIP5|czwv$l+`@9bj3~U9CLB{zOEn3{})TvW$-@bic+u7Mw_UhHEN>{f{Ic%wT zvdg#9A0#ts299^3iCd14-9%?{adoAb*jREJKY?7`+$cIGhU}dtk)`u&GPZUgw`o&p z(b5I7MN1ao?B+@BhS?Otzn()kIau>7_P}|48t(0|z8;>jjkB+EEYbovE;08WfDJGn zV4n}byIb*YOzYOIGX@VH{KCu2t9rwR4K=4vpB6GRGil|@l{FnZc96o~Dke-ES3PIG zuK-^li(#W^+^XF)e)>$ho|;PO85uN9ET+`7G`f+VL5{9svY)q^dW`&z7XKJbJ0rpf zaX^l>n?eNmL|Jc(p81-Z4RheJoD2CJ#^M~fPGVc(Ghm-)n_=!f0k-pr0DmWi)T>wT zq=A7!wpc7K-Me>h&E30qsj8}qYHDgoCX-QESg2rVWLO2ClMWg@K!#dVm>=NB^$ksM z{*L-j64NlBAo7~GfIR01((svn<mJDRJmxMW+eO>SF*uz1*^NNF+)n3`<0$Eu(-d|3 zC`HB`qQfU5kV95gAcj8I()#Qk_#8t0z;zP)GV^Df=UmnS=nk;0PXcB)Y}jzOp`l@> zudi?E#fuk(!oouSnXR@7f<W={@zkwbw;G(Y%($~rwbg)rGN%b+WInTJ$`HGSm1~#E zhB`V_T6)Ztx$IA(*%z~Eapp^!bLjz1jk!mY!q1WQ1b3RZaIU;gNV|1Oo(H*4Nxwj- zPw+gB@a<3qx!D>T>c_y{7H7~A967eL?%C#fKi0sv7@w!3qZ8@s>ROPToLo~>R79nv zuYuB9?tD>EQ9&UgAwsKGt!i56G?%sS(6-9Vyi1j3|31=zg9lWgFR`+=%*MGy^|Kvz z(`xc`VW=dKW*)jgGml=SVZO`B#%VGI1P9Qy^ov3+@*C$i&d*$D@HN-k_+AjMq@F8B zjya1Mw-o%Wa1N|<j`JMjS@&!=ju@NOzJ2?crAwEV=j7x-#RB0!g@?bO!-wNYDwV#q zho?`UlBcJq(5_v(nueMUt2G;GN`Y61MYrqK(>MlSTZ*+7OJ;dR?>)S`G-TaM@>#S9 z2%?{MhEW3Qg!QnG$*vP$EMFO1eCB*iCGxZsb+$C?QMxqs<|XNc%L&g9ACHJ1WHVqn z<hg+-=Ogx6jy;?Y3<3VWnXa#|AH8MEmU7l@-L`XQ1&tqnikR=a?b)+u1izr+!-rSG z=JFuxDsU874X_U_!P)P@H_KyiLhX<t*DHA9TOf;$MD8o=VrF^=^=guye#eu&diU7d z->UB+ORGKy%)5QF&)CFpo38Fx%V9g;K^}8wpXJ!kjdOu1)))o79}Eo*ef=(X=9`dE zMg99<qZ>Ce<n-BZ^YZeEV-MRE`!f5rL?V%DX=!CaW)#4&)*lFN)=YcdzC+>X??1gI zEi8RX#T9wPwKVQgXY6}v(%G2zybkBj-*9~qUj{>;!@#RAo^vkZ*v`JnI<H$hu<dun zc`v})xdjCU@2XdRpO;rd0|wlu6DMLRJNpT(Uw@H$_f8=blV}PE2*Y0T<n!*|zfWVv zjCqZ7z5=;>ffc|UaN0b`#(E=ay{q6|g>M<+Z?XGNZqlZ$YaSq9C4#Fz=5dX}HqAO# z1z68@`QrAi#{8|3d!pjv;`m4L-!%4t!oo7LvdSe}+Xyl?PA7HsQWA*-Qc|iR1B2^y z<;pGi3Hyq`wj{J|+x9W!{s&kOaPC`%J?$FnG-~&i)bnZ2i=W8Ye(v5+tC&7xYAR~9 z2=E_?d7OjTwiWh)%Rg*vKaNgLP7m|*^WWmmTuMqx>Fn7InldGsw6*f6fm#W8lbn0g zre!pCY#}8kzJy;_*S`DU!2_I4?_$V34Qv7Y09U|UU0p47z`*|J@a=XN-wp)_j_khH z$v{5_V?O}x0fmj=@=rC6L*v}s+)CMo745}~R}>kU3ZK0|+S+-ftXw7M+*0!yHECQ# z9v=CWoLoYcl`_REwLSX}a<mk3;{gT#vADJXtn1gWCxKu7JkrrV2Jv>Ys+uat6t;0i zOu^-!Zk)qLy12L$R#sNZIY^}fd3!%6Ev<aHeXzb&RAgjiR73;%zr>#6sG#6QE#G%9 z*q^Pft;-;n^|}u5<~0DeZO-#tdof?mmz;N)1Kau^**S*a+c<~yb#QRFnw6D>NKf*3 z9}^>^jvZyxs8JR2YYA$E=kU=Aii)Zvd;28Bove3h*WRb3qzLBb=FcGaAg~me3UDpR z^$Gu0&UuIVGB}?6oyK)^I};O=ReSdADdV`PXnA=8rKVOQK32>9lAougRl~OLP*PHI z?K8!E?)eOnlPi(GFGKETU>3l(!}(DcV10e4uJP(`nmV2|M!dB|+)GSLOOvtR{$49C z7Rb)-8SUR6E3e(^&SU>cOiZll*|R6tSvw$i0pJW+19f%(zhWY$|LMl(R}bqoht9?! z4qZYVm6ny2)umQ@U5zj!k(AMvEy;3S^8oL+xVV@O9XeD6yT6Bebth!b2RP<%9nLn+ zaZV9iKE%%P`g<GeLJequJ?J!P(qs@~-#&kT|2)*3Rk^vj#Cxf0SC1bH$YHM$TTA5i zL;{jCz6T2NEt7;89|Bok0Dn8M&2yd3Ifm_q*ZG*-Ax<t&u?LP{P4NwAh;OTDsGX1D zJZ_<u%ZG22M@L7?Vq;^4sHiAeczAeOU|`_$5hF%qq3(!p+_>>d<WBZewskvzW2F(m z+?xPwrytX9Ag;EtPFObk6~_ktE^ChZLl57eLs66YpuSiQYzOuL;dr(YV*&Ub$QkE0 z1oJI{-T;5=Gw*hQ4#2YhN$wC|+jt-B4}8wN4^2P|;F!nu%eh?_Xb*I#1HNwy@b5!B zkLR<_IkvH^e@gEV{oYo09~zj!cE!G@_}<~)R~WoE?wKo(v95U@@11$`dH#QM$C9;; z_rdG)nJ^dT#I{fu3Z6X9^BDY&f;Y?f6dLnT>_@?`E=R?<qW=^)|I6WD4g8@7ek}~R zLgw~|Jw6WP<3$0#_7D5L-6y`ePwcmy=LH2?Aaap_<++!=r$^M1kGFZ#_d^ev{7bR? zc>sF;ifDuWA$p#lh@R!4<DSKH&*Hh~={&DUBnssB9-?o8$>=THpilh2ekSw9{rrGm p`v6`W_ljPwkB1^9d0!+_k@r%OhP)R<ZR9<jMThtJ?}zja{|ij45V8OO literal 0 HcmV?d00001 diff --git a/src/htm/thememan.in b/src/htm/thememan.in new file mode 100755 index 0000000000000000000000000000000000000000..f6f80df67eedcc8b50c452acadb6658aa8366e4c --- /dev/null +++ b/src/htm/thememan.in @@ -0,0 +1,3 @@ +#!/bin/sh +exec_prefix="@exec_prefix@" +exec mono "@bindir@/thememan.exe" "$@" diff --git a/src/libenchant_win8/libenchant_win8.def b/src/libenchant_win8/libenchant_win8.def new file mode 100644 index 0000000000000000000000000000000000000000..cf367651f3372d8ffc0c152438664f0e2eadacb0 --- /dev/null +++ b/src/libenchant_win8/libenchant_win8.def @@ -0,0 +1,2 @@ +EXPORTS +init_enchant_provider diff --git a/src/libenchant_win8/libenchant_win8.vcxproj b/src/libenchant_win8/libenchant_win8.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..a6cbdad6660c0dd143e6108758301a7edbf2d361 --- /dev/null +++ b/src/libenchant_win8/libenchant_win8.vcxproj @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>libenchant_win8</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="..\..\win32\hexchat.props" /> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup> + <OutDir>$(HexChatRel)lib\enchant\</OutDir> + <TargetName>libenchant_win8</TargetName> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <AdditionalIncludeDirectories>..\common;$(HexChatLib);$(DepsRoot)\include\enchant;$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <ModuleDefinitionFile>libenchant_win8.def</ModuleDefinitionFile> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="win8_provider.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/src/libenchant_win8/libenchant_win8.vcxproj.filters b/src/libenchant_win8/libenchant_win8.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..ff2f3024e48113f81f3e1ea168aa4d40c90ee0b0 --- /dev/null +++ b/src/libenchant_win8/libenchant_win8.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="win8_provider.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> diff --git a/src/libenchant_win8/win8_provider.cpp b/src/libenchant_win8/win8_provider.cpp new file mode 100644 index 0000000000000000000000000000000000000000..73f16610c07d0baf3376211b86e2f176932f31a4 --- /dev/null +++ b/src/libenchant_win8/win8_provider.cpp @@ -0,0 +1,293 @@ +/* HexChat + * Copyright (c) 2015 Patrick Griffis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "config.h" + +#include <Spellcheck.h> +#include <glib.h> + +#include "typedef.h" // for ssize_t +#include <enchant-provider.h> + +ENCHANT_PLUGIN_DECLARE ("win8") + +/* --------- Utils ----------*/ + +static char * +utf16_to_utf8 (const wchar_t * const str, gboolean from_bcp47) +{ + char *utf8 = g_utf16_to_utf8 ((gunichar2*)str, -1, nullptr, nullptr, nullptr); + if (utf8 && from_bcp47) + { + char *p = utf8; + /* bcp47 tags use syntax "en-US" while the myspell versions are "en_US" */ + while (*p) + { + if (*p == '-') + *p = '_'; + p++; + } + } + return utf8; +} + +static wchar_t * +utf8_to_utf16 (const char * const str, size_t len, gboolean to_bcp47) +{ + wchar_t *utf16 = (wchar_t*)g_utf8_to_utf16 (str, len, nullptr, nullptr, nullptr); + if (utf16 && to_bcp47) + { + wchar_t *p = utf16; + /* bcp47 tags use syntax "en-US" while the myspell versions are "en_US" */ + while (*p) + { + if (*p == L'_') + *p = L'-'; + p++; + } + } + return utf16; +} + +static char ** +enumstring_to_chararray (IEnumString *strings, size_t *out_len, gboolean from_bcp47) +{ + char **chars = g_new (char*, 256); /* Hopefully large enough */ + LPOLESTR wstr = nullptr; + size_t i = 0; + + while (SUCCEEDED (strings->Next (1, &wstr, nullptr)) && i < 256 && wstr) + { + char *str = utf16_to_utf8 (wstr, from_bcp47); + if (str) + { + chars[i] = str; + i++; + } + CoTaskMemFree (wstr); + } + chars[i] = nullptr; + strings->Release (); + + *out_len = i; + return chars; +} + +/* ---------- Dict ------------ */ + +static void +win8_dict_add_to_personal (EnchantDict *dict, const char *const word, size_t len) +{ + auto checker = static_cast<ISpellChecker*>(dict->user_data); + wchar_t *wword = utf8_to_utf16 (word, len, FALSE); + + checker->Add (wword); + g_free (wword); +} + +static void +win8_dict_add_to_session (EnchantDict *dict, const char *const word, size_t len) +{ + auto checker = static_cast<ISpellChecker*>(dict->user_data); + wchar_t *wword = utf8_to_utf16 (word, len, FALSE); + + checker->Ignore (wword); + g_free (wword); +} + +static int +win8_dict_check (EnchantDict *dict, const char *const word, size_t len) +{ + auto checker = static_cast<ISpellChecker*>(dict->user_data); + wchar_t *wword = utf8_to_utf16 (word, len, FALSE); + IEnumSpellingError *errors; + ISpellingError *error = nullptr; + HRESULT hr; + + hr = checker->Check (wword, &errors); + g_free (wword); + + if (FAILED (hr)) + return -1; /* Error */ + + if (errors->Next (&error) == S_OK) + { + error->Release (); + errors->Release (); + return 1; /* Spelling Issue */ + } + else + { + errors->Release (); + return 0; /* Correct */ + } +} + +static char ** +win8_dict_suggest (EnchantDict *dict, const char *const word, size_t len, size_t *out_n_suggs) +{ + auto checker = static_cast<ISpellChecker*>(dict->user_data); + wchar_t *wword = utf8_to_utf16 (word, len, FALSE); + IEnumString *suggestions; + HRESULT hr; + + hr = checker->Suggest (wword, &suggestions); + g_free (wword); + + if (FAILED (hr)) + { + *out_n_suggs = 0; + return nullptr; + } + + return enumstring_to_chararray (suggestions, out_n_suggs, FALSE); +} + +/* ---------- Provider ------------ */ + +static EnchantDict * +win8_provider_request_dict (EnchantProvider *provider, const char *const tag) +{ + auto factory = static_cast<ISpellCheckerFactory*>(provider->user_data); + ISpellChecker *checker; + EnchantDict *dict; + wchar_t *wtag = utf8_to_utf16 (tag, -1, TRUE); + HRESULT hr; + + hr = factory->CreateSpellChecker (wtag, &checker); + g_free (wtag); + + if (FAILED (hr)) + return nullptr; + + dict = g_new0 (EnchantDict, 1); + dict->suggest = win8_dict_suggest; + dict->check = win8_dict_check; + dict->add_to_personal = win8_dict_add_to_personal; + dict->add_to_exclude = win8_dict_add_to_personal; /* Basically the same */ + dict->add_to_session = win8_dict_add_to_session; + + dict->user_data = checker; + + return dict; +} + +static void +win8_provider_dispose_dict (EnchantProvider *provider, EnchantDict *dict) +{ + if (dict) + { + auto checker = static_cast<ISpellChecker*>(dict->user_data); + + checker->Release (); + g_free (dict); + } +} + +static int +win8_provider_dictionary_exists (EnchantProvider *provider, const char *const tag) +{ + auto factory = static_cast<ISpellCheckerFactory*>(provider->user_data); + wchar_t *wtag = utf8_to_utf16 (tag, -1, TRUE); + + BOOL is_supported = FALSE; + factory->IsSupported (wtag, &is_supported); + + g_free (wtag); + return is_supported; +} + + +static char ** +win8_provider_list_dicts (EnchantProvider *provider, size_t *out_n_dicts) +{ + auto factory = static_cast<ISpellCheckerFactory*>(provider->user_data); + IEnumString *dicts; + + if (FAILED(factory->get_SupportedLanguages (&dicts))) + { + *out_n_dicts = 0; + return nullptr; + } + + return enumstring_to_chararray (dicts, out_n_dicts, TRUE); +} + +static void +win8_provider_free_string_list (EnchantProvider *provider, char **str_list) +{ + g_strfreev (str_list); +} + +static void +win8_provider_dispose (EnchantProvider *provider) +{ + if (provider) + { + auto factory = static_cast<ISpellCheckerFactory*>(provider->user_data); + + factory->Release(); + g_free (provider); + } +} + +static const char * +win8_provider_identify (EnchantProvider *provider) +{ + return "win8"; +} + +static const char * +win8_provider_describe (EnchantProvider *provider) +{ + return "Windows 8 SpellCheck Provider"; +} + +extern "C" +{ + +EnchantProvider * +init_enchant_provider (void) +{ + EnchantProvider *provider; + ISpellCheckerFactory *factory; + + if (FAILED (CoCreateInstance (__uuidof(SpellCheckerFactory), nullptr, + CLSCTX_INPROC_SERVER, IID_PPV_ARGS (&factory)))) + return nullptr; + + provider = g_new0 (EnchantProvider, 1); + provider->dispose = win8_provider_dispose; + provider->request_dict = win8_provider_request_dict; + provider->dispose_dict = win8_provider_dispose_dict; + provider->dictionary_exists = win8_provider_dictionary_exists; + provider->identify = win8_provider_identify; + provider->describe = win8_provider_describe; + provider->list_dicts = win8_provider_list_dicts; + provider->free_string_list = win8_provider_free_string_list; + + provider->user_data = factory; + + return provider; +} + +} diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000000000000000000000000000000000000..23453ec12d72bd2dda7695b1bcc3f8c8399225e8 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,13 @@ +subdir('common') + +if get_option('gtk-frontend') + subdir('fe-gtk') +endif + +if get_option('text-frontend') + subdir('fe-text') +endif + +if get_option('theme-manager') + subdir('htm') +endif diff --git a/src/version-script b/src/version-script new file mode 100644 index 0000000000000000000000000000000000000000..a7ed149547a1930aae9800571b7fa4a98c83f625 --- /dev/null +++ b/src/version-script @@ -0,0 +1,45 @@ +EXPORTED { + global: + hexchat_hook_command; + hexchat_event_attrs_create; + hexchat_event_attrs_free; + hexchat_hook_server; + hexchat_hook_server_attrs; + hexchat_hook_print; + hexchat_hook_print_attrs; + hexchat_hook_timer; + hexchat_hook_fd; + hexchat_unhook; + hexchat_print; + hexchat_printf; + hexchat_command; + hexchat_commandf; + hexchat_nickcmp; + hexchat_set_context; + hexchat_find_context; + hexchat_get_context; + hexchat_get_info; + hexchat_get_prefs; + hexchat_list_get; + hexchat_list_free; + hexchat_list_fields; + hexchat_list_next; + hexchat_list_str; + hexchat_list_int; + hexchat_plugingui_add; + hexchat_plugingui_remove; + hexchat_emit_print; + hexchat_emit_print_attrs; + hexchat_list_time; + hexchat_gettext; + hexchat_send_modes; + hexchat_strip; + hexchat_free; + hexchat_pluginpref_set_str; + hexchat_pluginpref_get_str; + hexchat_pluginpref_set_int; + hexchat_pluginpref_get_int; + hexchat_pluginpref_delete; + hexchat_pluginpref_list; + local: *; +}; diff --git a/win32/config.h.tt b/win32/config.h.tt new file mode 100644 index 0000000000000000000000000000000000000000..ad5189640032e798a8691328115d6ac9766b657e --- /dev/null +++ b/win32/config.h.tt @@ -0,0 +1,14 @@ +#define LOCALEDIR ".\\share\\locale" +#define ENABLE_NLS +#define USE_PLUGIN +#define USE_OPENSSL +#define HAVE_ISO_CODES +#define ISO_CODES_PREFIX ".\\" +#define ISO_CODES_LOCALEDIR LOCALEDIR +#define PACKAGE_NAME "hexchat" +#define PACKAGE_VERSION "<#= [string]::Join('.', $versionParts) #>" +#define HEXCHATLIBDIR ".\\plugins" +#define HEXCHATSHAREDIR "." +#define OLD_PERL +#define GETTEXT_PACKAGE "hexchat" +#define PACKAGE_TARNAME "hexchat-<#= [string]::Join('.', $versionParts) #>" diff --git a/win32/copy/changelog.url b/win32/copy/changelog.url new file mode 100644 index 0000000000000000000000000000000000000000..926597a1f570091eb65d1593a0bec2934dd9fc18 --- /dev/null +++ b/win32/copy/changelog.url @@ -0,0 +1,4 @@ +[InternetShortcut] +URL=http://docs.hexchat.org/en/latest/changelog.html +IconFile=%systemroot%\system32\shell32.dll +IconIndex=165 diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..cb3ea1cf936131b5dead1aebb8df60bbcd5d7946 --- /dev/null +++ b/win32/copy/copy.vcxproj @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{C9B735E4-75BC-45AC-A5E3-39A6D076F912}</ProjectGuid> + <RootNamespace>copy</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\hexchat.props" /> + <ItemGroup> + <None Include="$(DepsRoot)\bin\cert.pem" /> + <None Include="$(DepsRoot)\bin\atk-1.0-0.dll" /> + <None Include="$(DepsRoot)\bin\cairo.dll" /> + <None Include="$(DepsRoot)\bin\freetype.dll" /> + <None Include="$(DepsRoot)\bin\fribidi-0.dll" /> + <None Include="$(DepsRoot)\bin\fontconfig.dll" /> + <None Include="$(DepsRoot)\bin\gdk_pixbuf-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\gdk-win32-2.0.dll" /> + <None Include="$(DepsRoot)\bin\gio-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\glib-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\gmodule-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\gobject-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper.exe" /> + <None Include="$(DepsRoot)\bin\gspawn-win$(PlatformArchitecture)-helper-console.exe" /> + <None Include="$(DepsRoot)\bin\gthread-2.0-0.dll" /> + <None Include="$(DepsRoot)\bin\gtk-win32-2.0.dll" /> + <None Include="$(DepsRoot)\bin\iconv.dll" /> + <None Include="$(DepsRoot)\bin\libcrypto*.dll" /> + <None Include="$(DepsRoot)\bin\libssl*.dll" /> + <None Include="$(DepsRoot)\bin\libenchant.dll" /> + <None Include="$(DepsRoot)\bin\ffi-7.dll" /> + <None Include="$(DepsRoot)\bin\intl.dll" /> + <None Include="$(DepsRoot)\bin\libpng16.dll" /> + <None Include="$(DepsRoot)\bin\libxml2.dll" /> + <None Include="$(DepsRoot)\bin\pango-1.0-0.dll" /> + <None Include="$(DepsRoot)\bin\pangocairo-1.0-0.dll" /> + <None Include="$(DepsRoot)\bin\pangoft2-1.0-0.dll" /> + <None Include="$(DepsRoot)\bin\pangowin32-1.0-0.dll" /> + <None Include="$(DepsRoot)\bin\zlib1.dll" /> + <None Include="$(WinSparklePath)\WinSparkle.dll" /> + <None Include="$(HexChatBin)thememan.exe" /> + <None Include="changelog.url" /> + <None Include="readme.url" /> + + <None Include="$(DepsRoot)\bin\lua51.dll" /> + <None Include="$(DepsRoot)\bin\girepository-1.0-1.dll" /> + <LuaLib Include="$(DepsRoot)\lib\lua\**\*.dll" /> + <LuaShare Include="$(DepsRoot)\share\lua\*.lua" /> + <LuaShare Include="$(DepsRoot)\share\lua\**\*.lua" /> + <LuaShare Include="$(DepsRoot)\share\lua\**\**\*.lua" /> + <Typelib Include="$(DepsRoot)\lib\girepository-1.0\*.typelib" /> + <None Include="$(Python3Path)\Lib\site-packages\_cffi_backend.*.pyd" /> + + <Engines Include="$(DepsRoot)\lib\gtk-2.0\i686-pc-vs14\engines\**\*" /> + + <FontConfig Include="$(DepsRoot)\etc\fonts\*"/> + + <Share Include="share\**\*" /> + + <DepsRootDocs Include="$(DepsRoot)\share\doc\**\*" /> + + <Locale Include="$(HexChatBin)locale\**\*;$(DepsRoot)\share\locale\**\*" /> + + <MSWindowsTheme Include="$(DepsRoot)\share\themes\MS-Windows\**\*" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <Target Name="Build"> + <Copy SourceFiles="@(None)" DestinationFolder="$(HexChatRel)" /> + <Copy SourceFiles="@(FontConfig)" DestinationFolder="$(HexChatRel)\etc\fonts" /> + <Copy SourceFiles="@(Engines)" DestinationFiles="@(Engines->'$(HexChatRel)\lib\gtk-2.0\i686-pc-vs14\engines\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="@(Share)" DestinationFiles="@(Share->'$(HexChatRel)\share\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="..\..\COPYING" DestinationFolder="$(HexChatRel)\share\doc\hexchat" /> + <Copy SourceFiles="$(WinSparklePath)\COPYING" DestinationFolder="$(HexChatRel)\share\doc\WinSparkle" /> + <Copy SourceFiles="$(DepsRoot)\lib\enchant\libenchant_myspell.dll" DestinationFolder="$(HexChatRel)\lib\enchant" /> + <Copy SourceFiles="@(Locale)" DestinationFiles="@(Locale->'$(HexChatRel)\share\locale\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="@(MSWindowsTheme)" DestinationFiles="@(MSWindowsTheme->'$(HexChatRel)\share\themes\MS-Windows\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="@(LuaShare)" DestinationFiles="@(LuaShare->'$(HexChatRel)\share\lua\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="@(LuaLib)" DestinationFiles="@(LuaLib->'$(HexChatRel)\lib\lua\%(RecursiveDir)%(Filename)%(Extension)')" /> + <Copy SourceFiles="@(Typelib)" DestinationFiles="@(Typelib->'$(HexChatRel)\lib\girepository-1.0\%(Filename)%(Extension)')" /> + <Copy SourceFiles="..\..\plugins\python\xchat.py" DestinationFolder="$(HexChatRel)\python" /> + <Copy SourceFiles="..\..\plugins\python\hexchat.py" DestinationFolder="$(HexChatRel)\python" /> + <Copy SourceFiles="..\..\plugins\python\_hexchat.py" DestinationFolder="$(HexChatRel)\python" /> + + <WriteLinesToFile File="$(HexChatRel)portable-mode" Lines="2" Overwrite="true" /> + + <Copy SourceFiles="@(DepsRootDocs)" DestinationFiles="@(DepsRootDocs->'$(HexChatRel)\share\doc\%(RecursiveDir)%(Filename)%(Extension)')" /> + </Target> +</Project> diff --git a/win32/copy/copy.vcxproj.filters b/win32/copy/copy.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..695b5c78b91edfc29f77823eb642fc9ead8e15f1 --- /dev/null +++ b/win32/copy/copy.vcxproj.filters @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/copy/readme.url b/win32/copy/readme.url new file mode 100644 index 0000000000000000000000000000000000000000..318ed99cf57e3494cf8178c52bb0ef3e8cc9511a --- /dev/null +++ b/win32/copy/readme.url @@ -0,0 +1,4 @@ +[InternetShortcut] +URL=https://github.com/hexchat/hexchat/blob/master/readme.md +IconFile=%systemroot%\system32\shell32.dll +IconIndex=23 diff --git a/win32/copy/share/download.png b/win32/copy/share/download.png new file mode 100644 index 0000000000000000000000000000000000000000..43253432082aa6795ce8e39442b7ebeadb053f43 GIT binary patch literal 703 zcmV;w0zmzVP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0007pNkl<ZIE|H) z%S)6|7{-5RzL~LU&@Sd!k(G&;%1cU6p<}d(Xd@JETC^}D>Q9JTMIc725)5(WA|VJ0 z!8EBL3ygAO7b%q}qp})J$N4VjeCM<n@42XV_nz~fAJ6k}USW*kU#qXDd)aVgZ6?8$ zLl<wJEglSZ?TE!<8&5}@ZZEwn*;_U^{AQ>Mpzy$v2jfF8kNpKuYZ$JqDVr4`FWUR~ zF3pW?OBGa=#*YyW3R12DAh4R$y!@@v(7MH5YfWEIH(SbU(E)+2z*cGRs{(Q}@+c0* z7kbZg0gyh}5*%r8(gM;MG_=-*J>f*Al9OuBx(XbUI9dbXI4(&$IS0@<3bgWZm0kph z5V>2;_D{R>%O`i1<a#3$z2QXk16g%DxjYd^^j2^*?*yLG1Uw(DB(^kI^A_6A-2431 zA3yjzF}2~vj+SsD`hk(LkGxDgLG)H|<y1>rfzr&{9-j31HZ7Nj*m16V;FBEP|GFvo zYh>&r0A)`bX>MpklQwKS9*!%SN+}XaZ_&bhb)J9ps;{Rz`^NoC05o50!x)29X@FJ^ zDJR6wq{NjPtU18$q9OqZC*_*9_Ev6P=ps8a2Pq{|NsKWR6cjKz`j+8988G)DtwjqK zu*nLEoaSrS>$1Y@k*<gB*eIp2EDI}`7VEeY?fc-X&_V|9-oIDCEQnknCY6V;{RL~r z7&0<4(m{IC{G9e?-+W1pt<1ol>o-Rt5nR{B7=sXkf#?1FnD~C@;o$hUSDCS#nVIRK zjuWA))$tl3mTqH7VPPN;2$Y_zudhEGuf8;YUQk#Z%HOq1<?TCOOXcZ9oekTXs^c{R lK>W`-KYQA50OlV9`~ll^F2f%G!4v=h002ovPDHLkV1oG<MYR9` literal 0 HcmV?d00001 diff --git a/win32/copy/share/gtkpref.png b/win32/copy/share/gtkpref.png new file mode 100644 index 0000000000000000000000000000000000000000..9a6c9cf9777d793e1fa42c5fbf2bddf1d610b248 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)4nba41trU>l|Z4xo-U3d7N_S< z&gMI;z|(BM?C$PoX?tgWZ+2&H&5K&q<&drJ$7C}@#oMTUhNGKN*+=tfVh6<RmtFE# z;hj<b<8)A~r$<-Np}4m0C!sTSLzE2I`Vw9?6qQX*X%^k;T&X(!ywTU2LKZ@$3T~oN z*FW3XieFqeJCcckeM0m6yrcUUZNG9?>G;*V=^BrcII0e;u77PQ!SU&E#6q=**AshL z-?Wx^+)dm+_xDcWc~%>k{fpe0?3v@ao2JY@$Kw@scV>M4lk(pTDIb<+22D|00`v}p Mr>mdKI;Vst05RBiIsgCw literal 0 HcmV?d00001 diff --git a/win32/copy/share/music.png b/win32/copy/share/music.png new file mode 100644 index 0000000000000000000000000000000000000000..3a72f118e6fadbc9beafcb24696a88ca938c3343 GIT binary patch literal 3577 zcmV<V4F>XwP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=00004XF*Lt006O$eEU(80000WV@Og>004R=004l4008;_004mL004C` z008P>0026e000+nl3&F}0009NNkl<Zc-n-MQAksJ9LK*q|1+oC+2)xdoaxx68(0Y{ zV<ka8NFWvW3YSY{a^VU=_xctDJ%pp6r<;NKQV~fKJrtReXb)2^adBPgp<;UIZmf2< zowajxn{8*F9k)F9rJ@^FpT{qJzWm_#`_cG<iHV6rE|=>pMNxaLRx9Co{>{|X)YVWZ z^a$T$XlSTsW@bj2pP$!OS64MjlC)?vs)a%!t+%)L<hNYi*x1-bp65%VC~C=MQsa4E z<9S{a1VNK!SrY_78yy|J4Z!$65dcO;MlJ;cf%Ex%9<#Hv2#3QUgg~d$p<1oN>-Az_ zU;rME2jk=8_X2^yiBAPKo2@w*48F?ca?Ir9BxG4ee}6yxem@8ySX*1e+}s>gRmJe| zFuJ<BFgQ5)^UBJ~GyqU;x7%ATmzl-IMJS4b_V#v|OeTn;h)gB}LJ|0VewgdbSbnk$ zNs!Rp*}ebc1jKH)yE-~Lek~LVU>F8^y&fFLf#WzZMl<L-g6#GN6oZ1DhWE(UZa{PH zv}nHfUCAY3iH^tPkxV92;5g3Wa5%uSEDQz%EQ|%~6$xo34OfdBEyMv;w~b9T4;^Ty zxwifnm@r0Xv)S~*!orolzP^i2rxUHMtzcOerWzBHVgg%~f=DTXw35JjMTAgzi=13Q zF;(0`3GWC1#A30(N~Ka&Rn_iXE>~A979q<e#MfVAI)4xU2+twKQsozqo<E7-7a!Eb zYQk-M+-<_+x0iLF@6=#0csw4@aht920L#=jRqNHd^uWu`otu`M$z|zwzMOvspu+mh z$LfDzC*E90c)xv`W;Ar(p_E!X4t|zW>=EXa^>^dn06_2NwH}7`=x;xrCdG#KF!PwM zZl`F*hsJZ`XKpn&dV2m87j4tmXYPNspy^1*L$9x=FH?R6vS9=<g0>%Pyk2b1{P-`; z!|YCj&FZ6DsDRq7AQg>nzL0OAxhW1VLB-VsBH5)}PzXQG>f^E${bTd45UgDL^b5OS zY1wBwT2o6IUWbcMv5m-w+yQ_9NCBt<z<&b(M1xhtn9_R{00000NkvXXu0mjfV)L?| literal 0 HcmV?d00001 diff --git a/win32/copy/share/system.png b/win32/copy/share/system.png new file mode 100644 index 0000000000000000000000000000000000000000..fc4282c7afb95f930dfcbf17979e3efd5c4488a8 GIT binary patch literal 3578 zcmV<W4F&RvP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=00004XF*Lt006O$eEU(80000WV@Og>004R=004l4008;_004mL004C` z008P>0026e000+nl3&F}0009ONkl<Zc-mBvO=ule7>1vjId|^0Bqp_KyiI6mV_evp zRwY!Tpx97FU5FuAy3maj+`1A(TopkC321R;b)of#h$$$=MblV|*s4&YByB>hF)=qc zxoML7Gc#xAob$Oz6ZBnutLJ-vJP~1Xa%vvW)4uPEQVJCWD5VH)-+>AUf&djLlu~G| zy(nsg#bU8b0hG(-_K}e<!!XPv0w4g02qJ=W4(A*qg6Db6&dxGCJe(GbMHGOwhMvJ! zINaXC`G2aID5X)2$#jZX!DR-?9Eeceh?rm5kJcJs6QER%#nKw8zQJErMVc6Fl3`<w z(;Al<j5e%RYOGb(u~CgJDS#mGncaxUT#gC>K_N$G9GP?IYJ<2M5!Vu2oI<LRB>q3Z z_kB9^c~16q^ZdvJ1qY@UVd{0VY6HnE7>7#|Y*fdY1lcTWD}v&}rEAR2l*pE<SUkiS zBuf$J@PiOM5M?j|Hi>T64E|<>fd2h$eEP-^cD;&iG>{}kGK*(HtV4{!Sp(K=f8TZ> zB9PShWaJ03%o2J&;NhIZ^L%gym!{Y_!eq%NNd5!J<#Kq-Ke4aBgAd<7#KiI>@wJe? z69-rrFVp#Wk-5uD+_k5fyL;ML8C&CAbRj%__N#9Y5f)3OSnJf<4JRTZAB?;tfK+5u zj)2r;O!{e+*IyWr?{B;#_klcd>LKYp_1v$Xh%h}pvv+c8vaq|U^{qz-x`vK@^fr$) zJxshO=8oD9D&ZP`UcbrMjh{)WGthj5i=`{H1cmPuz#msH%?}<w!IMXyy}0_+_)y22 z$0#4Xhwkyqyz9mEottCj=w3R!ke=lnx;w<p2@wgNh%kEg4E>J{>|C`i<0r4T9(v&F zGkm?c#Ck0xaT+lpc#7SDPhnvR)%PGbm!`NguYOTmbF}Yj+V^**x%bB}U}syI-mWe| zwbRtJ%e((@Cw1)zRGzu@H3knJ;PmKus<)OWwjHEe=hGm3@zv7H*~)8t2J8TG?|plw z^=W%$dgj)$79?A!74paLRjT{*-_`2Jzqx-003isv{0{t#umAu607*qoM6N<$f}>)z AEdT%j literal 0 HcmV?d00001 diff --git a/win32/copy/share/xml/iso-codes/iso_3166.xml b/win32/copy/share/xml/iso-codes/iso_3166.xml new file mode 100644 index 0000000000000000000000000000000000000000..eed9484a50a325077ccfcd004644ad7681033fac --- /dev/null +++ b/win32/copy/share/xml/iso-codes/iso_3166.xml @@ -0,0 +1,1708 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- +This file gives a list of all countries in the ISO 3166 +standard, and is used to provide translations via gettext + +Copyright (C) 2002, 2004, 2006 Alastair McKinstry <mckinstry@computer.org> +Copyright (C) 2004 Andreas Jochens <aj@andaco.de> +Copyright (C) 2004, 2007 Christian Perrier <bubulle@debian.org> +Copyright (C) 2005, 2006, 2007 Tobias Quathamer <toddy@debian.org> + + This file is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this file; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Source: <http://www.iso.org/iso/country_codes> +--> + +<!DOCTYPE iso_3166_entries [ + <!ELEMENT iso_3166_entries (iso_3166_entry+, iso_3166_3_entry*)> + <!ELEMENT iso_3166_entry EMPTY> + <!ATTLIST iso_3166_entry + alpha_2_code CDATA #REQUIRED + alpha_3_code CDATA #REQUIRED + numeric_code CDATA #REQUIRED + common_name CDATA #IMPLIED + name CDATA #REQUIRED + official_name CDATA #IMPLIED + > + <!ELEMENT iso_3166_3_entry EMPTY> + <!ATTLIST iso_3166_3_entry + alpha_4_code CDATA #REQUIRED + alpha_3_code CDATA #REQUIRED + numeric_code CDATA #IMPLIED + date_withdrawn CDATA #IMPLIED + names CDATA #REQUIRED + comment CDATA #IMPLIED + > +]> + +<iso_3166_entries> + <iso_3166_entry + alpha_2_code="AF" + alpha_3_code="AFG" + numeric_code="004" + name="Afghanistan" + official_name="Islamic Republic of Afghanistan" /> + <iso_3166_entry + alpha_2_code="AX" + alpha_3_code="ALA" + numeric_code="248" + name="Åland Islands" /> + <iso_3166_entry + alpha_2_code="AL" + alpha_3_code="ALB" + numeric_code="008" + name="Albania" + official_name="Republic of Albania" /> + <iso_3166_entry + alpha_2_code="DZ" + alpha_3_code="DZA" + numeric_code="012" + name="Algeria" + official_name="People's Democratic Republic of Algeria" /> + <iso_3166_entry + alpha_2_code="AS" + alpha_3_code="ASM" + numeric_code="016" + name="American Samoa" /> + <iso_3166_entry + alpha_2_code="AD" + alpha_3_code="AND" + numeric_code="020" + name="Andorra" + official_name="Principality of Andorra" /> + <iso_3166_entry + alpha_2_code="AO" + alpha_3_code="AGO" + numeric_code="024" + name="Angola" + official_name="Republic of Angola" /> + <iso_3166_entry + alpha_2_code="AI" + alpha_3_code="AIA" + numeric_code="660" + name="Anguilla" /> + <iso_3166_entry + alpha_2_code="AQ" + alpha_3_code="ATA" + numeric_code="010" + name="Antarctica" /> + <iso_3166_entry + alpha_2_code="AG" + alpha_3_code="ATG" + numeric_code="028" + name="Antigua and Barbuda" /> + <iso_3166_entry + alpha_2_code="AR" + alpha_3_code="ARG" + numeric_code="032" + name="Argentina" + official_name="Argentine Republic" /> + <iso_3166_entry + alpha_2_code="AM" + alpha_3_code="ARM" + numeric_code="051" + name="Armenia" + official_name="Republic of Armenia" /> + <iso_3166_entry + alpha_2_code="AW" + alpha_3_code="ABW" + numeric_code="533" + name="Aruba" /> + <iso_3166_entry + alpha_2_code="AU" + alpha_3_code="AUS" + numeric_code="036" + name="Australia" /> + <iso_3166_entry + alpha_2_code="AT" + alpha_3_code="AUT" + numeric_code="040" + name="Austria" + official_name="Republic of Austria" /> + <iso_3166_entry + alpha_2_code="AZ" + alpha_3_code="AZE" + numeric_code="031" + name="Azerbaijan" + official_name="Republic of Azerbaijan" /> + <iso_3166_entry + alpha_2_code="BS" + alpha_3_code="BHS" + numeric_code="044" + name="Bahamas" + official_name="Commonwealth of the Bahamas" /> + <iso_3166_entry + alpha_2_code="BH" + alpha_3_code="BHR" + numeric_code="048" + name="Bahrain" + official_name="Kingdom of Bahrain" /> + <iso_3166_entry + alpha_2_code="BD" + alpha_3_code="BGD" + numeric_code="050" + name="Bangladesh" + official_name="People's Republic of Bangladesh" /> + <iso_3166_entry + alpha_2_code="BB" + alpha_3_code="BRB" + numeric_code="052" + name="Barbados" /> + <iso_3166_entry + alpha_2_code="BY" + alpha_3_code="BLR" + numeric_code="112" + name="Belarus" + official_name="Republic of Belarus" /> + <iso_3166_entry + alpha_2_code="BE" + alpha_3_code="BEL" + numeric_code="056" + name="Belgium" + official_name="Kingdom of Belgium" /> + <iso_3166_entry + alpha_2_code="BZ" + alpha_3_code="BLZ" + numeric_code="084" + name="Belize" /> + <iso_3166_entry + alpha_2_code="BJ" + alpha_3_code="BEN" + numeric_code="204" + name="Benin" + official_name="Republic of Benin" /> + <iso_3166_entry + alpha_2_code="BM" + alpha_3_code="BMU" + numeric_code="060" + name="Bermuda" /> + <iso_3166_entry + alpha_2_code="BT" + alpha_3_code="BTN" + numeric_code="064" + name="Bhutan" + official_name="Kingdom of Bhutan" /> + <iso_3166_entry + alpha_2_code="BO" + alpha_3_code="BOL" + numeric_code="068" + common_name="Bolivia" + name="Bolivia, Plurinational State of" + official_name="Plurinational State of Bolivia" /> + <iso_3166_entry + alpha_2_code="BQ" + alpha_3_code="BES" + numeric_code="535" + name="Bonaire, Sint Eustatius and Saba" + official_name="Bonaire, Sint Eustatius and Saba" /> + <iso_3166_entry + alpha_2_code="BA" + alpha_3_code="BIH" + numeric_code="070" + name="Bosnia and Herzegovina" + official_name="Republic of Bosnia and Herzegovina" /> + <iso_3166_entry + alpha_2_code="BW" + alpha_3_code="BWA" + numeric_code="072" + name="Botswana" + official_name="Republic of Botswana" /> + <iso_3166_entry + alpha_2_code="BV" + alpha_3_code="BVT" + numeric_code="074" + name="Bouvet Island" /> + <iso_3166_entry + alpha_2_code="BR" + alpha_3_code="BRA" + numeric_code="076" + name="Brazil" + official_name="Federative Republic of Brazil" /> + <iso_3166_entry + alpha_2_code="IO" + alpha_3_code="IOT" + numeric_code="086" + name="British Indian Ocean Territory" /> + <iso_3166_entry + alpha_2_code="BN" + alpha_3_code="BRN" + numeric_code="096" + name="Brunei Darussalam" /> + <iso_3166_entry + alpha_2_code="BG" + alpha_3_code="BGR" + numeric_code="100" + name="Bulgaria" + official_name="Republic of Bulgaria" /> + <iso_3166_entry + alpha_2_code="BF" + alpha_3_code="BFA" + numeric_code="854" + name="Burkina Faso" /> + <iso_3166_entry + alpha_2_code="BI" + alpha_3_code="BDI" + numeric_code="108" + name="Burundi" + official_name="Republic of Burundi" /> + <iso_3166_entry + alpha_2_code="KH" + alpha_3_code="KHM" + numeric_code="116" + name="Cambodia" + official_name="Kingdom of Cambodia" /> + <iso_3166_entry + alpha_2_code="CM" + alpha_3_code="CMR" + numeric_code="120" + name="Cameroon" + official_name="Republic of Cameroon" /> + <iso_3166_entry + alpha_2_code="CA" + alpha_3_code="CAN" + numeric_code="124" + name="Canada" /> + <iso_3166_entry + alpha_2_code="CV" + alpha_3_code="CPV" + numeric_code="132" + name="Cape Verde" + official_name="Republic of Cape Verde" /> + <iso_3166_entry + alpha_2_code="KY" + alpha_3_code="CYM" + numeric_code="136" + name="Cayman Islands" /> + <iso_3166_entry + alpha_2_code="CF" + alpha_3_code="CAF" + numeric_code="140" + name="Central African Republic" /> + <iso_3166_entry + alpha_2_code="TD" + alpha_3_code="TCD" + numeric_code="148" + name="Chad" + official_name="Republic of Chad" /> + <iso_3166_entry + alpha_2_code="CL" + alpha_3_code="CHL" + numeric_code="152" + name="Chile" + official_name="Republic of Chile" /> + <iso_3166_entry + alpha_2_code="CN" + alpha_3_code="CHN" + numeric_code="156" + name="China" + official_name="People's Republic of China" /> + <iso_3166_entry + alpha_2_code="CX" + alpha_3_code="CXR" + numeric_code="162" + name="Christmas Island" /> + <iso_3166_entry + alpha_2_code="CC" + alpha_3_code="CCK" + numeric_code="166" + name="Cocos (Keeling) Islands" /> + <iso_3166_entry + alpha_2_code="CO" + alpha_3_code="COL" + numeric_code="170" + name="Colombia" + official_name="Republic of Colombia" /> + <iso_3166_entry + alpha_2_code="KM" + alpha_3_code="COM" + numeric_code="174" + name="Comoros" + official_name="Union of the Comoros" /> + <iso_3166_entry + alpha_2_code="CG" + alpha_3_code="COG" + numeric_code="178" + name="Congo" + official_name="Republic of the Congo" /> + <iso_3166_entry + alpha_2_code="CD" + alpha_3_code="COD" + numeric_code="180" + name="Congo, The Democratic Republic of the" /> + <iso_3166_entry + alpha_2_code="CK" + alpha_3_code="COK" + numeric_code="184" + name="Cook Islands" /> + <iso_3166_entry + alpha_2_code="CR" + alpha_3_code="CRI" + numeric_code="188" + name="Costa Rica" + official_name="Republic of Costa Rica" /> + <iso_3166_entry + alpha_2_code="CI" + alpha_3_code="CIV" + numeric_code="384" + name="Côte d'Ivoire" + official_name="Republic of Côte d'Ivoire" /> + <iso_3166_entry + alpha_2_code="HR" + alpha_3_code="HRV" + numeric_code="191" + name="Croatia" + official_name="Republic of Croatia" /> + <iso_3166_entry + alpha_2_code="CU" + alpha_3_code="CUB" + numeric_code="192" + name="Cuba" + official_name="Republic of Cuba" /> + <iso_3166_entry + alpha_2_code="CW" + alpha_3_code="CUW" + numeric_code="531" + name="Curaçao" + official_name="Curaçao" /> + <iso_3166_entry + alpha_2_code="CY" + alpha_3_code="CYP" + numeric_code="196" + name="Cyprus" + official_name="Republic of Cyprus" /> + <iso_3166_entry + alpha_2_code="CZ" + alpha_3_code="CZE" + numeric_code="203" + name="Czech Republic" /> + <iso_3166_entry + alpha_2_code="DK" + alpha_3_code="DNK" + numeric_code="208" + name="Denmark" + official_name="Kingdom of Denmark" /> + <iso_3166_entry + alpha_2_code="DJ" + alpha_3_code="DJI" + numeric_code="262" + name="Djibouti" + official_name="Republic of Djibouti" /> + <iso_3166_entry + alpha_2_code="DM" + alpha_3_code="DMA" + numeric_code="212" + name="Dominica" + official_name="Commonwealth of Dominica" /> + <iso_3166_entry + alpha_2_code="DO" + alpha_3_code="DOM" + numeric_code="214" + name="Dominican Republic" /> + <iso_3166_entry + alpha_2_code="EC" + alpha_3_code="ECU" + numeric_code="218" + name="Ecuador" + official_name="Republic of Ecuador" /> + <iso_3166_entry + alpha_2_code="EG" + alpha_3_code="EGY" + numeric_code="818" + name="Egypt" + official_name="Arab Republic of Egypt" /> + <iso_3166_entry + alpha_2_code="SV" + alpha_3_code="SLV" + numeric_code="222" + name="El Salvador" + official_name="Republic of El Salvador" /> + <iso_3166_entry + alpha_2_code="GQ" + alpha_3_code="GNQ" + numeric_code="226" + name="Equatorial Guinea" + official_name="Republic of Equatorial Guinea" /> + <iso_3166_entry + alpha_2_code="ER" + alpha_3_code="ERI" + numeric_code="232" + name="Eritrea" /> + <iso_3166_entry + alpha_2_code="EE" + alpha_3_code="EST" + numeric_code="233" + name="Estonia" + official_name="Republic of Estonia" /> + <iso_3166_entry + alpha_2_code="ET" + alpha_3_code="ETH" + numeric_code="231" + name="Ethiopia" + official_name="Federal Democratic Republic of Ethiopia" /> + <iso_3166_entry + alpha_2_code="FK" + alpha_3_code="FLK" + numeric_code="238" + name="Falkland Islands (Malvinas)" /> + <iso_3166_entry + alpha_2_code="FO" + alpha_3_code="FRO" + numeric_code="234" + name="Faroe Islands" /> + <iso_3166_entry + alpha_2_code="FJ" + alpha_3_code="FJI" + numeric_code="242" + name="Fiji" + official_name="Republic of Fiji" /> + <iso_3166_entry + alpha_2_code="FI" + alpha_3_code="FIN" + numeric_code="246" + name="Finland" + official_name="Republic of Finland" /> + <iso_3166_entry + alpha_2_code="FR" + alpha_3_code="FRA" + numeric_code="250" + name="France" + official_name="French Republic" /> + <iso_3166_entry + alpha_2_code="GF" + alpha_3_code="GUF" + numeric_code="254" + name="French Guiana" /> + <iso_3166_entry + alpha_2_code="PF" + alpha_3_code="PYF" + numeric_code="258" + name="French Polynesia" /> + <iso_3166_entry + alpha_2_code="TF" + alpha_3_code="ATF" + numeric_code="260" + name="French Southern Territories" /> + <iso_3166_entry + alpha_2_code="GA" + alpha_3_code="GAB" + numeric_code="266" + name="Gabon" + official_name="Gabonese Republic" /> + <iso_3166_entry + alpha_2_code="GM" + alpha_3_code="GMB" + numeric_code="270" + name="Gambia" + official_name="Republic of the Gambia" /> + <iso_3166_entry + alpha_2_code="GE" + alpha_3_code="GEO" + numeric_code="268" + name="Georgia" /> + <iso_3166_entry + alpha_2_code="DE" + alpha_3_code="DEU" + numeric_code="276" + name="Germany" + official_name="Federal Republic of Germany" /> + <iso_3166_entry + alpha_2_code="GH" + alpha_3_code="GHA" + numeric_code="288" + name="Ghana" + official_name="Republic of Ghana" /> + <iso_3166_entry + alpha_2_code="GI" + alpha_3_code="GIB" + numeric_code="292" + name="Gibraltar" /> + <iso_3166_entry + alpha_2_code="GR" + alpha_3_code="GRC" + numeric_code="300" + name="Greece" + official_name="Hellenic Republic" /> + <iso_3166_entry + alpha_2_code="GL" + alpha_3_code="GRL" + numeric_code="304" + name="Greenland" /> + <iso_3166_entry + alpha_2_code="GD" + alpha_3_code="GRD" + numeric_code="308" + name="Grenada" /> + <iso_3166_entry + alpha_2_code="GP" + alpha_3_code="GLP" + numeric_code="312" + name="Guadeloupe" /> + <iso_3166_entry + alpha_2_code="GU" + alpha_3_code="GUM" + numeric_code="316" + name="Guam" /> + <iso_3166_entry + alpha_2_code="GT" + alpha_3_code="GTM" + numeric_code="320" + name="Guatemala" + official_name="Republic of Guatemala" /> + <iso_3166_entry + alpha_2_code="GG" + alpha_3_code="GGY" + numeric_code="831" + name="Guernsey" /> + <iso_3166_entry + alpha_2_code="GN" + alpha_3_code="GIN" + numeric_code="324" + name="Guinea" + official_name="Republic of Guinea" /> + <iso_3166_entry + alpha_2_code="GW" + alpha_3_code="GNB" + numeric_code="624" + name="Guinea-Bissau" + official_name="Republic of Guinea-Bissau" /> + <iso_3166_entry + alpha_2_code="GY" + alpha_3_code="GUY" + numeric_code="328" + name="Guyana" + official_name="Republic of Guyana" /> + <iso_3166_entry + alpha_2_code="HT" + alpha_3_code="HTI" + numeric_code="332" + name="Haiti" + official_name="Republic of Haiti" /> + <iso_3166_entry + alpha_2_code="HM" + alpha_3_code="HMD" + numeric_code="334" + name="Heard Island and McDonald Islands" /> + <iso_3166_entry + alpha_2_code="VA" + alpha_3_code="VAT" + numeric_code="336" + name="Holy See (Vatican City State)" /> + <iso_3166_entry + alpha_2_code="HN" + alpha_3_code="HND" + numeric_code="340" + name="Honduras" + official_name="Republic of Honduras" /> + <iso_3166_entry + alpha_2_code="HK" + alpha_3_code="HKG" + numeric_code="344" + name="Hong Kong" + official_name="Hong Kong Special Administrative Region of China" /> + <iso_3166_entry + alpha_2_code="HU" + alpha_3_code="HUN" + numeric_code="348" + name="Hungary" + official_name="Hungary" /> + <iso_3166_entry + alpha_2_code="IS" + alpha_3_code="ISL" + numeric_code="352" + name="Iceland" + official_name="Republic of Iceland" /> + <iso_3166_entry + alpha_2_code="IN" + alpha_3_code="IND" + numeric_code="356" + name="India" + official_name="Republic of India" /> + <iso_3166_entry + alpha_2_code="ID" + alpha_3_code="IDN" + numeric_code="360" + name="Indonesia" + official_name="Republic of Indonesia" /> + <iso_3166_entry + alpha_2_code="IR" + alpha_3_code="IRN" + numeric_code="364" + name="Iran, Islamic Republic of" + official_name="Islamic Republic of Iran" /> + <iso_3166_entry + alpha_2_code="IQ" + alpha_3_code="IRQ" + numeric_code="368" + name="Iraq" + official_name="Republic of Iraq" /> + <iso_3166_entry + alpha_2_code="IE" + alpha_3_code="IRL" + numeric_code="372" + name="Ireland" /> + <iso_3166_entry + alpha_2_code="IM" + alpha_3_code="IMN" + numeric_code="833" + name="Isle of Man" /> + <iso_3166_entry + alpha_2_code="IL" + alpha_3_code="ISR" + numeric_code="376" + name="Israel" + official_name="State of Israel" /> + <iso_3166_entry + alpha_2_code="IT" + alpha_3_code="ITA" + numeric_code="380" + name="Italy" + official_name="Italian Republic" /> + <iso_3166_entry + alpha_2_code="JM" + alpha_3_code="JAM" + numeric_code="388" + name="Jamaica" /> + <iso_3166_entry + alpha_2_code="JP" + alpha_3_code="JPN" + numeric_code="392" + name="Japan" /> + <iso_3166_entry + alpha_2_code="JE" + alpha_3_code="JEY" + numeric_code="832" + name="Jersey" /> + <iso_3166_entry + alpha_2_code="JO" + alpha_3_code="JOR" + numeric_code="400" + name="Jordan" + official_name="Hashemite Kingdom of Jordan" /> + <iso_3166_entry + alpha_2_code="KZ" + alpha_3_code="KAZ" + numeric_code="398" + name="Kazakhstan" + official_name="Republic of Kazakhstan" /> + <iso_3166_entry + alpha_2_code="KE" + alpha_3_code="KEN" + numeric_code="404" + name="Kenya" + official_name="Republic of Kenya" /> + <iso_3166_entry + alpha_2_code="KI" + alpha_3_code="KIR" + numeric_code="296" + name="Kiribati" + official_name="Republic of Kiribati" /> + <iso_3166_entry + alpha_2_code="KP" + alpha_3_code="PRK" + numeric_code="408" + name="Korea, Democratic People's Republic of" + official_name="Democratic People's Republic of Korea" /> + <iso_3166_entry + alpha_2_code="KR" + alpha_3_code="KOR" + numeric_code="410" + name="Korea, Republic of" /> + <iso_3166_entry + alpha_2_code="KW" + alpha_3_code="KWT" + numeric_code="414" + name="Kuwait" + official_name="State of Kuwait" /> + <iso_3166_entry + alpha_2_code="KG" + alpha_3_code="KGZ" + numeric_code="417" + name="Kyrgyzstan" + official_name="Kyrgyz Republic" /> + <iso_3166_entry + alpha_2_code="LA" + alpha_3_code="LAO" + numeric_code="418" + name="Lao People's Democratic Republic" /> + <iso_3166_entry + alpha_2_code="LV" + alpha_3_code="LVA" + numeric_code="428" + name="Latvia" + official_name="Republic of Latvia" /> + <iso_3166_entry + alpha_2_code="LB" + alpha_3_code="LBN" + numeric_code="422" + name="Lebanon" + official_name="Lebanese Republic" /> + <iso_3166_entry + alpha_2_code="LS" + alpha_3_code="LSO" + numeric_code="426" + name="Lesotho" + official_name="Kingdom of Lesotho" /> + <iso_3166_entry + alpha_2_code="LR" + alpha_3_code="LBR" + numeric_code="430" + name="Liberia" + official_name="Republic of Liberia" /> + <iso_3166_entry + alpha_2_code="LY" + alpha_3_code="LBY" + numeric_code="434" + name="Libya" + official_name="Libya" /> + <iso_3166_entry + alpha_2_code="LI" + alpha_3_code="LIE" + numeric_code="438" + name="Liechtenstein" + official_name="Principality of Liechtenstein" /> + <iso_3166_entry + alpha_2_code="LT" + alpha_3_code="LTU" + numeric_code="440" + name="Lithuania" + official_name="Republic of Lithuania" /> + <iso_3166_entry + alpha_2_code="LU" + alpha_3_code="LUX" + numeric_code="442" + name="Luxembourg" + official_name="Grand Duchy of Luxembourg" /> + <iso_3166_entry + alpha_2_code="MO" + alpha_3_code="MAC" + numeric_code="446" + name="Macao" + official_name="Macao Special Administrative Region of China" /> + <iso_3166_entry + alpha_2_code="MK" + alpha_3_code="MKD" + numeric_code="807" + name="Macedonia, Republic of" + official_name="The Former Yugoslav Republic of Macedonia" /> + <iso_3166_entry + alpha_2_code="MG" + alpha_3_code="MDG" + numeric_code="450" + name="Madagascar" + official_name="Republic of Madagascar" /> + <iso_3166_entry + alpha_2_code="MW" + alpha_3_code="MWI" + numeric_code="454" + name="Malawi" + official_name="Republic of Malawi" /> + <iso_3166_entry + alpha_2_code="MY" + alpha_3_code="MYS" + numeric_code="458" + name="Malaysia" /> + <iso_3166_entry + alpha_2_code="MV" + alpha_3_code="MDV" + numeric_code="462" + name="Maldives" + official_name="Republic of Maldives" /> + <iso_3166_entry + alpha_2_code="ML" + alpha_3_code="MLI" + numeric_code="466" + name="Mali" + official_name="Republic of Mali" /> + <iso_3166_entry + alpha_2_code="MT" + alpha_3_code="MLT" + numeric_code="470" + name="Malta" + official_name="Republic of Malta" /> + <iso_3166_entry + alpha_2_code="MH" + alpha_3_code="MHL" + numeric_code="584" + name="Marshall Islands" + official_name="Republic of the Marshall Islands" /> + <iso_3166_entry + alpha_2_code="MQ" + alpha_3_code="MTQ" + numeric_code="474" + name="Martinique" /> + <iso_3166_entry + alpha_2_code="MR" + alpha_3_code="MRT" + numeric_code="478" + name="Mauritania" + official_name="Islamic Republic of Mauritania" /> + <iso_3166_entry + alpha_2_code="MU" + alpha_3_code="MUS" + numeric_code="480" + name="Mauritius" + official_name="Republic of Mauritius" /> + <iso_3166_entry + alpha_2_code="YT" + alpha_3_code="MYT" + numeric_code="175" + name="Mayotte" /> + <iso_3166_entry + alpha_2_code="MX" + alpha_3_code="MEX" + numeric_code="484" + name="Mexico" + official_name="United Mexican States" /> + <iso_3166_entry + alpha_2_code="FM" + alpha_3_code="FSM" + numeric_code="583" + name="Micronesia, Federated States of" + official_name="Federated States of Micronesia" /> + <iso_3166_entry + alpha_2_code="MD" + alpha_3_code="MDA" + numeric_code="498" + common_name="Moldova" + name="Moldova, Republic of" + official_name="Republic of Moldova" /> + <iso_3166_entry + alpha_2_code="MC" + alpha_3_code="MCO" + numeric_code="492" + name="Monaco" + official_name="Principality of Monaco" /> + <iso_3166_entry + alpha_2_code="MN" + alpha_3_code="MNG" + numeric_code="496" + name="Mongolia" /> + <iso_3166_entry + alpha_2_code="ME" + alpha_3_code="MNE" + numeric_code="499" + name="Montenegro" + official_name="Montenegro" /> + <iso_3166_entry + alpha_2_code="MS" + alpha_3_code="MSR" + numeric_code="500" + name="Montserrat" /> + <iso_3166_entry + alpha_2_code="MA" + alpha_3_code="MAR" + numeric_code="504" + name="Morocco" + official_name="Kingdom of Morocco" /> + <iso_3166_entry + alpha_2_code="MZ" + alpha_3_code="MOZ" + numeric_code="508" + name="Mozambique" + official_name="Republic of Mozambique" /> + <iso_3166_entry + alpha_2_code="MM" + alpha_3_code="MMR" + numeric_code="104" + name="Myanmar" + official_name="Republic of Myanmar" /> + <iso_3166_entry + alpha_2_code="NA" + alpha_3_code="NAM" + numeric_code="516" + name="Namibia" + official_name="Republic of Namibia" /> + <iso_3166_entry + alpha_2_code="NR" + alpha_3_code="NRU" + numeric_code="520" + name="Nauru" + official_name="Republic of Nauru" /> + <iso_3166_entry + alpha_2_code="NP" + alpha_3_code="NPL" + numeric_code="524" + name="Nepal" + official_name="Federal Democratic Republic of Nepal" /> + <iso_3166_entry + alpha_2_code="NL" + alpha_3_code="NLD" + numeric_code="528" + name="Netherlands" + official_name="Kingdom of the Netherlands" /> + <iso_3166_entry + alpha_2_code="NC" + alpha_3_code="NCL" + numeric_code="540" + name="New Caledonia" /> + <iso_3166_entry + alpha_2_code="NZ" + alpha_3_code="NZL" + numeric_code="554" + name="New Zealand" /> + <iso_3166_entry + alpha_2_code="NI" + alpha_3_code="NIC" + numeric_code="558" + name="Nicaragua" + official_name="Republic of Nicaragua" /> + <iso_3166_entry + alpha_2_code="NE" + alpha_3_code="NER" + numeric_code="562" + name="Niger" + official_name="Republic of the Niger" /> + <iso_3166_entry + alpha_2_code="NG" + alpha_3_code="NGA" + numeric_code="566" + name="Nigeria" + official_name="Federal Republic of Nigeria" /> + <iso_3166_entry + alpha_2_code="NU" + alpha_3_code="NIU" + numeric_code="570" + name="Niue" + official_name="Niue" /> + <iso_3166_entry + alpha_2_code="NF" + alpha_3_code="NFK" + numeric_code="574" + name="Norfolk Island" /> + <iso_3166_entry + alpha_2_code="MP" + alpha_3_code="MNP" + numeric_code="580" + name="Northern Mariana Islands" + official_name="Commonwealth of the Northern Mariana Islands" /> + <iso_3166_entry + alpha_2_code="NO" + alpha_3_code="NOR" + numeric_code="578" + name="Norway" + official_name="Kingdom of Norway" /> + <iso_3166_entry + alpha_2_code="OM" + alpha_3_code="OMN" + numeric_code="512" + name="Oman" + official_name="Sultanate of Oman" /> + <iso_3166_entry + alpha_2_code="PK" + alpha_3_code="PAK" + numeric_code="586" + name="Pakistan" + official_name="Islamic Republic of Pakistan" /> + <iso_3166_entry + alpha_2_code="PW" + alpha_3_code="PLW" + numeric_code="585" + name="Palau" + official_name="Republic of Palau" /> + <iso_3166_entry + alpha_2_code="PS" + alpha_3_code="PSE" + numeric_code="275" + name="Palestinian Territory, Occupied" + official_name="Occupied Palestinian Territory" /> + <iso_3166_entry + alpha_2_code="PA" + alpha_3_code="PAN" + numeric_code="591" + name="Panama" + official_name="Republic of Panama" /> + <iso_3166_entry + alpha_2_code="PG" + alpha_3_code="PNG" + numeric_code="598" + name="Papua New Guinea" /> + <iso_3166_entry + alpha_2_code="PY" + alpha_3_code="PRY" + numeric_code="600" + name="Paraguay" + official_name="Republic of Paraguay" /> + <iso_3166_entry + alpha_2_code="PE" + alpha_3_code="PER" + numeric_code="604" + name="Peru" + official_name="Republic of Peru" /> + <iso_3166_entry + alpha_2_code="PH" + alpha_3_code="PHL" + numeric_code="608" + name="Philippines" + official_name="Republic of the Philippines" /> + <iso_3166_entry + alpha_2_code="PN" + alpha_3_code="PCN" + numeric_code="612" + name="Pitcairn" /> + <iso_3166_entry + alpha_2_code="PL" + alpha_3_code="POL" + numeric_code="616" + name="Poland" + official_name="Republic of Poland" /> + <iso_3166_entry + alpha_2_code="PT" + alpha_3_code="PRT" + numeric_code="620" + name="Portugal" + official_name="Portuguese Republic" /> + <iso_3166_entry + alpha_2_code="PR" + alpha_3_code="PRI" + numeric_code="630" + name="Puerto Rico" /> + <iso_3166_entry + alpha_2_code="QA" + alpha_3_code="QAT" + numeric_code="634" + name="Qatar" + official_name="State of Qatar" /> + <iso_3166_entry + alpha_2_code="RE" + alpha_3_code="REU" + numeric_code="638" + name="Réunion" /> + <iso_3166_entry + alpha_2_code="RO" + alpha_3_code="ROU" + numeric_code="642" + name="Romania" /> + <iso_3166_entry + alpha_2_code="RU" + alpha_3_code="RUS" + numeric_code="643" + name="Russian Federation" /> + <iso_3166_entry + alpha_2_code="RW" + alpha_3_code="RWA" + numeric_code="646" + name="Rwanda" + official_name="Rwandese Republic" /> + <iso_3166_entry + alpha_2_code="BL" + alpha_3_code="BLM" + numeric_code="652" + name="Saint Barthélemy" /> + <iso_3166_entry + alpha_2_code="SH" + alpha_3_code="SHN" + numeric_code="654" + name="Saint Helena, Ascension and Tristan da Cunha" /> + <iso_3166_entry + alpha_2_code="KN" + alpha_3_code="KNA" + numeric_code="659" + name="Saint Kitts and Nevis" /> + <iso_3166_entry + alpha_2_code="LC" + alpha_3_code="LCA" + numeric_code="662" + name="Saint Lucia" /> + <iso_3166_entry + alpha_2_code="MF" + alpha_3_code="MAF" + numeric_code="663" + name="Saint Martin (French part)" /> + <iso_3166_entry + alpha_2_code="PM" + alpha_3_code="SPM" + numeric_code="666" + name="Saint Pierre and Miquelon" /> + <iso_3166_entry + alpha_2_code="VC" + alpha_3_code="VCT" + numeric_code="670" + name="Saint Vincent and the Grenadines" /> + <iso_3166_entry + alpha_2_code="WS" + alpha_3_code="WSM" + numeric_code="882" + name="Samoa" + official_name="Independent State of Samoa" /> + <iso_3166_entry + alpha_2_code="SM" + alpha_3_code="SMR" + numeric_code="674" + name="San Marino" + official_name="Republic of San Marino" /> + <iso_3166_entry + alpha_2_code="ST" + alpha_3_code="STP" + numeric_code="678" + name="Sao Tome and Principe" + official_name="Democratic Republic of Sao Tome and Principe" /> + <iso_3166_entry + alpha_2_code="SA" + alpha_3_code="SAU" + numeric_code="682" + name="Saudi Arabia" + official_name="Kingdom of Saudi Arabia" /> + <iso_3166_entry + alpha_2_code="SN" + alpha_3_code="SEN" + numeric_code="686" + name="Senegal" + official_name="Republic of Senegal" /> + <iso_3166_entry + alpha_2_code="RS" + alpha_3_code="SRB" + numeric_code="688" + name="Serbia" + official_name="Republic of Serbia" /> + <iso_3166_entry + alpha_2_code="SC" + alpha_3_code="SYC" + numeric_code="690" + name="Seychelles" + official_name="Republic of Seychelles" /> + <iso_3166_entry + alpha_2_code="SL" + alpha_3_code="SLE" + numeric_code="694" + name="Sierra Leone" + official_name="Republic of Sierra Leone" /> + <iso_3166_entry + alpha_2_code="SG" + alpha_3_code="SGP" + numeric_code="702" + name="Singapore" + official_name="Republic of Singapore" /> + <iso_3166_entry + alpha_2_code="SX" + alpha_3_code="SXM" + numeric_code="534" + name="Sint Maarten (Dutch part)" + official_name="Sint Maarten (Dutch part)" /> + <iso_3166_entry + alpha_2_code="SK" + alpha_3_code="SVK" + numeric_code="703" + name="Slovakia" + official_name="Slovak Republic" /> + <iso_3166_entry + alpha_2_code="SI" + alpha_3_code="SVN" + numeric_code="705" + name="Slovenia" + official_name="Republic of Slovenia" /> + <iso_3166_entry + alpha_2_code="SB" + alpha_3_code="SLB" + numeric_code="090" + name="Solomon Islands" /> + <iso_3166_entry + alpha_2_code="SO" + alpha_3_code="SOM" + numeric_code="706" + name="Somalia" + official_name="Somali Republic" /> + <iso_3166_entry + alpha_2_code="ZA" + alpha_3_code="ZAF" + numeric_code="710" + name="South Africa" + official_name="Republic of South Africa" /> + <iso_3166_entry + alpha_2_code="GS" + alpha_3_code="SGS" + numeric_code="239" + name="South Georgia and the South Sandwich Islands" /> + <iso_3166_entry + alpha_2_code="ES" + alpha_3_code="ESP" + numeric_code="724" + name="Spain" + official_name="Kingdom of Spain" /> + <iso_3166_entry + alpha_2_code="LK" + alpha_3_code="LKA" + numeric_code="144" + name="Sri Lanka" + official_name="Democratic Socialist Republic of Sri Lanka" /> + <iso_3166_entry + alpha_2_code="SD" + alpha_3_code="SDN" + numeric_code="729" + name="Sudan" + official_name="Republic of the Sudan" /> + <iso_3166_entry + alpha_2_code="SR" + alpha_3_code="SUR" + numeric_code="740" + name="Suriname" + official_name="Republic of Suriname" /> + <iso_3166_entry + alpha_2_code="SS" + alpha_3_code="SSD" + numeric_code="728" + name="South Sudan" + official_name="Republic of South Sudan" /> + <iso_3166_entry + alpha_2_code="SJ" + alpha_3_code="SJM" + numeric_code="744" + name="Svalbard and Jan Mayen" /> + <iso_3166_entry + alpha_2_code="SZ" + alpha_3_code="SWZ" + numeric_code="748" + name="Swaziland" + official_name="Kingdom of Swaziland" /> + <iso_3166_entry + alpha_2_code="SE" + alpha_3_code="SWE" + numeric_code="752" + name="Sweden" + official_name="Kingdom of Sweden" /> + <iso_3166_entry + alpha_2_code="CH" + alpha_3_code="CHE" + numeric_code="756" + name="Switzerland" + official_name="Swiss Confederation" /> + <iso_3166_entry + alpha_2_code="SY" + alpha_3_code="SYR" + numeric_code="760" + name="Syrian Arab Republic" /> + <iso_3166_entry + alpha_2_code="TW" + alpha_3_code="TWN" + numeric_code="158" + common_name="Taiwan" + name="Taiwan, Province of China" + official_name="Taiwan, Province of China" /> + <iso_3166_entry + alpha_2_code="TJ" + alpha_3_code="TJK" + numeric_code="762" + name="Tajikistan" + official_name="Republic of Tajikistan" /> + <iso_3166_entry + alpha_2_code="TZ" + alpha_3_code="TZA" + numeric_code="834" + name="Tanzania, United Republic of" + official_name="United Republic of Tanzania" /> + <iso_3166_entry + alpha_2_code="TH" + alpha_3_code="THA" + numeric_code="764" + name="Thailand" + official_name="Kingdom of Thailand" /> + <iso_3166_entry + alpha_2_code="TL" + alpha_3_code="TLS" + numeric_code="626" + name="Timor-Leste" + official_name="Democratic Republic of Timor-Leste" /> + <iso_3166_entry + alpha_2_code="TG" + alpha_3_code="TGO" + numeric_code="768" + name="Togo" + official_name="Togolese Republic" /> + <iso_3166_entry + alpha_2_code="TK" + alpha_3_code="TKL" + numeric_code="772" + name="Tokelau" /> + <iso_3166_entry + alpha_2_code="TO" + alpha_3_code="TON" + numeric_code="776" + name="Tonga" + official_name="Kingdom of Tonga" /> + <iso_3166_entry + alpha_2_code="TT" + alpha_3_code="TTO" + numeric_code="780" + name="Trinidad and Tobago" + official_name="Republic of Trinidad and Tobago" /> + <iso_3166_entry + alpha_2_code="TN" + alpha_3_code="TUN" + numeric_code="788" + name="Tunisia" + official_name="Republic of Tunisia" /> + <iso_3166_entry + alpha_2_code="TR" + alpha_3_code="TUR" + numeric_code="792" + name="Turkey" + official_name="Republic of Turkey" /> + <iso_3166_entry + alpha_2_code="TM" + alpha_3_code="TKM" + numeric_code="795" + name="Turkmenistan" /> + <iso_3166_entry + alpha_2_code="TC" + alpha_3_code="TCA" + numeric_code="796" + name="Turks and Caicos Islands" /> + <iso_3166_entry + alpha_2_code="TV" + alpha_3_code="TUV" + numeric_code="798" + name="Tuvalu" /> + <iso_3166_entry + alpha_2_code="UG" + alpha_3_code="UGA" + numeric_code="800" + name="Uganda" + official_name="Republic of Uganda" /> + <iso_3166_entry + alpha_2_code="UA" + alpha_3_code="UKR" + numeric_code="804" + name="Ukraine" /> + <iso_3166_entry + alpha_2_code="AE" + alpha_3_code="ARE" + numeric_code="784" + name="United Arab Emirates" /> + <iso_3166_entry + alpha_2_code="GB" + alpha_3_code="GBR" + numeric_code="826" + name="United Kingdom" + official_name="United Kingdom of Great Britain and Northern Ireland" /> + <iso_3166_entry + alpha_2_code="US" + alpha_3_code="USA" + numeric_code="840" + name="United States" + official_name="United States of America" /> + <iso_3166_entry + alpha_2_code="UM" + alpha_3_code="UMI" + numeric_code="581" + name="United States Minor Outlying Islands" /> + <iso_3166_entry + alpha_2_code="UY" + alpha_3_code="URY" + numeric_code="858" + name="Uruguay" + official_name="Eastern Republic of Uruguay" /> + <iso_3166_entry + alpha_2_code="UZ" + alpha_3_code="UZB" + numeric_code="860" + name="Uzbekistan" + official_name="Republic of Uzbekistan" /> + <iso_3166_entry + alpha_2_code="VU" + alpha_3_code="VUT" + numeric_code="548" + name="Vanuatu" + official_name="Republic of Vanuatu" /> + <iso_3166_entry + alpha_2_code="VE" + alpha_3_code="VEN" + numeric_code="862" + common_name="Venezuela" + name="Venezuela, Bolivarian Republic of" + official_name="Bolivarian Republic of Venezuela" /> + <iso_3166_entry + alpha_2_code="VN" + alpha_3_code="VNM" + numeric_code="704" + name="Viet Nam" + official_name="Socialist Republic of Viet Nam" /> + <!-- FIXME CHECK OFFICIAL NAME --> + <iso_3166_entry + alpha_2_code="VG" + alpha_3_code="VGB" + numeric_code="092" + name="Virgin Islands, British" + official_name="British Virgin Islands" /> + <iso_3166_entry + alpha_2_code="VI" + alpha_3_code="VIR" + numeric_code="850" + name="Virgin Islands, U.S." + official_name="Virgin Islands of the United States" /> + <iso_3166_entry + alpha_2_code="WF" + alpha_3_code="WLF" + numeric_code="876" + name="Wallis and Futuna" /> + <iso_3166_entry + alpha_2_code="EH" + alpha_3_code="ESH" + numeric_code="732" + name="Western Sahara" /> + <iso_3166_entry + alpha_2_code="YE" + alpha_3_code="YEM" + numeric_code="887" + name="Yemen" + official_name="Republic of Yemen" /> + <iso_3166_entry + alpha_2_code="ZM" + alpha_3_code="ZMB" + numeric_code="894" + name="Zambia" + official_name="Republic of Zambia" /> + <iso_3166_entry + alpha_2_code="ZW" + alpha_3_code="ZWE" + numeric_code="716" + name="Zimbabwe" + official_name="Republic of Zimbabwe" /> + <iso_3166_3_entry + alpha_4_code="BQAQ" + alpha_3_code="ATB" + date_withdrawn="1979" + names="British Antarctic Territory" /> + <iso_3166_3_entry + alpha_4_code="BUMM" + alpha_3_code="BUR" + numeric_code="104" + date_withdrawn="1989-12-05" + names="Burma, Socialist Republic of the Union of" /> + <iso_3166_3_entry + alpha_4_code="BYAA" + alpha_3_code="BYS" + numeric_code="112" + date_withdrawn="1992-06-15" + names="Byelorussian SSR Soviet Socialist Republic" /> + <iso_3166_3_entry + alpha_4_code="CTKI" + alpha_3_code="CTE" + numeric_code="128" + date_withdrawn="1984" + names="Canton and Enderbury Islands" /> + <iso_3166_3_entry + alpha_4_code="CSHH" + alpha_3_code="CSK" + numeric_code="200" + date_withdrawn="1993-06-15" + names="Czechoslovakia, Czechoslovak Socialist Republic" /> + <iso_3166_3_entry + alpha_4_code="DYBJ" + alpha_3_code="DHY" + numeric_code="204" + date_withdrawn="1977" + names="Dahomey" /> + <iso_3166_3_entry + alpha_4_code="NQAQ" + alpha_3_code="ATN" + numeric_code="216" + date_withdrawn="1983" + names="Dronning Maud Land" /> + <iso_3166_3_entry + alpha_4_code="TPTL" + alpha_3_code="TMP" + numeric_code="626" + date_withdrawn="2002-05-20" + names="East Timor" + comment="was Portuguese Timor" /> + <iso_3166_3_entry + alpha_4_code="ET" + alpha_3_code="ETH" + numeric_code="230" + date_withdrawn="1993-07-16" + names="Ethiopia" /> + <iso_3166_3_entry + alpha_4_code="FXFR" + alpha_3_code="FXX" + numeric_code="249" + date_withdrawn="1997-07-14" + names="France, Metropolitan" /> + <iso_3166_3_entry + alpha_4_code="AIDJ" + alpha_3_code="AFI" + numeric_code="262" + date_withdrawn="1977" + names="French Afars and Issas" /> + <iso_3166_3_entry + alpha_4_code="FQHH" + alpha_3_code="ATF" + date_withdrawn="1979" + names="French Southern and Antarctic Territories" + comment="now split between AQ and TF" /> + <iso_3166_3_entry + alpha_4_code="DDDE" + alpha_3_code="DDR" + numeric_code="278" + date_withdrawn="1990-10-30" + names="German Democratic Republic" /> + <iso_3166_3_entry + alpha_4_code="DE" + alpha_3_code="DEU" + numeric_code="280" + date_withdrawn="1990-10-30" + names="Germany, Federal Republic of" /> + <iso_3166_3_entry + alpha_4_code="GEHH" + alpha_3_code="GEL" + numeric_code="296" + date_withdrawn="1979" + names="Gilbert and Ellice Islands" + comment="now split into Kiribati and Tuvalu" /> + <iso_3166_3_entry + alpha_4_code="JTUM" + alpha_3_code="JTN" + numeric_code="396" + date_withdrawn="1986" + names="Johnston Island" /> + <iso_3166_3_entry + alpha_4_code="MIUM" + alpha_3_code="MID" + numeric_code="488" + date_withdrawn="1986" + names="Midway Islands" /> + <iso_3166_3_entry + alpha_4_code="AN" + alpha_3_code="ANT" + numeric_code="532" + date_withdrawn="1993-07-12" + names="Netherlands Antilles" /> + <iso_3166_3_entry + alpha_4_code="NTHH" + alpha_3_code="NTZ" + numeric_code="536" + date_withdrawn="1993-07-12" + names="Neutral Zone" + comment="formerly between Saudi Arabia and Iraq" /> + <iso_3166_3_entry + alpha_4_code="NHVU" + alpha_3_code="NHB" + numeric_code="548" + date_withdrawn="1980" + names="New Hebrides" /> + <iso_3166_3_entry + alpha_4_code="PCHH" + alpha_3_code="PCI" + numeric_code="582" + date_withdrawn="1986" + names="Pacific Islands (trust territory)" + comment="divided into FM, MH, MP, and PW" /> + <iso_3166_3_entry + alpha_4_code="PA" + alpha_3_code="PAN" + numeric_code="590" + date_withdrawn="1993-07-22" + names="Panama, Republic of" /> + <iso_3166_3_entry + alpha_4_code="PZPA" + alpha_3_code="PCZ" + date_withdrawn="1980" + names="Panama Canal Zone" /> + <iso_3166_3_entry + alpha_4_code="RO" + alpha_3_code="ROM" + numeric_code="642" + date_withdrawn="2002-02-01" + names="Romania, Socialist Republic of" /> + <iso_3166_3_entry + alpha_4_code="KN" + alpha_3_code="KNA" + numeric_code="658" + date_withdrawn="1988" + names="St. Kitts-Nevis-Anguilla" + comment="now St. Kitts and Nevis and Anguilla" /> + <iso_3166_3_entry + alpha_4_code="CSXX" + alpha_3_code="SCG" + numeric_code="891" + date_withdrawn="2006-06-05" + names="Serbia and Montenegro" /> + <iso_3166_3_entry + alpha_4_code="SKIN" + alpha_3_code="SKM" + date_withdrawn="1975" + names="Sikkim" /> + <iso_3166_3_entry + alpha_4_code="RHZW" + alpha_3_code="RHO" + numeric_code="716" + date_withdrawn="1980" + names="Southern Rhodesia" /> + <iso_3166_3_entry + alpha_4_code="EH" + alpha_3_code="ESH" + numeric_code="732" + date_withdrawn="1988" + names="Spanish Sahara" + comment="now Western Sahara" /> + <iso_3166_3_entry + alpha_4_code="PUUM" + alpha_3_code="PUS" + numeric_code="849" + date_withdrawn="1986" + names="US Miscellaneous Pacific Islands" /> + <iso_3166_3_entry + alpha_4_code="SUHH" + alpha_3_code="SUN" + numeric_code="810" + date_withdrawn="1992-08-30" + names="USSR, Union of Soviet Socialist Republics" /> + <iso_3166_3_entry + alpha_4_code="HVBF" + alpha_3_code="HVO" + numeric_code="854" + date_withdrawn="1984" + names="Upper Volta, Republic of" /> + <iso_3166_3_entry + alpha_4_code="VA" + alpha_3_code="VAT" + numeric_code="336" + date_withdrawn="1996-04-03" + names="Vatican City State (Holy See)" /> + <iso_3166_3_entry + alpha_4_code="VDVN" + alpha_3_code="VDR" + date_withdrawn="1977" + names="Viet-Nam, Democratic Republic of" /> + <iso_3166_3_entry + alpha_4_code="WKUM" + alpha_3_code="WAK" + numeric_code="872" + date_withdrawn="1986" + names="Wake Island" /> + <iso_3166_3_entry + alpha_4_code="YDYE" + alpha_3_code="YMD" + numeric_code="720" + date_withdrawn="1990-08-14" + names="Yemen, Democratic, People's Democratic Republic of" /> + <iso_3166_3_entry + alpha_4_code="YE" + alpha_3_code="YEM" + numeric_code="891" + date_withdrawn="1990-08-14" + names="Yemen, Yemen Arab Republic" /> + <iso_3166_3_entry + alpha_4_code="YUCS" + alpha_3_code="YUG" + numeric_code="891" + date_withdrawn="1993-07-28" + names="Yugoslavia, Socialist Federal Republic of" /> + <iso_3166_3_entry + alpha_4_code="ZRCD" + alpha_3_code="ZAR" + numeric_code="180" + date_withdrawn="1997-07-14" + names="Zaire, Republic of" /> +</iso_3166_entries> diff --git a/win32/copy/share/xml/iso-codes/iso_639.xml b/win32/copy/share/xml/iso-codes/iso_639.xml new file mode 100644 index 0000000000000000000000000000000000000000..02fa01fb02f74af346718298158c6c6e5a662fe9 --- /dev/null +++ b/win32/copy/share/xml/iso-codes/iso_639.xml @@ -0,0 +1,2169 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- +This file gives a list of all languages in the ISO 639 +standard, and is used to provide translations via gettext + +Copyright (C) 2004-2006 Alastair McKinstry <mckinstry@computer.org> +Copyright (C) 2004-2009 Christian Perrier <bubulle@debian.org> +Copyright (C) 2005-2008 Tobias Quathamer <toddy@debian.org> + + This file is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this file; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Source: <http://www.loc.gov/standards/iso639-2/> +--> + +<!DOCTYPE iso_639_entries [ + <!ELEMENT iso_639_entries (iso_639_entry+)> + <!ELEMENT iso_639_entry EMPTY> + <!ATTLIST iso_639_entry + iso_639_2B_code CDATA #REQUIRED + iso_639_2T_code CDATA #REQUIRED + iso_639_1_code CDATA #IMPLIED + name CDATA #REQUIRED + > +]> + +<iso_639_entries> + <iso_639_entry + iso_639_2B_code="aar" + iso_639_2T_code="aar" + iso_639_1_code="aa" + name="Afar" /> + <iso_639_entry + iso_639_2B_code="abk" + iso_639_2T_code="abk" + iso_639_1_code="ab" + name="Abkhazian" /> + <iso_639_entry + iso_639_2B_code="ace" + iso_639_2T_code="ace" + name="Achinese" /> + <iso_639_entry + iso_639_2B_code="ach" + iso_639_2T_code="ach" + name="Acoli" /> + <iso_639_entry + iso_639_2B_code="ada" + iso_639_2T_code="ada" + name="Adangme" /> + <iso_639_entry + iso_639_2B_code="ady" + iso_639_2T_code="ady" + name="Adyghe; Adygei" /> + <iso_639_entry + iso_639_2B_code="afa" + iso_639_2T_code="afa" + name="Afro-Asiatic languages" /> + <iso_639_entry + iso_639_2B_code="afh" + iso_639_2T_code="afh" + name="Afrihili" /> + <iso_639_entry + iso_639_2B_code="afr" + iso_639_2T_code="afr" + iso_639_1_code="af" + name="Afrikaans" /> + <iso_639_entry + iso_639_2B_code="ain" + iso_639_2T_code="ain" + name="Ainu" /> + <iso_639_entry + iso_639_2B_code="aka" + iso_639_2T_code="aka" + iso_639_1_code="ak" + name="Akan" /> + <iso_639_entry + iso_639_2B_code="akk" + iso_639_2T_code="akk" + name="Akkadian" /> + <iso_639_entry + iso_639_2B_code="alb" + iso_639_2T_code="sqi" + iso_639_1_code="sq" + name="Albanian" /> + <iso_639_entry + iso_639_2B_code="ale" + iso_639_2T_code="ale" + name="Aleut" /> + <iso_639_entry + iso_639_2B_code="alg" + iso_639_2T_code="alg" + name="Algonquian languages" /> + <iso_639_entry + iso_639_2B_code="alt" + iso_639_2T_code="alt" + name="Southern Altai" /> + <iso_639_entry + iso_639_2B_code="amh" + iso_639_2T_code="amh" + iso_639_1_code="am" + name="Amharic" /> + <iso_639_entry + iso_639_2B_code="ang" + iso_639_2T_code="ang" + name="English, Old (ca. 450-1100)" /> + <iso_639_entry + iso_639_2B_code="anp" + iso_639_2T_code="anp" + name="Angika" /> + <iso_639_entry + iso_639_2B_code="apa" + iso_639_2T_code="apa" + name="Apache languages" /> + <iso_639_entry + iso_639_2B_code="ara" + iso_639_2T_code="ara" + iso_639_1_code="ar" + name="Arabic" /> + <iso_639_entry + iso_639_2B_code="arc" + iso_639_2T_code="arc" + name="Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" /> + <iso_639_entry + iso_639_2B_code="arg" + iso_639_2T_code="arg" + iso_639_1_code="an" + name="Aragonese" /> + <iso_639_entry + iso_639_2B_code="arm" + iso_639_2T_code="hye" + iso_639_1_code="hy" + name="Armenian" /> + <iso_639_entry + iso_639_2B_code="arn" + iso_639_2T_code="arn" + name="Mapudungun; Mapuche" /> + <iso_639_entry + iso_639_2B_code="arp" + iso_639_2T_code="arp" + name="Arapaho" /> + <iso_639_entry + iso_639_2B_code="art" + iso_639_2T_code="art" + name="Artificial languages" /> + <iso_639_entry + iso_639_2B_code="arw" + iso_639_2T_code="arw" + name="Arawak" /> + <iso_639_entry + iso_639_2B_code="asm" + iso_639_2T_code="asm" + iso_639_1_code="as" + name="Assamese" /> + <iso_639_entry + iso_639_2B_code="ast" + iso_639_2T_code="ast" + name="Asturian; Bable; Leonese; Asturleonese" /> + <iso_639_entry + iso_639_2B_code="ath" + iso_639_2T_code="ath" + name="Athapascan languages" /> + <iso_639_entry + iso_639_2B_code="aus" + iso_639_2T_code="aus" + name="Australian languages" /> + <iso_639_entry + iso_639_2B_code="ava" + iso_639_2T_code="ava" + iso_639_1_code="av" + name="Avaric" /> + <iso_639_entry + iso_639_2B_code="ave" + iso_639_2T_code="ave" + iso_639_1_code="ae" + name="Avestan" /> + <iso_639_entry + iso_639_2B_code="awa" + iso_639_2T_code="awa" + name="Awadhi" /> + <iso_639_entry + iso_639_2B_code="aym" + iso_639_2T_code="aym" + iso_639_1_code="ay" + name="Aymara" /> + <iso_639_entry + iso_639_2B_code="aze" + iso_639_2T_code="aze" + iso_639_1_code="az" + name="Azerbaijani" /> + <iso_639_entry + iso_639_2B_code="bad" + iso_639_2T_code="bad" + name="Banda languages" /> + <iso_639_entry + iso_639_2B_code="bai" + iso_639_2T_code="bai" + name="Bamileke languages" /> + <iso_639_entry + iso_639_2B_code="bak" + iso_639_2T_code="bak" + iso_639_1_code="ba" + name="Bashkir" /> + <iso_639_entry + iso_639_2B_code="bal" + iso_639_2T_code="bal" + name="Baluchi" /> + <iso_639_entry + iso_639_2B_code="bam" + iso_639_2T_code="bam" + iso_639_1_code="bm" + name="Bambara" /> + <iso_639_entry + iso_639_2B_code="ban" + iso_639_2T_code="ban" + name="Balinese" /> + <iso_639_entry + iso_639_2B_code="baq" + iso_639_2T_code="eus" + iso_639_1_code="eu" + name="Basque" /> + <iso_639_entry + iso_639_2B_code="bas" + iso_639_2T_code="bas" + name="Basa" /> + <iso_639_entry + iso_639_2B_code="bat" + iso_639_2T_code="bat" + name="Baltic languages" /> + <iso_639_entry + iso_639_2B_code="bej" + iso_639_2T_code="bej" + name="Beja; Bedawiyet" /> + <iso_639_entry + iso_639_2B_code="bel" + iso_639_2T_code="bel" + iso_639_1_code="be" + name="Belarusian" /> + <iso_639_entry + iso_639_2B_code="bem" + iso_639_2T_code="bem" + name="Bemba" /> + <iso_639_entry + iso_639_2B_code="ben" + iso_639_2T_code="ben" + iso_639_1_code="bn" + name="Bengali" /> + <iso_639_entry + iso_639_2B_code="ber" + iso_639_2T_code="ber" + name="Berber languages" /> + <iso_639_entry + iso_639_2B_code="bho" + iso_639_2T_code="bho" + name="Bhojpuri" /> + <iso_639_entry + iso_639_2B_code="bih" + iso_639_2T_code="bih" + iso_639_1_code="bh" + name="Bihari languages" /> + <iso_639_entry + iso_639_2B_code="bik" + iso_639_2T_code="bik" + name="Bikol" /> + <iso_639_entry + iso_639_2B_code="bin" + iso_639_2T_code="bin" + name="Bini; Edo" /> + <iso_639_entry + iso_639_2B_code="bis" + iso_639_2T_code="bis" + iso_639_1_code="bi" + name="Bislama" /> + <iso_639_entry + iso_639_2B_code="bla" + iso_639_2T_code="bla" + name="Siksika" /> + <iso_639_entry + iso_639_2B_code="bnt" + iso_639_2T_code="bnt" + name="Bantu languages" /> + <iso_639_entry + iso_639_2B_code="bos" + iso_639_2T_code="bos" + iso_639_1_code="bs" + name="Bosnian" /> + <iso_639_entry + iso_639_2B_code="bra" + iso_639_2T_code="bra" + name="Braj" /> + <iso_639_entry + iso_639_2B_code="bre" + iso_639_2T_code="bre" + iso_639_1_code="br" + name="Breton" /> + <iso_639_entry + iso_639_2B_code="btk" + iso_639_2T_code="btk" + name="Batak languages" /> + <iso_639_entry + iso_639_2B_code="bua" + iso_639_2T_code="bua" + name="Buriat" /> + <iso_639_entry + iso_639_2B_code="bug" + iso_639_2T_code="bug" + name="Buginese" /> + <iso_639_entry + iso_639_2B_code="bul" + iso_639_2T_code="bul" + iso_639_1_code="bg" + name="Bulgarian" /> + <iso_639_entry + iso_639_2B_code="bur" + iso_639_2T_code="mya" + iso_639_1_code="my" + name="Burmese" /> + <iso_639_entry + iso_639_2B_code="byn" + iso_639_2T_code="byn" + name="Blin; Bilin" /> + <iso_639_entry + iso_639_2B_code="cad" + iso_639_2T_code="cad" + name="Caddo" /> + <iso_639_entry + iso_639_2B_code="cai" + iso_639_2T_code="cai" + name="Central American Indian languages" /> + <iso_639_entry + iso_639_2B_code="car" + iso_639_2T_code="car" + name="Galibi Carib" /> + <iso_639_entry + iso_639_2B_code="cat" + iso_639_2T_code="cat" + iso_639_1_code="ca" + name="Catalan; Valencian" /> + <iso_639_entry + iso_639_2B_code="cau" + iso_639_2T_code="cau" + name="Caucasian languages" /> + <iso_639_entry + iso_639_2B_code="ceb" + iso_639_2T_code="ceb" + name="Cebuano" /> + <iso_639_entry + iso_639_2B_code="cel" + iso_639_2T_code="cel" + name="Celtic languages" /> + <iso_639_entry + iso_639_2B_code="cha" + iso_639_2T_code="cha" + iso_639_1_code="ch" + name="Chamorro" /> + <iso_639_entry + iso_639_2B_code="chb" + iso_639_2T_code="chb" + name="Chibcha" /> + <iso_639_entry + iso_639_2B_code="che" + iso_639_2T_code="che" + iso_639_1_code="ce" + name="Chechen" /> + <iso_639_entry + iso_639_2B_code="chg" + iso_639_2T_code="chg" + name="Chagatai" /> + <iso_639_entry + iso_639_2B_code="chi" + iso_639_2T_code="zho" + iso_639_1_code="zh" + name="Chinese" /> + <iso_639_entry + iso_639_2B_code="chk" + iso_639_2T_code="chk" + name="Chuukese" /> + <iso_639_entry + iso_639_2B_code="chm" + iso_639_2T_code="chm" + name="Mari" /> + <iso_639_entry + iso_639_2B_code="chn" + iso_639_2T_code="chn" + name="Chinook jargon" /> + <iso_639_entry + iso_639_2B_code="cho" + iso_639_2T_code="cho" + name="Choctaw" /> + <iso_639_entry + iso_639_2B_code="chp" + iso_639_2T_code="chp" + name="Chipewyan; Dene Suline" /> + <iso_639_entry + iso_639_2B_code="chr" + iso_639_2T_code="chr" + name="Cherokee" /> + <iso_639_entry + iso_639_2B_code="chu" + iso_639_2T_code="chu" + iso_639_1_code="cu" + name="Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" /> + <iso_639_entry + iso_639_2B_code="chv" + iso_639_2T_code="chv" + iso_639_1_code="cv" + name="Chuvash" /> + <iso_639_entry + iso_639_2B_code="chy" + iso_639_2T_code="chy" + name="Cheyenne" /> + <iso_639_entry + iso_639_2B_code="cmc" + iso_639_2T_code="cmc" + name="Chamic languages" /> + <iso_639_entry + iso_639_2B_code="cop" + iso_639_2T_code="cop" + name="Coptic" /> + <iso_639_entry + iso_639_2B_code="cor" + iso_639_2T_code="cor" + iso_639_1_code="kw" + name="Cornish" /> + <iso_639_entry + iso_639_2B_code="cos" + iso_639_2T_code="cos" + iso_639_1_code="co" + name="Corsican" /> + <iso_639_entry + iso_639_2B_code="cpe" + iso_639_2T_code="cpe" + name="Creoles and pidgins, English based" /> + <iso_639_entry + iso_639_2B_code="cpf" + iso_639_2T_code="cpf" + name="Creoles and pidgins, French-based" /> + <iso_639_entry + iso_639_2B_code="cpp" + iso_639_2T_code="cpp" + name="Creoles and pidgins, Portuguese-based" /> + <iso_639_entry + iso_639_2B_code="cre" + iso_639_2T_code="cre" + iso_639_1_code="cr" + name="Cree" /> + <iso_639_entry + iso_639_2B_code="crh" + iso_639_2T_code="crh" + name="Crimean Tatar; Crimean Turkish" /> + <iso_639_entry + iso_639_2B_code="crp" + iso_639_2T_code="crp" + name="Creoles and pidgins" /> + <iso_639_entry + iso_639_2B_code="csb" + iso_639_2T_code="csb" + name="Kashubian" /> + <iso_639_entry + iso_639_2B_code="cus" + iso_639_2T_code="cus" + name="Cushitic languages" /> + <iso_639_entry + iso_639_2B_code="cze" + iso_639_2T_code="ces" + iso_639_1_code="cs" + name="Czech" /> + <iso_639_entry + iso_639_2B_code="dak" + iso_639_2T_code="dak" + name="Dakota" /> + <iso_639_entry + iso_639_2B_code="dan" + iso_639_2T_code="dan" + iso_639_1_code="da" + name="Danish" /> + <iso_639_entry + iso_639_2B_code="dar" + iso_639_2T_code="dar" + name="Dargwa" /> + <iso_639_entry + iso_639_2B_code="day" + iso_639_2T_code="day" + name="Land Dayak languages" /> + <iso_639_entry + iso_639_2B_code="del" + iso_639_2T_code="del" + name="Delaware" /> + <iso_639_entry + iso_639_2B_code="den" + iso_639_2T_code="den" + name="Slave (Athapascan)" /> + <iso_639_entry + iso_639_2B_code="dgr" + iso_639_2T_code="dgr" + name="Dogrib" /> + <iso_639_entry + iso_639_2B_code="din" + iso_639_2T_code="din" + name="Dinka" /> + <iso_639_entry + iso_639_2B_code="div" + iso_639_2T_code="div" + iso_639_1_code="dv" + name="Divehi; Dhivehi; Maldivian" /> + <iso_639_entry + iso_639_2B_code="doi" + iso_639_2T_code="doi" + name="Dogri" /> + <iso_639_entry + iso_639_2B_code="dra" + iso_639_2T_code="dra" + name="Dravidian languages" /> + <iso_639_entry + iso_639_2B_code="dsb" + iso_639_2T_code="dsb" + name="Lower Sorbian" /> + <iso_639_entry + iso_639_2B_code="dua" + iso_639_2T_code="dua" + name="Duala" /> + <iso_639_entry + iso_639_2B_code="dum" + iso_639_2T_code="dum" + name="Dutch, Middle (ca. 1050-1350)" /> + <iso_639_entry + iso_639_2B_code="dut" + iso_639_2T_code="nld" + iso_639_1_code="nl" + name="Dutch; Flemish" /> + <iso_639_entry + iso_639_2B_code="dyu" + iso_639_2T_code="dyu" + name="Dyula" /> + <iso_639_entry + iso_639_2B_code="dzo" + iso_639_2T_code="dzo" + iso_639_1_code="dz" + name="Dzongkha" /> + <iso_639_entry + iso_639_2B_code="efi" + iso_639_2T_code="efi" + name="Efik" /> + <iso_639_entry + iso_639_2B_code="egy" + iso_639_2T_code="egy" + name="Egyptian (Ancient)" /> + <iso_639_entry + iso_639_2B_code="eka" + iso_639_2T_code="eka" + name="Ekajuk" /> + <iso_639_entry + iso_639_2B_code="elx" + iso_639_2T_code="elx" + name="Elamite" /> + <iso_639_entry + iso_639_2B_code="eng" + iso_639_2T_code="eng" + iso_639_1_code="en" + name="English" /> + <iso_639_entry + iso_639_2B_code="enm" + iso_639_2T_code="enm" + name="English, Middle (1100-1500)" /> + <iso_639_entry + iso_639_2B_code="epo" + iso_639_2T_code="epo" + iso_639_1_code="eo" + name="Esperanto" /> + <iso_639_entry + iso_639_2B_code="est" + iso_639_2T_code="est" + iso_639_1_code="et" + name="Estonian" /> + <iso_639_entry + iso_639_2B_code="ewe" + iso_639_2T_code="ewe" + iso_639_1_code="ee" + name="Ewe" /> + <iso_639_entry + iso_639_2B_code="ewo" + iso_639_2T_code="ewo" + name="Ewondo" /> + <iso_639_entry + iso_639_2B_code="fan" + iso_639_2T_code="fan" + name="Fang" /> + <iso_639_entry + iso_639_2B_code="fao" + iso_639_2T_code="fao" + iso_639_1_code="fo" + name="Faroese" /> + <iso_639_entry + iso_639_2B_code="fat" + iso_639_2T_code="fat" + name="Fanti" /> + <iso_639_entry + iso_639_2B_code="fij" + iso_639_2T_code="fij" + iso_639_1_code="fj" + name="Fijian" /> + <iso_639_entry + iso_639_2B_code="fil" + iso_639_2T_code="fil" + name="Filipino; Pilipino" /> + <iso_639_entry + iso_639_2B_code="fin" + iso_639_2T_code="fin" + iso_639_1_code="fi" + name="Finnish" /> + <iso_639_entry + iso_639_2B_code="fiu" + iso_639_2T_code="fiu" + name="Finno-Ugrian languages" /> + <iso_639_entry + iso_639_2B_code="fon" + iso_639_2T_code="fon" + name="Fon" /> + <iso_639_entry + iso_639_2B_code="fre" + iso_639_2T_code="fra" + iso_639_1_code="fr" + name="French" /> + <iso_639_entry + iso_639_2B_code="frm" + iso_639_2T_code="frm" + name="French, Middle (ca. 1400-1600)" /> + <iso_639_entry + iso_639_2B_code="fro" + iso_639_2T_code="fro" + name="French, Old (842-ca. 1400)" /> + <iso_639_entry + iso_639_2B_code="frr" + iso_639_2T_code="frr" + name="Northern Frisian" /> + <iso_639_entry + iso_639_2B_code="frs" + iso_639_2T_code="frs" + name="Eastern Frisian" /> + <iso_639_entry + iso_639_2B_code="fry" + iso_639_2T_code="fry" + iso_639_1_code="fy" + name="Western Frisian" /> + <iso_639_entry + iso_639_2B_code="ful" + iso_639_2T_code="ful" + iso_639_1_code="ff" + name="Fulah" /> + <iso_639_entry + iso_639_2B_code="fur" + iso_639_2T_code="fur" + name="Friulian" /> + <iso_639_entry + iso_639_2B_code="gaa" + iso_639_2T_code="gaa" + name="Ga" /> + <iso_639_entry + iso_639_2B_code="gay" + iso_639_2T_code="gay" + name="Gayo" /> + <iso_639_entry + iso_639_2B_code="gba" + iso_639_2T_code="gba" + name="Gbaya" /> + <iso_639_entry + iso_639_2B_code="gem" + iso_639_2T_code="gem" + name="Germanic languages" /> + <iso_639_entry + iso_639_2B_code="geo" + iso_639_2T_code="kat" + iso_639_1_code="ka" + name="Georgian" /> + <iso_639_entry + iso_639_2B_code="ger" + iso_639_2T_code="deu" + iso_639_1_code="de" + name="German" /> + <iso_639_entry + iso_639_2B_code="gez" + iso_639_2T_code="gez" + name="Geez" /> + <iso_639_entry + iso_639_2B_code="gil" + iso_639_2T_code="gil" + name="Gilbertese" /> + <iso_639_entry + iso_639_2B_code="gla" + iso_639_2T_code="gla" + iso_639_1_code="gd" + name="Gaelic; Scottish Gaelic" /> + <iso_639_entry + iso_639_2B_code="gle" + iso_639_2T_code="gle" + iso_639_1_code="ga" + name="Irish" /> + <iso_639_entry + iso_639_2B_code="glg" + iso_639_2T_code="glg" + iso_639_1_code="gl" + name="Galician" /> + <iso_639_entry + iso_639_2B_code="glv" + iso_639_2T_code="glv" + iso_639_1_code="gv" + name="Manx" /> + <iso_639_entry + iso_639_2B_code="gmh" + iso_639_2T_code="gmh" + name="German, Middle High (ca. 1050-1500)" /> + <iso_639_entry + iso_639_2B_code="goh" + iso_639_2T_code="goh" + name="German, Old High (ca. 750-1050)" /> + <iso_639_entry + iso_639_2B_code="gon" + iso_639_2T_code="gon" + name="Gondi" /> + <iso_639_entry + iso_639_2B_code="gor" + iso_639_2T_code="gor" + name="Gorontalo" /> + <iso_639_entry + iso_639_2B_code="got" + iso_639_2T_code="got" + name="Gothic" /> + <iso_639_entry + iso_639_2B_code="grb" + iso_639_2T_code="grb" + name="Grebo" /> + <iso_639_entry + iso_639_2B_code="grc" + iso_639_2T_code="grc" + name="Greek, Ancient (to 1453)" /> + <iso_639_entry + iso_639_2B_code="gre" + iso_639_2T_code="ell" + iso_639_1_code="el" + name="Greek, Modern (1453-)" /> + <iso_639_entry + iso_639_2B_code="grn" + iso_639_2T_code="grn" + iso_639_1_code="gn" + name="Guarani" /> + <iso_639_entry + iso_639_2B_code="gsw" + iso_639_2T_code="gsw" + name="Swiss German; Alemannic; Alsatian" /> + <iso_639_entry + iso_639_2B_code="guj" + iso_639_2T_code="guj" + iso_639_1_code="gu" + name="Gujarati" /> + <iso_639_entry + iso_639_2B_code="gwi" + iso_639_2T_code="gwi" + name="Gwich'in" /> + <iso_639_entry + iso_639_2B_code="hai" + iso_639_2T_code="hai" + name="Haida" /> + <iso_639_entry + iso_639_2B_code="hat" + iso_639_2T_code="hat" + iso_639_1_code="ht" + name="Haitian; Haitian Creole" /> + <iso_639_entry + iso_639_2B_code="hau" + iso_639_2T_code="hau" + iso_639_1_code="ha" + name="Hausa" /> + <iso_639_entry + iso_639_2B_code="haw" + iso_639_2T_code="haw" + name="Hawaiian" /> + <iso_639_entry + iso_639_2B_code="heb" + iso_639_2T_code="heb" + iso_639_1_code="he" + name="Hebrew" /> + <iso_639_entry + iso_639_2B_code="her" + iso_639_2T_code="her" + iso_639_1_code="hz" + name="Herero" /> + <iso_639_entry + iso_639_2B_code="hil" + iso_639_2T_code="hil" + name="Hiligaynon" /> + <iso_639_entry + iso_639_2B_code="him" + iso_639_2T_code="him" + name="Himachali languages; Western Pahari languages" /> + <iso_639_entry + iso_639_2B_code="hin" + iso_639_2T_code="hin" + iso_639_1_code="hi" + name="Hindi" /> + <iso_639_entry + iso_639_2B_code="hit" + iso_639_2T_code="hit" + name="Hittite" /> + <iso_639_entry + iso_639_2B_code="hmn" + iso_639_2T_code="hmn" + name="Hmong; Mong" /> + <iso_639_entry + iso_639_2B_code="hmo" + iso_639_2T_code="hmo" + iso_639_1_code="ho" + name="Hiri Motu" /> + <iso_639_entry + iso_639_2B_code="hrv" + iso_639_2T_code="hrv" + iso_639_1_code="hr" + name="Croatian" /> + <iso_639_entry + iso_639_2B_code="hsb" + iso_639_2T_code="hsb" + name="Upper Sorbian" /> + <iso_639_entry + iso_639_2B_code="hun" + iso_639_2T_code="hun" + iso_639_1_code="hu" + name="Hungarian" /> + <iso_639_entry + iso_639_2B_code="hup" + iso_639_2T_code="hup" + name="Hupa" /> + <iso_639_entry + iso_639_2B_code="iba" + iso_639_2T_code="iba" + name="Iban" /> + <iso_639_entry + iso_639_2B_code="ibo" + iso_639_2T_code="ibo" + iso_639_1_code="ig" + name="Igbo" /> + <iso_639_entry + iso_639_2B_code="ice" + iso_639_2T_code="isl" + iso_639_1_code="is" + name="Icelandic" /> + <iso_639_entry + iso_639_2B_code="ido" + iso_639_2T_code="ido" + iso_639_1_code="io" + name="Ido" /> + <iso_639_entry + iso_639_2B_code="iii" + iso_639_2T_code="iii" + iso_639_1_code="ii" + name="Sichuan Yi; Nuosu" /> + <iso_639_entry + iso_639_2B_code="ijo" + iso_639_2T_code="ijo" + name="Ijo languages" /> + <iso_639_entry + iso_639_2B_code="iku" + iso_639_2T_code="iku" + iso_639_1_code="iu" + name="Inuktitut" /> + <iso_639_entry + iso_639_2B_code="ile" + iso_639_2T_code="ile" + iso_639_1_code="ie" + name="Interlingue; Occidental" /> + <iso_639_entry + iso_639_2B_code="ilo" + iso_639_2T_code="ilo" + name="Iloko" /> + <iso_639_entry + iso_639_2B_code="ina" + iso_639_2T_code="ina" + iso_639_1_code="ia" + name="Interlingua (International Auxiliary Language Association)" /> + <iso_639_entry + iso_639_2B_code="inc" + iso_639_2T_code="inc" + name="Indic languages" /> + <iso_639_entry + iso_639_2B_code="ind" + iso_639_2T_code="ind" + iso_639_1_code="id" + name="Indonesian" /> + <iso_639_entry + iso_639_2B_code="ine" + iso_639_2T_code="ine" + name="Indo-European languages" /> + <iso_639_entry + iso_639_2B_code="inh" + iso_639_2T_code="inh" + name="Ingush" /> + <iso_639_entry + iso_639_2B_code="ipk" + iso_639_2T_code="ipk" + iso_639_1_code="ik" + name="Inupiaq" /> + <iso_639_entry + iso_639_2B_code="ira" + iso_639_2T_code="ira" + name="Iranian languages" /> + <iso_639_entry + iso_639_2B_code="iro" + iso_639_2T_code="iro" + name="Iroquoian languages" /> + <iso_639_entry + iso_639_2B_code="ita" + iso_639_2T_code="ita" + iso_639_1_code="it" + name="Italian" /> + <iso_639_entry + iso_639_2B_code="jav" + iso_639_2T_code="jav" + iso_639_1_code="jv" + name="Javanese" /> + <iso_639_entry + iso_639_2B_code="jbo" + iso_639_2T_code="jbo" + name="Lojban" /> + <iso_639_entry + iso_639_2B_code="jpn" + iso_639_2T_code="jpn" + iso_639_1_code="ja" + name="Japanese" /> + <iso_639_entry + iso_639_2B_code="jpr" + iso_639_2T_code="jpr" + name="Judeo-Persian" /> + <iso_639_entry + iso_639_2B_code="jrb" + iso_639_2T_code="jrb" + name="Judeo-Arabic" /> + <iso_639_entry + iso_639_2B_code="kaa" + iso_639_2T_code="kaa" + name="Kara-Kalpak" /> + <iso_639_entry + iso_639_2B_code="kab" + iso_639_2T_code="kab" + name="Kabyle" /> + <iso_639_entry + iso_639_2B_code="kac" + iso_639_2T_code="kac" + name="Kachin; Jingpho" /> + <iso_639_entry + iso_639_2B_code="kal" + iso_639_2T_code="kal" + iso_639_1_code="kl" + name="Kalaallisut; Greenlandic" /> + <iso_639_entry + iso_639_2B_code="kam" + iso_639_2T_code="kam" + name="Kamba" /> + <iso_639_entry + iso_639_2B_code="kan" + iso_639_2T_code="kan" + iso_639_1_code="kn" + name="Kannada" /> + <iso_639_entry + iso_639_2B_code="kar" + iso_639_2T_code="kar" + name="Karen languages" /> + <iso_639_entry + iso_639_2B_code="kas" + iso_639_2T_code="kas" + iso_639_1_code="ks" + name="Kashmiri" /> + <iso_639_entry + iso_639_2B_code="kau" + iso_639_2T_code="kau" + iso_639_1_code="kr" + name="Kanuri" /> + <iso_639_entry + iso_639_2B_code="kaw" + iso_639_2T_code="kaw" + name="Kawi" /> + <iso_639_entry + iso_639_2B_code="kaz" + iso_639_2T_code="kaz" + iso_639_1_code="kk" + name="Kazakh" /> + <iso_639_entry + iso_639_2B_code="kbd" + iso_639_2T_code="kbd" + name="Kabardian" /> + <iso_639_entry + iso_639_2B_code="kha" + iso_639_2T_code="kha" + name="Khasi" /> + <iso_639_entry + iso_639_2B_code="khi" + iso_639_2T_code="khi" + name="Khoisan languages" /> + <iso_639_entry + iso_639_2B_code="khm" + iso_639_2T_code="khm" + iso_639_1_code="km" + name="Central Khmer" /> + <iso_639_entry + iso_639_2B_code="kho" + iso_639_2T_code="kho" + name="Khotanese;Sakan" /> + <iso_639_entry + iso_639_2B_code="kik" + iso_639_2T_code="kik" + iso_639_1_code="ki" + name="Kikuyu; Gikuyu" /> + <iso_639_entry + iso_639_2B_code="kin" + iso_639_2T_code="kin" + iso_639_1_code="rw" + name="Kinyarwanda" /> + <iso_639_entry + iso_639_2B_code="kir" + iso_639_2T_code="kir" + iso_639_1_code="ky" + name="Kirghiz; Kyrgyz" /> + <iso_639_entry + iso_639_2B_code="kmb" + iso_639_2T_code="kmb" + name="Kimbundu" /> + <iso_639_entry + iso_639_2B_code="kok" + iso_639_2T_code="kok" + name="Konkani" /> + <iso_639_entry + iso_639_2B_code="kom" + iso_639_2T_code="kom" + iso_639_1_code="kv" + name="Komi" /> + <iso_639_entry + iso_639_2B_code="kon" + iso_639_2T_code="kon" + iso_639_1_code="kg" + name="Kongo" /> + <iso_639_entry + iso_639_2B_code="kor" + iso_639_2T_code="kor" + iso_639_1_code="ko" + name="Korean" /> + <iso_639_entry + iso_639_2B_code="kos" + iso_639_2T_code="kos" + name="Kosraean" /> + <iso_639_entry + iso_639_2B_code="kpe" + iso_639_2T_code="kpe" + name="Kpelle" /> + <iso_639_entry + iso_639_2B_code="krc" + iso_639_2T_code="krc" + name="Karachay-Balkar" /> + <iso_639_entry + iso_639_2B_code="krl" + iso_639_2T_code="krl" + name="Karelian" /> + <iso_639_entry + iso_639_2B_code="kro" + iso_639_2T_code="kro" + name="Kru languages" /> + <iso_639_entry + iso_639_2B_code="kru" + iso_639_2T_code="kru" + name="Kurukh" /> + <iso_639_entry + iso_639_2B_code="kua" + iso_639_2T_code="kua" + iso_639_1_code="kj" + name="Kuanyama; Kwanyama" /> + <iso_639_entry + iso_639_2B_code="kum" + iso_639_2T_code="kum" + name="Kumyk" /> + <iso_639_entry + iso_639_2B_code="kur" + iso_639_2T_code="kur" + iso_639_1_code="ku" + name="Kurdish" /> + <iso_639_entry + iso_639_2B_code="kut" + iso_639_2T_code="kut" + name="Kutenai" /> + <iso_639_entry + iso_639_2B_code="lad" + iso_639_2T_code="lad" + name="Ladino" /> + <iso_639_entry + iso_639_2B_code="lah" + iso_639_2T_code="lah" + name="Lahnda" /> + <iso_639_entry + iso_639_2B_code="lam" + iso_639_2T_code="lam" + name="Lamba" /> + <iso_639_entry + iso_639_2B_code="lao" + iso_639_2T_code="lao" + iso_639_1_code="lo" + name="Lao" /> + <iso_639_entry + iso_639_2B_code="lat" + iso_639_2T_code="lat" + iso_639_1_code="la" + name="Latin" /> + <iso_639_entry + iso_639_2B_code="lav" + iso_639_2T_code="lav" + iso_639_1_code="lv" + name="Latvian" /> + <iso_639_entry + iso_639_2B_code="lez" + iso_639_2T_code="lez" + name="Lezghian" /> + <iso_639_entry + iso_639_2B_code="lim" + iso_639_2T_code="lim" + iso_639_1_code="li" + name="Limburgan; Limburger; Limburgish" /> + <iso_639_entry + iso_639_2B_code="lin" + iso_639_2T_code="lin" + iso_639_1_code="ln" + name="Lingala" /> + <iso_639_entry + iso_639_2B_code="lit" + iso_639_2T_code="lit" + iso_639_1_code="lt" + name="Lithuanian" /> + <iso_639_entry + iso_639_2B_code="lol" + iso_639_2T_code="lol" + name="Mongo" /> + <iso_639_entry + iso_639_2B_code="loz" + iso_639_2T_code="loz" + name="Lozi" /> + <iso_639_entry + iso_639_2B_code="ltz" + iso_639_2T_code="ltz" + iso_639_1_code="lb" + name="Luxembourgish; Letzeburgesch" /> + <iso_639_entry + iso_639_2B_code="lua" + iso_639_2T_code="lua" + name="Luba-Lulua" /> + <iso_639_entry + iso_639_2B_code="lub" + iso_639_2T_code="lub" + iso_639_1_code="lu" + name="Luba-Katanga" /> + <iso_639_entry + iso_639_2B_code="lug" + iso_639_2T_code="lug" + iso_639_1_code="lg" + name="Ganda" /> + <iso_639_entry + iso_639_2B_code="lui" + iso_639_2T_code="lui" + name="Luiseno" /> + <iso_639_entry + iso_639_2B_code="lun" + iso_639_2T_code="lun" + name="Lunda" /> + <iso_639_entry + iso_639_2B_code="luo" + iso_639_2T_code="luo" + name="Luo (Kenya and Tanzania)" /> + <iso_639_entry + iso_639_2B_code="lus" + iso_639_2T_code="lus" + name="Lushai" /> + <iso_639_entry + iso_639_2B_code="mac" + iso_639_2T_code="mkd" + iso_639_1_code="mk" + name="Macedonian" /> + <iso_639_entry + iso_639_2B_code="mad" + iso_639_2T_code="mad" + name="Madurese" /> + <iso_639_entry + iso_639_2B_code="mag" + iso_639_2T_code="mag" + name="Magahi" /> + <iso_639_entry + iso_639_2B_code="mah" + iso_639_2T_code="mah" + iso_639_1_code="mh" + name="Marshallese" /> + <iso_639_entry + iso_639_2B_code="mai" + iso_639_2T_code="mai" + name="Maithili" /> + <iso_639_entry + iso_639_2B_code="mak" + iso_639_2T_code="mak" + name="Makasar" /> + <iso_639_entry + iso_639_2B_code="mal" + iso_639_2T_code="mal" + iso_639_1_code="ml" + name="Malayalam" /> + <iso_639_entry + iso_639_2B_code="man" + iso_639_2T_code="man" + name="Mandingo" /> + <iso_639_entry + iso_639_2B_code="mao" + iso_639_2T_code="mri" + iso_639_1_code="mi" + name="Maori" /> + <iso_639_entry + iso_639_2B_code="map" + iso_639_2T_code="map" + name="Austronesian languages" /> + <iso_639_entry + iso_639_2B_code="mar" + iso_639_2T_code="mar" + iso_639_1_code="mr" + name="Marathi" /> + <iso_639_entry + iso_639_2B_code="mas" + iso_639_2T_code="mas" + name="Masai" /> + <iso_639_entry + iso_639_2B_code="may" + iso_639_2T_code="msa" + iso_639_1_code="ms" + name="Malay" /> + <iso_639_entry + iso_639_2B_code="mdf" + iso_639_2T_code="mdf" + name="Moksha" /> + <iso_639_entry + iso_639_2B_code="mdr" + iso_639_2T_code="mdr" + name="Mandar" /> + <iso_639_entry + iso_639_2B_code="men" + iso_639_2T_code="men" + name="Mende" /> + <iso_639_entry + iso_639_2B_code="mga" + iso_639_2T_code="mga" + name="Irish, Middle (900-1200)" /> + <iso_639_entry + iso_639_2B_code="mic" + iso_639_2T_code="mic" + name="Mi'kmaq; Micmac" /> + <iso_639_entry + iso_639_2B_code="min" + iso_639_2T_code="min" + name="Minangkabau" /> + <iso_639_entry + iso_639_2B_code="mis" + iso_639_2T_code="mis" + name="Uncoded languages" /> + <iso_639_entry + iso_639_2B_code="mkh" + iso_639_2T_code="mkh" + name="Mon-Khmer languages" /> + <iso_639_entry + iso_639_2B_code="mlg" + iso_639_2T_code="mlg" + iso_639_1_code="mg" + name="Malagasy" /> + <iso_639_entry + iso_639_2B_code="mlt" + iso_639_2T_code="mlt" + iso_639_1_code="mt" + name="Maltese" /> + <iso_639_entry + iso_639_2B_code="mnc" + iso_639_2T_code="mnc" + name="Manchu" /> + <iso_639_entry + iso_639_2B_code="mni" + iso_639_2T_code="mni" + name="Manipuri" /> + <iso_639_entry + iso_639_2B_code="mno" + iso_639_2T_code="mno" + name="Manobo languages" /> + <iso_639_entry + iso_639_2B_code="moh" + iso_639_2T_code="moh" + name="Mohawk" /> + <iso_639_entry + iso_639_2B_code="mol" + iso_639_2T_code="mol" + iso_639_1_code="mo" + name="Moldavian; Moldovan" /> + <iso_639_entry + iso_639_2B_code="mon" + iso_639_2T_code="mon" + iso_639_1_code="mn" + name="Mongolian" /> + <iso_639_entry + iso_639_2B_code="mos" + iso_639_2T_code="mos" + name="Mossi" /> + <iso_639_entry + iso_639_2B_code="mul" + iso_639_2T_code="mul" + name="Multiple languages" /> + <iso_639_entry + iso_639_2B_code="mun" + iso_639_2T_code="mun" + name="Munda languages" /> + <iso_639_entry + iso_639_2B_code="mus" + iso_639_2T_code="mus" + name="Creek" /> + <iso_639_entry + iso_639_2B_code="mwl" + iso_639_2T_code="mwl" + name="Mirandese" /> + <iso_639_entry + iso_639_2B_code="mwr" + iso_639_2T_code="mwr" + name="Marwari" /> + <iso_639_entry + iso_639_2B_code="myn" + iso_639_2T_code="myn" + name="Mayan languages" /> + <iso_639_entry + iso_639_2B_code="myv" + iso_639_2T_code="myv" + name="Erzya" /> + <iso_639_entry + iso_639_2B_code="nah" + iso_639_2T_code="nah" + name="Nahuatl languages" /> + <iso_639_entry + iso_639_2B_code="nai" + iso_639_2T_code="nai" + name="North American Indian languages" /> + <iso_639_entry + iso_639_2B_code="nap" + iso_639_2T_code="nap" + name="Neapolitan" /> + <iso_639_entry + iso_639_2B_code="nau" + iso_639_2T_code="nau" + iso_639_1_code="na" + name="Nauru" /> + <iso_639_entry + iso_639_2B_code="nav" + iso_639_2T_code="nav" + iso_639_1_code="nv" + name="Navajo; Navaho" /> + <iso_639_entry + iso_639_2B_code="nbl" + iso_639_2T_code="nbl" + iso_639_1_code="nr" + name="Ndebele, South; South Ndebele" /> + <iso_639_entry + iso_639_2B_code="nde" + iso_639_2T_code="nde" + iso_639_1_code="nd" + name="Ndebele, North; North Ndebele" /> + <iso_639_entry + iso_639_2B_code="ndo" + iso_639_2T_code="ndo" + iso_639_1_code="ng" + name="Ndonga" /> + <iso_639_entry + iso_639_2B_code="nds" + iso_639_2T_code="nds" + name="Low German; Low Saxon; German, Low; Saxon, Low" /> + <iso_639_entry + iso_639_2B_code="nep" + iso_639_2T_code="nep" + iso_639_1_code="ne" + name="Nepali" /> + <iso_639_entry + iso_639_2B_code="new" + iso_639_2T_code="new" + name="Nepal Bhasa; Newari" /> + <iso_639_entry + iso_639_2B_code="nia" + iso_639_2T_code="nia" + name="Nias" /> + <iso_639_entry + iso_639_2B_code="nic" + iso_639_2T_code="nic" + name="Niger-Kordofanian languages" /> + <iso_639_entry + iso_639_2B_code="niu" + iso_639_2T_code="niu" + name="Niuean" /> + <iso_639_entry + iso_639_2B_code="nno" + iso_639_2T_code="nno" + iso_639_1_code="nn" + name="Norwegian Nynorsk; Nynorsk, Norwegian" /> + <iso_639_entry + iso_639_2B_code="nob" + iso_639_2T_code="nob" + iso_639_1_code="nb" + name="Bokmål, Norwegian; Norwegian Bokmål" /> + <iso_639_entry + iso_639_2B_code="nog" + iso_639_2T_code="nog" + name="Nogai" /> + <iso_639_entry + iso_639_2B_code="non" + iso_639_2T_code="non" + name="Norse, Old" /> + <iso_639_entry + iso_639_2B_code="nor" + iso_639_2T_code="nor" + iso_639_1_code="no" + name="Norwegian" /> + <iso_639_entry + iso_639_2B_code="nqo" + iso_639_2T_code="nqo" + name="N'Ko" /> + <iso_639_entry + iso_639_2B_code="nso" + iso_639_2T_code="nso" + name="Pedi; Sepedi; Northern Sotho" /> + <iso_639_entry + iso_639_2B_code="nub" + iso_639_2T_code="nub" + name="Nubian languages" /> + <iso_639_entry + iso_639_2B_code="nwc" + iso_639_2T_code="nwc" + name="Classical Newari; Old Newari; Classical Nepal Bhasa" /> + <iso_639_entry + iso_639_2B_code="nya" + iso_639_2T_code="nya" + iso_639_1_code="ny" + name="Chichewa; Chewa; Nyanja" /> + <iso_639_entry + iso_639_2B_code="nym" + iso_639_2T_code="nym" + name="Nyamwezi" /> + <iso_639_entry + iso_639_2B_code="nyn" + iso_639_2T_code="nyn" + name="Nyankole" /> + <iso_639_entry + iso_639_2B_code="nyo" + iso_639_2T_code="nyo" + name="Nyoro" /> + <iso_639_entry + iso_639_2B_code="nzi" + iso_639_2T_code="nzi" + name="Nzima" /> + <iso_639_entry + iso_639_2B_code="oci" + iso_639_2T_code="oci" + iso_639_1_code="oc" + name="Occitan (post 1500)" /> + <iso_639_entry + iso_639_2B_code="oji" + iso_639_2T_code="oji" + iso_639_1_code="oj" + name="Ojibwa" /> + <iso_639_entry + iso_639_2B_code="ori" + iso_639_2T_code="ori" + iso_639_1_code="or" + name="Oriya" /> + <iso_639_entry + iso_639_2B_code="orm" + iso_639_2T_code="orm" + iso_639_1_code="om" + name="Oromo" /> + <iso_639_entry + iso_639_2B_code="osa" + iso_639_2T_code="osa" + name="Osage" /> + <iso_639_entry + iso_639_2B_code="oss" + iso_639_2T_code="oss" + iso_639_1_code="os" + name="Ossetian; Ossetic" /> + <iso_639_entry + iso_639_2B_code="ota" + iso_639_2T_code="ota" + name="Turkish, Ottoman (1500-1928)" /> + <iso_639_entry + iso_639_2B_code="oto" + iso_639_2T_code="oto" + name="Otomian languages" /> + <iso_639_entry + iso_639_2B_code="paa" + iso_639_2T_code="paa" + name="Papuan languages" /> + <iso_639_entry + iso_639_2B_code="pag" + iso_639_2T_code="pag" + name="Pangasinan" /> + <iso_639_entry + iso_639_2B_code="pal" + iso_639_2T_code="pal" + name="Pahlavi" /> + <iso_639_entry + iso_639_2B_code="pam" + iso_639_2T_code="pam" + name="Pampanga; Kapampangan" /> + <iso_639_entry + iso_639_2B_code="pan" + iso_639_2T_code="pan" + iso_639_1_code="pa" + name="Panjabi; Punjabi" /> + <iso_639_entry + iso_639_2B_code="pap" + iso_639_2T_code="pap" + name="Papiamento" /> + <iso_639_entry + iso_639_2B_code="pau" + iso_639_2T_code="pau" + name="Palauan" /> + <iso_639_entry + iso_639_2B_code="peo" + iso_639_2T_code="peo" + name="Persian, Old (ca. 600-400 B.C.)" /> + <iso_639_entry + iso_639_2B_code="per" + iso_639_2T_code="fas" + iso_639_1_code="fa" + name="Persian" /> + <iso_639_entry + iso_639_2B_code="phi" + iso_639_2T_code="phi" + name="Philippine languages" /> + <iso_639_entry + iso_639_2B_code="phn" + iso_639_2T_code="phn" + name="Phoenician" /> + <iso_639_entry + iso_639_2B_code="pli" + iso_639_2T_code="pli" + iso_639_1_code="pi" + name="Pali" /> + <iso_639_entry + iso_639_2B_code="pol" + iso_639_2T_code="pol" + iso_639_1_code="pl" + name="Polish" /> + <iso_639_entry + iso_639_2B_code="pon" + iso_639_2T_code="pon" + name="Pohnpeian" /> + <iso_639_entry + iso_639_2B_code="por" + iso_639_2T_code="por" + iso_639_1_code="pt" + name="Portuguese" /> + <iso_639_entry + iso_639_2B_code="pra" + iso_639_2T_code="pra" + name="Prakrit languages" /> + <iso_639_entry + iso_639_2B_code="pro" + iso_639_2T_code="pro" + name="Provençal, Old (to 1500); Occitan, Old (to 1500)" /> + <iso_639_entry + iso_639_2B_code="pus" + iso_639_2T_code="pus" + iso_639_1_code="ps" + name="Pushto; Pashto" /> + <iso_639_entry + iso_639_2B_code="qaa-qtz" + iso_639_2T_code="qaa-qtz" + name="Reserved for local use" /> + <iso_639_entry + iso_639_2B_code="que" + iso_639_2T_code="que" + iso_639_1_code="qu" + name="Quechua" /> + <iso_639_entry + iso_639_2B_code="raj" + iso_639_2T_code="raj" + name="Rajasthani" /> + <iso_639_entry + iso_639_2B_code="rap" + iso_639_2T_code="rap" + name="Rapanui" /> + <iso_639_entry + iso_639_2B_code="rar" + iso_639_2T_code="rar" + name="Rarotongan; Cook Islands Maori" /> + <iso_639_entry + iso_639_2B_code="roa" + iso_639_2T_code="roa" + name="Romance languages" /> + <iso_639_entry + iso_639_2B_code="roh" + iso_639_2T_code="roh" + iso_639_1_code="rm" + name="Romansh" /> + <iso_639_entry + iso_639_2B_code="rom" + iso_639_2T_code="rom" + name="Romany" /> + <iso_639_entry + iso_639_2B_code="rum" + iso_639_2T_code="ron" + iso_639_1_code="ro" + name="Romanian" /> + <iso_639_entry + iso_639_2B_code="run" + iso_639_2T_code="run" + iso_639_1_code="rn" + name="Rundi" /> + <iso_639_entry + iso_639_2B_code="rup" + iso_639_2T_code="rup" + name="Aromanian; Arumanian; Macedo-Romanian" /> + <iso_639_entry + iso_639_2B_code="rus" + iso_639_2T_code="rus" + iso_639_1_code="ru" + name="Russian" /> + <iso_639_entry + iso_639_2B_code="sad" + iso_639_2T_code="sad" + name="Sandawe" /> + <iso_639_entry + iso_639_2B_code="sag" + iso_639_2T_code="sag" + iso_639_1_code="sg" + name="Sango" /> + <iso_639_entry + iso_639_2B_code="sah" + iso_639_2T_code="sah" + name="Yakut" /> + <iso_639_entry + iso_639_2B_code="sai" + iso_639_2T_code="sai" + name="South American Indian languages" /> + <iso_639_entry + iso_639_2B_code="sal" + iso_639_2T_code="sal" + name="Salishan languages" /> + <iso_639_entry + iso_639_2B_code="sam" + iso_639_2T_code="sam" + name="Samaritan Aramaic" /> + <iso_639_entry + iso_639_2B_code="san" + iso_639_2T_code="san" + iso_639_1_code="sa" + name="Sanskrit" /> + <iso_639_entry + iso_639_2B_code="sas" + iso_639_2T_code="sas" + name="Sasak" /> + <iso_639_entry + iso_639_2B_code="sat" + iso_639_2T_code="sat" + name="Santali" /> + <iso_639_entry + iso_639_2B_code="scn" + iso_639_2T_code="scn" + name="Sicilian" /> + <iso_639_entry + iso_639_2B_code="sco" + iso_639_2T_code="sco" + name="Scots" /> + <iso_639_entry + iso_639_2B_code="sel" + iso_639_2T_code="sel" + name="Selkup" /> + <iso_639_entry + iso_639_2B_code="sem" + iso_639_2T_code="sem" + name="Semitic languages" /> + <iso_639_entry + iso_639_2B_code="sga" + iso_639_2T_code="sga" + name="Irish, Old (to 900)" /> + <iso_639_entry + iso_639_2B_code="sgn" + iso_639_2T_code="sgn" + name="Sign Languages" /> + <iso_639_entry + iso_639_2B_code="shn" + iso_639_2T_code="shn" + name="Shan" /> + <iso_639_entry + iso_639_2B_code="sid" + iso_639_2T_code="sid" + name="Sidamo" /> + <iso_639_entry + iso_639_2B_code="sin" + iso_639_2T_code="sin" + iso_639_1_code="si" + name="Sinhala; Sinhalese" /> + <iso_639_entry + iso_639_2B_code="sio" + iso_639_2T_code="sio" + name="Siouan languages" /> + <iso_639_entry + iso_639_2B_code="sit" + iso_639_2T_code="sit" + name="Sino-Tibetan languages" /> + <iso_639_entry + iso_639_2B_code="sla" + iso_639_2T_code="sla" + name="Slavic languages" /> + <iso_639_entry + iso_639_2B_code="slo" + iso_639_2T_code="slk" + iso_639_1_code="sk" + name="Slovak" /> + <iso_639_entry + iso_639_2B_code="slv" + iso_639_2T_code="slv" + iso_639_1_code="sl" + name="Slovenian" /> + <iso_639_entry + iso_639_2B_code="sma" + iso_639_2T_code="sma" + name="Southern Sami" /> + <iso_639_entry + iso_639_2B_code="sme" + iso_639_2T_code="sme" + iso_639_1_code="se" + name="Northern Sami" /> + <iso_639_entry + iso_639_2B_code="smi" + iso_639_2T_code="smi" + name="Sami languages" /> + <iso_639_entry + iso_639_2B_code="smj" + iso_639_2T_code="smj" + name="Lule Sami" /> + <iso_639_entry + iso_639_2B_code="smn" + iso_639_2T_code="smn" + name="Inari Sami" /> + <iso_639_entry + iso_639_2B_code="smo" + iso_639_2T_code="smo" + iso_639_1_code="sm" + name="Samoan" /> + <iso_639_entry + iso_639_2B_code="sms" + iso_639_2T_code="sms" + name="Skolt Sami" /> + <iso_639_entry + iso_639_2B_code="sna" + iso_639_2T_code="sna" + iso_639_1_code="sn" + name="Shona" /> + <iso_639_entry + iso_639_2B_code="snd" + iso_639_2T_code="snd" + iso_639_1_code="sd" + name="Sindhi" /> + <iso_639_entry + iso_639_2B_code="snk" + iso_639_2T_code="snk" + name="Soninke" /> + <iso_639_entry + iso_639_2B_code="sog" + iso_639_2T_code="sog" + name="Sogdian" /> + <iso_639_entry + iso_639_2B_code="som" + iso_639_2T_code="som" + iso_639_1_code="so" + name="Somali" /> + <iso_639_entry + iso_639_2B_code="son" + iso_639_2T_code="son" + name="Songhai languages" /> + <iso_639_entry + iso_639_2B_code="sot" + iso_639_2T_code="sot" + iso_639_1_code="st" + name="Sotho, Southern" /> + <iso_639_entry + iso_639_2B_code="spa" + iso_639_2T_code="spa" + iso_639_1_code="es" + name="Spanish; Castilian" /> + <iso_639_entry + iso_639_2B_code="srd" + iso_639_2T_code="srd" + iso_639_1_code="sc" + name="Sardinian" /> + <iso_639_entry + iso_639_2B_code="srn" + iso_639_2T_code="srn" + name="Sranan Tongo" /> + <iso_639_entry + iso_639_2B_code="srp" + iso_639_2T_code="srp" + iso_639_1_code="sr" + name="Serbian" /> + <iso_639_entry + iso_639_2B_code="srr" + iso_639_2T_code="srr" + name="Serer" /> + <iso_639_entry + iso_639_2B_code="ssa" + iso_639_2T_code="ssa" + name="Nilo-Saharan languages" /> + <iso_639_entry + iso_639_2B_code="ssw" + iso_639_2T_code="ssw" + iso_639_1_code="ss" + name="Swati" /> + <iso_639_entry + iso_639_2B_code="suk" + iso_639_2T_code="suk" + name="Sukuma" /> + <iso_639_entry + iso_639_2B_code="sun" + iso_639_2T_code="sun" + iso_639_1_code="su" + name="Sundanese" /> + <iso_639_entry + iso_639_2B_code="sus" + iso_639_2T_code="sus" + name="Susu" /> + <iso_639_entry + iso_639_2B_code="sux" + iso_639_2T_code="sux" + name="Sumerian" /> + <iso_639_entry + iso_639_2B_code="swa" + iso_639_2T_code="swa" + iso_639_1_code="sw" + name="Swahili" /> + <iso_639_entry + iso_639_2B_code="swe" + iso_639_2T_code="swe" + iso_639_1_code="sv" + name="Swedish" /> + <iso_639_entry + iso_639_2B_code="syc" + iso_639_2T_code="syc" + name="Classical Syriac" /> + <iso_639_entry + iso_639_2B_code="syr" + iso_639_2T_code="syr" + name="Syriac" /> + <iso_639_entry + iso_639_2B_code="tah" + iso_639_2T_code="tah" + iso_639_1_code="ty" + name="Tahitian" /> + <iso_639_entry + iso_639_2B_code="tai" + iso_639_2T_code="tai" + name="Tai languages" /> + <iso_639_entry + iso_639_2B_code="tam" + iso_639_2T_code="tam" + iso_639_1_code="ta" + name="Tamil" /> + <iso_639_entry + iso_639_2B_code="tat" + iso_639_2T_code="tat" + iso_639_1_code="tt" + name="Tatar" /> + <iso_639_entry + iso_639_2B_code="tel" + iso_639_2T_code="tel" + iso_639_1_code="te" + name="Telugu" /> + <iso_639_entry + iso_639_2B_code="tem" + iso_639_2T_code="tem" + name="Timne" /> + <iso_639_entry + iso_639_2B_code="ter" + iso_639_2T_code="ter" + name="Tereno" /> + <iso_639_entry + iso_639_2B_code="tet" + iso_639_2T_code="tet" + name="Tetum" /> + <iso_639_entry + iso_639_2B_code="tgk" + iso_639_2T_code="tgk" + iso_639_1_code="tg" + name="Tajik" /> + <iso_639_entry + iso_639_2B_code="tgl" + iso_639_2T_code="tgl" + iso_639_1_code="tl" + name="Tagalog" /> + <iso_639_entry + iso_639_2B_code="tha" + iso_639_2T_code="tha" + iso_639_1_code="th" + name="Thai" /> + <iso_639_entry + iso_639_2B_code="tib" + iso_639_2T_code="bod" + iso_639_1_code="bo" + name="Tibetan" /> + <iso_639_entry + iso_639_2B_code="tig" + iso_639_2T_code="tig" + name="Tigre" /> + <iso_639_entry + iso_639_2B_code="tir" + iso_639_2T_code="tir" + iso_639_1_code="ti" + name="Tigrinya" /> + <iso_639_entry + iso_639_2B_code="tiv" + iso_639_2T_code="tiv" + name="Tiv" /> + <iso_639_entry + iso_639_2B_code="tkl" + iso_639_2T_code="tkl" + name="Tokelau" /> + <iso_639_entry + iso_639_2B_code="tlh" + iso_639_2T_code="tlh" + name="Klingon; tlhIngan-Hol" /> + <iso_639_entry + iso_639_2B_code="tli" + iso_639_2T_code="tli" + name="Tlingit" /> + <iso_639_entry + iso_639_2B_code="tmh" + iso_639_2T_code="tmh" + name="Tamashek" /> + <iso_639_entry + iso_639_2B_code="tog" + iso_639_2T_code="tog" + name="Tonga (Nyasa)" /> + <iso_639_entry + iso_639_2B_code="ton" + iso_639_2T_code="ton" + iso_639_1_code="to" + name="Tonga (Tonga Islands)" /> + <iso_639_entry + iso_639_2B_code="tpi" + iso_639_2T_code="tpi" + name="Tok Pisin" /> + <iso_639_entry + iso_639_2B_code="tsi" + iso_639_2T_code="tsi" + name="Tsimshian" /> + <iso_639_entry + iso_639_2B_code="tsn" + iso_639_2T_code="tsn" + iso_639_1_code="tn" + name="Tswana" /> + <iso_639_entry + iso_639_2B_code="tso" + iso_639_2T_code="tso" + iso_639_1_code="ts" + name="Tsonga" /> + <iso_639_entry + iso_639_2B_code="tuk" + iso_639_2T_code="tuk" + iso_639_1_code="tk" + name="Turkmen" /> + <iso_639_entry + iso_639_2B_code="tum" + iso_639_2T_code="tum" + name="Tumbuka" /> + <iso_639_entry + iso_639_2B_code="tup" + iso_639_2T_code="tup" + name="Tupi languages" /> + <iso_639_entry + iso_639_2B_code="tur" + iso_639_2T_code="tur" + iso_639_1_code="tr" + name="Turkish" /> + <iso_639_entry + iso_639_2B_code="tut" + iso_639_2T_code="tut" + name="Altaic languages" /> + <iso_639_entry + iso_639_2B_code="tvl" + iso_639_2T_code="tvl" + name="Tuvalu" /> + <iso_639_entry + iso_639_2B_code="twi" + iso_639_2T_code="twi" + iso_639_1_code="tw" + name="Twi" /> + <iso_639_entry + iso_639_2B_code="tyv" + iso_639_2T_code="tyv" + name="Tuvinian" /> + <iso_639_entry + iso_639_2B_code="udm" + iso_639_2T_code="udm" + name="Udmurt" /> + <iso_639_entry + iso_639_2B_code="uga" + iso_639_2T_code="uga" + name="Ugaritic" /> + <iso_639_entry + iso_639_2B_code="uig" + iso_639_2T_code="uig" + iso_639_1_code="ug" + name="Uighur; Uyghur" /> + <iso_639_entry + iso_639_2B_code="ukr" + iso_639_2T_code="ukr" + iso_639_1_code="uk" + name="Ukrainian" /> + <iso_639_entry + iso_639_2B_code="umb" + iso_639_2T_code="umb" + name="Umbundu" /> + <iso_639_entry + iso_639_2B_code="und" + iso_639_2T_code="und" + name="Undetermined" /> + <iso_639_entry + iso_639_2B_code="urd" + iso_639_2T_code="urd" + iso_639_1_code="ur" + name="Urdu" /> + <iso_639_entry + iso_639_2B_code="uzb" + iso_639_2T_code="uzb" + iso_639_1_code="uz" + name="Uzbek" /> + <iso_639_entry + iso_639_2B_code="vai" + iso_639_2T_code="vai" + name="Vai" /> + <iso_639_entry + iso_639_2B_code="ven" + iso_639_2T_code="ven" + iso_639_1_code="ve" + name="Venda" /> + <iso_639_entry + iso_639_2B_code="vie" + iso_639_2T_code="vie" + iso_639_1_code="vi" + name="Vietnamese" /> + <iso_639_entry + iso_639_2B_code="vol" + iso_639_2T_code="vol" + iso_639_1_code="vo" + name="Volapük" /> + <iso_639_entry + iso_639_2B_code="vot" + iso_639_2T_code="vot" + name="Votic" /> + <iso_639_entry + iso_639_2B_code="wak" + iso_639_2T_code="wak" + name="Wakashan languages" /> + <iso_639_entry + iso_639_2B_code="wal" + iso_639_2T_code="wal" + name="Wolaitta; Wolaytta" /> + <iso_639_entry + iso_639_2B_code="war" + iso_639_2T_code="war" + name="Waray" /> + <iso_639_entry + iso_639_2B_code="was" + iso_639_2T_code="was" + name="Washo" /> + <iso_639_entry + iso_639_2B_code="wel" + iso_639_2T_code="cym" + iso_639_1_code="cy" + name="Welsh" /> + <iso_639_entry + iso_639_2B_code="wen" + iso_639_2T_code="wen" + name="Sorbian languages" /> + <iso_639_entry + iso_639_2B_code="wln" + iso_639_2T_code="wln" + iso_639_1_code="wa" + name="Walloon" /> + <iso_639_entry + iso_639_2B_code="wol" + iso_639_2T_code="wol" + iso_639_1_code="wo" + name="Wolof" /> + <iso_639_entry + iso_639_2B_code="xal" + iso_639_2T_code="xal" + name="Kalmyk; Oirat" /> + <iso_639_entry + iso_639_2B_code="xho" + iso_639_2T_code="xho" + iso_639_1_code="xh" + name="Xhosa" /> + <iso_639_entry + iso_639_2B_code="yao" + iso_639_2T_code="yao" + name="Yao" /> + <iso_639_entry + iso_639_2B_code="yap" + iso_639_2T_code="yap" + name="Yapese" /> + <iso_639_entry + iso_639_2B_code="yid" + iso_639_2T_code="yid" + iso_639_1_code="yi" + name="Yiddish" /> + <iso_639_entry + iso_639_2B_code="yor" + iso_639_2T_code="yor" + iso_639_1_code="yo" + name="Yoruba" /> + <iso_639_entry + iso_639_2B_code="ypk" + iso_639_2T_code="ypk" + name="Yupik languages" /> + <iso_639_entry + iso_639_2B_code="zap" + iso_639_2T_code="zap" + name="Zapotec" /> + <iso_639_entry + iso_639_2B_code="zbl" + iso_639_2T_code="zbl" + name="Blissymbols; Blissymbolics; Bliss" /> + <iso_639_entry + iso_639_2B_code="zen" + iso_639_2T_code="zen" + name="Zenaga" /> + <iso_639_entry + iso_639_2B_code="zha" + iso_639_2T_code="zha" + iso_639_1_code="za" + name="Zhuang; Chuang" /> + <iso_639_entry + iso_639_2B_code="znd" + iso_639_2T_code="znd" + name="Zande languages" /> + <iso_639_entry + iso_639_2B_code="zul" + iso_639_2T_code="zul" + iso_639_1_code="zu" + name="Zulu" /> + <iso_639_entry + iso_639_2B_code="zun" + iso_639_2T_code="zun" + name="Zuni" /> + <iso_639_entry + iso_639_2B_code="zxx" + iso_639_2T_code="zxx" + name="No linguistic content; Not applicable" /> + <iso_639_entry + iso_639_2B_code="zza" + iso_639_2T_code="zza" + name="Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" /> +</iso_639_entries> diff --git a/win32/hexchat.exe.manifest b/win32/hexchat.exe.manifest new file mode 100644 index 0000000000000000000000000000000000000000..91dc693d74213798134efbd629f76e0cb3900106 --- /dev/null +++ b/win32/hexchat.exe.manifest @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity + name="HexChat" + processorArchitecture="*" + version="1.0.0.0" + type="win32" + /> + <description>HexChat IRC Client</description> + <dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> + </dependency> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!--This Id value indicates the application supports Windows 7 functionality--> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!--This Id value indicates the application supports Windows 8 functionality--> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!--This Id value indicates the application supports Windows 8.1 functionality--> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!--This Id value indicates the application supports Windows 10 functionality--> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + </application> + </compatibility> +</assembly> \ No newline at end of file diff --git a/win32/hexchat.props b/win32/hexchat.props new file mode 100644 index 0000000000000000000000000000000000000000..d6c2bf1a0185cf7c7c0ceedebaf304871d8e75e6 --- /dev/null +++ b/win32/hexchat.props @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="UserMacros"> + + <!-- SPECIFY YOUR DEPENDENCY DIRECTORIES HERE --> + + <YourDepsPath>c:\gtk-build\gtk</YourDepsPath> + <YourGendefPath>c:\gtk-build\gendef</YourGendefPath> + <YourPerlPath>c:\gtk-build\perl-5.20</YourPerlPath> + <YourPython3Path>c:\gtk-build\python-3.8</YourPython3Path> + <YourWinSparklePath>c:\gtk-build\WinSparkle</YourWinSparklePath> + + <!-- YOU SHOULDN'T TOUCH ANYTHING BELOW --> + + <!-- G_DISABLE_DEPRECATED is unfeasible due to g_completion_* --> + <!-- must be buildable with GSEAL_ENABLE in the future, xtext, setup, and chanview-tabs stand in the way --> + <OwnFlags>GTK_DISABLE_DEPRECATED;GDK_PIXBUF_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;HAVE_X509_GET_SIGNATURE_NID;HAVE_SSL_CTX_GET_SSL_METHOD;DEFAULT_CERT_FILE="cert.pem";HAVE_STRTOULL;strtoull=_strtoui64;strcasecmp=stricmp;strncasecmp=strnicmp;__inline__=__inline</OwnFlags> + <!-- FIXME: Add ability to use debug builds --> + <DepsRoot>$(YourDepsPath)\$(PlatformName)\release</DepsRoot> + <GendefPath>$(YourGendefPath)</GendefPath> + <WinSparklePath>$(YourWinSparklePath)\$(PlatformName)</WinSparklePath> + <PerlPath>$(YourPerlPath)\$(PlatformName)</PerlPath> + <PerlLib>perl520</PerlLib> + <Python3Path>$(YourPython3Path)\$(PlatformName)</Python3Path> + <Python3Lib>python38</Python3Lib> + <Python3Output>hcpython3</Python3Output> + <LuaInclude>$(DepsRoot)\include\luajit-2.1</LuaInclude> + <LuaOutput>hclua</LuaOutput> + <LuaLib>lua51</LuaLib> + <Glib>$(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2</Glib> + <Gtk>$(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0</Gtk> + <DepLibs>gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;libxml2.lib;libcrypto.lib;libssl.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib</DepLibs> + <DataDir>$(SolutionDir)..\data\\</DataDir> + <HexChatBuild>$(SolutionDir)..\..\hexchat-build</HexChatBuild> + <HexChatBin>$(HexChatBuild)\$(PlatformName)\bin\</HexChatBin> + <HexChatObj>$(HexChatBuild)\$(PlatformName)\obj\</HexChatObj> + <HexChatLib>$(HexChatBuild)\$(PlatformName)\lib\</HexChatLib> + <HexChatPdb>$(HexChatBuild)\$(PlatformName)\pdb\</HexChatPdb> + <HexChatRel>$(HexChatBuild)\$(PlatformName)\rel\</HexChatRel> + <IsccPath>"$(ProgramFiles)\Inno Setup 5\iscc.exe"</IsccPath> + </PropertyGroup> + + <PropertyGroup> + <LinkIncremental>false</LinkIncremental> + <IntDir>$(HexChatObj)$(ProjectName)\</IntDir> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + + <ItemDefinitionGroup> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <DisableSpecificWarnings>4996</DisableSpecificWarnings> + <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions> + <WholeProgramOptimization>true</WholeProgramOptimization> + <!-- UNCOMMENT ONLY ONE --> + <!--Optimization>Disabled</Optimization--> + <Optimization>MaxSpeed</Optimization> + <!--Optimization>MinSpace</Optimization--> + <!--Optimization>Full</Optimization--> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + <PreProcessorDefinitions>NTDDI_VERSION=NTDDI_WIN8;_WIN32_WINNT=_WIN32_WINNT_WIN8;%(PreProcessorDefinitions)</PreProcessorDefinitions> + </ClCompile> + <Lib> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + </Lib> + <Link> + <ImportLibrary>$(HexChatLib)$(TargetName).lib</ImportLibrary> + <ProgramDatabaseFile>$(HexChatPdb)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>Debug</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> + </Link> + </ItemDefinitionGroup> + + <ItemGroup /> +</Project> diff --git a/win32/hexchat.sln b/win32/hexchat.sln new file mode 100644 index 0000000000000000000000000000000000000000..57476b02f3affaf910289149e06dd399fdfdc0b3 --- /dev/null +++ b/win32/hexchat.sln @@ -0,0 +1,215 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\src\common\common.vcxproj", "{87554B59-006C-4D94-9714-897B27067BA3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fe-gtk", "..\src\fe-gtk\fe-gtk.vcxproj", "{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fe-text", "..\src\fe-text\fe-text.vcxproj", "{E93E1255-95D1-4B08-8FDF-B53CC6A21280}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hexchat", "hexchat", "{AAACEB12-9475-410E-AF5A-FDFF907E9043}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{561126F4-FA18-45FC-A2BF-8F858F161D6D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripting", "scripting", "{D237DA6B-BD5F-46C0-8BEA-50E9A1340240}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checksum", "..\plugins\checksum\checksum.vcxproj", "{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exec", "..\plugins\exec\exec.vcxproj", "{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fishlim", "..\plugins\fishlim\fishlim.vcxproj", "{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "upd", "..\plugins\upd\upd.vcxproj", "{461DC24A-A410-4171-8C02-CCDBF3702C2A}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winamp", "..\plugins\winamp\winamp.vcxproj", "{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sysinfo", "..\plugins\sysinfo\sysinfo.vcxproj", "{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "release", "release", "{0FD996A7-464F-4981-8380-3DCA3A244A13}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nls", "nls\nls.vcxproj", "{B10A2C41-344C-43E0-A32D-B9587C198D8B}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy", "copy\copy.vcxproj", "{C9B735E4-75BC-45AC-A5E3-39A6D076F912}" + ProjectSection(ProjectDependencies) = postProject + {B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B} + {DE87FFCA-9606-4116-B747-062D88A56A28} = {DE87FFCA-9606-4116-B747-062D88A56A28} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\installer.vcxproj", "{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}" + ProjectSection(ProjectDependencies) = postProject + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} = {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A} = {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A} + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} = {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4} = {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4} + {B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B} + {461DC24A-A410-4171-8C02-CCDBF3702C2A} = {461DC24A-A410-4171-8C02-CCDBF3702C2A} + {E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {E93E1255-95D1-4B08-8FDF-B53CC6A21280} + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} = {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} = {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} = {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} + {DE87FFCA-9606-4116-B747-062D88A56A28} = {DE87FFCA-9606-4116-B747-062D88A56A28} + {C53145CC-D021-40C9-B97C-0249AB9A43C9} = {C53145CC-D021-40C9-B97C-0249AB9A43C9} + {D90BC3E3-1341-4849-9354-5F40489D39D1} = {D90BC3E3-1341-4849-9354-5F40489D39D1} + {C9B735E4-75BC-45AC-A5E3-39A6D076F912} = {C9B735E4-75BC-45AC-A5E3-39A6D076F912} + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} = {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "htm", "..\src\htm\htm.csproj", "{DE87FFCA-9606-4116-B747-062D88A56A28}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "perl", "..\plugins\perl\perl.vcxproj", "{D90BC3E3-1341-4849-9354-5F40489D39D1}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3", "..\plugins\python\python3.vcxproj", "{C2321A03-0BA7-45B3-8740-ABD82B36B0BF}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notifications-winrt", "..\src\fe-gtk\notifications\notifications-winrt.vcxproj", "{C53145CC-D021-40C9-B97C-0249AB9A43C9}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{021EC1D0-FF67-4700-9AB2-EAABF1159C09}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libenchant_win8", "..\src\libenchant_win8\libenchant_win8.vcxproj", "{BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}" + ProjectSection(ProjectDependencies) = postProject + {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "..\plugins\lua\lua.vcxproj", "{4C0F3940-2EEE-4646-82F7-6CE75B9A72F4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {87554B59-006C-4D94-9714-897B27067BA3}.Release|Win32.ActiveCfg = Release|Win32 + {87554B59-006C-4D94-9714-897B27067BA3}.Release|Win32.Build.0 = Release|Win32 + {87554B59-006C-4D94-9714-897B27067BA3}.Release|x64.ActiveCfg = Release|x64 + {87554B59-006C-4D94-9714-897B27067BA3}.Release|x64.Build.0 = Release|x64 + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|Win32.ActiveCfg = Release|Win32 + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|Win32.Build.0 = Release|Win32 + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|x64.ActiveCfg = Release|x64 + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|x64.Build.0 = Release|x64 + {E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|Win32.ActiveCfg = Release|Win32 + {E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|Win32.Build.0 = Release|Win32 + {E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|x64.ActiveCfg = Release|x64 + {E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|x64.Build.0 = Release|x64 + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|Win32.ActiveCfg = Release|Win32 + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|Win32.Build.0 = Release|Win32 + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|x64.ActiveCfg = Release|x64 + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|x64.Build.0 = Release|x64 + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|Win32.ActiveCfg = Release|Win32 + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|Win32.Build.0 = Release|Win32 + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|x64.ActiveCfg = Release|x64 + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|x64.Build.0 = Release|x64 + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|Win32.ActiveCfg = Release|Win32 + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|Win32.Build.0 = Release|Win32 + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|x64.ActiveCfg = Release|x64 + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|x64.Build.0 = Release|x64 + {461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|Win32.ActiveCfg = Release|Win32 + {461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|Win32.Build.0 = Release|Win32 + {461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|x64.ActiveCfg = Release|x64 + {461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|x64.Build.0 = Release|x64 + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|Win32.ActiveCfg = Release|Win32 + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|Win32.Build.0 = Release|Win32 + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|x64.ActiveCfg = Release|x64 + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|x64.Build.0 = Release|x64 + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|Win32.ActiveCfg = Release|Win32 + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|Win32.Build.0 = Release|Win32 + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.ActiveCfg = Release|x64 + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.Build.0 = Release|x64 + {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.ActiveCfg = Release|Win32 + {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.Build.0 = Release|Win32 + {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|x64.ActiveCfg = Release|x64 + {B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|x64.Build.0 = Release|x64 + {C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|Win32.ActiveCfg = Release|Win32 + {C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|Win32.Build.0 = Release|Win32 + {C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|x64.ActiveCfg = Release|x64 + {C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|x64.Build.0 = Release|x64 + {5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|Win32.ActiveCfg = Release|Win32 + {5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|Win32.Build.0 = Release|Win32 + {5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.ActiveCfg = Release|x64 + {5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.Build.0 = Release|x64 + {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.ActiveCfg = Release|x86 + {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.Build.0 = Release|x86 + {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.ActiveCfg = Release|x64 + {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.Build.0 = Release|x64 + {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|Win32.ActiveCfg = Release|Win32 + {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|Win32.Build.0 = Release|Win32 + {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|x64.ActiveCfg = Release|x64 + {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|x64.Build.0 = Release|x64 + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF}.Release|Win32.ActiveCfg = Release|Win32 + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF}.Release|Win32.Build.0 = Release|Win32 + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF}.Release|x64.ActiveCfg = Release|x64 + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF}.Release|x64.Build.0 = Release|x64 + {C53145CC-D021-40C9-B97C-0249AB9A43C9}.Release|Win32.ActiveCfg = Release|Win32 + {C53145CC-D021-40C9-B97C-0249AB9A43C9}.Release|Win32.Build.0 = Release|Win32 + {C53145CC-D021-40C9-B97C-0249AB9A43C9}.Release|x64.ActiveCfg = Release|x64 + {C53145CC-D021-40C9-B97C-0249AB9A43C9}.Release|x64.Build.0 = Release|x64 + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}.Release|Win32.ActiveCfg = Release|Win32 + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}.Release|Win32.Build.0 = Release|Win32 + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}.Release|x64.ActiveCfg = Release|x64 + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A}.Release|x64.Build.0 = Release|x64 + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4}.Release|Win32.ActiveCfg = Release|Win32 + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4}.Release|Win32.Build.0 = Release|Win32 + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4}.Release|x64.ActiveCfg = Release|x64 + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {87554B59-006C-4D94-9714-897B27067BA3} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} + {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} + {E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} + {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {17E4BE39-76F7-4A06-AD21-EFD0C5091F76} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {461DC24A-A410-4171-8C02-CCDBF3702C2A} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {B10A2C41-344C-43E0-A32D-B9587C198D8B} = {0FD996A7-464F-4981-8380-3DCA3A244A13} + {C9B735E4-75BC-45AC-A5E3-39A6D076F912} = {0FD996A7-464F-4981-8380-3DCA3A244A13} + {5A0F4962-E670-4DA2-9E45-52CC47F26E2F} = {0FD996A7-464F-4981-8380-3DCA3A244A13} + {DE87FFCA-9606-4116-B747-062D88A56A28} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} + {D90BC3E3-1341-4849-9354-5F40489D39D1} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} + {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} + {C53145CC-D021-40C9-B97C-0249AB9A43C9} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} + {BF0EBC16-68AD-4CD1-864C-5B56836EBE2A} = {021EC1D0-FF67-4700-9AB2-EAABF1159C09} + {4C0F3940-2EEE-4646-82F7-6CE75B9A72F4} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} + EndGlobalSection +EndGlobal diff --git a/win32/installer/hexchat.iss.tt b/win32/installer/hexchat.iss.tt new file mode 100644 index 0000000000000000000000000000000000000000..1b7c3209b039c50fe16656c47300579d2f5f759e --- /dev/null +++ b/win32/installer/hexchat.iss.tt @@ -0,0 +1,430 @@ +#define APPNAM "HexChat" +#define APPVER "<#= [string]::Join('.', $versionParts) #>" +; These are defined by our installer project at build time +;#define APPARCH "x64" +;#define PROJECTDIR "C:\...\hexchat\win32\installer\" + +;http://mitrich.net23.net/?/inno-download-plugin.html +#include <idp.iss> + +[Setup] +AppName=HexChat +AppVersion={#APPVER} +AppVerName=HexChat {#APPVER} +AppPublisher=HexChat +AppPublisherURL=http://hexchat.github.io +AppCopyright=Copyright (C) 1998-2010 Peter Zelezny +AppSupportURL=https://github.com/hexchat/hexchat/issues +AppUpdatesURL=http://hexchat.github.io/downloads.html +LicenseFile=share\doc\hexchat\COPYING +UninstallDisplayIcon={app}\hexchat.exe +UninstallDisplayName=HexChat +#if APPARCH == "x64" +DefaultDirName={pf64}\HexChat +#else +DefaultDirName={pf32}\HexChat +#endif +DefaultGroupName=HexChat +AllowNoIcons=yes +SolidCompression=yes +Compression=lzma2/ultra64 +SourceDir=..\rel +OutputDir=.. +#if APPARCH == "x64" +OutputBaseFilename={#APPNAM}-{#APPVER}_x64 +#else +OutputBaseFilename={#APPNAM}-{#APPVER}_x86 +#endif +FlatComponentsList=no +PrivilegesRequired=none +ShowComponentSizes=no +CreateUninstallRegKey=not IsTaskSelected('portable') +Uninstallable=not IsTaskSelected('portable') +#if APPARCH == "x64" +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 +#else +ArchitecturesAllowed=x86 x64 +#endif +MinVersion=6.1 +WizardImageFile={#PROJECTDIR}wizardimage.bmp +WizardSmallImageFile={#PROJECTDIR}wizardsmallimage.bmp +SetupIconFile={#PROJECTDIR}..\..\data\icons\hexchat.ico + +[Types] +Name: "normal"; Description: "Normal Installation" +Name: "minimal"; Description: "Minimal Installation" +Name: "custom"; Description: "Custom Installation"; Flags: iscustom + +[Components] +Name: "libs"; Description: "HexChat"; Types: normal minimal custom; Flags: fixed +Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning +Name: "xtm"; Description: "HexChat Theme Manager"; Types: normal custom; Flags: disablenouninstallwarning +Name: "icons"; Description: "Create Shortcuts"; Types: custom; Flags: disablenouninstallwarning +Name: "icons\desktopicon"; Description: "Create Desktop Shortcut"; Types: custom; Flags: disablenouninstallwarning +Name: "icons\quicklaunchicon"; Description: "Create Quick Launch Shortcut"; Types: custom; Flags: disablenouninstallwarning +Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning +Name: "spell"; Description: "Spelling Dictionaries"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins\exec"; Description: "Exec"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins\sysinfo"; Description: "SysInfo"; Types: custom; Flags: disablenouninstallwarning +Name: "plugins\upd"; Description: "Update Checker"; Types: normal custom; Flags: disablenouninstallwarning +Name: "plugins\winamp"; Description: "Winamp"; Types: custom; Flags: disablenouninstallwarning +Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disablenouninstallwarning +Name: "langs\lua"; Description: "Lua"; Types: normal custom; Flags: disablenouninstallwarning +Name: "langs\perl"; Description: "Perl (requires Perl 5.20)"; Types: custom; Flags: disablenouninstallwarning +Name: "langs\python"; Description: "Python (requires Python 3.8)"; Types: custom; Flags: disablenouninstallwarning + +[Tasks] +Name: portable; Description: "Yes"; GroupDescription: "Portable Mode: Stores configuration files within install directory for portable drives."; Flags: unchecked + +[Registry] +Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable + +Root: HKCR; Subkey: ".hct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "HexChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: "HexChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".hct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".hct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable +Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable + +[Run] +Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent +Filename: "http://docs.hexchat.org/en/latest/changelog.html"; Description: "See what's changed"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked +Filename: "{tmp}\vcredist.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable"; Flags: skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\vcredist2013.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable"; Flags: skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\dotnet4.exe"; Parameters: "/q /norestart"; StatusMsg: "Installing .NET"; Components: xtm; Flags: skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\perl.msi"; StatusMsg: "Installing Perl"; Components: langs\perl; Flags: shellexec skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\python.msi"; StatusMsg: "Installing Python"; Components: langs\python; Flags: shellexec skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\python.exe"; Parameters: "InstallAllUsers=1 PrependPath=1"; StatusMsg: "Installing Python"; Components: langs\python; Flags: shellexec skipifdoesntexist; Tasks: not portable +Filename: "{tmp}\spelling-dicts.exe"; Parameters: "/verysilent"; StatusMsg: "Installing Spelling Dictionaries"; Components: spell; Flags: skipifdoesntexist; Tasks: not portable + +[Files] +Source: "portable-mode"; DestDir: "{app}"; Tasks: portable + +Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "readme.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs +Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs +Source: "share\themes\MS-Windows\*"; DestDir: "{app}\share\themes\MS-Windows"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs +Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +Source: "etc\fonts\*"; DestDir: "{app}\etc\fonts"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs + +Source: "atk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "freetype.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "fribidi-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "glib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#if APPARCH == "x64" +Source: "gspawn-win64-helper.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gspawn-win64-helper-console.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#else +Source: "gspawn-win32-helper.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gspawn-win32-helper-console.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#endif +Source: "gthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#if APPARCH == "x64" +Source: "libcrypto-1_1-x64.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libssl-1_1-x64.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#else +Source: "libcrypto-1_1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libssl-1_1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +#endif +Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "ffi-7.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "intl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpng16.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs + +Source: "plugins\hcnotifications-winrt.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: libs + +Source: "lib\enchant\*"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs + +Source: "lib\gtk-2.0\i686-pc-vs14\engines\*"; DestDir: "{app}\lib\gtk-2.0\i686-pc-vs14\engines"; Flags: ignoreversion; Components: libs + +Source: "girepository-1.0-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\lua +Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\lua +Source: "lib\lua\lgi\*.dll"; DestDir: "{app}\lib\lua\lgi"; Flags: ignoreversion; Components: langs\lua +Source: "lib\girepository-1.0\*.typelib"; DestDir: "{app}\lib\girepository-1.0"; Flags: ignoreversion; Components: langs\lua +Source: "share\lua\*.lua"; DestDir: "{app}\share\lua"; Flags: ignoreversion; Components: langs\lua +Source: "share\lua\lgi\*.lua"; DestDir: "{app}\share\lua\lgi"; Flags: ignoreversion; Components: langs\lua +Source: "share\lua\lgi\override\*.lua"; DestDir: "{app}\share\lua\lgi\override"; Flags: ignoreversion; Components: langs\lua +Source: "plugins\hclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua + +Source: "plugins\hcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum +Source: "plugins\hcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec +Source: "plugins\hcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim +Source: "share\music.png"; DestDir: "{app}\share"; Flags: ignoreversion; Components: plugins\winamp +Source: "share\download.png"; DestDir: "{app}\share"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\hcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd +Source: "WinSparkle.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\hcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp +Source: "share\system.png"; DestDir: "{app}\share"; Flags: ignoreversion; Components: plugins\sysinfo +Source: "plugins\hcsysinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\sysinfo +Source: "plugins\hcperl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\perl + +Source: "python\*.py"; DestDir: "{app}\python"; Flags: ignoreversion; Components: langs\python + +Source: "plugins\hcpython3.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python +Source: "_cffi_backend.cp3*.pyd"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\python + +Source: "hexchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "hexchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext +Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm + +[Icons] +Name: "{group}\HexChat"; Filename: "{app}\hexchat.exe"; AppUserModelID: "HexChat.Desktop.Notify"; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat Safe Mode"; Filename: "{app}\hexchat.exe"; Parameters: "--no-auto --no-plugins"; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat ChangeLog"; Filename: "{app}\changelog.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 165; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat ReadMe"; Filename: "{app}\readme.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 23; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat Config Folder"; Filename: "%APPDATA%\HexChat\"; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat-Text"; Filename: "{app}\hexchat-text.exe"; Components: xctext; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\HexChat Theme Manager"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable; Check: not WizardNoIcons +Name: "{group}\Uninstall HexChat"; Filename: "{uninstallexe}"; Tasks: not portable; Check: not WizardNoIcons +Name: "{commondesktop}\HexChat"; Filename: "{app}\hexchat.exe"; AppUserModelID: "HexChat.Desktop.Notify"; Components: icons\desktopicon; Tasks: not portable +Name: "{commonappdata}\Microsoft\Internet Explorer\Quick Launch\HexChat"; Filename: "{app}\hexchat.exe"; Components: icons\quicklaunchicon; Tasks: not portable + +[Messages] +BeveledLabel= {#APPNAM} + +[Code] +///////////////////////////////////////////////////////////////////// +procedure InitializeWizard; +begin + WizardForm.LicenseAcceptedRadio.Checked := True; + + idpDownloadAfter(wpReady); +end; + +///////////////////////////////////////////////////////////////////// +function GetSysDir(): String; +begin +#if APPARCH != "x64" + if IsWin64 then + Result := ExpandConstant('{syswow64}\') + else + Result := ExpandConstant('{sys}\'); +#else + Result := ExpandConstant('{sys}\'); +#endif +end; + +///////////////////////////////////////////////////////////////////// +function CheckDLL(DLLName: String): Boolean; +var + ResultCode: Integer; +begin + if ExecAsOriginalUser(GetSysDir() + 'where.exe', '/Q ' + DLLName, + '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then + Result := ResultCode = 0 // 0 is success + else + Result := False; +end; + +///////////////////////////////////////////////////////////////////// +function CheckVCInstall(): Boolean; +begin + Result := FileExists(GetSysDir() + 'vcruntime140.dll');; +end; + +function CheckVC2013Install(): Boolean; +begin + Result := FileExists(GetSysDir() + 'msvcr120.dll');; +end; + + +///////////////////////////////////////////////////////////////////// +function CheckSpellInstall(): Boolean; +var + Version: TWindowsVersion; +begin + GetWindowsVersionEx(Version); + + // Windows 8 or greater has built in spell check. + if Version.NTPlatform and (Version.Major > 6) or ((Version.Major = 6) and (Version.Minor > 1)) then + Result := True + else + Result := DirExists(ExpandConstant('{localappdata}') + '\enchant\myspell'); +end; + +///////////////////////////////////////////////////////////////////// +function CheckDotNetInstall(): Boolean; +begin + Result := RegKeyExists(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4'); +end; + +///////////////////////////////////////////////////////////////////// +// Sets up the automatic downloads +///////////////////////////////////////////////////////////////////// +procedure CurPageChanged(CurPageID: Integer); +var + REDIST: String; + REDIST_2013: String; + PERL: String; + PY2: String; + PY3: String; + DOTNET: String; + SPELL: String; +begin + if(CurPageID = wpReady) then + begin + idpClearFiles; + + if not IsTaskSelected('portable') then + begin + +#if APPARCH == "x64" + REDIST := 'https://dl.hexchat.net/misc/vcredist_2015_x64.exe'; + REDIST_2013 := 'https://dl.hexchat.net/misc/vcredist_2013_x64.exe'; + PERL := 'https://dl.hexchat.net/misc/perl/Perl%205.20.0%20x64.msi'; + PY3 := 'https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe'; +#else + REDIST := 'https://dl.hexchat.net/misc/vcredist_2015_x86.exe'; + REDIST_2013 := 'https://dl.hexchat.net/misc/vcredist_2013_x86.exe'; + PERL := 'https://dl.hexchat.net/misc/perl/Perl%205.20.0%20x86.msi'; + PY3 := 'https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe'; +#endif + DOTNET := 'https://dl.hexchat.net/misc/dotnet_40.exe'; + SPELL := 'https://dl.hexchat.net/hexchat/HexChat%20Spelling%20Dictionaries%20r2.exe'; + + if not CheckVCInstall() then + idpAddFile(REDIST, ExpandConstant('{tmp}\vcredist.exe')); + + if IsComponentSelected('xtm') and not CheckDotNetInstall() then + idpAddFile(DOTNET, ExpandConstant('{tmp}\dotnet4.exe')); + + if IsComponentSelected('spell') and not CheckSpellInstall() then + idpAddFile(SPELL, ExpandConstant('{tmp}\spelling-dicts.exe')); + + if not WizardSilent() then + begin + if IsComponentSelected('langs\perl') and not CheckDLL('perl520.dll') then + begin + if not CheckVC2013Install() then + idpAddFile(REDIST_2013, ExpandConstant('{tmp}\vcredist2013.exe')); + + idpAddFile(PERL, ExpandConstant('{tmp}\perl.msi')) + end; + + if IsComponentSelected('langs\python\python3') and not CheckDLL('python38.dll') then + idpAddFile(PY3, ExpandConstant('{tmp}\python.exe')); + end; + end; + end; +end; + +///////////////////////////////////////////////////////////////////// +// Disable portable-mode if installing to program files +///////////////////////////////////////////////////////////////////// +function NextButtonClick(CurPageID: Integer): Boolean; +begin + if (CurPageID = wpSelectTasks) then + if (WizardForm.TasksList.Checked[1] = True) then +#if APPARCH == "x64" + if (WizardDirValue() = ExpandConstant('{pf64}\HexChat')) then +#else + if (WizardDirValue() = ExpandConstant('{pf32}\HexChat')) then +#endif + begin + WizardForm.TasksList.Checked[1] := False + MsgBox('Portable mode is only intended for use on portable drives and has been disabled.', mbInformation, MB_OK) + end; + + Result := True; // Always continue +end; + +///////////////////////////////////////////////////////////////////// +// these are required for x86->x64 or reverse upgrades +///////////////////////////////////////////////////////////////////// +function GetUninstallString(): String; +var + sUnInstPath: String; + sUnInstallString: String; +begin +#if APPARCH == "x64" + sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x64)_is1'); +#else + sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x86)_is1'); +#endif + sUnInstallString := ''; + if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then + RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); + if not (sUnInstallString <> '') then + sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat_is1'); + if not RegQueryStringValue(HKLM32, sUnInstPath, 'UninstallString', sUnInstallString) then + if not RegQueryStringValue(HKCU32, sUnInstPath, 'UninstallString', sUnInstallString) then + if IsWin64 then + if not RegQueryStringValue(HKLM64, sUnInstPath, 'UninstallString', sUnInstallString) then + RegQueryStringValue(HKCU64, sUnInstPath, 'UninstallString', sUnInstallString); + Result := sUnInstallString; +end; + +///////////////////////////////////////////////////////////////////// +function IsUpgrade(): Boolean; +begin + Result := (GetUninstallString() <> ''); +end; + + +///////////////////////////////////////////////////////////////////// +function UnInstallOldVersion(): Integer; +var + sUnInstallString: String; + iResultCode: Integer; +begin +// Return Values: +// 1 - uninstall string is empty +// 2 - error executing the UnInstallString +// 3 - successfully executed the UnInstallString + + // default return value + Result := 0; + + // get the uninstall string of the old app + sUnInstallString := GetUninstallString(); + if sUnInstallString <> '' then begin + sUnInstallString := RemoveQuotes(sUnInstallString); + if Exec(sUnInstallString, '/VERYSILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then + Result := 3 + else + Result := 2; + end else + Result := 1; +end; + +///////////////////////////////////////////////////////////////////// +procedure CurStepChanged(CurStep: TSetupStep); +begin + if not (IsTaskSelected('portable')) then + begin + if (CurStep=ssInstall) then + begin + if (IsUpgrade()) then + begin + UnInstallOldVersion(); + end; + DeleteFile(ExpandConstant('{app}\portable-mode')); + end; + end; +end; diff --git a/win32/installer/installer.vcxproj b/win32/installer/installer.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..3cc11e44a36811f500d1c22d04349c90c6933ba4 --- /dev/null +++ b/win32/installer/installer.vcxproj @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}</ProjectGuid> + <RootNamespace>installer</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\hexchat.props" /> + <PropertyGroup> + <OutDir>$(HexChatRel)</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> + <ClCompile> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + <PreBuildEvent> + <Command> + <![CDATA[ +SET SOLUTIONDIR=$(SolutionDir)..\ +powershell -File "$(SolutionDir)..\win32\version-template.ps1" "$(SolutionDir)..\win32\installer\hexchat.iss.tt" "$(HexChatBin)hexchat.iss" +$(IsccPath) /dPROJECTDIR="$(ProjectDir)" /dAPPARCH="$(Platform)" "$(HexChatBin)hexchat.iss" + ]]> + </Command> + </PreBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="wizardimage.bmp" /> + <None Include="wizardsmallimage.bmp" /> + <None Include="hexchat.iss" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/win32/installer/installer.vcxproj.filters b/win32/installer/installer.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..467323a7fec71dc00bd3157e603b4487fcfdcce4 --- /dev/null +++ b/win32/installer/installer.vcxproj.filters @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <None Include="hexchat-x64.skel.iss"> + <Filter>Resource Files</Filter> + </None> + <None Include="hexchat-x86.skel.iss"> + <Filter>Resource Files</Filter> + </None> + <None Include="wizardimage.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="wizardsmallimage.bmp"> + <Filter>Resource Files</Filter> + </None> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/installer/wizardimage.bmp b/win32/installer/wizardimage.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d81414258dc757d0673fdcef56812d4f9e83cbc6 GIT binary patch literal 154542 zcmeI52fS6qwf`3g2!bLiiXEu}iXeiZMhsF!Kx`;MR4g%SqJqXktf(kx>|Jb8V<C3M z-Ya$u7)}4bm-1ekiODktk-Pujebzp+=k9*WJ@*{ke3sYQvuD<<S-+`k*6cH8$^!?r z75Co={@a@W?&QCn+K9A~9)v_r^WGO8yg#cP$EL5GrZBB+T2&H-Ikb9Ag8Vg*&DL<1 za6qI4;S*j3nD7`bI-DkfVdSeYhx&<8fomyGSi`9?0r4W0oFy{ACtPkI0gqYO2GWF? zeBENgip>}kR#ZT@Wj{s=5Gbx}<^etlkC9^7kqLS0<drRLCE;*&%GQ4%W297p;_NJ6 zuKLO*`&C>xz%Be3DML6ioH1NtI86;=!lITJ6DMl8n&rhrN);&7=4=D4Vf$@DIKb09 zMhXxaX|iY_uB<?^mVS&BwT#FFIpb<tYJ8kjcF{J^I>Fi&DIB(iZ|QKH0<*`bN*JzS zc`<P!*#g*{8yf3CW$ika9S-m;^)a<vTlp1+<7BgC2ozz%9e9=SXfw3KaRP+n?OX{3 z@ybqV!pRIxvQh(Kw%KE{l$Bi5lHSG%W{VNY5X2+n<05T_b~sLeaJ-!>t`y?!WOg{2 zp`Eg%aF}hzn2e<))U?!Bae~>Bl*%(Qz0J@L#|aRQw{t}np^<hnI~-<6jGdsoa3tF- zkr|6isA;LM;-m^lQYza(`T#fkF;0L$yq$$`fWQ41NNFAe4E52xEjtj&HZ?MPady=z z3`a^8mZa=b!mPqEkun4#!?_|w3MVr$0fs!9SCs_9Y_r5<EHSc<Wk*H|7M7$8{$VC@ zF_ALZk#QMqsp8U@c$=Yy&8tcRVYaC;*^9F)Sa~>7ut;G_Dl3vhLS&>E8kvx*q*vi0 zO3I#)ILtXACV@}*RY^JzBo1>6OBGIIVglUkN7C?UQkEJBi=i>4@<~V^E+QduNw313 zBV$V9Nn%^QC57V(3QHB2vZdn#l2pC80Dm5<SVWk)9aBa@C4p-vPAJP3sk+rqD6~~x z1!`K|%7&S1OnEi6u`4NDUU92mE*p+|u3bssn#A>7qg=Lt1`KLt1Olw8@@RLB)NoZw z{5mix16(^xoQlE##ig|4!?{Y0vAI<@9G1lJ=amW9XTXN6yl`B-!fMH=jmV6pM#f1M zh}S9yBI6#j$Pkye)#J+pH;^l`7IA8cOl(KSWh^z`<{1~xQW29kqW~s-{R9HlEc-F8 zMsb>nOK;-iGL{-|7{&#{RgO!k@fih3X3{Ee!!<20CQ|qWwM3@3BNOtL^vdQL7Y<Z8 zE}6z>EIpY?tGo?Vv%JSR$rIEPmqp_fGM4lzxfJs@P-_z(8OSI=WZu?|3{<nc$G9pa zs3k6o#wTRV{wleMO5R4wPzl4D<t-0ilPf{aNS$b8LM~n<WX$p^nfcfJtpTpoK(gKv za7oCRkSoip1kU*@qk)ouHn|c43DA_6D}kZDN?@D6%Ax_g4P;5LX_9eC;FFv&`E3H* z{8h_opgd5LbEUp*x$5Mc6Eu*FOI*g}T*+_ac;@jfs)1xscpF)IYOaI?kqq<58fYK^ z6nzzzAvH@vf-tu{re+#Qz$JinYRc3EHLFx!P*?-0=#YS1S(2ru374M7)KUYf097$T zE$fw+70^HxaZF_uC^~<vu?A8Bs#by;*DEhBpn+=Pn93(mZvI$f4Wt58l>{}eR9;-9 z2C4#O9Fxcr^T<}wKpaMu$G1v#@<QV@P&uG+9O6pM<6A`oaWGXF-zs&<3r)~Kg@DFo zPbe{eReKG@!Bmy_+E*tpF`$8};F!uJP-y;Gdkv&wRFwqD^-^!B<TUx)$~90GC{vk) z<+Q!s0^xAtJf?CDq+(Q+1YtP?;Kn_MGv+asXrL-+CNl|(7YA-2KAbU+sYC<GFjeJk zK)e8;$&Z1&`C}y-s0x}1Ov17ygBy4o&Ys6qqJadYQeOqi4W|zz;4y$^@?$uA9#f$P z!WgB-M3xxH6`3X(T>EWg_B^se4FoVseoQDUkTEi)jb?H<GJ76bxds9-g&(sNVR9uT zPR7@Mo4_Q0RiOq9Qg)z1p5g2^nhD`>#yqAGHIM+YzG}ou<uXTVAOY*h^m$~ifm{Q* z2F!Y+JXM%sr@ZW6pIk;!1ZrPvgR&jSD26S0LO3J0)jnCAifU7F8{cp^S%x^t<KmOK zeI4G$X-4B)R0Cmf12GAuCySlsEzIp?31zj!E4yer+!AFOo_0auut}zY02Vw35@df2 zvx<y~WEhsSS}~EuRWY(8IV&kQP>`}RKZF{1tB-bZkyr#G?exjvK*qSoNG6e@RxvWN z(8?prld#ls<4S>#!8-D{Q0;=^;0VOqS>nQhED4X19O9}|-T26&D~T*mypl>xE+Qk= z32+2nWsxnACE+oWTXK!6_%^ciN+QdXEqjT{{0-KT$xJB;aD-o(T#<or`h=KB4n#&u z+d`3XGL#ozs*oj>lFVGOj!a{hk^o2em7Osh4yR9u31`=sNP$}}GER*0;<L+H2LJ5L z?UZ&w32=m8*%`y(aQft!Fb866IcpP+6r=3OWSPrmTb^bD#U;ZLcpJ!TKL%1}d9<_J z;be7%-`aTzhZCg61UOXw7$~uFhK56cbHby^Vggw}vD280fq<PRV>rMe{FqP?UWL;K zVv@7lZvz?Y|51fEa@utvY~llfjJTL&f$aKd-j*7O<W}9tfF9x=t6OM|x!ILUD7sX1 zNFU%<1_zTRz^dgQZEZw`Q;Rk-Yalg!y(I|9-ztx_(Mcq}c4UGW$!bZ+SXZx-Yf;O$ zEv*(C*2r+20NIrg$D!5Zvsa<^DO*T6kr126xI#;<ejJ|~#Fr{+W2G-ifd<ydKqRZy z(nh2(36ZTOXKR(4pbC8z39%g+=FnPovC9oh6^^mff33n{RhSqX*>Kn-(}1nCCdY{* zJ6R3F0U`A<AX^Q@sBRIq{H1b^R0xq_eC?P(E>oy2Npjd^sZGEL94S?8WT>!|NXa!a zBWI(8K)^;e91bKlWhKZHer0miCZIBh#VAQ#wx}ytIrd{XY!VPKVUtYdF^|cCII->c zWDdLypk^M!_}Vd=?8~pb?C{aL*hQy?Q)R1q0>lnW^;MHQ=|q-g14LB=X?W{2{U;o6 zCnEumq*T&Zn#HKvi!7uJhczZFb~r{;Cj2!e1_Cy+fv}y@S@i{v@ONtst#b8-_EdpJ z9>-asnldp2Y^mauX0&YrcCN^9a!OkO4I>)?&7~+94hAU-A`&8j{w1hyRR%k(F?Iqw zuNPkR1*-E%RTuMD`KXYt8Vh7<VPd>w1tuzhtI{I5Zwp8n?CeK_?~0ZF+>N&u@g}_q zn3^Jk0v-Nq#4`a;q=NQT1Nv9v3A+*^ZJ|S%fWEc=YUxG>6EJDuphV1qg%?NCg$pjK zC0%ggLPJ@~jg;ArOlD%riVV!ZU_l&()0=|q(o@4GS1kiS|Mf4!^vSP&QDge}mp?a@ zrRcECc1$t{Q&42!XTSI)fx=l#S+)SFVUw$70UA|6s+tuYF36}c{3<dgAh|w9rZkbJ zh=f1_(7Xy~G|UM^iWH8tvy>VR3qVX3CSaW<Syj?R3Rzc?$tYLywjQea^}#xf)JH%6 zIF*)v^0SgCm7z%xmWP-YZ4#?J)~ZsYVH>z*AAe-%r$1XBNgsZ+tR#wLLZm6k1Z+u+ zcp9*qK^4(ojj={!syei)8b;?naLbo{SfCG<|J2a?%RUUydq4f4Bno6VkERGM)cad( zNT!9ToZ1X*+^d54YKgT$8P$3CE?<VW(Yylp?uYL~?|kr{OYgr6z5Sj`Z@u?UfZlxf z?UE>vok!)YrMQ2!&=1~I8B`v-NtkA!qXD=By7u%65ns))R-K?6RHP^aG5U0oEdYx0 z!EWh0Z@uyMo3FpM)TKAyP<n0Y8?P>X-KJOGc+JquufG~cCXEJc4uoL~nNqY+N{0{w zLLO})v<htuNQ=xg02lX<mQj(aAig?bZGfgbqasBa?V(9jijvVeZ~)m$uf6ipt1m+@ zzVh-5FTVsm|MH8_b1%IBJ^SMGKE3eVvn7$0SGg%?Erq|72x;kvq3s8$v{krG;;p4f zs{;aq0H9M5szasBs9s(N2kUUgs_d{}66V~ZF<?#mcY$8Mj81`~=rX7dHKJ8CjM`lg zUwH1B=bwH0xo4kx_L(Q2efo)Ko`N2K`bn3bdcx3>Cm*-zu_qpnBRiRf4HGv|;H;%k z97MSg0w4zDwxt)Jr(qx-jlpdOuf2lI;7;EMbSk2KoT^d5vd8mCtiy<ugnl@C4Pq2% zcidjSjK08lh@xDSUv(iyxA**H@wGQxf5E~9=U*`Y)VZgfGWXQ)9{0UtzI*H;vkpDz z;F<gGzu#U{r;eL2K9<Ih8&{;Mdr#ea-+lI*w*SmS4u%dt@`$64JqDU{(ut>^c?SG1 zz2dU#ZoJ`+yMBD%gZDr9$ivV>kGk~mV~@DB<WcC6#~*w2@g)#Vh!&!)LR$h20O(!Z zUwehIh>B1h26n2Z<9T^-XT%z?vcO#fOe2e+?u>8fff4(*JAQQfS!V*@_&p{J+hJJG zt+raXTemiC+DI$?>(HS?*REYR-gx7!2W-9bF1t+LYs##{4?FSuC($Hsxar1w@B7Jp z4?S@ILk~Xi@Iy2SZ3&<c^x#gH2XV%EMkhKra5J78xFc1O5Sblon8d-Iz`q8s6ljz{ z4_$lhwOa|&GK+2BzCEpRw{Pyom~i`#?*#gvJa8ZAySOiTl>W|$L?5SvGo&lrcJD4p zy(M8C33o}wRXwo+O?MtXVnmthuA6N1{Yx&t^v=6~eAm5qGvfd{ot>ecxt<QrWMspw zOEs#WU8SXBot<-SQc_vk`L3gPtsBHD5`^jIhnHQ-G(;c&@jZ8eIDMQB&X8{4X6|M| zVpita_1w@{12pT>{ijVUU%zW~6R6$h(!Q5;7$_ZwWuo@I-Skkq9&UE1ZPn(E%{Jfc zs%x*l`L<g@oYmc3i|=89$2{)A&0zl4Qs8!1<{vH7WqC%p8y9OGy)VA>k|?0tx<GWE zBwY`e_2x?V%cRGhvf0zJ<%iPikJ9^7>GMzN=Tw`TT+UnlMz(xkHh)nzeMEZPAsb#T z8(bjWPLQ>yOQ&6>!`4|^#fTkuWZAapmYZ(*(XDiFAMU50WbS6E#>$+Hn6A^*s+I-r z#>JXCvR>`nrE@c^J5P~KAD6zLR~yHwHVnku>esUAqq6=yS!;KZw#}+gcsTgbL#|&G zgqyjW#W`C@_L7(mbQhL=;%-o^>C~*p`t<43OiLS_DO)$m)=q;_@83$Nk<BV1(y?R5 zdFP!A+&A95NPG9)i|=J?#(o?l40a*bX=dWiIFdIa);fA)&}gO~fF9sfjRrbWOB(PW z={%-cbwrrBuej<;?cKNDej9T)J2LiSX5w~7^7r4(K9V;g){NfgoI9_XX1X0EgPg{u z0iQ|7q0K5K!v5mw>#ixleKSinR_1KPSf{ZIW8%h&j^#Z2NZxQ*)2V6O?K`yh)zWc0 z8T7eq>oh#|`$XDy@#|Fx9d^Xw*Ia)sOSPMBz2!%D-r=s(9(sU@8ygEIH7uwYSab`P zI+8aQ)&R{$17oAF5cWG;|5^q+tw7s3QgzzmPQPk}5Q|T2_`uD?%|?u6Ih$^5ESS_V zo4fWj&PB70<c)<jqc=wkmNwc-?<F$SS*>UTyMk_Aw;wi)9rv}@U#Gh;3~P(;|B1Wf zE^NWVBYE8ZtAVhlQ`4l^SYr(z>y6Km?VVT}=13#b(0@y(ZT&hHLPve)C?;;s&KBL` zPTb{<<lJJ2YX)@{571bOdiUw=D`DNeWQQi%!6}QHWXPXo&_^=x9U1VJ^n1po-VaFc z#j@2MvgHj))a!0H8HqL5*00H+Wit4`Wa!_6k_>mGJR1BPSz}$lrXuUEyY59lyja(1 zfsx#`o#H-|VNKpBSTlNm`#VSZ)o<TJw*QNaa5B+$zm_epk`0fNb;d}iZG^mStii!& zT8+>e>qv*qq|-p@IzhT0E}Nb$TP>1)OJuuW$%v**(rTsp+!K(7HTe}+U&Tny#LX6r zHMx%Dx+b@+D=gAbSGcP-1lDwF>ea4YyJGd*NdG0WqmzMF$;Ky&wA$fyQQ*S=*XSbM z50&kICnKFqwBEjU_O@-?&OYhHE3dg4j|)cfAKiJoj^tQZSd$y;3Zq}#0eAgl4ba$r zH{W7&zv3GmBcq&5w8<%ct~v>|-$;gh;tRi%BXKnRf2I8fw$$Cbcfa_O9|AW!Znj`p zS6INX17%IlNRFMH?KZmN;4ji}TK`xx9N~oESGiMv+39oH#mPk5EtPi7CO)4}R0zu? zdz|&wTW_Nt8}*3!hdV@<E?t^!@S|A8#<l4ngO+3xo;vowE5K*W?z>}5W8yX=xocfn z@~GO$legP-j<t^73}3}6x0S&!$v2!5XvkaAuA63GYpu103>~`r*s*)>vp0te-#h-e zGtNGf^J036HzXF^!?0A)Q`GfKJpk!7k;D!cFEXZ1dKudymQQD$bM`5xojU8V!zN9c zyyM7`y?XbeVHAbulw&Q~<_X!=DS_78)6Xu#HU$1m-0Zju)|K1UPR=oqyWPg0A%44E z&sYOA%ZwpIhWM4;;&d79luSGPRN8N-Oa^VU&D_&}fQj{j1s5_Nx~rWVt~V=N4j0rh zfEf^Qu|smG<hl6bW}J}<uE^xYJCp`9cHCG`{&rnu$SWlaKk~nYjMhI)Nta!DIqef; z8pk4PC#T7o?RMY@%q-IC9P1yPak^j2bw<kQm9m=?LEm)5CQW0<j94xmdMGP&rC8IW z!J190(HQn9mO89#=_BgK$t0-myYv_KHK{~0PM}=>)z@Bu$u8gch9`gf^<>za&4jeY zOAZeV8q*FvY!+}A7HK!R+wFVr#-BkArwNO+y2YAK&4}a=fNj^59Y2yWPWd$Q7t+yN z;0+i!05?v>nspBST6+grGZ@kt>5?c-Q3hXn3I~XoB3bz)QQ>Nd-aCN9@Dam3px4}3 zc3dXAJLS^`Q~WkB(rvwNj7tpTDm->_V>s1Cn!DW&Ez;^1YnEiJL;MQ%K3B#%mD0|? zl8##{PvBm7@kNY;^lKf%b>gFUFc>P<m>=n<9?*p=80=^`LyRO|aRz~gX%%GOX4|6e ztJ79OxfKe(%YO-5HtXLv$BaREd%LZRGzKN+oybL6ePT_gX0_?ptaE=E`-O~mszBfP zjdbd%ocs3chu@|e9^E6Pd+$bF?!@=h6D-M?aNU!IH{SqjdNfCepviWI!xuKNHW35S z07yVG=K8*U`+CB687QNFFB6<9P~QuDg@|Bnzzv=SxxL+Hy^*j;t3#{-nqhE*4T@XK zHf?3cS7Z;TYP8$$g~n6(*ROwn8Wm>>#u>m{p3${mcut3Lgi#L=&;(PxXrs0%1|I^% z06nk3ns&0~mfp}IU3ZY({~{Be>d=H0(q)hhH!VsR<c#F%yMo0jZjpvo>l5o~2UxD5 zJ&%_?ohs9qKS-AWs<*9r^#X2&akgE0gk)A|48^P&7!S2;yT`<ZTQ&+eK-*Z;63EEL z+=FAi(K7zCDvQ12^8p(mmIoclX|BnOG(@d8tZ9CD+W1#;I&C2n{wb53>eKj7WnJ(3 z0Ny^_z$(D)j^y+Xj8QDeS)?@^$@LDM)wTUjy?hz%gcAx6=#8hzo-1UsQ+?Xv2)k=@ zdq~ej%&J2zX|A6V7f%b8G~>8ZZ&=g(b{M`xu{v#J)N?Y$X(`&{AF|#~TGl3;Y{J~l zNT?Hc3f$JLtur;<YOT&ik5=HA{8c8I_j06En)r8F)7w0%<P#?Dp<SEpHZu`T&REiH z#}#Ioy26@H&DyvKw8)l6%2cOiY0|%BgV9<d!!O?EHrzUx>lTc48iToOa4xRXbT!T# z%@nZanrnJu_nsqDn_5=pVa*JuSZnb(b>S|ai8QmM>2YVlnY^yBMvWV8<QceR&F(Vk zZ?ccm;xy$mS$`KrD%`sRb2mF~wyy4-=;B@*n+7*AJ)rxYD*HCczD|qNhU2^v3;$yy zuZuKeNn>167ewPs&SIl}u%=UUk=d`p_BY6WPC8BfJUvY+pQ-e2??xDnjTumTx1JFL zH=Azut-3OIH{FF>@bvL{=bz`Fv<^7C3X-IXy1ygPxDV|kc$POOpL&Yxr{s3+!XmBU zf~d~q#z<Z#SOYZr^!3(lxa_yetyD5i{fDeSN+$j`CD}AbQfc3ROOFZK(l|O~Dlu@g zR#dpLv0(P3r=UHSJ>Ng&<l-8#jSRUwy@*s9_Ww%yd{;(4n~7DQ@A>^gq-W2bOeN~4 z#F>a*?+xs~>IZB8t|d+*<KB}4oOJ5-ZMVLiHkFAVrzcKjxZfADv3ID%?*77y7V65J z-VNM=V-ep;25Cp!>Xm+=BW2UH|H$SCxYb!_fJ|GF&S#&$N(b-!&dnu)cd>hvQ*c~S zXL2=?d-p`%T3QcS)2V5YDzN*v|A{i)NvAQ^X0y}Avgb$XSyI^^@E_S^vP#1B*z@L} zulsJ`W-o(dHa&%b@t~OpdD3E~-{t-)l)LYz(%rgNyzRV9Jcr-tiBb3;!x38v9mxyF zovxAGyC?GE^GrSUfHg~57Db-eYi%mi{wXt@6q^2}bRB5dRMuQy_IM{HS1MZ)z<G;8 z|0;O&8MxWYu)bwG!$&Z@a@%#5F;7>a#C`rC>ke*Kmo+-c)ZeCa{?;n#*6gYXvN4kD z-2vTy+2>!ajy0Wn_K9=+n(ln3%yiOehbv5$;-o3kejOSAN_yT@{s*m;p3{{-2W_|? z(7PEG*?N!O&D)?!hjnGb>!p=-up?obvRpcQr*G@5vyQ2h^g1{qaX9<fr~NF28-MdJ zyr8&9bA8hE{7X$Mt&TNY7>qxjz#Hu<2RC_jJj9VWI^a*Ps*C^dGudfp&m<!4*Omz{ z#%7FT7>+-9mGtp81$ZUlzQT6KH}Z7cNTz&Hg;K`9ARWBA<1lmil~?$x;1po;dzp&Z za=)S`-2d-3=9{`m)BTriTH)*W#&4lj0=VmVqPA@>dw(p4I_cDFrl}puS#a?}ED4h) zPb%{1AiLd{&Lq8{CK-qis{0R92@BmqkhN1E+5fjP%c+!hxlO2Y;U6E`V#sCje8jhp z^h)7>-ABr-ru0&#;kdGv$>o|>&OfhcT5<PZOg-!)@TzKEtU3PULqMLK1CEo!oOIgr zW!wIbhlacOESQX@&-j+ds%<;j_0DuwS&AEcno*-0=(ep)|DP&w9yVWV!31>Rx2Ef{ z3!q>FX?EXXx4Y$VC!L0zVGD_$8(o``+_>DhR@28GX<e)*?&<Au+_87Y|Hu(e3LU;m zx_bu})J{(%S&9_=rQJJ>e!pN0++|S;x76Y^!O*ikO?KZ=X8x^Go`-)W1CCXOwDa#A zb2Q5U-PY+kA1^o`xOMu<VJp&0L@H}i!xfWH>goPVO)F|OZAGlv4*1Kek(bK1opjpS z-<nY)H5Tc_#QBtNflrt-yU4bU>~v*1&n)E*zfd+ABeVWhDYwJ^Ej{;9C_8oPgh!|W z+B4TY^#o&`zXBvFMQ4$4<RyL!A=8NA%>LT7Sy(b_Gh(zN*8YO3YhU^H3i*zcLWloT zIu)(uB6uiK9Y$~VlHLlW_^}`yHvB7oJ1$6Jn_8|WIBHd;d}jSkdhD!-aQb=f{PW!J z-V}~d0a|?;F~ee)qtW_@DIM04L;o6E^wEweeftaPvW0=0j&Rx!<{HzAdw93_p4P&e zvBd}`;}&}Y8_6RB!{?bSIOJp3qTS*W&t%6Kg_T3EB;!ni-GG%d_4U$^T<G&Z#*tQ` zL;olncza=t9tdxMHfQDP8sR!LzO~f1%Tb5ze~?M$(Ki_V5E#7OVAHjAuiYwGv#0j& z%l8;1$2Q5aP6{3NXQ71`|MA^d?bHlVOm@t4^b1BmPHX{MJwI8W`wPEO3sU%}3Q%f- z?>b^=#?NGJ&oPNFQqtXApcmi6k_n*IbJcc=z~u>hyTAWpF?0BzeQt(rAaKl=vTnbk zhTQ*SxS*`!t${mQ1#8xaMUmRbf$z%qoOBvgFnt%Yb>DD94w_A;##~@uJa^q?i$~0O zoA{S;hMpwfYf3LDi!ddn+5Zjc==shK8Z?Ny8=x7B0GcLh1C1vt=Z_qY^L^T)mPEEa zHk0IgKImr=p+jlcW)!7sw+hzS4Lp&0?=8nW=``~r`v~u-qrc;J>g%twJ2e)5_wdg8 zK&$$EqFZihdBtsayd2+@UR)NDGNzgQkhJThrL#WK6DaM`Hqi89l^me47~|`L8wtKc zn{2wNC;1v3WY%voNZuqpMtWHa|I-UWEMF<Q_E=NXqA+b_#=A1xNhg{_@gIKO`0&%I zkzZ|q=1`u|+w~hM_+Y5RCr*G6t(rxz$6(Oma>7^XC1#N-HO;u2gq?oj-yRbu(lXsO zQqiBy^k^4o>yyzcxq2;fVWC)Wk%5P15_{^Seijk-+Vl$?O;JMavG%XM^qMSloOC*5 znK7QQnPOyPWTsQ=@*CT}e<E*v-c4OSSs1AMAH$~qx#@ui%bc&|M5iUGNk)0Qa+Zjk ziy<v0EcOd}8jj4i<D&UCxB(i;A$qrOTH)~YuwP`5xk)xCUPIuBpuKBGW4A)rs4>=T zF8o$E{S`UMNvA=xOcpLv;533!h>@8INSEK{&YJ1esEB@nuCV$l+{DnK{KJL5`^xMU z=|$V(eczFcbmB@G?5!^FzTi_Q^eH?abeg7dy4M2>{^vUBxDLt1u}Iy{RdR%<7R^j6 z+aH%nhKaWsjS=ATAXwA2Ym7DL6rLDcj+K+0bUONX!c<lK$FDZ%6<W4hsLu7OTJk7s z8@;e*zVt<>MoY%LZ{SAH>#x7Q$84(!GW+v%0kQ~br<whK(#taj;#qpq$=@%GpEv8S zM?1BS-fS7zUa7O9&e1Bi0a_a>s}3%Ldop+EBFBF!r#LBe(h6C7v!c#~`O6&%`TdI; zejA60$v1Hv^opG7q|;E(oQULH$zfZ{aXgL<-T?m41LzI=15Td0{AT$|7p8XvGzRo& zk`a>h{(@)IQ8N1<=`v)IQ_~##d+F|tpKKOz@6^FlKVHP%kjBZ9j1xxhuC%q13<Irg z70J0oY=Dzp&dDV3xU2mvB7An6S+AB@W76~l=)R52b<%0hr)CjLMwZ`Tt&=rFB4aW$ z0(xV^qN_6F^lo=*)tGi|u%-u*1)md7l0K8u#mFKmX-@t^y7f`EYAw;rR=Nge841>G zs1<8%pDfAr_7I&n4r?T*UjA^j)`oKOztd$V&05{PI*Q;5Qe&(~?KH|Oee4hAbSIrA zUT36b9K)!HdBnYUeEoGU){E~!Z+b0}!H`)`@8GD?%m8kB2c2E9_Pa^@&N6Fhx)@nR z)inD*pvRP~$2hAsScm(yi*;d#m<4N^E|Zs0h3s{ECYgsH?`IL=G^CdO+V}lF@?AN@ zNvFO=Zy%1}zquP&n|{so2iCgVvTrwlW?%pZYr2LvhA&^nqRum>aS*oueR8H#WtzN5 zcMYt{0ElK8IbW;4pLbKN_|^BY<VJWF?LKgQCT5cP@HhM{B7By)mRN5$WIM0)*}s#s zoOIgUJ1HO+t_bWM_%bK+wcW2-&?aN8Kx?OF6y=jCo(y|jnJz#UA;W3*<S?!crC_q- z(2dq**5Pa%^vkgfM@&7svrg{XrlD@JMe%5Z;pnWd<ZLH}NYlPpS@+~?L@lw#snyf- zL66HhPCD)Ak3xJk#eDce*JftEHdh<M^R)q*1sf+L{;W6ptn|{eNEnx9+(NA>$5pIS z>?xb&ncBeV+8LMPIw)CKuO(-#%p`xetvrQ`umh?k)--9a=pBxdbDeZL@>L@$O5^AX z$2tAL7d-{L1PtAEc)=moY_83GZ3E4w%)b`B{SoO!XAv(s&F<%^@Qfs!v6`;U)Z=ck zi^s1BW=8VJofoxWP-6Hps*pb8Gs!>qQ?Y)5j+JdKv1a!1ezl=fH#z4EIp0a4^O|JC zfu@dArtXCYui8?W1hF^LN4PEGTEdH;Rz_WB&!t-8k!9PqgNvr5{*&a~l_}+>3YIa! zPIFXvyc2Oo)fJk4fR0v*WkBx@u}Cv;vu9+<VXw)x7R`=0_rD{P{QLN)#_aU5D%Tim z)>j^O`z(_APC8iva~Fdht8TG%%2vA>8VgL>=!(9eLmvbC&bt)n{mn+mIsYdYIJKiu z-ufAn9SzmCl;V)!T@x$Z==VO>5i+1r3x+J;;<xt3a_$$I<nLMh1XE#U%d(-ySkv$L zhK~#PMuX&nCb`f_p>zK&o&9|xhGqRO8LiYC#vi<&iP+pLH^xTbrbn}H<rh)C*0p{g zIsH#5#ih!l2^Kh#kuF>%!)B=f_@Xce6;43hy|%d~=JsyjHs5BkmgTfqD$?w5bB_x% z6+LIUu+b>|;}C&Sg^{qvSTl_KTg5{kmW56_jXOtW<}Z%B^bU5}oZZk+IZe>RYxPo~ zYp|xJBkRp*{_-oOUS7JxX}?V`D~mj(rn&Gd89YtJU}$0v3d3!#cn5kn&6TrwOmJQ; zI(C(F{_fV|qBPoee=my&+aGj=Rk`+9GdFq8RGW{Gi=A|u_g8!Gz`b3%Hdb-mEl?UO zGzLTM+Uk)4-1Ke`_iZK}*OA%pr5BV%nDWvrTq)al$FdlOF#YNIrdmza*(`kQ#TZC) z#iDLdlkxL1)nd*E_Nt6wfsFvGg;x1p0RQgWG0)2-PCD)8*Ow0t)3v!X%V}3(g?2lG zp`L)~7DgSAXbhge8Am7Ic{;s_EMioWX5oLN|9C|WizRUDonJl94#TZq<6&U;raW@e zV$c6HQ$+^*oqFKFfsBE4YKm(Wtm%fHTkqC;$YoACo&OhEb8XYSXB>2p8dbDw(>v(e zY`*kB0edMcH}6{q%vp!to6bLr43($3=-<+JjMjn;AXhVNxQ&OQ+E^I<XtaDF*VJ0} zJU>%KPW5MM@-kym5NkpV@~wh3vo;$juNEh~CYL+uG~p~$YkoVp`R2>Lq2`_`6uvje zB<{N<>~mQ<XG*`KR&>$7q^EZ%fRkYuZd$C)-R!%Yc@B5oR4)EJlbqX6H;Tf~fzeO* zEbR4K3u{(W-d7a*?Jie3>9pW)(#gB#MqN0hGhLgRh>Ez^Se86WfHNkqvSUw8XPc$y zDyF%Lwdkj^*$|bGQ(A_maPMYi&KTvN^^<z~^+MiMI{hQ#^+cv)zxQ35liDJ%;j|Xk zbnSij-_HZ(*vI8+C!MC8@1-x?jApNGd{j^uBRSp+bQUko4m0GcrgWZJ%B^~ug@2Vz zJlhW6xMq=T!_C}Hqiy#4zZ><JD_3T!%K&dlfD$lUX{V+yu!6<z)QVWsbiE^|&4<c0 ztK?cIg)aT4blJebjcW~ETisM>x-2z)*Q~*N$<-@UxTO|nC%AHjob&T)GQ1eLx6!)b zEs0Bm!maymjHu0i7WSA&G8KJHGp|CH-y9sE7IoHQMrcK>>Dt_~^sqbhR=M6ury2f< zHlDy-V_~n&$rm2)z7@3BD7o_UbXHl4(=^wuk{zZ?*NtWVZ>!1nqW_VNJlB1M2Nd8| z|3fbHnI<g*#%3z?>J`%6^OPX3`xPu^>caI^Gr_ek)~q(YL&omC<(d_8gOftneknb+ zHhRF%9IsmTU;H?@7s=a8|LQWiu}XA9lk9S2k$Hc)^e<K8jD!n+CmVQ^4nM93+$@;s zjQ&^C*+-oIcBT@i`=4cIwB$?>K5VsUJj~S03+#PrZ%d&&+vHpIr(Z6MoOC*ViNTrx zUYfWucroj4A`AXsI)^N!m^8beU>7G_?I_oL-mHk59I1pZ{IzuR`~dOgW-{`>2SvfV z9g~Uqm7m(PoBL^n!ku(lj&^Dc?<|H}9cy-xUNi2zo?P{*-0Y;&;Nm9~MEK1e4+~c5 z^FB<^n}xqgGs$!6<DAI<(I`q^w6dB7&HqH!@xD$xbo=f7D~D@$m#hAsUeGQ4+<@<) zgx9G4WB}&{?5XM0?A+_*dnxpB-wZhRIJwnHrwcxoHQG1pZakj&M0&<7%uSjZS7;HK zWlouUDyss&U5z`w%4MDXw!NeDs&?3-Or^|kw$Ivo-+gqS#q94M@fYt(uwifYeht=G zeLX+kc5BK-zmy+2=`_Y#y>KFb<gMvhvamI2j=V)p$`}E-?Z{G=4IOKKe<t1c+$xv& zgO{a)?=mD?43S&E%2dSQiKf|ewxT{-?6WxEHzp=*ahMb90c+r9edP%}Xsq1fq|<eO zl`h56d-_G`>9g=OX^y@_4+QaMKkkI%S>7<~F&JX5VVCEBY4(UkRW5h#^U|Sk?~K-a z_8Xa)A9JSxngCv2x+J4<vVBv(9nTlNKE7KB)||+*&Gf{c{eax*q|>Zx-1K9QO;4GH zn@Kb0L0O|6jF~rC_@Oj_c6|a1KhwrNtTWF(t9Yu?PQL$`{Me}`!LVHi8GTqLo{Rn= z>lUws6z)nedb7{cB^kyOb$wBPJTAr5Nxuee^yy)}aX-0zh1}(&&>dgOq?6>wt5TAs z^05=leOlUkUjpan6>Olfw;N+M7hOG3*X%6ky;-IJcRLbECp{=P{3-fXAU)MD{$sAe z9}kPGS(52K3rBRkRozQ5AG}vTSOYhoxc6kAu`pQKdmIVVU8~$=;rQ}m=DjLlSNM0p zfd}Xutvwo7K=!9>TbTGbXXK##=wpxZL|tb?x%`(^lOen0KU{7vQ2BZczB+8#bV<f^ zqx&qDWa`4fX?TtA?g3~5am3?UP1ouwi~d&@JGG<vOQn-{Y>J^?fo6_YpHG0sgOS0| z_2_=n{dE9_M84zU!QH*5-0+9miHch8ZIVH|d8LbRuE)^;=UIhL-E2u_-+rnqtZ4@R z=i<L{klg3gh%Wiitn~QJQv<YKzfz!agg|e4DPF(Pf$Iz38}t<3bBNsWS&gJcEyr-X z#Q!(*kb}cZGS|Jf_*1ItUR!Ti(_cJK4A!FOz99EImC^%_B-3R+(0u)XF;Fi`M*^+> zY^cutK*#cB&74%X-bwEMJf*B;Nix2@?Ju%+@n*3Izd6N{jKebgn#?_APDRa<%)RDT zxcXFYSktwAzv9gX$WK<tgH8+5)t^XL&vTDoEert7VoYymXpc6Ii>MB-KXp}QJm*}} z>tiGKlKWT6Lr%-m=$WQVvn#}{E^<l6x<Z#^m@g2OolYHMja2@j)y(<wu+vg><8Ner z&lb&xYm9p*yA|63Oy_6=w4$v3=jzjoR{aY&<Bn`8X;lwrJ#K&|fazO59h0ymLty0O zPC*@FP1k1p^c>PUc9C2DTOM($Pj~!DHurY)c-3;or00p)nmFpUz4X0H8SlTVcYY1l zC{VE`hK0I+r~Baf@~G1ybl>N)ac_e)lN~M%jNWP`!^ct`vDhpy5aFH36k~37qt*Jv z8o_+8m620riBn}-{CDX+RF&3$>;CGas2?fPg|~kCK-Xi8gsdXipL)}DaR6sv)M1<< z9hH*Z`?wY>jql%CWr0-#Q)e5X39ybua_``>@Htk`!Ls>{C&o!Sbv<K^{no$Oa^B<e zgi|%T|1;?~T$P5;67IX|yn%g;u7O=qJGE}55yN0jzXoomKV6uazr+yFTTT)^Cps)| z=Ps$5z*_gqmrC0;4A%Innb8}`)k?;uHE`WYM{j_J>dKa)BALHfBfYBi*h(J$T%L5Q zK=9diS7nQzHphSLRupSag}}PmM<ZV?{M@<u3GBk}uQ4!&iC)h}jP8%|%9FWM7rE*! zdCI8{Em<L34l+P<vzw#0g4+oPm(6~|h1G>#Sv8}#cIrCEnl_0myH~+|=g8AerS$j; z89q@N@{xzL=bb~Rw#`lS4#isUSYdQRb#!gE)%0$3$Rrp?yd@2m7Q8n-nY(QyxBapl znV)eaK+{h%Koj80101^P=&ffQfsec~&X^^c={xn@uMrZ<l~+eb#jD@)HSnw>rP7mM z%BU&Ija3c5q^4fSdfLk(oRN@)87pwcaOP`vTU@DQNW>zcc2Pi2CRRkW4btzuk9VU- zdi0dVe=J$lK-I2)Pmg0%cy0-~*Iur^N@aFO@5df78)}-Ot|93u%+v<xI`7viCqI$k z!QF3|JiSt$bIPG-zLGKDQa)G|xeY<5c5m)qdI>&wEM++x!VuwFzaM%)uV8Sqfa%Xg z{DtQLo#`9vL@JSt#2h2~-+S*nR37_Go_ETmr@xf`-s%GRIbxf0(urK#VF1VN1c8wj z%btD4!TNztZI)yP?mF++$jQLyJA@o^ro8BsOfNLaWbZ?Q*xN^r8pR@?UyESM(+?}D zEdtXh;~`yJk1y#g42-O7(ImLrL?=ohQj!H${6vM<N_QA1&#Wj}Y^~{xW}`Pvh<S%K z2948<-W<x<XB^?tTj8#MtdY}qjAtQw-BNkUDUA;BevZe}eDnXY&cWM++albtV*ka5 zS!fIpU+BV;hQ%8izsCfcN0_jw;-=1Betyo0j5u|}gbBi1joSrHI9Oh4l9!#*=!)m* z$%YNzd!caxw4QOemlg}7H-ib2OL#+VdUOL}%}Np<ORvgX4v^=*kXM|nG_zU1FnVi+ zz=3n*Ri^}c^6#>t_cLuOE#ExRl_W!uei}$eZ_gb1{=0FbcLQOKsLY%GXTWEiEU!74 z=;1%eX1<4fE8rU_^0Y;n#Mau4KgiC_=)rnSF9fO6pgEz&vWE%RU6Mt8-p%yx*1Zd0 z#K;ohLl9ow8Od*aU0!!G(Q8d|`v-EyZF2BwGGV3+9qppup`)$FmJP4jNqP;Eu?NcB zMe_W=<P9eiombp|6ohks3gMC;azf2Cts81HdPkZ=BlX!pShKJkw!<(Fmo56q^Z%5k zPWklYpXI(^%5Cq+RnN+T2jtA#<fJR*==0^^Q(c;Noa}v+OS>N+yHAtRd&}^#5w!Cp z_wA%vZpxV_%b|1Sy9?xmOJv@ia_tLp&(Gw!&ypm3(~(Ge^mnp$;j1!*+Oqb>m$k5f zycwgtz4p#HdMoq|gf#-Q#P!`c_n0AXJF6kR@udv)EPL9pS^lXxRCfv-&8X$Xti4l5 z??%KLnP;D5Evo0=CGR*bOYb^TW17`$G0BGo_}s3Ura1w$y+c#i-imUAV$IPKzlP(D z<ek@+2Y)W_Ijav{_OSg~8(a}ioqHNU8xxs(YWdU?m}@Z5VR^s^pS<>NXsi()I|di5 zJh=O9CvScsA2_Q6J@O0b;(t4W3i5F__4j5y#x#xn);qN<evjHcW=&jsH#*kH-|Po& z_M9OfG|7iftI<y#shnQ_OnMgWY=w5rsb#@6)cwhF*Q3??y*V~noT;hZTm6e{Oyk0h zwKlVB;X9L~nWIjZWljUr2P@^9#g7FQfX2&(O%@I(?gi?5?{+;X3g0iqAkQW%?$pxO zPdMDTSktgK+uZXObJcU=0{O^^rJp%cxAaky>@%x?u=j^e7RPYvSp?ATdW`Q97rydj zrs>F2%P_unOygorEg0FFS)TVeKyH3UK3q}1u!h^)yZ<MXyaPA`x4CuV4&C|zYW<C; zf^!ijvXZ8019wAXO)dCXgi(<fXxCl_43(*e$kAuWnb*iQ56j}W<)uH$@>TWH244NM z-1WN5yHWN#Le}dZke?6uvl7D!>Ylh2K0WRB=;H5#1g2@@b7BBZ2sAp@RF+>+38*Xj z5pRc$HkGaV%b;O0YOL(Ow@jHS2Ocd)o+`8F%MY%Qb8c|yvc)c4^N2e{K(v#eypuwA zzu~65>1i+T`8T_K=3eejD<@!xJ3%JTkdeDfzinlM9<qk-GZvP!SMOeU|C)1EY$j|v zY@lt|(2{_r4KzB|Q~}%Rv;(Gv_117Pd~g7uF^l1TpuREYwji!e^k{(A-L&m7n9z{} zuT}%BsSz!lgIz|yX47{=fz9t1;}`?P?4TL6K^cPyR!~;m_Ajf(`5^>gjeJ}^uvWO~ z;52&{GkAyMWkhHH#;&`fL;ojT>I{9n8n}iqd9Nv$3$TWPuev<pd!TNOdMDI7uUzh4 zEYcob>gcV|uQpg4xIO>;<;yTN;L3}lFdE~w!N7>65$`fw3i+`W?CKo-^T}d<xN6+^ zahwkGg)xZFJ7C1<+qW-<X#U}^g4YWFQb!Da)PrPXVJId$E-rl3h;PdA4J-Ux@M*zy zpWpNWRxBhK!Q6?s;Krt&Y&bE3FXvXqbCpdr!kaq?)T<Jp(N9D8AZfGA@|Olr??xwR zMz3SAJz<(N{@cuYK(GG2u8Z$m`0l&`VTm$6q70i5I#)vf9^p`G5zwTPo!;<KwiIDX zq;yw|f@d<~A*5dWb@x_W2(^CgrMw=ks$0#lrc!9bMx1d^L1%bJb#!*fLmvnJf)786 zr3XPMSqX(3qG2e}HVnCqBpaD5hL7Q_WogmK;0jatMFZqST2MxK?ank{tyh)?AD3qJ z!&+-<5I5ai$950;!VN6Fq=Qzq8K7Z9+9XWFplvj39@<Ds{Hsj(YnYqjR0frYmZ=a| z5oOiM>Wa0ExOQ_uSKJxlb&yAyhET6f?obe>!u@&=kut&|hIWZY5*1ISt-LSWeSG!C z+ODbU&Hk(UjQpz#5BxQ7lotqa<1t*cEuJlWRl;8%tdrGcD>*qF1}HTqnIUhJWvkZP z9P4Unvi|wxSl2&B)sisBx>}lSIX<8K>KEB5L5v*h1m)Dvt1MWjN}FSys-k*GkcxE{ zA#<#=XsI63B*2|fyd3L{ifZ*_kyw``RgQH@>T1NqW_Mq=-#2SSt=5~&24xN8Sl1gs zRgouva*lOXv|5KuB7r6{@7Hw*RwW|E0i9!AiB{_{ZvxOc)^&(iB_icmSE9WJ%9{*y z-me=7%2ZKvtW#CAdL&2%I`7x32hduJRJij!*XjXxD$seq{`vr&W8LUjXX(x+O+JP< z9NY%GQUf{G4TN>6;0Ds?=huybbpW{3$8f!Jtiw8~!<bZL0|_Fl0M@p1OJtfnveh*Z zfHL_pPTBz0;2xJUk8dpvBqJMmn;>M4b%Jv0<W&I8gvVrobF7o~Qx9(wzzw`gmNv&a zSwD61Hh^j5W2&e*)~PD0hXj$}+L2j=%(2d*rB+X4!x|1}6feg*qoP_pSr}rC$u3v` z>+Bixl(pAD0Pa!+$gwU}V~v~M#=3E9kxQOM1B!K)lzEy)*8o^IdKGf{6EvWQ9hxA= zIzdql{mMSl((vl^o#BRtrdq;>AvQ5N*40vS?fDoGGX`?3YmZTRC1wOPAz6-fd77_r zt^@?Lzsj+$F=}NLmmSUIlsVRAD8I&8k`c`QHpjZgz?D&4b~KYy=2(}Z{2FITMlk!^ z9P1hbS4MH!(M(R6V_k;wYn&w+!R&8ytZNKhdBtT1G%h9O=JxRNlwbQ?aUdqg+j8bu z+uEq}a5Aj++sKOKSVyX*o+E8c31=5I$2z;N8a-u>b)zGgUH%;F?7C|7lsVRoj$n5A zbF8!Ls?k&CST{O?Vfh1B2FzoQby!!88)ION4CLQIYFuP($s@rHMCMrA8f(yS0Mod~ z9P0+f*A_bt+(3LjU)xG++;9Na@FP{rv2I*^OO-swx>SudZu%VS#>K8w$#bkr)mY=E z&#`V?>`Ik9$GTLFHE#MG>&C^dRLOI!OVwE8rq8i%T<lUM4|t~K{^6+_Ys3Trl=U&k zx)GsFmN^n=B6F;h_11`QbF3Q?wK8Om13K^5Whk@$v&6xjkKy%?U8xf0SeL4?hE5*| zciyiX8q;Lq1BjP|bs%qYLHXNy(?CgfvjEmS)?0NNNS?5pkjAuJ6|!R;23liMWozjw zqzVv7P<tf@1mH1F1`{97Qh7|}Sf}=GBR_%41+IjHElFy)l7f=+rWUOUl9`n8wxzKS z*Q*R6tCA%wNl7tPkpU*HQm6_K)|8%Fk+=ce#K&<6S1m4OOUH*LsU)UsX-h4%iUldw zDnJ5TgK0t_oISE$;bb+4iIk+m$nwN4wa_w3i7SG8AAwhq%o89sufiDvoXul6WsAm` za;qLFRqQeZD5;2K{yEmk`bm9TMJ(dV%2-5Pb`u}Qnpa`wrt>BT0vSyyfj}Txi#`U5 zuKHt1!k1Ti#v%gDKl=H{0csVjkt(D7l_v{mpz4n$Nf=o=h(yMl$Sg&e#3m2`n#c3! zUufQ%K$v-QcQ$VW84bg5Ads@<9>YafH>M=X!$liJ!mmtBmLg1I6EK`jAdGb+XM<)! zAdt}%8W{*AZn?+E(yJ9&s@UOj4G;vvZ#5=MDdD^}XANh;Issq%RY0V0>2^#Yamzj0 dg;qCQhRgv00&oQ0n#YU<ne-Y6Fy|4h|35FJqecJ# literal 0 HcmV?d00001 diff --git a/win32/installer/wizardsmallimage.bmp b/win32/installer/wizardsmallimage.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ec393b9406c82ce65b5322148c670fe18f8a38ef GIT binary patch literal 9294 zcmcIq2Ut}{7XIONy5JKLQB-0O#fF5~Pz;Lbs$g7EW8G*htJtt6#v0eM5xZhy??z+q zEyj}AdyPHz8Z|1$!0dk+eDA&oJkVt4JKXQSxo6J(XHK2D)N0T$2pR1IUW54;k@@F@ zf*Jh<`TVTA{LARzMf`tSdV2cbDEQrQ5<^;A+MgNibw>LmOMCU|m8DPe@G6J!%Hgt6 z6kDz{dRv^7$=9W(rapiE{MoZ-PoF;hEu%foXpdCw;lqcPUwlZeCmD@HIPmw3_Tt5h zmoHy(MwICo?OWmGIuPOg`}a?rII(&2=0%GZEnK*8eny)%ZQ7(slP0QKN=nL{IdhgT zU%q<v>YY1x?%A{F*s){h&Yin@_3E{2*REf`{_C&5-nw<`?%lhb5s_0e<>$1pdB=JD z`0<7f8x|-~fJ6RD^YZcv3JR)Ty?V!v9l!hTyVIvn|MJT(H*VbE;&W|j4B0~E8?)`V z>pXe#Wd8j59l>*UhbEs5IpWTIW-^(mg`a=^nF``M6Dn6VTc~-#NmB|52~kA5)P#8) z3U5QvlPGZqCDTw+IHLDnp~NE;zm8%TQREN;_M*@#_)dq<moU|Ula3<u<;%Bh*|Hyh z{E=2cd!QN9`?A_<UU0T<-C6;euM0}0p_F(F3K4KXfxAF00O8@`8#iv;y?ZyccJt;< z+A7`3PNBKtoH=u*0@9-aLemf`98p<;x20m60cVPD*RI{BO`CrD>8JDO&)>UuFRP(C z#>v^y?4d7;(EF$$Y^b8Z-$K4g#9%ZUXUv$fZQHg(hYnr2a)oh>!Ah-t$2jTWiWQYU zj1Pnjm0XL0z2MUV9<|^amPv*ZFci-uW02D6Ruvx6@cvlgEZ7@GCm?tSD!sH375*A- zl?kJK`SNSmuBD+;`;1p~3U!!rfRo{oPf>Ufst6k@xfIR@<<Yw|C%9F@hp9FK%b%74 zd-Ui*L#6gFT)4m}P3>Ejl&`Y0SoxFTR|!Ne!Kn5UkwQi3h)jcTYop1N{xx{;VCrkl znl(TC@B?GZrAwC>USvCS<_vrIQaZ@Gb?cZ2YS*sq#0iFOQAv9vxyTnp;_2x*Z{ED^ z+qWM%a)iFm^ks3VoN%^m*;3JX_z~0+*-%uP#{W|fPxGizqgJd~Awd!zXUD)ohqY_W zm4m(<tT%cgY@fZfj|50juizF+Fr3T!_3Jq`#{WBa?l3#caGEVna<U)A`Xff<OzD~; zo!mY0Pnj}B+CS3@aS|b2fTm?>T$3I>dl_5`pvtkFrP2O(!^v5r(To{0X3Lf>2M!#d zb{P4kLuJLux%>I~!7UiEFHv7OCe8bUU0gkxQ@Es579~G;@PO3?K}!2!&~DcJ6PJ7? zQ0uB=QOeW6uEbNgaN+O2|DGiQ&4&4u6Q{JSI0p?H1Sc(O9zi3K7jiEBAEU{A{P^*N zdid~RLZu5xsJzD3k2Cp{LEYPV5ru#J4%gy@)S*L%4I4Jda7t-Rrgk_PyBNw4l!%Xo ziqa8tLG|;^qb33wq$xer<l@0q<swL^jMc1y>eg#yGM7h#yOJ%NYut0hJ+bMpx`vSG zP>eRxp;%c_#dbKGHf;)n8S#&hATp_$K&2FD-B9Ncc%K6~SNJcXPM9!(P#LSKvWO~? z#)9E!{4l2>h<|{56%f?Xo}oY#Q8j7Ogi(Uk;MuchIcqge)-6s>PKZcBOJSv^525!q z7z|oHq3*W!t9df+ox;W&jIQ(ohN+UJ%IW=UpxLt=`Qt9@y@Gtqg#ahS?zds9cbE>v zQfl_>*;}`6rGgkqEI1iat5vH8uhMA!8f}G@$|!k_p|V?IqDE^%^g8P!HCx8LQ}y{e zy)nPJkp8{qX#Gcyob~o<jb8B|C$Nfkb#+Cd+BTf+1d6xdOY7FH%PBKPF%(;HW@exI zJJDWPDd7?{hC+o3Em*LCnS#+$t0UAERt7b*ysx!H6Ve%<rsc>}dzDu2(y4Q2njeEt zw{G2t0kNCWL0GBT6=;k)oo?#Xsf<wv4<3{_8BYEE{ZS$TorDb)izCB;0RvX8TD5oY zUPefkPkN&pV%ONP*^SEfXJ-M@NAoz-zJ2@d*s+6eXMVhV`LYrQ%@xrpO<}N5g?@Z> zL_`Falu2LW95-$pv@U3O6J3Rs8nWn8IF~G0LOY>r+`fIA<pGtYH@F~XiIr15O5S%9 z$U@GM$$Eq9h!G>CuU))&kq$zEbLY<Gix54_W=O}Ua4ATC89R0?-_GZZPSh+a_CgP# zqI8(c>Gk^L<YaEd=wh6>rP!to7))+Xbr)FqdkQ$BbZvNVcTXRg5$GBO$-qcGGKMoV zR;pA9?g2<lwGk3Imhh@ptt#^)3khhA=zIfxgq50XAWu|O6zx_nCbKQ$wq^4|vr(Yd znQk4T9<ILcm8uJATEH)G)~s0+MVq9$xsnp3Ok1=oz7DaoZKNeWhTcP~)zb0#FgiLK zWm;l@u%W<cXJ_Zpqesil3oVnWmPyc3Troam>Z{dWn}K$6__JbXgTcf-GRsSv<<X-@ zWi6!M2T@v?GG*XX%3f525^a>C2v9tz!AyK9tTgCP>E>K&TI0Tb`>1qvl|{5HIRc6W zX)AqZ9i^6_zVGwE;1}{?)krRygNl9l@Zki5&ZlhzwpBbx?joBvZ;lTWF-+Kye<g+m z9vg5y8Np~y+zVK$K_;@0(DH_m1{m_%W|W-}%g;Wy^!ZEFijJXSGsT=bb&3TBC$3)7 zfddCBID1^Q5!m@K`>Ir_!mDDXo`o^|4~!I6ikr?yOrwmPG%8kuv?zKU6-42YQPIYr zNDO;v<yVi*_P*~`otJ-1Y<(Iw3k-&CZoW8Q36+u+wFX4k3#_St@71dpubH-yFb89V zmA-lbw*o#sKC)b=@ymLEOWN#{R!09241Hu}Ru9bfeyjkg|0TU=!MM1_oVbL_eGs8i zCW}}iLEF^|n}tR&G!cT&%9Shmkj6$Mhi?eJPQy51rMP51O-M*!{G|PJ1-PVLyCoX( z`D4&EE1P<V<vv*;Tk3yC=jQXzrU?=%YYakVSXM%PKp4iQ+l*>3ngH6gX+vv~I60%> z;9#_zgNedQ<5J;M%)`TD`t<2c3S80w0|y%1z47@OE05%#B#?LNcSLLQXxXY2p)xEJ zYR{fM2?O1C*$5f)7;a{7Z*K-hu9C#bC0)97DZGnf!b?mQR%$(m4E5{RU%Ys6pFVwb zMpyJZs63sPGktXxT{k#l;MgyY>s-Csv~5fGXA)5=-g0sFL!uR%?9{0ft2-Kr1t+bP z=O>6Ci5Vi3z7a_I6aJwr>R4cFbO!X;1a>;0u{ZVRVj8U;Njn{}QNrg3v?lk@I(Dp4 zqXx)7;=B$2urtu;0s{lNN#tVksL+CwOUl{7<cW#*Fk4uur?RJW*6N%(%(r%`87%h` z@9F&BuUxH0`wkt50mF{x!as12MsK2U)J?MIEEB`-Aw!1HGWYM__sL}+P^8Z|=A z_LwhhsA2;&9&FQN$H1R6p6G+Z%9O9jq{9f=q-j%wxd<lS%w<%sweSwWH%}F|1#jrz zi;0S9ohGqs*DeNII+`6$#z~D%kFU>Sv9QwATh@DZzvX`J3tdR{pi&`}%%s4|iu<hE zG4+ha%VOql_G6a_sA=*wo1gPuz#K?Rqw_M-%Ht;1KXy2|u#5vJ8;#{6ue9ieF0@8a zNLdR=Mp`B>?q?&T>*#|cu<&_aMe(Ka{Rt^PK3?jD(SQk>^-oruOcU<z?nqjKRU&s< z{z?}X6ZqcyG<a6CG<en+^0bYW6=Qhma$)-L`dINgcTs%Z<g?Hl8Q2+KSnc!V){<PZ z;^dODG=-Nh7C*!~;fU6zX``B({Q{U<S^BaNqPn>q=J^$?N(K-%Zo$lcg|!V6v0mgt zYhI(|2gH+<ltlMoXl0ScQwy1_v&G4r8yXsln$59ESZT8Wi9MM&>CW{!cz7%4HvINM zvHX_7<U(7bnkd}TxGe5o-p*}?WDb<WvtC;bA(#pkD#(on-A8@8m@Q5&DGiuMJ@{%Z zwu@}ZIU&i_%X{e1q0AR@`ou{!(Knf1?HY|uZ#1FzH`$6(I#Z59tE0WqedO^16=B&v z5Km4x`KWvM?kEs|4NtI3*i*}a(CK}BeOcTxP;&#@qD70gZQJqyleJB6+r}RHCU+K2 zocO49_M#|!`yU7@Pb6KsbYb?PYAolUmhFQBob&=7NuhBU>=ib&@;V}7;OfD#Z{7R? zvFVYGGz$OMV9McnGLOG_NcFbo$y`!;F`S(-X)E@NY-s0GEIx&~hcIP3k~d)FG7OrH z0V!4*u~_LOC9lWq16XrCQ^)}U3(Y%3jk~zGuz+M`!Yv-1QLS;pVB<vOO-@%OLlrE7 zoeyzXybB!>a6r2rBS87Y&2Mx3-a(D?dxt#nwrE@e%M~Y`&TKX#JPHR>aa`m=Cj|0N zM_;3IZ2|}j3!|ekk=gmUdg*e-NoFP*<$SDiG}fQP8S(efu~bCI^X>d#$}Jf4xQyyq zHJ-=ylx#e0piHIt6+u{a)M<iGx}tqQBo0UK(HN3~k#mr|3^O)j=2jbGr-jJYZJ08! z8r@L&62~I^+i$;>pOR^ofARaKgvz878ym|4I|J@tz3}vayIp=3XBJ};XW*5I%+4(3 zt9j-7EccFYm;|{!VXk3ez&!{z<9rLlGLK?-WW-vL1wRkpSW(N?zI}UcC}b#QI$+}t zee&eV%nNiG1|Ob~GnjLO%%s3QGV_<^R6i?{yyN6pLgjp!Rhhwg>cWbMF_sp^!h<T~ zg0L|o(_z`vDM|M55u0S=5Dw&Uo`X>uW#+V!67yT(ltYyAB8UGE;Wrf7EXiGc^X6gZ j|BX;P@(@f4%({l^o_D~h9&UFp-<a#wZd6`=66gN_MIuX4 literal 0 HcmV?d00001 diff --git a/win32/nls/nls.vcxproj b/win32/nls/nls.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..759ae14d9575c4021351f74107be2f7f5295fe29 --- /dev/null +++ b/win32/nls/nls.vcxproj @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Configuration"> + <PlatformToolset>v142</PlatformToolset> + <ConfigurationType>Application</ConfigurationType> + </PropertyGroup> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{B10A2C41-344C-43E0-A32D-B9587C198D8B}</ProjectGuid> + <RootNamespace>nls</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="..\hexchat.props" /> + <PropertyGroup> + <OutDir>$(HexChatBin)</OutDir> + </PropertyGroup> + <ItemDefinitionGroup> + <PreBuildEvent> + <Command>cd ..\..\po +rmdir /q /s "$(OutDir)\locale" +mkdir "$(OutDir)\locale" +for %%A in (*.po) do ( +mkdir "$(OutDir)\locale\%%~nA\LC_MESSAGES" +"$(DepsRoot)\bin\msgfmt.exe" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\hexchat.mo" %%A +)</Command> + </PreBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> diff --git a/win32/nls/nls.vcxproj.filters b/win32/nls/nls.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..ef1ebf5863085ff88d134e852a444e604664a72f --- /dev/null +++ b/win32/nls/nls.vcxproj.filters @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> \ No newline at end of file diff --git a/win32/spelling/build-spelling.bat b/win32/spelling/build-spelling.bat new file mode 100644 index 0000000000000000000000000000000000000000..1c58574e5da8e34d672b861bbfaae03bdf91175c --- /dev/null +++ b/win32/spelling/build-spelling.bat @@ -0,0 +1,22 @@ +:: run this from a command prompt +:: TODO: change it to LocalAppdata when GLib is updated +@echo off + +set DEPS_ROOT=C:\mozilla-build\hexchat +set SPELLING_DEST=..\build\spelling + +rmdir /q /s %SPELLING_DEST% +mkdir %SPELLING_DEST% +xcopy /q /s /i %DEPS_ROOT%\myspell\dicts %SPELLING_DEST%\myspell +cd .. +echo [Setup] > build\spelling\hexchat-spelling.iss +echo WizardImageFile=%cd%\installer\wizardimage.bmp >> build\spelling\hexchat-spelling.iss +echo WizardSmallImageFile=%cd%\installer\wizardsmallimage.bmp >> build\spelling\hexchat-spelling.iss +cd ..\share\icons +echo SetupIconFile=%cd%\hexchat.ico >> win32\build\spelling\hexchat-spelling.iss +cd ..\.. +type win32\spelling\hexchat-spelling.skel.iss >> win32\build\spelling\hexchat-spelling.iss +set PATH=%PROGRAMFILES(X86)%\Inno Setup 5 +compil32 /cc win32\build\spelling\hexchat-spelling.iss +cd win32\spelling +pause diff --git a/win32/spelling/hexchat-spelling.skel.iss b/win32/spelling/hexchat-spelling.skel.iss new file mode 100644 index 0000000000000000000000000000000000000000..a921adc23e95a04cf7adaf6d7ff6cabd549af44d --- /dev/null +++ b/win32/spelling/hexchat-spelling.skel.iss @@ -0,0 +1,31 @@ +AppName=HexChat Spelling Dictionaries +AppVerName=HexChat Spelling Dictionaries r1 +AppVersion=1.0 +VersionInfoVersion=1.0 +OutputBaseFilename=HexChat Spelling Dictionaries r1 +AppPublisher=HexChat +AppPublisherURL=http://www.hexchat.org/ +AppCopyright=Copyright (C) 1998-2010 Peter Zelezny +AppSupportURL=https://github.com/hexchat/hexchat/issues +AppUpdatesURL=http://www.hexchat.org/home/downloads +DefaultDirName={localappdata}\enchant +DefaultGroupName=HexChat +DisableProgramGroupPage=yes +DisableDirPage=yes +SolidCompression=yes +Compression=lzma2/ultra64 +SourceDir=. +OutputDir=. +FlatComponentsList=no +PrivilegesRequired=lowest +ShowComponentSizes=no +CreateUninstallRegKey=no +Uninstallable=no +DirExistsWarning=no +ArchitecturesAllowed=x86 x64 + +[Files] +Source: "myspell\*"; DestDir: "{app}\myspell"; Flags: createallsubdirs recursesubdirs + +[Messages] +BeveledLabel= HexChat diff --git a/win32/version-template.ps1 b/win32/version-template.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..0a884906ad7c4a6cbf067998dda078fbd1290328 --- /dev/null +++ b/win32/version-template.ps1 @@ -0,0 +1,12 @@ +param ([string] $templateFilename, [string] $outputFilename) + +$versionParts = Select-String -Path "${env:SOLUTIONDIR}meson.build" -Pattern " version: '([^']+)',$" | Select-Object -First 1 | %{ $_.Matches[0].Groups[1].Value.Split('.') } + +[string[]] $contents = Get-Content $templateFilename -Encoding UTF8 | %{ + while ($_ -match '^(.*?)<#=(.*?)#>(.*?)$') { + $_ = $Matches[1] + $(Invoke-Expression $Matches[2]) + $Matches[3] + } + $_ +} + +[System.IO.File]::WriteAllLines($outputFilename, $contents) diff --git a/win32/version.txt b/win32/version.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e110a77e197d83a5692cc745cb6a664781aae28 --- /dev/null +++ b/win32/version.txt @@ -0,0 +1 @@ +2.12.4 \ No newline at end of file